Skip to content
  • sezero's avatar
    configure.ac: allow several compiler flags for clang · d4a1b345
    sezero authored and Erik de Castro Lopo's avatar Erik de Castro Lopo committed
    The flac configury marked clang as 'not being gcc' and excluded
    a lot of compiler switches, most importantly the visibility flags,
    from being used with it. This was done possibly after a problem
    reported at: https://github.com/erikd/libsndfile/issues/49 .
    
    This patch does the following:
    
    - m4/gcc_version.m4 (XIPH_GCC_VERSION): set GCC_MAJOR_VERSION and
      GCC_MINOR_VERSION to 0 for non-gcc. Previously, they were left
      unset.
    
    - configure: the gcc version checks are, naturally, against non-
      zero values, so, allow many compiler switches to be used with
      clang without affecting real-gcc cases.
    
    - configure: When setting CFLAGS="-O3 -funroll-loops", also set
      CXXFLAGS="-O3".  Prevents g++ warnings with _FORTIFY_SOURCE, i.e.:
     '_FORTIFY_SOURCE requires compiling with optimization (-O)'
    
    Tested compilation using gcc-7.3.1 and clang-5.0.2 on x86_64-linux,
    and gcc-4.4.7 and clang-3.4.2 on an i686-linux.  Also tested cross-
    compiling for Mac OS X using clang-5.0.2.
    d4a1b345