1. 25 Jul, 2021 1 commit
    • tmkk's avatar
      cpu.h: detect AVX/FMA intrinsics availability on clang · b358381a
      tmkk authored
      Previously the FLAC__AVX2_SUPPORTED macro is defined, but actually
      AVX2 functions are not used when built with clang because flac only
      uses them when FLAC__AVX_SUPPORTED macro is set.
      
      Signed-off-by: NotTsunami
      b358381a
  2. 11 Jul, 2021 5 commits
    • Ralph Giles's avatar
      github actions: Add dummy ctest config switch. · 313ab585
      Ralph Giles authored
      This is required on windows, but not on other platforms.
      It needs to be the default `Debug` target, rather than
      `Release` to match CMAKE_BUILD_TYPE, for the $TARGET_FILE
      mapping to produce the correct path.
      
      See https://gitlab.kitware.com/cmake/cmake/-/issues/20283
      313ab585
    • Ralph Giles's avatar
      cmake: add some simple tests on windows platforms. · 10797d58
      Ralph Giles authored
      The main test harnesses are written in unix shell script, so
      they don't work on windows. A stanza was added to the cmake
      config to skip all tests there to get a green build.
      
      This is misleading, since no testing was done at all on Windows.
      
      Instead, construct a separate set of tests on non-unix platforms,
      calling the two api test programs, which of necessity are
      compiled executables. Also invoke the two front-end programs
      with just the --help switch to verify they at least start.
      
      Thanks to Marcus Asteborg for the suggestion.
      10797d58
    • Ralph Giles's avatar
      github actions: Split CMake build into separate steps. · bac77f73
      Ralph Giles authored
      Failures within multi-line commands aren't detected properly
      in the windows runner environment. Therefore split each
      line into a separate step for the cmake build.
      
      Use the `working-directory` key to mark the build subdir without
      having the prepend a `cd` command.
      bac77f73
    • Ralph Giles's avatar
      github actions: add a windows cmake target · 21a217e7
      Ralph Giles authored
      Make use of the available builders for Microsoft Windows build
      converage.
      
      Unfortunately this job reports finding no tests to run, despite
      being identical to other builds. Worse, this is not reported as
      an error.
      
      Windows doesn't have a package manager like linux and macos, so
      until we figure out how to build and cache the ogg dependency
      for the windows job, just skip ogg support.
      21a217e7
    • Ralph Giles's avatar
      github actions: archive logs on failure. · df35f5ea
      Ralph Giles authored
      The test harnesses log details to files during the run,
      which is helpful when debugging issues which are only
      reported as a run failure in the console output.
      
      When the build job fails, upload an artifact consisting
      of a zipfile with all the log files from the build,
      so users can investigate test failures in ci more
      easily.
      df35f5ea
  3. 26 Jun, 2021 2 commits
    • Ralph Giles's avatar
      github actions: Fix typo. · 37d1a620
      Ralph Giles authored
      This doesn't change the build; it just corrects a label.
      37d1a620
    • Ralph Giles's avatar
      gitlab-ci: Add build configs. · b7a4402a
      Ralph Giles authored
      Define builds for gitlab's continuous integration runners so we
      some feedback on versions of the code hosted there, particularly
      https://gitlab.xiph.org/xiph/flac.
      
      Build with GNU Autotools, with CMake+ninja, and verify
      the Makefile.lite build.
      
      This uses the same Debian-based docker.io/library/gcc:9 container
      image we use for most of the codec projects. That container
      doesn't specify an unprivileged user so that we can install
      packages.
      
      However, some of flac's file-creation tests must be run as an
      unprivileged user who owns the source tree. We therefore
      create a user account and use `su` to run the tests.
      
      In the case of the autotools job, `make distcheck` unpacks
      the packaged source, so this takes care of ownership.
      
      In the case of the other jobs, we must `chown` the entire
      checkout and complete the build as the unprivileged user.
      
      Another way to address this would be to define a custom
      container image with the prerequisites installed before
      switching to an unprivileged us...
      b7a4402a
  4. 24 Jun, 2021 2 commits
    • TGMarkiewicz's avatar
      Fix building/installing docs with CMake · bab58c37
      TGMarkiewicz authored
      Details:
       - During the installation of the package with CMake, it stops
         (via fail) when doc files should be copied. It was caused by
         changing current binary to current source CMake directory.
      bab58c37
    • TGMarkiewicz's avatar
      Fix version & requires fields in pkg config files · 1ac2a631
      TGMarkiewicz authored
      Details:
       - When building with CMake, pkg-config files flac.pc and flac++.pc
         are not updated with Version information. This causes a failure
         when running a configure script in opus-tools
         (https://github.com/xiph/opus-tools).
      
         Note that OGG_PACKAGE is set to "ogg" exactly as in the configure.ac,
         but it is only set when the building explicitly with libogg.
      1ac2a631
  5. 23 Jun, 2021 3 commits
    • Andrey Astafyev's avatar
      examples: Fix error condition processing · a9557c13
      Andrey Astafyev authored
      
      
      Don't attempt to attach failed metadata objects. This also avoids
      clobbering the error flag if attaching the objects should succeed.
      
      There may still be problems later, for example calling _delete()
      on a possibly null metadata object pointer, but this it at least
      and improvement in the compromise between error handling and
      readability in C.
      Signed-off-by: Ralph Giles's avatarRalph Giles <giles@thaumas.net>
      a9557c13
    • Ewout ter Hoeven's avatar
      CI: Run on pull requests and once a month · eba0ff8d
      Ewout ter Hoeven authored
      
      
      Run the CI on PRs and once a month (to detect failures due to updated images or dependencies).
      Signed-off-by: Erik de Castro Lopo's avatarErik de Castro Lopo <erikd@mega-nerd.com>
      Signed-off-by: Ralph Giles's avatarRalph Giles <giles@thaumas.net>
      eba0ff8d
    • Chocobo1's avatar
      Fix nasm.h not found when building in x86 · 88fb432a
      Chocobo1 authored
      
      
      The following is the error from compiler:
      Assembling cpu_asm.nasm
        cmd.exe /D /C "C:\Users\appveyor\AppData\Local\Temp\1\tmp62cb769c16c04b79a2f73246c8ccf95a.cmd"
        "/NASM/nasm.exe" -o "FLAC-asm.dir\Release\cpu_asm.obj" -fwin32 -I"C:\project\lib\flac\include\\" -I"C:\project\lib\flac\_build\Win32\\" -D"CMAKE_INTDIR="Release"" -dOBJ_FORMAT_win32 "C:\project\lib\flac\src\libFLAC\ia32\cpu_asm.nasm"
        C:\project\lib\flac\src\libFLAC\ia32\cpu_asm.nasm:34: fatal: unable to open include file `nasm.h'
      
      Closes #220.
      Signed-off-by: Ozkan Sezer's avatarOzkan Sezer <sezeroz@gmail.com>
      88fb432a
  6. 22 Jun, 2021 2 commits
  7. 15 Mar, 2021 7 commits
  8. 17 Dec, 2020 1 commit
  9. 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
  10. 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
  11. 07 Apr, 2020 1 commit
  12. 06 Apr, 2020 1 commit
  13. 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
  14. 06 Mar, 2020 1 commit
  15. 27 Dec, 2019 1 commit
  16. 22 Dec, 2019 1 commit
  17. 08 Dec, 2019 7 commits