From b45bf9547b72e1f26159ee5c7aea287ef90e8b04 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Mon, 25 Oct 2021 05:46:56 +0100 Subject: [PATCH] Fix compilation on all targets. --- 3rdparty/CMakeLists.txt | 17 -------- 3rdparty/bzip2.cmake | 10 ++--- 3rdparty/flac | 2 +- 3rdparty/lzfse.cmake | 14 +++++-- 3rdparty/zstd.cmake | 50 ++++------------------- CMakeLists.txt | 11 +++--- build.sh | 88 ++++++++++++++--------------------------- flac.c | 6 +-- 8 files changed, 61 insertions(+), 137 deletions(-) diff --git a/3rdparty/CMakeLists.txt b/3rdparty/CMakeLists.txt index 45e0dd3..d734a2b 100644 --- a/3rdparty/CMakeLists.txt +++ b/3rdparty/CMakeLists.txt @@ -9,20 +9,3 @@ include(lzma.cmake) include(zstd.cmake) include(flac.cmake) - -#cmake_policy(SET CMP0077 NEW) -#set(BUILD_CXXLIBS OFF) -#set(BUILD_PROGRAMS OFF) -#set(BUILD_EXAMPLES OFF) -#set(BUILD_DOCS OFF) -#set(INSTALL_MANPAGES OFF) -#set(INSTALL_PKGCONFIG_MODULES OFF) -#set(INSTALL_CMAKE_CONFIG_MODULE OFF) -#set(WITH_OGG OFF) -#set(WITH_OGG OFF) -#set(BUILD_TESTING OFF) -#set(BUILD_SHARED_LIBS OFF) -#if("${CMAKE_C_PLATFORM_ID}" MATCHES "MinGW" AND ("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "aarch64" OR "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "arm")) -# set(WITH_STACK_PROTECTOR OFF) -#endif() -#add_subdirectory(flac) diff --git a/3rdparty/bzip2.cmake b/3rdparty/bzip2.cmake index bb11f0b..5842a54 100644 --- a/3rdparty/bzip2.cmake +++ b/3rdparty/bzip2.cmake @@ -51,11 +51,6 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) None Debug Release MinSizeRel RelWithDebInfo) endif() -include(GNUInstallDirs) - -# For test scripts and documentation -find_package(Python3) - # Always use '-fPIC'/'-fPIE' option, except when using MingW to compile for WoA. if(NOT "${CMAKE_C_PLATFORM_ID}" MATCHES "MinGW" OR (NOT "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "aarch64" AND NOT "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "arm")) set(CMAKE_POSITION_INDEPENDENT_CODE ON) @@ -79,7 +74,10 @@ check_include_file(unistd.h HAVE_UNISTD_H) include(CheckTypeSize) # Checks for typedefs, structures, and compiler characteristics. # AC_TYPE_SIZE_T -check_type_size("ssize_t" SIZEOF_SSIZE_T) +if(NOT "${CMAKE_C_PLATFORM_ID}" MATCHES "MinGW" OR (NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm" AND NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64")) + check_type_size("ssize_t" SIZEOF_SSIZE_T) +endif() + if(NOT SIZEOF_SSIZE_T) # ssize_t is a signed type in POSIX storing at least -1. # Set it to "int" to match the behavior of AC_TYPE_SSIZE_T (autotools). diff --git a/3rdparty/flac b/3rdparty/flac index b358381..7d55296 160000 --- a/3rdparty/flac +++ b/3rdparty/flac @@ -1 +1 @@ -Subproject commit b358381a102a2c1c153ee4cf95dfc04af62faa1a +Subproject commit 7d55296b5b04410bd6b8c4cb6fcbc7c2f638458a diff --git a/3rdparty/lzfse.cmake b/3rdparty/lzfse.cmake index f81d9b1..15f4e7c 100644 --- a/3rdparty/lzfse.cmake +++ b/3rdparty/lzfse.cmake @@ -68,7 +68,7 @@ set(LZFSE_SOURCES list(TRANSFORM LZFSE_SOURCES PREPEND "lzfse/") -add_library(lzfse ${LZFSE_SOURCES}) +add_library(lzfse STATIC ${LZFSE_SOURCES}) lzfse_add_compiler_flags(lzfse -Wall -Wno-unknown-pragmas -Wno-unused-variable) @@ -79,6 +79,12 @@ else() endif() set_target_properties(lzfse PROPERTIES - POSITION_INDEPENDENT_CODE TRUE - C_VISIBILITY_PRESET hidden - INTERPROCEDURAL_OPTIMIZATION TRUE) + C_VISIBILITY_PRESET hidden) + +if(NOT AARU_MUSL) + set_property(TARGET lzfse APPEND PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE) +endif() + +if(NOT "${CMAKE_C_PLATFORM_ID}" MATCHES "MinGW" OR (NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm" AND NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64")) + set_property(TARGET lzfse APPEND PROPERTY POSITION_INDEPENDENT_CODE TRUE) +endif() diff --git a/3rdparty/zstd.cmake b/3rdparty/zstd.cmake index 3f680c6..484e51b 100644 --- a/3rdparty/zstd.cmake +++ b/3rdparty/zstd.cmake @@ -60,8 +60,6 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo") endif() -include(GNUInstallDirs) - #----------------------------------------------------------------------------- # Add extra compilation flags #----------------------------------------------------------------------------- @@ -186,20 +184,6 @@ else () message(STATUS "ZSTD_MULTITHREAD_SUPPORT is disabled") endif () -option(ZSTD_BUILD_PROGRAMS "BUILD PROGRAMS" ON) -option(ZSTD_BUILD_CONTRIB "BUILD CONTRIB" OFF) - -# Respect the conventional CMake option for enabling tests if it was specified on the first configure -if (BUILD_TESTING) - set(ZSTD_BUILD_TESTS_default ON) -else() - set(ZSTD_BUILD_TESTS_default OFF) -endif() -option(ZSTD_BUILD_TESTS "BUILD TESTS" ${ZSTD_BUILD_TESTS_default}) -if (MSVC) - option(ZSTD_USE_STATIC_RUNTIME "LINK TO STATIC RUN-TIME LIBRARIES" OFF) -endif () - #----------------------------------------------------------------------------- # External dependencies #----------------------------------------------------------------------------- @@ -216,12 +200,6 @@ endif () project(libzstd C) set(CMAKE_INCLUDE_CURRENT_DIR TRUE) -option(ZSTD_BUILD_STATIC "BUILD STATIC LIBRARIES" ON) -option(ZSTD_BUILD_SHARED "BUILD SHARED LIBRARIES" ON) - -if(NOT ZSTD_BUILD_SHARED AND NOT ZSTD_BUILD_STATIC) - message(SEND_ERROR "You need to build at least one flavor of libzstd") -endif() # Define library directory, where sources and header files are located include_directories(${LIBRARY_DIR} ${LIBRARY_DIR}/common) @@ -280,17 +258,7 @@ endif () # Split project to static and shared libraries build set(library_targets) -if (ZSTD_BUILD_SHARED) - add_library(libzstd_shared SHARED ${Sources} ${Headers} ${PlatformDependResources}) - list(APPEND library_targets libzstd_shared) - if (ZSTD_MULTITHREAD_SUPPORT) - set_property(TARGET libzstd_shared APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_MULTITHREAD") - if (UNIX) - target_link_libraries(libzstd_shared ${THREADS_LIBS}) - endif () - endif() -endif () -if (ZSTD_BUILD_STATIC) +#if (ZSTD_BUILD_STATIC) add_library(libzstd_static STATIC ${Sources} ${Headers}) list(APPEND library_targets libzstd_static) if (ZSTD_MULTITHREAD_SUPPORT) @@ -299,16 +267,11 @@ if (ZSTD_BUILD_STATIC) target_link_libraries(libzstd_static ${THREADS_LIBS}) endif () endif () -endif () +#endif () # Add specific compile definitions for MSVC project if (MSVC) - if (ZSTD_BUILD_SHARED) - set_property(TARGET libzstd_shared APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_DLL_EXPORT=1;ZSTD_HEAPMODE=0;_CONSOLE;_CRT_SECURE_NO_WARNINGS") - endif () - if (ZSTD_BUILD_STATIC) - set_property(TARGET libzstd_static APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_HEAPMODE=0;_CRT_SECURE_NO_WARNINGS") - endif () + set_property(TARGET libzstd_static APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_HEAPMODE=0;_CRT_SECURE_NO_WARNINGS") endif () # With MSVC static library needs to be renamed to avoid conflict with import library @@ -323,6 +286,9 @@ endif () set_target_properties( libzstd_static PROPERTIES - POSITION_INDEPENDENT_CODE On OUTPUT_NAME ${STATIC_LIBRARY_BASE_NAME}) -#endif () \ No newline at end of file +#endif () + +if(NOT "${CMAKE_C_PLATFORM_ID}" MATCHES "MinGW" OR (NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm" AND NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64")) + set_property(TARGET libzstd_static APPEND PROPERTY POSITION_INDEPENDENT_CODE ON) +endif() diff --git a/CMakeLists.txt b/CMakeLists.txt index a32b32d..f4a1914 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -63,8 +63,6 @@ if("${CMAKE_BUILD_TYPE}" MATCHES "Release") if(NOT "${CMAKE_C_PLATFORM_ID}" MATCHES "MinGW") add_compile_options(-flto) endif() - - set(CMAKE_POSITION_INDEPENDENT_CODE ON) elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64") if(NOT "${CMAKE_C_COMPILER_ID}" MATCHES "AppleClang") add_compile_options(-march=armv8-a) @@ -72,11 +70,9 @@ if("${CMAKE_BUILD_TYPE}" MATCHES "Release") if(NOT "${CMAKE_C_PLATFORM_ID}" MATCHES "MinGW") add_compile_options(-flto) - set(CMAKE_POSITION_INDEPENDENT_CODE ON) endif() elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "armv7l" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm") if(NOT "${CMAKE_C_PLATFORM_ID}" MATCHES "MinGW") - set(CMAKE_POSITION_INDEPENDENT_CODE ON) endif() if(NOT "${CMAKE_C_COMPILER_ID}" MATCHES "AppleClang") @@ -85,7 +81,6 @@ if("${CMAKE_BUILD_TYPE}" MATCHES "Release") elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "mips") if(NOT "${CMAKE_C_PLATFORM_ID}" MATCHES "MinGW") add_compile_options(-flto) - set(CMAKE_POSITION_INDEPENDENT_CODE ON) endif() endif() endif() @@ -116,4 +111,10 @@ ENDMACRO() TARGET_LINK_LIBRARIES_WHOLE_ARCHIVE("Aaru.Compression.Native" bz2_static lzlib lzfse libzstd_static lzma FLAC) +if(NOT "${CMAKE_C_PLATFORM_ID}" MATCHES "MinGW" OR (NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm" AND NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64")) + set_property(TARGET "Aaru.Compression.Native" APPEND PROPERTY POSITION_INDEPENDENT_CODE TRUE) +else() + set_property(TARGET "Aaru.Compression.Native" APPEND PROPERTY POSITION_INDEPENDENT_CODE FALSE) +endif() + add_subdirectory(tests) diff --git a/build.sh b/build.sh index 262d82c..368e4e1 100755 --- a/build.sh +++ b/build.sh @@ -26,7 +26,7 @@ rm -f CMakeCache.txt mkdir -p runtimes/android-arm/native docker run --rm dockcross/android-arm >docker/dockcross-android-arm chmod +x docker/dockcross-android-arm -docker/dockcross-android-arm cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 -DCMAKE_POLICY_DEFAULT_CMP0077=NEW -DCMAKE_POLICY_DEFAULT_CMP0069=NEW . +docker/dockcross-android-arm cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 . docker/dockcross-android-arm make Aaru.Compression.Native mv libAaru.Compression.Native.so runtimes/android-arm/native/ @@ -36,7 +36,7 @@ rm -f CMakeCache.txt mkdir -p runtimes/android-arm64/native docker run --rm dockcross/android-arm64 >docker/dockcross-android-arm64 chmod +x docker/dockcross-android-arm64 -docker/dockcross-android-arm64 cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 -DCMAKE_POLICY_DEFAULT_CMP0077=NEW -DCMAKE_POLICY_DEFAULT_CMP0069=NEW . +docker/dockcross-android-arm64 cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 . docker/dockcross-android-arm64 make Aaru.Compression.Native mv libAaru.Compression.Native.so runtimes/android-arm64/native/ @@ -46,7 +46,7 @@ rm -f CMakeCache.txt mkdir -p runtimes/android-x64/native docker run --rm dockcross/android-x86_64 >docker/dockcross-android-x64 chmod +x docker/dockcross-android-x64 -docker/dockcross-android-x64 cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 -DCMAKE_POLICY_DEFAULT_CMP0077=NEW -DCMAKE_POLICY_DEFAULT_CMP0069=NEW . +docker/dockcross-android-x64 cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 . docker/dockcross-android-x64 make Aaru.Compression.Native mv libAaru.Compression.Native.so runtimes/android-x64/native/ @@ -56,7 +56,7 @@ rm -f CMakeCache.txt mkdir -p runtimes/android-x86/native docker run --rm dockcross/android-x86 >docker/dockcross-android-x86 chmod +x docker/dockcross-android-x86 -docker/dockcross-android-x86 cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 -DCMAKE_POLICY_DEFAULT_CMP0077=NEW -DCMAKE_POLICY_DEFAULT_CMP0069=NEW . +docker/dockcross-android-x86 cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 . docker/dockcross-android-x86 make Aaru.Compression.Native mv libAaru.Compression.Native.so runtimes/android-x86/native/ @@ -66,7 +66,7 @@ rm -f CMakeCache.txt mkdir -p runtimes/linux-arm/native docker run --rm dockcross/linux-armv7a >docker/dockcross-linux-arm chmod +x docker/dockcross-linux-arm -docker/dockcross-linux-arm cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 -DCMAKE_POLICY_DEFAULT_CMP0077=NEW -DCMAKE_POLICY_DEFAULT_CMP0069=NEW . +docker/dockcross-linux-arm cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 . docker/dockcross-linux-arm make Aaru.Compression.Native mv libAaru.Compression.Native.so runtimes/linux-arm/native/ @@ -76,7 +76,7 @@ rm -f CMakeCache.txt mkdir -p runtimes/linux-arm64/native docker run --rm dockcross/linux-arm64-lts >docker/dockcross-linux-arm64 chmod +x docker/dockcross-linux-arm64 -docker/dockcross-linux-arm64 cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 -DCMAKE_POLICY_DEFAULT_CMP0077=NEW -DCMAKE_POLICY_DEFAULT_CMP0069=NEW . +docker/dockcross-linux-arm64 cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 . docker/dockcross-linux-arm64 make Aaru.Compression.Native mv libAaru.Compression.Native.so runtimes/linux-arm64/native/ @@ -86,7 +86,7 @@ rm -f CMakeCache.txt mkdir -p runtimes/linux-mips64/native docker run --rm dockcross/linux-mips >docker/dockcross-linux-mips64 chmod +x docker/dockcross-linux-mips64 -docker/dockcross-linux-mips64 cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 -DCMAKE_POLICY_DEFAULT_CMP0077=NEW -DCMAKE_POLICY_DEFAULT_CMP0069=NEW . +docker/dockcross-linux-mips64 cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 . docker/dockcross-linux-mips64 make Aaru.Compression.Native mv libAaru.Compression.Native.so runtimes/linux-mips64/native/ @@ -96,9 +96,7 @@ rm -f CMakeCache.txt mkdir -p runtimes/linux-musl-arm/native docker run --rm dockcross/linux-armv7l-musl >docker/dockcross-linux-musl-arm chmod +x docker/dockcross-linux-musl-arm -docker/dockcross-linux-musl-arm cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 -DCMAKE_POLICY_DEFAULT_CMP0077=NEW -DCMAKE_POLICY_DEFAULT_CMP0069=NEW . -sed -e 's/\-fno-fat-lto-objects\s//g' ./3rdparty/lzfse/CMakeFiles/lzfse.dir/flags.make > flags.make -mv flags.make ./3rdparty/lzfse/CMakeFiles/lzfse.dir/flags.make +docker/dockcross-linux-musl-arm cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 -DAARU_MUSL=1 . docker/dockcross-linux-musl-arm make Aaru.Compression.Native mv libAaru.Compression.Native.so runtimes/linux-musl-arm/native/ @@ -108,9 +106,7 @@ rm -f CMakeCache.txt mkdir -p runtimes/linux-musl-arm64/native docker run --rm dockcross/linux-arm64-musl >docker/dockcross-linux-musl-arm64 chmod +x docker/dockcross-linux-musl-arm64 -docker/dockcross-linux-musl-arm64 cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 -DCMAKE_POLICY_DEFAULT_CMP0077=NEW -DCMAKE_POLICY_DEFAULT_CMP0069=NEW . -sed -e 's/\-fno-fat-lto-objects\s//g' ./3rdparty/lzfse/CMakeFiles/lzfse.dir/flags.make > flags.make -mv flags.make ./3rdparty/lzfse/CMakeFiles/lzfse.dir/flags.make +docker/dockcross-linux-musl-arm64 cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 -DAARU_MUSL=1 . docker/dockcross-linux-musl-arm64 make Aaru.Compression.Native mv libAaru.Compression.Native.so runtimes/linux-musl-arm64/native/ @@ -120,7 +116,7 @@ rm -f CMakeCache.txt mkdir -p runtimes/linux-s390x/native docker run --rm dockcross/linux-s390x >docker/dockcross-linux-s390x chmod +x docker/dockcross-linux-s390x -docker/dockcross-linux-s390x cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 -DCMAKE_POLICY_DEFAULT_CMP0077=NEW -DCMAKE_POLICY_DEFAULT_CMP0069=NEW . +docker/dockcross-linux-s390x cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 . docker/dockcross-linux-s390x make Aaru.Compression.Native mv libAaru.Compression.Native.so runtimes/linux-s390x/native/ @@ -130,7 +126,7 @@ rm -f CMakeCache.txt mkdir -p runtimes/linux-x64/native docker run --rm dockcross/linux-x64 >docker/dockcross-linux-x64 chmod +x docker/dockcross-linux-x64 -docker/dockcross-linux-x64 cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 -DCMAKE_POLICY_DEFAULT_CMP0077=NEW -DCMAKE_POLICY_DEFAULT_CMP0069=NEW . +docker/dockcross-linux-x64 cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 . docker/dockcross-linux-x64 make Aaru.Compression.Native mv libAaru.Compression.Native.so runtimes/linux-x64/native/ @@ -140,38 +136,25 @@ rm -f CMakeCache.txt mkdir -p runtimes/linux-x86/native docker run --rm dockcross/linux-x86 > docker/dockcross-linux-x86 chmod +x docker/dockcross-linux-x86 -docker/dockcross-linux-x86 cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 -DCMAKE_POLICY_DEFAULT_CMP0077=NEW -DCMAKE_POLICY_DEFAULT_CMP0069=NEW . -sed -e 's/CMAKE_C_COMPILER_AR\-NOTFOUND/\/usr\/i686-linux-gnu\/bin\/i686-linux-gnu-ar/g' ./3rdparty/lzfse/CMakeFiles/lzfse.dir/link.txt > link.txt -mv link.txt ./3rdparty/lzfse/CMakeFiles/lzfse.dir/link.txt -sed -e 's/CMAKE_C_COMPILER_RANLIB\-NOTFOUND/ranlib/g' ./3rdparty/lzfse/CMakeFiles/lzfse.dir/link.txt > link.txt -mv link.txt ./3rdparty/lzfse/CMakeFiles/lzfse.dir/link.txt +docker/dockcross-linux-x86 cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 . +sed -e 's/CMAKE_C_COMPILER_AR\-NOTFOUND/\/usr\/i686-linux-gnu\/bin\/i686-linux-gnu-ar/g' ./3rdparty/CMakeFiles/lzfse.dir/link.txt > link.txt +mv link.txt ./3rdparty/CMakeFiles/lzfse.dir/link.txt +sed -e 's/CMAKE_C_COMPILER_RANLIB\-NOTFOUND/ranlib/g' ./3rdparty/CMakeFiles/lzfse.dir/link.txt > link.txt +mv link.txt ./3rdparty/CMakeFiles/lzfse.dir/link.txt docker/dockcross-linux-x86 make Aaru.Compression.Native mv libAaru.Compression.Native.so runtimes/linux-x86/native/ ## Windows (ARM) # Detected system processor: arm -# undefined symbols in lzma/aes and flac rm -f CMakeCache.txt mkdir -p runtimes/win-arm/native docker run --rm dockcross/windows-armv7 > docker/dockcross-win-arm chmod +x docker/dockcross-win-arm -docker/dockcross-win-arm cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 -DCMAKE_POLICY_DEFAULT_CMP0077=NEW -DCMAKE_POLICY_DEFAULT_CMP0069=NEW . -sed -e 's/\-fPIC\s//g' ./3rdparty/bzip2/CMakeFiles/bz2_static.dir/flags.make > flags.make -mv flags.make ./3rdparty/bzip2/CMakeFiles/bz2_static.dir/flags.make -sed -e 's/\-fPIC\s//g' ./3rdparty/lzfse/CMakeFiles/lzfse.dir/flags.make > flags.make -mv flags.make ./3rdparty/lzfse/CMakeFiles/lzfse.dir/flags.make -sed -e 's/CMAKE_C_COMPILER_AR\-NOTFOUND/\/usr\/xcc\/armv7-w64-mingw32-cross\/bin\/aarch64-w64-mingw32-ar/g' ./3rdparty/lzfse/CMakeFiles/lzfse.dir/link.txt > link.txt -mv link.txt ./3rdparty/lzfse/CMakeFiles/lzfse.dir/link.txt -sed -e 's/CMAKE_C_COMPILER_RANLIB\-NOTFOUND/\/usr\/xcc\/armv7-w64-mingw32-cross\/bin\/aarch64-w64-mingw32-ranlib/g' ./3rdparty/lzfse/CMakeFiles/lzfse.dir/link.txt > link.txt -mv link.txt ./3rdparty/lzfse/CMakeFiles/lzfse.dir/link.txt -sed -e 's/\-fPIC\s//g' ./3rdparty/zstd-1.5.0/build/cmake/lib/CMakeFiles/libzstd_static.dir/flags.make > flags.make -mv flags.make ./3rdparty/zstd-1.5.0/build/cmake/lib/CMakeFiles/libzstd_static.dir/flags.make -sed -e 's/\C_DEFINES\ \=/C_DEFINES\ \=\ \-D_FORTIFY_SOURCE\=0/g' ./3rdparty/flac/src/libFLAC/CMakeFiles/FLAC.dir/flags.make > flags.make -mv flags.make ./3rdparty/flac/src/libFLAC/CMakeFiles/FLAC.dir/flags.make -sed -e 's/\-fPIC\s//g' ./CMakeFiles/Aaru.Compression.Native.dir/link.txt > link.txt -mv link.txt ./CMakeFiles/Aaru.Compression.Native.dir/link.txt -sed -e 's/\-fPIC\s//g' ./CMakeFiles/Aaru.Compression.Native.dir/flags.make > flags.make -mv flags.make ./CMakeFiles/Aaru.Compression.Native.dir/flags.make +docker/dockcross-win-arm cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 . +sed -e 's/CMAKE_C_COMPILER_AR\-NOTFOUND/\/usr\/xcc\/armv7-w64-mingw32-cross\/bin\/armv7-w64-mingw32-ar/g' ./3rdparty/CMakeFiles/lzfse.dir/link.txt > link.txt +mv link.txt ./3rdparty/CMakeFiles/lzfse.dir/link.txt +sed -e 's/CMAKE_C_COMPILER_RANLIB\-NOTFOUND/\/usr\/xcc\/armv7-w64-mingw32-cross\/bin\/armv7-w64-mingw32-ranlib/g' ./3rdparty/CMakeFiles/lzfse.dir/link.txt > link.txt +mv link.txt ./3rdparty/CMakeFiles/lzfse.dir/link.txt sed -e 's/\-soname,libAaru\.Compression\.Native\.so//g' ./CMakeFiles/Aaru.Compression.Native.dir/link.txt > link.txt mv link.txt ./CMakeFiles/Aaru.Compression.Native.dir/link.txt docker/dockcross-win-arm make Aaru.Compression.Native @@ -179,28 +162,15 @@ mv libAaru.Compression.Native.so runtimes/win-arm/native/libAaru.Compression.Nat ## Windows (ARM64) # Detected system processor: aarch64 -# undefined symbols in lzma/aes and flac rm -f CMakeCache.txt mkdir -p runtimes/win-arm64/native docker run --rm dockcross/windows-arm64 > docker/dockcross-win-arm64 chmod +x docker/dockcross-win-arm64 -docker/dockcross-win-arm64 cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 -DCMAKE_POLICY_DEFAULT_CMP0077=NEW -DCMAKE_POLICY_DEFAULT_CMP0069=NEW . -sed -e 's/\-fPIC\s//g' ./3rdparty/bzip2/CMakeFiles/bz2_static.dir/flags.make > flags.make -mv flags.make ./3rdparty/bzip2/CMakeFiles/bz2_static.dir/flags.make -sed -e 's/\-fPIC\s//g' ./3rdparty/lzfse/CMakeFiles/lzfse.dir/flags.make > flags.make -mv flags.make ./3rdparty/lzfse/CMakeFiles/lzfse.dir/flags.make -sed -e 's/CMAKE_C_COMPILER_AR\-NOTFOUND/\/usr\/xcc\/aarch64-w64-mingw32-cross\/bin\/aarch64-w64-mingw32-ar/g' ./3rdparty/lzfse/CMakeFiles/lzfse.dir/link.txt > link.txt -mv link.txt ./3rdparty/lzfse/CMakeFiles/lzfse.dir/link.txt -sed -e 's/CMAKE_C_COMPILER_RANLIB\-NOTFOUND/\/usr\/xcc\/aarch64-w64-mingw32-cross\/bin\/aarch64-w64-mingw32-ranlib/g' ./3rdparty/lzfse/CMakeFiles/lzfse.dir/link.txt > link.txt -mv link.txt ./3rdparty/lzfse/CMakeFiles/lzfse.dir/link.txt -sed -e 's/\-fPIC\s//g' ./3rdparty/zstd-1.5.0/build/cmake/lib/CMakeFiles/libzstd_static.dir/flags.make > flags.make -mv flags.make ./3rdparty/zstd-1.5.0/build/cmake/lib/CMakeFiles/libzstd_static.dir/flags.make -sed -e 's/\C_DEFINES\ \=/C_DEFINES\ \=\ \-D_FORTIFY_SOURCE\=0/g' ./3rdparty/flac/src/libFLAC/CMakeFiles/FLAC.dir/flags.make > flags.make -mv flags.make ./3rdparty/flac/src/libFLAC/CMakeFiles/FLAC.dir/flags.make -sed -e 's/\-fPIC\s//g' ./CMakeFiles/Aaru.Compression.Native.dir/link.txt > link.txt -mv link.txt ./CMakeFiles/Aaru.Compression.Native.dir/link.txt -sed -e 's/\-fPIC\s//g' ./CMakeFiles/Aaru.Compression.Native.dir/flags.make > flags.make -mv flags.make ./CMakeFiles/Aaru.Compression.Native.dir/flags.make +docker/dockcross-win-arm64 cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 . +sed -e 's/CMAKE_C_COMPILER_AR\-NOTFOUND/\/usr\/xcc\/aarch64-w64-mingw32-cross\/bin\/aarch64-w64-mingw32-ar/g' ./3rdparty/CMakeFiles/lzfse.dir/link.txt > link.txt +mv link.txt ./3rdparty/CMakeFiles/lzfse.dir/link.txt +sed -e 's/CMAKE_C_COMPILER_RANLIB\-NOTFOUND/\/usr\/xcc\/aarch64-w64-mingw32-cross\/bin\/aarch64-w64-mingw32-ranlib/g' ./3rdparty/CMakeFiles/lzfse.dir/link.txt > link.txt +mv link.txt ./3rdparty/CMakeFiles/lzfse.dir/link.txt sed -e 's/\-soname,libAaru\.Compression\.Native\.so//g' ./CMakeFiles/Aaru.Compression.Native.dir/link.txt > link.txt mv link.txt ./CMakeFiles/Aaru.Compression.Native.dir/link.txt docker/dockcross-win-arm64 make Aaru.Compression.Native @@ -213,7 +183,7 @@ rm -f CMakeCache.txt mkdir -p runtimes/win-x64/native docker run --rm dockcross/windows-shared-x64 >docker/dockcross-win-x64 chmod +x docker/dockcross-win-x64 -docker/dockcross-win-x64 cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 -DCMAKE_POLICY_DEFAULT_CMP0077=NEW -DCMAKE_POLICY_DEFAULT_CMP0069=NEW . +docker/dockcross-win-x64 cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 . docker/dockcross-win-x64 make Aaru.Compression.Native mv libAaru.Compression.Native.dll runtimes/win-x64/native/ @@ -224,14 +194,14 @@ rm -f CMakeCache.txt mkdir -p runtimes/win-x86/native docker run --rm dockcross/windows-shared-x86 > docker/dockcross-win-x86 chmod +x docker/dockcross-win-x86 -docker/dockcross-win-x86 cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 -DCMAKE_POLICY_DEFAULT_CMP0077=NEW -DCMAKE_POLICY_DEFAULT_CMP0069=NEW . +docker/dockcross-win-x86 cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 . docker/dockcross-win-x86 make Aaru.Compression.Native mv libAaru.Compression.Native.dll runtimes/win-x86/native/ ## Mac OS X (arm64 and x64) if [[ ${OS_NAME} == Darwin ]]; then rm -f CMakeCache.txt - cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 -DCMAKE_POLICY_DEFAULT_CMP0077=NEW -DCMAKE_POLICY_DEFAULT_CMP0069=NEW . . + cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 . . make Aaru.Compression.Native mkdir -p runtimes/osx-arm64/native mkdir -p runtimes/osx-x64/native diff --git a/flac.c b/flac.c index 1615680..c9e4e3b 100644 --- a/flac.c +++ b/flac.c @@ -7,9 +7,9 @@ #include #include "library.h" -#include "FLAC/metadata.h" -#include "FLAC/stream_decoder.h" -#include "FLAC/stream_encoder.h" +#include "3rdparty/flac/include/FLAC/metadata.h" +#include "3rdparty/flac/include/FLAC/stream_decoder.h" +#include "3rdparty/flac/include/FLAC/stream_encoder.h" #include "flac.h" static FLAC__StreamDecoderReadStatus