Test merge #2168
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Android | |
on: | |
push: | |
branches: [ RC_2_0 master ] | |
paths-ignore: | |
- bindings/python/** | |
pull_request: | |
paths-ignore: | |
- bindings/python/** | |
concurrency: | |
group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }} | |
cancel-in-progress: true | |
env: | |
NDK_VERSION: "r21d" | |
OPENSSL_VERSION: "1.1.1i" | |
OPENSSL_OPTS: "no-deprecated no-shared no-makedepend -fvisibility=hidden -O3" | |
jobs: | |
android_arm32_build: | |
name: Build Android Arm 32bits | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
fetch-depth: 1 | |
filter: tree:0 | |
- name: install boost | |
run: | | |
git clone --depth=1 --branch=boost-1.75.0 https://github.com/boostorg/boost.git | |
cd boost | |
git submodule update --init --depth=1 | |
./bootstrap.sh | |
./b2 headers | |
cd .. | |
- name: install ndk | |
run: | | |
wget -nv -O android-ndk.zip https://dl.google.com/android/repository/android-ndk-${NDK_VERSION}-linux-x86_64.zip | |
unzip -qq android-ndk.zip | |
export NDK=${PWD}/android-ndk-${NDK_VERSION} | |
${NDK}/build/tools/make_standalone_toolchain.py --arch arm --api 19 --stl libc++ --install-dir android-toolchain | |
- name: install openssl | |
run: | | |
export ANDROID_TOOLCHAIN=${PWD}/android-toolchain | |
export PATH=${ANDROID_TOOLCHAIN}/arm-linux-androideabi/bin:${PATH} | |
export CC=${ANDROID_TOOLCHAIN}/bin/arm-linux-androideabi-clang | |
wget -nv -O openssl.tar.gz https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz | |
tar xzf openssl.tar.gz | |
cd openssl-${OPENSSL_VERSION} | |
./Configure linux-armv4 ${OPENSSL_OPTS} -march=armv7-a -mfpu=neon -fPIC --prefix=${PWD}/../openssl | |
make &> /dev/null | |
make install_sw &> /dev/null | |
cd .. | |
- name: build library | |
run: | | |
export ANDROID_TOOLCHAIN=${PWD}/android-toolchain | |
export PATH=${ANDROID_TOOLCHAIN}/arm-linux-androideabi/bin:${PATH} | |
export BOOST_ROOT=${PWD}/boost | |
export OPENSSL_ROOT=${PWD}/openssl | |
echo "boost-build ${BOOST_ROOT}/tools/build/src ;" > boost-build.jam | |
echo "using clang-linux : arm : ${ANDROID_TOOLCHAIN}/bin/arm-linux-androideabi-clang++ | |
<cxxflags>-fPIC | |
<cxxflags>-march=armv7-a | |
<cxxflags>-mfpu=neon ;" >>~/user-config.jam; | |
${BOOST_ROOT}/b2 warnings-as-errors=on toolset=clang-linux-arm target-os=android link=static crypto=openssl openssl-include=${OPENSSL_ROOT}/include openssl-lib=${OPENSSL_ROOT}/lib | |
android_arm32_webtorrent_build: | |
name: Build Android Arm 32bits with WebTorrent | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: install boost | |
run: | | |
git clone --depth=1 --branch=boost-1.75.0 https://github.com/boostorg/boost.git | |
cd boost | |
git submodule update --init --depth=1 | |
./bootstrap.sh | |
./b2 headers | |
cd .. | |
- name: install ndk | |
run: | | |
wget -nv -O android-ndk.zip https://dl.google.com/android/repository/android-ndk-${NDK_VERSION}-linux-x86_64.zip | |
unzip -qq android-ndk.zip | |
export NDK=${PWD}/android-ndk-${NDK_VERSION} | |
${NDK}/build/tools/make_standalone_toolchain.py --arch arm --api 28 --stl libc++ --install-dir android-toolchain | |
- name: install openssl | |
run: | | |
export ANDROID_TOOLCHAIN=${PWD}/android-toolchain | |
export PATH=${ANDROID_TOOLCHAIN}/arm-linux-androideabi/bin:${PATH} | |
export CC=${ANDROID_TOOLCHAIN}/bin/arm-linux-androideabi-clang | |
wget -nv -O openssl.tar.gz https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz | |
tar xzf openssl.tar.gz | |
cd openssl-${OPENSSL_VERSION} | |
./Configure linux-armv4 ${OPENSSL_OPTS} -march=armv7-a -mfpu=neon -fPIC --prefix=${PWD}/../openssl | |
make &> /dev/null | |
make install_sw &> /dev/null | |
cd .. | |
- name: build library | |
run: | | |
export ANDROID_TOOLCHAIN=${PWD}/android-toolchain | |
export PATH=${ANDROID_TOOLCHAIN}/arm-linux-androideabi/bin:${PATH} | |
export BOOST_ROOT=${PWD}/boost | |
export OPENSSL_ROOT=${PWD}/openssl | |
echo "boost-build ${BOOST_ROOT}/tools/build/src ;" > boost-build.jam | |
echo "using clang-linux : arm : ${ANDROID_TOOLCHAIN}/bin/arm-linux-androideabi-clang++ | |
<cxxflags>-fPIC | |
<cxxflags>-march=armv7-a | |
<cxxflags>-mfpu=neon ;" >>~/user-config.jam; | |
${BOOST_ROOT}/b2 warnings-as-errors=on toolset=clang-linux-arm target-os=android link=static crypto=openssl openssl-include=${OPENSSL_ROOT}/include openssl-lib=${OPENSSL_ROOT}/lib webtorrent=on |