mirror of
https://github.com/aaru-dps/Aaru.Compression.Native.git
synced 2025-12-16 19:24:31 +00:00
Fix compiling with Android NDK.
This commit is contained in:
4
3rdparty/lzma-21.03beta/C/7zCrc.c
vendored
4
3rdparty/lzma-21.03beta/C/7zCrc.c
vendored
@@ -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)
|
||||
|
||||
2
3rdparty/lzma-21.03beta/C/AesOpt.c
vendored
2
3rdparty/lzma-21.03beta/C/AesOpt.c
vendored
@@ -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__)
|
||||
|
||||
2
3rdparty/lzma-21.03beta/C/Sha256Opt.c
vendored
2
3rdparty/lzma-21.03beta/C/Sha256Opt.c
vendored
@@ -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__)
|
||||
|
||||
77
build.sh
77
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
|
||||
nuget pack
|
||||
|
||||
Reference in New Issue
Block a user