diff --git a/appveyor.yml b/appveyor.yml index 4412cb7058..31867a70fc 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -44,13 +44,12 @@ install: - cmd: set PATH=C:\Python36;C:\Python36\scripts;%PATH% - cmd: pip3 install --upgrade meson - cmd: call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64 -- cmd: IF %NAME%==android C:\ProgramData\Microsoft\AndroidNDK64\android-ndk-r17\build\tools\make_standalone_toolchain.py --arch arm64 --api 21 --stl libc++ --install-dir \android-standalone-64 -- cmd: IF %NAME%==android set PATH=C:\android-standalone-64\bin;%PATH% +- cmd: IF %NAME%==android IF NOT EXIST C:\ndk\android-ndk-r19c\toolchains\llvm\prebuilt\windows-x86_64 appveyor DownloadFile https://dl.google.com/android/repository/android-ndk-r19c-windows-x86_64.zip +- cmd: IF %NAME%==android IF NOT EXIST C:\ndk\android-ndk-r19c\toolchains\llvm\prebuilt\windows-x86_64 7z x android-ndk-r19c-windows-x86_64.zip -oC:\ndk +- cmd: IF %NAME%==android set PATH=C:\ndk\android-ndk-r19c\toolchains\llvm\prebuilt\windows-x86_64\bin;%PATH% - cmd: IF %NAME%==android sed "s/clang+*/&.cmd/" cross-files/aarch64-linux-android >crossfile-aarch64 - cmd: IF %NAME%==android IF NOT EXIST C:\cache\OpenBLAS\android-aarch64 appveyor DownloadFile https://github.com/borg323/OpenBLAS/releases/download/android-0.3.8-2/openblas-android-aarch64.zip - cmd: IF %NAME%==android IF NOT EXIST C:\cache\OpenBLAS\android-aarch64 7z x openblas-android-aarch64.zip -oC:\cache\OpenBLAS -- cmd: IF %NAME%==android C:\ProgramData\Microsoft\AndroidNDK64\android-ndk-r17\build\tools\make_standalone_toolchain.py --arch arm --api 21 --stl libc++ --install-dir \android-standalone-32 -- cmd: IF %NAME%==android set PATH=C:\android-standalone-32\bin;%PATH% - cmd: IF %NAME%==android sed "s/clang+*/&.cmd/" cross-files/armv7a-linux-android >crossfile-armv7a - cmd: IF %NAME%==android IF NOT EXIST C:\cache\OpenBLAS\android-armv7a appveyor DownloadFile https://github.com/borg323/OpenBLAS/releases/download/android-0.3.8-2/openblas-android-armv7a.zip - cmd: IF %NAME%==android IF NOT EXIST C:\cache\OpenBLAS\android-armv7a 7z x openblas-android-armv7a.zip -oC:\cache\OpenBLAS @@ -68,6 +67,7 @@ cache: - C:\cache -> appveyor.yml - 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0' - C:\projects\lc0\subprojects\packagecache + - C:\ndk\android-ndk-r19c\toolchains\llvm\prebuilt\windows-x86_64 before_build: - cmd: git submodule update --init --recursive - cmd: SET BUILD_BLAS=%BLAS% diff --git a/cross-files/aarch64-linux-android b/cross-files/aarch64-linux-android index afb3596b7d..40e1faca3a 100644 --- a/cross-files/aarch64-linux-android +++ b/cross-files/aarch64-linux-android @@ -1,13 +1,9 @@ -# Tested with Android NDK r18, default toolchain +# Tested with Android NDK r19c, default toolchain # Targeting API level 21 -# Make the standalone toolchain -# cd android-ndk-r18b/build/tools/ -# ./make_standalone_toolchain.py --arch arm64 --api 21 --stl libc++ --install-dir android-standalone-64 - # Set the toolchain path on your environment -# export PATH="$HOME/.local/share/android-sdk/android-toolchains/android-standalone-64/bin:$PATH" +# export PATH="$HOME/.local/share/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH" [host_machine] system = 'android' @@ -19,8 +15,8 @@ endian = 'little' cpp_link_args = ['-llog', '-static-libstdc++'] [binaries] -c = 'aarch64-linux-android-clang' -cpp = 'aarch64-linux-android-clang++' +c = 'aarch64-linux-android21-clang' +cpp = 'aarch64-linux-android21-clang++' ar = 'aarch64-linux-android-ar' strip = 'aarch64-linux-android-strip' ld = 'aarch64-linux-android-ld' diff --git a/cross-files/armv7a-linux-android b/cross-files/armv7a-linux-android index 131c840036..16b3e93f90 100644 --- a/cross-files/armv7a-linux-android +++ b/cross-files/armv7a-linux-android @@ -1,18 +1,15 @@ -# Tested with Android NDK r18, standalone toolchain +# Tested with Android NDK r19c, default toolchain # Targeting API level 21 -# + # When targeting API levels < 24 the build fails unless _FILE_OFFSET_BITS is unset. # Meson passes _FILE_OFFSET_BITS=64 but recent NDK toolchains have issues building # for 32-bit ABIs when such macro it set. Relevant links: # https://android.googlesource.com/platform/bionic/+/master/docs/32-bit-abi.md # https://github.com/mesonbuild/meson/pull/2996#issuecomment-384045808 -# -# First create the standalone toolchain: -# ./make_standalone_toolchain.py --arch arm --api 21 --stl libc++ --install-dir android-standalone-32 -# -# Then set the toolchain path on your environment: -# export PATH="$HOME/.local/share/android-sdk/android-toolchains/android-standalone-32/bin:$PATH" + +# Set the toolchain path on your environment +# export PATH="$HOME/.local/share/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH" [host_machine] system = 'android' @@ -25,8 +22,8 @@ cpp_args = ['-U_FILE_OFFSET_BITS'] cpp_link_args = ['-llog', '-static-libstdc++'] [binaries] -c = 'arm-linux-androideabi-clang' -cpp = 'arm-linux-androideabi-clang++' +c = 'armv7a-linux-androideabi21-clang' +cpp = 'armv7a-linux-androideabi21-clang++' ar = 'arm-linux-androideabi-ar' strip = 'arm-linux-androideabi-strip' ld = 'arm-linux-androideabi-ld'