diff --git a/3rdparty/lzma-21.03beta/C/7zCrc.c b/3rdparty/lzma-21.03beta/C/7zCrc.c index f186324..101f64e 100644 --- a/3rdparty/lzma-21.03beta/C/7zCrc.c +++ b/3rdparty/lzma-21.03beta/C/7zCrc.c @@ -85,8 +85,10 @@ UInt32 MY_FAST_CALL CrcUpdateT1(UInt32 v, const void *data, size_t size, const U || (defined(__GNUC__) && (__GNUC__ > 4)) #if !defined(__ARM_FEATURE_CRC32) #define __ARM_FEATURE_CRC32 1 - #if (!defined(__clang__) || (__clang_major__ > 3)) // fix these numbers + #if !defined(__clang__) #define ATTRIB_CRC __attribute__((__target__("arch=armv8-a+crc"))) + #else + #define ATTRIB_CRC __attribute__((target("armv8-a,crc"))) #endif #endif #if defined(__ARM_FEATURE_CRC32) diff --git a/3rdparty/lzma-21.03beta/C/AesOpt.c b/3rdparty/lzma-21.03beta/C/AesOpt.c index 8be8ff6..8c4de80 100644 --- a/3rdparty/lzma-21.03beta/C/AesOpt.c +++ b/3rdparty/lzma-21.03beta/C/AesOpt.c @@ -509,7 +509,7 @@ VAES_COMPAT_STUB (AesCtr_Code_HW) #elif defined(MY_CPU_ARM_OR_ARM64) && defined(MY_CPU_LE) #if defined(__clang__) - #if (__clang_major__ >= 8) // fix that check + #if (__clang_major__ >= 8) && !defined(__ANDROID__) // fix that version check, Android with clang12 doesn't work #define USE_HW_AES #endif #elif defined(__GNUC__) diff --git a/3rdparty/lzma-21.03beta/C/Sha256Opt.c b/3rdparty/lzma-21.03beta/C/Sha256Opt.c index decc138..9ebab59 100644 --- a/3rdparty/lzma-21.03beta/C/Sha256Opt.c +++ b/3rdparty/lzma-21.03beta/C/Sha256Opt.c @@ -215,7 +215,7 @@ void MY_FAST_CALL Sha256_UpdateBlocks_HW(UInt32 state[8], const Byte *data, size #elif defined(MY_CPU_ARM_OR_ARM64) #if defined(__clang__) - #if (__clang_major__ >= 8) // fix that check + #if (__clang_major__ >= 8) && !defined(__ANDROID__) // fix that version check, Android with clang12 doesn't work #define USE_HW_SHA #endif #elif defined(__GNUC__) diff --git a/build.sh b/build.sh index d6e6c94..9dc1998 100755 --- a/build.sh +++ b/build.sh @@ -26,8 +26,8 @@ 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 . -docker/dockcross-android-arm make +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 make Aaru.Compression.Native mv libAaru.Compression.Native.so runtimes/android-arm/native/ ## Android (ARM64) @@ -36,8 +36,8 @@ 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 . -docker/dockcross-android-arm64 make +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 make Aaru.Compression.Native mv libAaru.Compression.Native.so runtimes/android-arm64/native/ ## Android (amd64) @@ -46,8 +46,8 @@ 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 . -docker/dockcross-android-x64 make +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 make Aaru.Compression.Native mv libAaru.Compression.Native.so runtimes/android-x64/native/ ## Android (x86) @@ -56,8 +56,8 @@ 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 . -docker/dockcross-android-x86 make +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 make Aaru.Compression.Native mv libAaru.Compression.Native.so runtimes/android-x86/native/ ## Linux (ARMv7-A) @@ -66,8 +66,8 @@ 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 . -docker/dockcross-linux-arm make +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 make Aaru.Compression.Native mv libAaru.Compression.Native.so runtimes/linux-arm/native/ ## Linux (ARM64) @@ -76,8 +76,8 @@ 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 . -docker/dockcross-linux-arm64 make +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 make Aaru.Compression.Native mv libAaru.Compression.Native.so runtimes/linux-arm64/native/ ## Linux (MIPS64) @@ -86,28 +86,30 @@ 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 . -docker/dockcross-linux-mips64 make +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 make Aaru.Compression.Native mv libAaru.Compression.Native.so runtimes/linux-mips64/native/ ## Linux (ARM), musl # Detected system processor: arm +# /work/3rdparty/lzma-21.03beta/C/7zCrc.c:159:1: error: ‘-mfloat-abi=hard’: selected processor lacks an FPU 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 . -docker/dockcross-linux-musl-arm make +docker/dockcross-linux-musl-arm cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 -DCMAKE_POLICY_DEFAULT_CMP0077=NEW -DCMAKE_POLICY_DEFAULT_CMP0069=NEW . +docker/dockcross-linux-musl-arm make Aaru.Compression.Native mv libAaru.Compression.Native.so runtimes/linux-musl-arm/native/ ## Linux (ARM64), musl # Detected system processor: aarch64 +# cc1: error: ‘-fno-fat-lto-objects’ are supported only with linker plugin 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 . -docker/dockcross-linux-musl-arm64 make +docker/dockcross-linux-musl-arm64 cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 -DCMAKE_POLICY_DEFAULT_CMP0077=NEW -DCMAKE_POLICY_DEFAULT_CMP0069=NEW . +docker/dockcross-linux-musl-arm64 make Aaru.Compression.Native mv libAaru.Compression.Native.so runtimes/linux-musl-arm64/native/ ## Linux (s390x) @@ -116,8 +118,8 @@ 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 . -docker/dockcross-linux-s390x make +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 make Aaru.Compression.Native mv libAaru.Compression.Native.so runtimes/linux-s390x/native/ ## Linux (amd64) @@ -126,50 +128,54 @@ 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 . -docker/dockcross-linux-x64 make +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 make Aaru.Compression.Native mv libAaru.Compression.Native.so runtimes/linux-x64/native/ ## Linux (x86) # Detected system processor: i686 +# [ 62%] Linking C static library liblzfse.a +# Error running link command: No such file or directory 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 . -docker/dockcross-linux-x86 make +docker/dockcross-linux-x86 cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 -DCMAKE_POLICY_DEFAULT_CMP0077=NEW -DCMAKE_POLICY_DEFAULT_CMP0069=NEW . +docker/dockcross-linux-x86 make Aaru.Compression.Native mv libAaru.Compression.Native.so runtimes/linux-x86/native/ ## Windows (ARM) # Detected system processor: arm +# -fPIE incompatible 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 . +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' ./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 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 +docker/dockcross-win-arm make Aaru.Compression.Native mv libAaru.Compression.Native.so runtimes/win-arm/native/libAaru.Compression.Native.dll ## Windows (ARM64) # Detected system processor: aarch64 +# -fPIE incompatible 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 . +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' ./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 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 +docker/dockcross-win-arm64 make Aaru.Compression.Native mv libAaru.Compression.Native.so runtimes/win-arm64/native/libAaru.Compression.Native.dll ## Windows (AMD64) @@ -179,26 +185,27 @@ 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 . -docker/dockcross-win-x64 make +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 make Aaru.Compression.Native mv libAaru.Compression.Native.dll runtimes/win-x64/native/ ## Windows (x86) # Detected system processor: i686 # TODO: Requires MSVCRT.DLL +# /work/3rdparty/lzma-21.03beta/C/Alloc.c:9:10: fatal error: Windows.h: No such file or directory 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 . -docker/dockcross-win-x86 make +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 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 . . - make + cmake -DCMAKE_BUILD_TYPE=Release -DAARU_BUILD_PACKAGE=1 -DCMAKE_POLICY_DEFAULT_CMP0077=NEW -DCMAKE_POLICY_DEFAULT_CMP0069=NEW . . + make Aaru.Compression.Native mkdir -p runtimes/osx-arm64/native mkdir -p runtimes/osx-x64/native lipo libAaru.Compression.Native.dylib -thin arm64 -output runtimes/osx-arm64/native/libAaru.Compression.Native.dylib @@ -208,4 +215,4 @@ fi # TODO: "linux-musl-x64" # TODO: "linux-musl-x86" -nuget pack \ No newline at end of file +nuget pack