Skip to content
Snippets Groups Projects
  1. May 03, 2015
    • Diederik de Groot's avatar
      Update configure.ac/Makefile for clang · 305ce3de
      Diederik de Groot authored
      Created autoconf/ast_check_raii.m4: contains AST_CHECK_RAII which
      checks compiler requirements for RAII:
      gcc: -fnested-functions support
      clang: -fblocks (and if required -lBlocksRuntime)
      The original check was implemented in configure.ac and now has it's
      own file. This function also sets C_COMPILER_FAMILY to either gcc or
      clang for use by makefile
      
      Created autoconf/ast_check_strsep_array_bounds.m4 (contains
      AST_CHECK_STRSEP_ARRAY_BOUNDS):
      which checks if clang is able to handle the optimized strsep & strcmp
      functions (linux). If not, the standard libc implementation should be
      used instead. Clang + the optimized macro's work with:
      strsep(char *, char []), but not with strsepo(char *, char *).
      Instead of replacing all the occurences throughout the source code,
      not using the optimized macro version seemed easier
      
      See 'define __strcmp_gc(s1, s2, l2) in bits/string2.h':
      llvm-comment: Normally, this array-bounds warning are suppressed for
      macros, so that unused paths like the one that accesses __s1[3] are
      not warned about.  But if you preprocess manually, and feed the
      result to another instance of clang, it will warn about all the
      possible forks of this particular if statement. Instead of switching
      of this optimization, another solution would be to run the preproces-
      sing step with -frewrite-includes, which should preserve enough
      information so that clang should still be able to suppress the diag-
      nostic at the compile step later on.
      
      See also "https://llvm.org/bugs/show_bug.cgi?id=20144"
      See also "https://llvm.org/bugs/show_bug.cgi?id=11536"
      
      Makefile.rules: If C_COMPILER_FAMILY=clang then add two warning
      suppressions:
      -Wno-unused-value
      -Wno-parentheses-equality
      In an earlier review (reviewboard: 4550 and 4554), they were deemed a
      nuisace and less than benefitial.
      
      configure.ac:
      Added AST_CHECK_RAII() see earlier
      Added AST_CHECK_STRSEP_ARRAY_BOUNDS() see earlier
      Removed moved content
      
      ASTERISK-24917
      Change-Id: I12ea29d3bda2254ad3908e279b7effbbac6a97cb
      305ce3de
  2. Mar 30, 2015
  3. Nov 12, 2014
  4. Jun 22, 2014
  5. Mar 02, 2014
  6. Oct 18, 2012
  7. Apr 12, 2012
  8. Feb 28, 2012
  9. Sep 19, 2011
  10. Jul 27, 2010
  11. Jun 08, 2010
  12. May 11, 2010
  13. May 10, 2010
  14. Apr 08, 2010
  15. Apr 02, 2010
  16. Mar 09, 2010
  17. Nov 30, 2009
  18. Sep 28, 2009
  19. Jul 21, 2009
    • Kevin P. Fleming's avatar
      Merged revisions 207647 via svnmerge from · 96e4e31e
      Kevin P. Fleming authored
      https://origsvn.digium.com/svn/asterisk/branches/1.4
      
      ........
        r207647 | kpfleming | 2009-07-21 08:04:44 -0500 (Tue, 21 Jul 2009) | 12 lines
        
        Ensure that user-provided CFLAGS and LDFLAGS are honored.
        
        This commit changes the build system so that user-provided flags (in ASTCFLAGS
        and ASTLDFLAGS) are supplied to the compiler/linker *after* all flags provided
        by the build system itself, so that the user can effectively override the
        build system's flags if desired. In addition, ASTCFLAGS and ASTLDFLAGS can now
        be provided *either* in the environment before running 'make', or as variable
        assignments on the 'make' command line. As a result, the use of COPTS and LDOPTS
        is no longer necessary, so they are no longer documented, but are still supported
        so as not to break existing build systems that supply them when building Asterisk.
      ........
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@207680 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      96e4e31e
  20. Apr 28, 2009
  21. Mar 18, 2009
    • Kevin P. Fleming's avatar
      Merged revisions 182808 via svnmerge from · ab3e9dda
      Kevin P. Fleming authored
      https://origsvn.digium.com/svn/asterisk/branches/1.4
      
      ........
        r182808 | kpfleming | 2009-03-17 20:55:22 -0500 (Tue, 17 Mar 2009) | 5 lines
        
        Improve the build system to *properly* remove unnecessary symbols from the runtime global namespace. Along the way, change the prefixes on some internal-only API calls to use a common prefix.
        
        With these changes, for a module to export symbols into the global namespace, it must have *both* the AST_MODFLAG_GLOBAL_SYMBOLS flag and a linker script that allows the linker to leave the symbols exposed in the module's .so file (see res_odbc.exports for an example).
      ........
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@182826 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      ab3e9dda
  22. Nov 26, 2008
  23. Nov 20, 2008
    • Kevin P. Fleming's avatar
      Merged revisions 157859 via svnmerge from · 8d5deb31
      Kevin P. Fleming authored
      https://origsvn.digium.com/svn/asterisk/branches/1.4
      
      ........
        r157859 | kpfleming | 2008-11-19 15:34:47 -0600 (Wed, 19 Nov 2008) | 7 lines
        
        the gcc optimizer frequently finds broken code (use of uninitalized variables, unreachable code, etc.), which is good. however, developers usually compile with the optimizer turned off, because if they need to debug the resulting code, optimized code makes that process very difficult. this means that we get code changes committed that weren't adequately checked over for these sorts of problems.
        
        with this build system change, if (and only if) --enable-dev-mode was used and DONT_OPTIMIZE is turned on, when a source file is compiled it will actually be preprocessed (into a .i or .ii file), then compiled once with optimization (with the result sent to /dev/null) and again without optimization (but only if the first compile succeeded, of course).
        
        while making these changes, i did some cleanup work in Makefile.rules to move commonly-used combinations of flag variables into their own variables, to make the file easier to read and maintain
      ........
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@157974 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      8d5deb31
  24. Nov 15, 2008
  25. Apr 30, 2008
  26. Mar 11, 2008
  27. Nov 17, 2007
  28. Nov 16, 2007
  29. Nov 05, 2007
  30. Oct 08, 2007
  31. Oct 01, 2007
  32. Feb 22, 2007
  33. Jan 15, 2007
  34. Jan 03, 2007
  35. Dec 16, 2006
  36. Sep 29, 2006
Loading