Skip to content
Snippets Groups Projects
  1. Mar 13, 2016
    • George Joseph's avatar
      build_system: Split COMPILE_DOUBLE from DONT_OPTIMIZE · 0af6b5de
      George Joseph authored
      I can't ever recall actually needing the intermediate files or the checking
      that a double compile produces.  What I CAN remember is every DONT_OPTIMIZE
      build needing 3 invocations of gcc instead of 1 just to do the checks and
      produce those intermediate files.
      
      Having said that, Richard pointed out that the reason for the double compile
      was that there were cases in the past where a submitted patch failed to compile
      because the submitter never tried it with the optimizations turned on.
      
      To get the best of both worlds, COMPILE_DOUBLE has been split into its own
      option.  If DONT_OPTIMIZE is turned on, COMPILE_DOUBLE will also be selected
      BUT you can then turn it off if all you need are the debugging symbols.  This
      way you have to make an informed decision about disabling COMPILE_DOUBLE.
      
      To allow COMPILE_DOUBLE to be both auto-selected and turned off, a new feature
      was added to menuselect.  The <use> element can now contain an "autoselect"
      attribute which will turn the used member on but not create a hard dependency.
      The cflags.xml implementation for COMPILE_DOUBLE looks like this...
      
      <member name="DONT_OPTIMIZE" displayname="Disable Optimizations ...">
      	<use autoselect="yes">COMPILE_DOUBLE</use>
      	<support_level>core</support_level>
      </member>
      <member name="COMPILE_DOUBLE" displayname="Pre-compile with ...>
      	<depend>DONT_OPTIMIZE</depend>
      	<support_level>core</support_level>
      </member>
      
      When DONT_OPTIMIZE is turned on, COMPILE_DOUBLE is turned on because
      of the use.
      When DONT_OPTIMIZE is turned off, COMPILE_DOUBLE is turned off because
      of the depend.
      When COMPILE_DOUBLE is turned on, DONT_OPTIMIZE is turned on because
      of the depend.
      When COMPILE_DOUBLE is turned off, DONT_OPTIMIZE is left as is because
      it only uses COMPILE_DOUBLE, it doesn't depend on it.
      
      I also made a few tweaks to the ncurses implementation to move things
      left a bit to allow longer descriptions.
      
      Change-Id: Id49ca930ac4b5ec4fc2d8141979ad888da7b1611
      0af6b5de
  2. Feb 10, 2016
  3. Jan 21, 2016
  4. Nov 04, 2015
    • Corey Farrell's avatar
      Fix cli display of build options. · b0bf1899
      Corey Farrell authored
      A previous commit reduced the AST_BUILDOPTS compiler define to
      only include options that affected ABI.  This included some options
      that were previously displayed by cli "core show settings".  This
      change corrects the CLI display while still restricting buildopts.h
      to ABI effecting options only.
      
      ASTERISK-25434 #close
      Reported by: Rusty Newton
      
      Change-Id: Id07af6bedd1d7d325878023e403fbd9d3607e325
      b0bf1899
  5. Oct 10, 2015
  6. May 02, 2015
    • Corey Farrell's avatar
      res_pjsip_dlg_options: Fix MODULEINFO section. · 44bbdbe3
      Corey Farrell authored
      Removed the extra space before "MODULEINFO" in res_pjsip_dlg_options.
      This extra space prevented any of the dependencies from being seen by
      menuselect, so building with default options would fail if PJSIP was
      not installed.
      
      This also makes the tool that extracts information for menuselect
      tolerant of multiple spaces in the future.
      
      ASTERISK-25033 #close
      Reported by: Peter Whisker
      
      Change-Id: Iccd54846f70c4a7a50cb5bf70b7bb5cb4bab3698
      44bbdbe3
  7. Apr 29, 2015
    • Corey Farrell's avatar
      ARI: Fix missing dependencies. · f226bd6f
      Corey Farrell authored
      ARI modules that are generated by 'make ari-stubs' are all dependent on
      res_ari_model.  Additionally some of the same modules depend on one or more
      res_stasis_* modules.
      
      ASTERISK-25027 #close
      Reported by: Corey Farrell
      
      Change-Id: I8e07fe7e81fedacb87232f2b6f8b5f47927b4153
      f226bd6f
    • Corey Farrell's avatar
      Build System: Prevent unneeded changes to asterisk/buildopts.h. · 5d997ecc
      Corey Farrell authored
      * Add AST_DEVMODE to BUILDOPTS
      * Use BUILDOPTS to generate AST_BUILDOPT_SUM.
      * Remove loop that defined AST_MODULE_*
      
      These changes ensure that only ABI effecting options are considered for
      AST_BUILDOPT_SUM.  This also reduces unneeded full system rebuilds caused
      by enabling or disabling one module that another is dependent on.
      
      ASTERISK-25028 #close
      Reported by: Corey Farrell
      
      Change-Id: I2c516d93df9f6aaa09ae079a8168c887a6ff93a2
      5d997ecc
  8. Apr 27, 2015
    • Corey Farrell's avatar
      Astobj2: Allow reference debugging to be enabled/disabled by config. · 5c1d07ba
      Corey Farrell authored
      * The REF_DEBUG compiler flag no longer has any effect on code that uses
        Astobj2.  It is used to determine if reference debugging is enabled by
        default.  Reference debugging can be enabled or disabled in asterisk.conf.
      * Caller information is provided in logger errors for ao2 bad magic numbers.
      * Optimizes AO2 by merging internal functions with the public counterpart.
        This was possible now that we no longer require a dual ABI.
      
      ASTERISK-24974 #close
      Reported by: Corey Farrell
      
      Change-Id: Icf3552721fe999365ba8a8cf00a965aa6b897cc1
      5c1d07ba
  9. Apr 13, 2015
    • Matt Jordan's avatar
      build_tools/make_version: Update version parsing for Git migration · 3f9aa299
      Matt Jordan authored
      External systems - such as the Asterisk Test Suite - require knowledge of the
      upstream branch. Unfortunately, after moving to Git, the Asterisk version
      currently consists of only a 'GIT" prefix followed by an object blob,
      e.g., GIT-as08d7. This makes it difficult for such systems to know what
      features are available in a particular check out of Asterisk.
      
      This patch fixes this by hardcoding the branch in a variable in the
      make_version script. Since the mainline branches are not changed often -
      typically only once a year - this is a reasonable approach to solving
      the problem, and is more reliable than parsing the output of 'git branch
      -vv'. Branches that track off of an upstream primary branch will then get the
      benefit of knowing which mainline branch they are currently based off
      of.
      
      ASTERISK-24954 #close
      
      Change-Id: I8090d5d548b6d19e917157ed530b914b7eaf9799
      3f9aa299
  10. Apr 12, 2015
    • George Joseph's avatar
      Add .gitignore and .gitreview files · b35e184d
      George Joseph authored
      Add the .gitignore and .gitreview files to the asterisk repo.
      
      NB:  You can add local ignores to the .git/info/exclude file
      without having to do a commit.
      
      Common ignore patterns are in the top-level .gitignore file.
      Subdirectory-specific ignore patterns are in their own .gitignore
      files.
      
      Change-Id: I842a1588ff27d8a0189f12d597f0a7af033d6c69
      Tested-by: George Joseph
      b35e184d
  11. Apr 02, 2015
  12. Mar 25, 2015
  13. Mar 17, 2015
  14. Jan 14, 2015
  15. Oct 27, 2014
  16. Aug 07, 2014
  17. Jul 04, 2014
    • Matthew Jordan's avatar
      configure: Remove last vestiges of h323; DO create menuselect-deps · 0e844b75
      Matthew Jordan authored
      The previous patch (r418034) fixed the 'glitch' that the channels/h323
      Makefile no longer existed. Unfortunately, removing the entire line was a bit
      of a blunder, as it meant that build_tools/menuselect-deps was never
      generated. Hilarity ensued when actually trying to compile.
      
      But hey! At least configure worked.
      
      This patch fixes *that* glitch, and removes some more of the vestiges of h323.
      (It had tendrils in the main Makefile? Crazy.)
      
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@418035 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      0e844b75
  18. Jun 20, 2014
  19. Apr 11, 2014
  20. Feb 14, 2014
  21. Sep 18, 2013
  22. Aug 30, 2013
    • David M. Lee's avatar
      optional_api: Fix linking problems between modules that export global symbols · 9bed50db
      David M. Lee authored
      With the new work in Asterisk 12, there are some uses of the
      optional_api that are prone to failure. The details are rather involved,
      and captured on [the wiki][1].
      
      This patch addresses the issue by removing almost all of the magic from
      the optional API implementation. Instead of relying on weak symbol
      resolution, a new optional_api.c module was added to Asterisk core.
      
      For modules providing an optional API, the pointer to the implementation
      function is registered with the core. For modules that use an optional
      API, a pointer to a stub function, along with a optional_ref function
      pointer are registered with the core. The optional_ref function pointers
      is set to the implementation function when it's provided, or the stub
      function when it's now.
      
      Since the implementation no longer relies on magic, it is now supported
      on all platforms. In the spirit of choice, an OPTIONAL_API flag was
      added, so we can disable the optional_api if needed (maybe it's buggy on
      some bizarre platform I haven't tested on)
      
      The AST_OPTIONAL_API*() macros themselves remained unchanged, so
      existing code could remain unchanged. But to help with debugging the
      optional_api, the patch limits the #include of optional API's to just
      the modules using the API. This also reduces resource waste maintaining
      optional_ref pointers that aren't used.
      
      Other changes made as a part of this patch:
       * The stubs for http_websocket that wrap system calls set errno to
         ENOSYS.
      
       * res_http_websocket now properly increments module use count.
      
       * In loader.c, the while() wrappers around dlclose() were removed. The
         while(!dlclose()) is actually an anti-pattern, which can lead to
         infinite loops if the module you're attempting to unload exports a
         symbol that was directly linked to.
      
       * The special handling of nonoptreq on systems without weak symbol
         support was removed, since we no longer rely on weak symbols for
         optional_api.
      
       [1]: https://wiki.asterisk.org/wiki/x/wACUAQ
      
      (closes issue ASTERISK-22296)
      Reported by: Matt Jordan
      Review: https://reviewboard.asterisk.org/r/2797/
      ........
      
      Merged revisions 397989 from http://svn.asterisk.org/svn/asterisk/branches/12
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397990 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      9bed50db
  23. Aug 23, 2013
  24. Jul 08, 2013
  25. May 08, 2013
  26. May 02, 2013
  27. Apr 08, 2013
  28. Mar 12, 2013
  29. Jan 11, 2013
    • Automerge script's avatar
      Merged revisions 378915,378918 via svnmerge from · 2c1720b4
      Automerge script authored
      file:///srv/subversion/repos/asterisk/trunk
      
      ................
        r378915 | dlee | 2013-01-11 16:31:42 -0600 (Fri, 11 Jan 2013) | 21 lines
        
        Add JSON API for Asterisk.
        
        This provides a JSON API by pulling in and wrapping the Jansson JSON
        library[1]. The Asterisk API basically mirrors the Jansson
        functionality, with a few minor tweaks.
        
         * Some names have been asteriskified to protect the innocent.
         * Jansson provides both reference-stealing and reference-borrowing
           versions of several API's. The Asterisk API is exclusively
           reference-stealing for operations that put elements into arrays and
           objects.
         * No support for doubles, since we usually don't need that.
         * Coming along for the ride is the ast_test_validate macro, which made
           the unit tests much easier to write.
        
         [1]: http://www.digip.org/jansson/
        
        (issue ASTERISK-20887)
        (closes issue ASTERISK-20888)
        Review: https://reviewboard.asterisk.org/r/2264/
      ................
        r378918 | file | 2013-01-11 17:05:38 -0600 (Fri, 11 Jan 2013) | 11 lines
        
        Retain XMPP filters across reconnections so external modules continue to function as expected.
        
        Previously if an XMPP client reconnected any filters added by an external module were lost.
        This issue exhibited itself with chan_motif not receiving and reacting to Jingle signaling.
        
        (closes issue ASTERISK-20916)
        Reported by: kuj
        ........
        
        Merged revisions 378917 from http://svn.asterisk.org/svn/asterisk/branches/11
      ................
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378927 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      2c1720b4
    • David M. Lee's avatar
      Add JSON API for Asterisk. · 7695ea26
      David M. Lee authored
      This provides a JSON API by pulling in and wrapping the Jansson JSON
      library[1]. The Asterisk API basically mirrors the Jansson
      functionality, with a few minor tweaks.
      
       * Some names have been asteriskified to protect the innocent.
       * Jansson provides both reference-stealing and reference-borrowing
         versions of several API's. The Asterisk API is exclusively
         reference-stealing for operations that put elements into arrays and
         objects.
       * No support for doubles, since we usually don't need that.
       * Coming along for the ride is the ast_test_validate macro, which made
         the unit tests much easier to write.
      
       [1]: http://www.digip.org/jansson/
      
      (issue ASTERISK-20887)
      (closes issue ASTERISK-20888)
      Review: https://reviewboard.asterisk.org/r/2264/
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378915 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      7695ea26
  30. Oct 18, 2012
    • Richard Mudgett's avatar
      build_tools: Allow Asterisk to report git SHAs in version string. · b0c3d288
      Richard Mudgett authored
      Make git more attractive for managing work-in-progress.  Especially
      convenient when a potential patch set needs to be tested on multiple
      platforms since one can use git to keep all the test environments in sync
      independent of a subversion server.
      
      Now the Asterisk version will show the exact git SHA5 that was used when
      building (still appended by "M" if there are local modifications) from a
      git clone of the Asterisk repository so the developer can more easily know
      what is actually under test.
      
      You will now get this:
      
        $ asterisk -V
        Asterisk GIT-1698298
      
      Instead of this:
      
        $ asterisk -V
        Asterisk UNKNOWN__and_probably_unsupported
      
      This has zero impact for those not using git with the exception of an
      extra test in the configure script to gather git's path.  This is
      necessary to prevent "sudo make install" from failing since git may not be
      in the path in make's shell environment.
      
      (closes issue ASTERISK-20483)
      Reported by: Shaun Ruffell
      Patches:
            0001-build_tools-Allow-Asterisk-to-report-git-SHAs-in-ver.patch (license #5417) patch uploaded by Shaun Ruffell
            Modified
      ........
      
      Merged revisions 375189 from http://svn.asterisk.org/svn/asterisk/branches/1.8
      ........
      
      Merged revisions 375190 from http://svn.asterisk.org/svn/asterisk/branches/10
      ........
      
      Merged revisions 375191 from http://svn.asterisk.org/svn/asterisk/branches/11
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@375192 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      b0c3d288
  31. Aug 18, 2012
  32. Aug 07, 2012
  33. Jul 25, 2012
  34. Jul 23, 2012
  35. Jun 25, 2012
    • Matthew Jordan's avatar
      Add AMI event documentation · 82a7409c
      Matthew Jordan authored
      This patch adds the core changes necessary to support AMI event documentation
      in the source files of Asterisk, and adds documentation to those AMI events
      defined in the core application modules.  Event documentation is built from
      the source by two new python scripts, located in build_tools:
      get_documentation.py and post_process_documentation.py.
      
      The get_documentation.py script mirrors the actions of the existing AWK
      get_documentation scripts, except that it will scan the entirety of a source
      file for Asterisk documentation.  Upon encountering it, if the documentation
      happens to be an AMI event, it will attempt to extract information about the
      event directly from the manager event macro calls that raise the event.  The
      post_process_documentation.py script combines manager event instances that
      are the same event but documented in multiple source files.  It generates
      the final core-[lang].xml file.
      
      As this process can take longer to complete than a typical 'make all', it
      is only performed if a new make target, 'full', is chosen.
      
      Review: https://reviewboard.asterisk.org/r/1967/
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@369346 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      82a7409c
  36. Jun 15, 2012
    • Kevin P. Fleming's avatar
      Multiple revisions 369001-369002 · 166b4e2b
      Kevin P. Fleming authored
      ........
        r369001 | kpfleming | 2012-06-15 10:56:08 -0500 (Fri, 15 Jun 2012) | 11 lines
        
        Add support-level indications to many more source files.
        
        Since we now have tools that scan through the source tree looking for files
        with specific support levels, we need to ensure that every file that is
        a component of a 'core' or 'extended' module (or the main Asterisk binary)
        is explicitly marked with its support level. This patch adds support-level
        indications to many more source files in tree, but avoids adding them to
        third-party libraries that are included in the tree and to source files
        that don't end up involved in Asterisk itself.
      ........
        r369002 | kpfleming | 2012-06-15 10:57:14 -0500 (Fri, 15 Jun 2012) | 3 lines
        
        Add a script to enable finding source files without support-levels defined.
      ........
      
      Merged revisions 369001-369002 from http://svn.asterisk.org/svn/asterisk/branches/1.8
      ........
      
      Merged revisions 369005 from http://svn.asterisk.org/svn/asterisk/branches/10
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@369013 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      166b4e2b
  37. Jun 06, 2012
    • Matthew Jordan's avatar
      Add feature modifier to versions produced from branches · d197f691
      Matthew Jordan authored
      Certain branches, such as Certified Asterisk, may have a modifier added to
      them that specifies the features available in that branch.  For branches, this
      modifier is expected to be reflected in the location of the branch in
      subversion. For example, a subversion of URL of /certified/branches/1.8.11
      would have a feature modifier of 'certified'.  This is slightly different then
      how features are determined for tags, where the feature is part of the actual
      tag name, e.g., "10.5.0-digiumphones".
      
      In keeping with the nomenclature used for tags, the feature specifier for
      branches is translated and placed after the revision numbers.  For the example
      given previously, this would result in a branch version of
      "Asterisk SVN-branch-1.8.11-cert-rXXXXXX".
      ........
      
      Merged revisions 368604 from http://svn.asterisk.org/svn/asterisk/branches/1.8
      ........
      
      Merged revisions 368605 from http://svn.asterisk.org/svn/asterisk/branches/10
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@368606 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      d197f691
Loading