Skip to content
Snippets Groups Projects
  1. Nov 19, 2017
    • Corey Farrell's avatar
      Build: Fix OSX build issues. · b4f7f825
      Corey Farrell authored
      OSX does not support 'readlink -f' or 'sed -r'.  Replace readlink with
      the GNU make macro 'realpath'.  Replace sed with grep in one place, cut
      in the other.
      
      ASTERISK-27332
      
      Change-Id: I5d34ecca905384decb22ead45c913ae5e8aff748
      b4f7f825
  2. Nov 06, 2017
    • Corey Farrell's avatar
      configure: Add autoconf check for libopusfile. · 4013bfa5
      Corey Farrell authored
      This check is being added to make it easier for end-users of third party
      open source Opus modules.  This was removed by ASTERISK-26426 but only
      the module needed to be removed.
      
      Change-Id: I62b9cd0c4fa8a77596ab0e042948a643a1152677
      4013bfa5
  3. Oct 20, 2017
  4. Aug 16, 2017
    • George Joseph's avatar
      Fix downloader not working with curl · 0e777258
      George Joseph authored
      The codec/dpma downloader wasn't handling curl correctly.  The logic
      that transforms makeopts into a bash-sourceable file wasn't
      handling the make 'or' command in DOWNLOAD_TIMEOUT so bash was
      looking for an 'or' command.
      
      That logic has been eliminated.  Instead of trying to transform
      and source makeopts, the downloader now calls a make scriptlet
      to print the value of a specific variable.  This way, make handles
      the ors (or any other make construct that happens to creep into
      that file).
      
      ASTERISK-27202
      Reported by: Sean McCord
      
      Change-Id: Iadfb6693528e4d4da7b8bb201fa66da2c71c7f99
      0e777258
  5. Aug 08, 2017
    • George Joseph's avatar
      Make --with-pjproject-bundled the default for Asterisk 15 · 305bd0d9
      George Joseph authored
      '--with-pjproject-bundled' is now the default when running
      ./configure. It can be disabled with '--without-pjproject-bundled'.
      
      To make building without an internet connection easier, a new
      ./configure option '--with-download-cache' was added that sets
      the cache for externals (like pjproject, the codecs and the DPMA),
      AND the sounds files.  It can also be specified as an environment
      variable named "AST_DOWNLOAD_CACHE".  The existing
      '--with-sounds-cache' option / SOUNDS_CACHE_DIR env variable and
      '--with-externals-cache' option / EXTERNALS_CACHE_DIR env variable
      remain and if specified, will override '--with-downloads-cache'.
      
      ASTERISK-27189
      
      Change-Id: Ifa9783fddf44aafadb060c9feba713dfa81d38ce
      305bd0d9
  6. Mar 27, 2017
  7. Feb 22, 2017
    • Michael L. Young's avatar
      build_tools: Fix download_externals to allow the use of curl or wget · 66a35e24
      Michael L. Young authored
      Not sure if this is really a bug versus an improvement. I can see it being
      viewed as a bug though by some.
      
      The current build_tools/download_externals file depends on wget in order to
      download external modules.  The current build system is able to discover
      which tool to use for fetching remote files - either wget or curl.
      
      This patch takes advantage of this capability by modifying the two calls to
      the wget binary to instead use what was discovered by the build system.
      
      ASTERISK-26812 #close
      
      Change-Id: If9411a2554f009274d377445613ae91192d948a1
      66a35e24
  8. Feb 15, 2017
  9. Jan 27, 2017
    • kkm's avatar
      make_build_h: handle backslashes in external strings · 138cd8d0
      kkm authored
      LikewiseOpen creates user names with a backslash in them. A gentle
      massage with sed(1) allows such strings to be inserted into build.h
      properly quoted. I am also adding the same for host name and other
      strings used in the script that are more or less user-controlled.
      
      ASTERISK-26754
      
      Change-Id: Iac5ef2b67a68ee58f35ddbf86bb818ba6eabecae
      138cd8d0
  10. Dec 21, 2016
  11. Nov 28, 2016
  12. Oct 12, 2016
  13. Sep 29, 2016
  14. Sep 27, 2016
    • George Joseph's avatar
      download_externals: Fix issue with re-install · a77ebb20
      George Joseph authored
      Needed to ignore an xmlstarlet return code for optional element.
      
      Change-Id: I6a96f709b4b38c9a3f3dda4e8b07903787e16873
      Reported-by: Dan Jenkins
      a77ebb20
    • George Joseph's avatar
      format_ogg_opus: New format · 40aa2813
      George Joseph authored
      Add Ogg/Opus playback support.
      
      This uses libopusfile in order to be able to read .opus files and play
      them back.
      
      Writing/recording support is not present at this time.
      
      ASTERISK-26409
      
      Change-Id: I8815d23345108d8ca7c0bd640f6a1ce6b4f56955
      (cherry picked from commit daee8bbd5209b4158bc1785eede845a26e6cbeaa)
      40aa2813
  15. Sep 25, 2016
    • George Joseph's avatar
      build_tools: Add ability to download variants to download_externals · 43901e94
      George Joseph authored
      Some external packages have multiple variants that apply to different
      builds of asterisk.  The DPMA for instance has a "bundled" variant that
      needs to be downloaded if asterisk was configured with
      --with-pjproject-bundled.
      
      There are 2 ways to specify variants:
      
      If you need the user to make the decision about which variant to
      download, simply create multiple menuselect "member" entries like so...
      
      <member name="res_digium_phone" displayname="..snipped..">
        <support_level>external</support_level>
        <depend>xmlstarlet</depend>
        <depend>bash</depend>
        <defaultenabled>no</defaultenabled>
      </member>
      
      <member name="res_digium_phone-bundled" displayname="..snipped..">
        <support_level>external</support_level>
        <depend>xmlstarlet</depend>
        <depend>bash</depend>
        <defaultenabled>no</defaultenabled>
      </member>
      
      Note that the second entry has "-<variant>" appended to the name.
      You can then use the existing menuselect facilities to restrict which
      members to enable or disable.  Youy probably don't want the user to
      enable multiple at the same time.
      
      If you want to hide the details of the variants, the better way to
      do it is to create 1 member with "variant" elements.
      
      <member name="res_digium_phone" displayname="..snipped..">
        <support_level>external</support_level>
        <depend>xmlstarlet</depend>
        <depend>bash</depend>
        <defaultenabled>no</defaultenabled>
        <member_data>
          <downloader>
            <variants>
              <variant tag="bundled"
                condition='[[ "$PJPROJECT_BUNDLED" = "yes" ]]'/>
            </variants>
          </downloader>
        </member_data>
      </member>
      
      The condition must be a bash expression suitable for use with an "if"
      statement.  Any environment variable can be used plus those available
      in makeopts.
      
      In this case, if asterisk was configured with --with-pjproject-bundled
      the bundled variant will be automatically downloaded.  Otherwise the
      normal version will be downloaded.
      
      Change-Id: I4de23e06d4492b0a65e105c8369966547d0faa3e
      43901e94
  16. Sep 06, 2016
    • George Joseph's avatar
      build: Add download capability for external packages · 6caf6bcd
      George Joseph authored
      The DPMA and g729a, silk, siren7 and siren14 codecs hosted at
      http://downloads.digium.com/pub/telephony/ are now listed in the
      "External" sections of the "Resource Modules" and "Codec Translators"
      pages in menuselect.  Any that are selected will automatically be
      downloaded and installed when "make install" is run.  Their LICENSE and
      README (if avaialble) files will be installed to
      ASTVARLIBDIR/documentation/thirdparty/<product_name>.
      
      Example use with codecs:
      
      The codecs/codecs.xml file is a menuselect style xml file that lists
      the codecs to be included.  Their support levels are 'external', which
      triggers the download and install, and defaultenabled is no.  Also
      because codec_g729a is actually in a directory named codec_g729 on the
      download server, the newly added 'member_data' element is used to
      override the default of the directory name being the package name.  You
      can use the 'directory_name' attribute to keep default base URL
      (http://downloads.digium.com/pub/telephony/) but use the new directory,
      or you use the 'remote_url' attribute to specify a full URL to the
      download directory.  In this case, you must still follow the same
      subdirectory naming conventions as that used for the packages located
      at 'http://downloads.digium.com/pub/telephony'.
      
      A new configure option '--with-externals-cache' was added and like
      '--with-sounds-cache' it allows the installer to cache tarballs so
      they're not downloaded every time.
      
      To assist with the download and install process, each external package
      now has a manifest.xml file that, among other things, contains a package
      version and checksums for each file in the tarball.  The manifest is
      saved to both the cache directory and ASTMODDIR and together with the
      manifest.xml on the downloads site, tells the install scripts whether
      a download and/or update is needed.
      
      bash and xmlstarlet are required for downloader operation.  If they're
      not installed, the external items in menuselect will be unavailable.
      
      Change-Id: Id3dcf1289ffd3cb0bbd7dfab3cafbb87be60323a
      6caf6bcd
  17. Aug 24, 2016
  18. 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
  19. Feb 10, 2016
  20. Jan 21, 2016
  21. 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
  22. Oct 10, 2015
  23. 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
  24. 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
  25. 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
  26. 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
  27. 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
  28. Apr 02, 2015
  29. Mar 25, 2015
  30. Mar 17, 2015
  31. Jan 14, 2015
  32. Oct 27, 2014
  33. Aug 07, 2014
  34. 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
  35. Jun 20, 2014
  36. Apr 11, 2014
Loading