From 5ce26a0e03eacb483709189e8cbb05509fa68612 Mon Sep 17 00:00:00 2001 From: Frederik Seiffert Date: Mon, 26 Sep 2022 13:43:40 +0200 Subject: CI: add Android builds (#732) --- .github/workflows/build.yml | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ba72056..458fc85 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -349,3 +349,36 @@ jobs: -l host=x86_64-pc-cygwin \ --policy=https://github.com/libffi/rlgl-policy.git $(find . -name libffi.log) shell: C:\tools\cygwin\bin\bash.exe --login --norc -eo pipefail -o igncr '{0}' + + build-android: + name: Android ${{ matrix.host }} + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: + host: [armv7a-linux-androideabi, aarch64-linux-android, i686-linux-android, x86_64-linux-android] + + steps: + - run: git config --global core.autocrlf input + - uses: actions/checkout@v2 + - run: ./.ci/install.sh + - env: + HOST: ${{ matrix.HOST }} + ANDROID_API_LEVEL: 23 + CONFIGURE_OPTIONS: "--disable-shared --disable-multi-os-directory" # fixes warning about unsupported -print-multi-os-directory with clang + run: | + # Relevant documentation: + # https://developer.android.com/ndk/guides/other_build_systems + # https://android.googlesource.com/platform/ndk/+/master/docs/BuildSystemMaintainers.md + export TOOLCHAIN="${ANDROID_NDK_ROOT}"/toolchains/llvm/prebuilt/linux-x86_64 + export CC="${TOOLCHAIN}"/bin/${HOST}${ANDROID_API_LEVEL}-clang + export CXX="${TOOLCHAIN}"/bin/${HOST}${ANDROID_API_LEVEL}-clang++ + export LD="${TOOLCHAIN}"/bin/ld.lld + export AR="${TOOLCHAIN}"/bin/llvm-ar + export AS="${CC}" + export RANLIB="${TOOLCHAIN}"/bin/llvm-ranlib + export STRIP="${TOOLCHAIN}"/bin/llvm-strip + export NM="${TOOLCHAIN}"/bin/llvm-nm + export OBJDUMP="${TOOLCHAIN}"/bin/llvm-objdump + ./.ci/build.sh -- cgit v1.2.1