1. 14 May, 2020 1 commit
    • evpobr's avatar
      CMake polishing · ce6dd6b5
      evpobr authored
      * Improve CPU features detection
      
        CMAKE_SYSTEM_PROCESSOR is pretty useless (e.g. when compiling with
        MSVC ARM64 toolchain and Ninja still returns system processor).
      
      * Don't build src/utils targets by default
      
        Fix compilation for UWP platform.
      
      * Add more Visual studio Git ignore patterns
      * Autogenerate Doxygen docs
      ce6dd6b5
  2. 03 May, 2020 3 commits
    • Ulrik Mikaelsson's avatar
      Simplified logic of parsing sizes of rice-partitions · 37e675b7
      Ulrik Mikaelsson authored
      > if the partition order is zero, n = frame's blocksize - predictor order
      > else if this is not the first partition of the subframe,
      >   n = (frame's blocksize / (2^partition order))
      > else n = (frame's blocksize / (2^partition order)) - predictor order
      
      if the partition order is zero, then partition_number can only be zero
      if the partition order is zero, then
        (frame's blocksize / (2^partition order))
        is (frame's blocksize / 1) == frame's blocksize
      37e675b7
    • Thomas BERNARD's avatar
      fix build under Mac OS X with PowerPC CPU · 4fbb6d4f
      Thomas BERNARD authored
      revert 44036c9a because auxv.h is only
      available under Linux and FreeBSD.
      4fbb6d4f
    • evpobr's avatar
      Bunch of CMake fixes · e0b62a61
      evpobr authored
      * Add more Git ignore patterns
      * Fix Ogg dependency handling (closes #203)
      * Remove unneeded compiler flag (closes #204)
      * Fix Visual Studio DLL build error error C2491:
        'flac_internal_rename_utf8': definition of dllimport function not
        allowed (closes #205)
      * Add alias targets
      * Reduce number of CMake files
      * Improve CMake intrinsics detection
      e0b62a61
  3. 07 Apr, 2020 1 commit
  4. 06 Apr, 2020 1 commit
  5. 05 Apr, 2020 1 commit
    • evpobr's avatar
      Add more CMake options · acadefdd
      evpobr authored
      * BUILD_PROGRAMS
      ** INSTALL_MANPAGES
      * INSTALL_PKGCONFIG_MODULES
      * INSTALL_CMAKE_CONFIG_MODULE
      acadefdd
  6. 06 Mar, 2020 1 commit
  7. 27 Dec, 2019 1 commit
  8. 22 Dec, 2019 1 commit
  9. 08 Dec, 2019 7 commits
  10. 29 Nov, 2019 1 commit
  11. 24 Nov, 2019 1 commit
  12. 21 Nov, 2019 1 commit
  13. 20 Nov, 2019 2 commits
    • NotTsunami's avatar
      cmake/configure.ac: Enable -fstack-protector-strong by default · f706f283
      NotTsunami authored
      This commit contains the following changes:
      
      - Drops -fstack-protector in favor of -fstack-protector-strong.
        Consequently, the ssp-buffer-size parameter has been removed as
        -fstack-protector-strong ignores array size.
      
      - Add new global opt-out for stack smash protection. This is enabled
        by default for both autotools and CMake builds. Users can opt out
        of stack smash protection by passing -DWITH_STACK_PROTECTOR=OFF to
        CMake or --disable-stack-smash-protection when running ./configure.
      
      - Renames HAVE_SSP_FLAG to HAVE_STACK_PROTECTOR_FLAG in
        CMakeLists.txt to be more readable.
      f706f283
    • NotTsunami's avatar
      lib.mk: Remove incorrect u flag from ar · 1640e10e
      NotTsunami authored
      We work in deterministic mode by default, so timestamps are zeroed,
      thus it is impossible to check timestamps and insert only newer
      members. Silences the following autotools warning:
      
      ar: `u' modifier ignored since `D' is the default (see `U')
      
      https://sourceware.org/binutils/docs/binutils/ar-cmdline.html
      1640e10e
  14. 19 Nov, 2019 2 commits
    • NotTsunami's avatar
      include: Escape number signs to suppress warnings · 3bb5d8cd
      NotTsunami authored
      Doxygen sees '#' as a cross-reference, which this is not in this case. This will silence the following warning that pops up frequently when building with docs:
      
      warning: explicit link request to 'defines' could not be resolved
      
      The code shorthand tag was removed in include\FLAC\all.h to remain synonymous with other mentions of #define.
      3bb5d8cd
    • NotTsunami's avatar
      doc: Update to Doxygen 1.7.6.1 · 3a151a20
      NotTsunami authored
      This will bring our doxyfile closer to the modern world and clean up some warnings in the doxygen output during a regular build. I believe it is pretty fair to use 1.7.6.1 given it released in 2011, with the 1.7.x branch a year prior. The current branch is 1.8, which released 2012, but I believe 1.7.6.1 is sufficient.
      
      Updated by running doxygen -u doc/Doxygen.in with Doxygen 1.7.6.1. The only manual change was adding 'Free Lossless Audio Codec' to PROJECT_BRIEF.
      3a151a20
  15. 18 Nov, 2019 2 commits
  16. 17 Nov, 2019 3 commits
  17. 15 Nov, 2019 1 commit
    • sezero's avatar
      cmake_minimum_required() cleanup: · cdcf0d55
      sezero authored
      - document version requirements in the top-level file.
      - remove incorrect version requirements from sub-dirs.
      - set min. required version to 3.5 in top-level file.
      - set minimun required version to 3.9 under docs/ .
      - make documents building an option (on by default.)
        so, the tree can be built using cmake-3.5 using
       -DBUILD_DOCS=0 on the command line.
      cdcf0d55
  18. 11 Nov, 2019 3 commits
  19. 23 Oct, 2019 1 commit
  20. 19 Oct, 2019 2 commits
  21. 16 Oct, 2019 1 commit
  22. 10 Oct, 2019 3 commits
    • sezero's avatar
      cmake: fix nasm sources build when building in a separate directory · 952d5116
      sezero authored
      When building in the same directory as the source, it works, but not in
      a separate directory.  The trailing slash is important with nasm.  Note
      that include_directories("${CMAKE_CURRENT_SOURCE_DIR}/") does not work
      because cmake seems to strip the trailing slash.
      
      Also relax the cmake version requirement from 3.12 to 3.9 as everywhere
      else in the tree: it works just fine.
      952d5116
    • sezero's avatar
      configure.ac: allow several compiler flags for clang · d4a1b345
      sezero authored
      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
    • sezero's avatar