diff options
Diffstat (limited to 'jenkins-server-slave-setup/nodes/sgothel-linux64-amd58xx-002/setenv-android-tools.sh')
-rw-r--r-- | jenkins-server-slave-setup/nodes/sgothel-linux64-amd58xx-002/setenv-android-tools.sh | 373 |
1 files changed, 0 insertions, 373 deletions
diff --git a/jenkins-server-slave-setup/nodes/sgothel-linux64-amd58xx-002/setenv-android-tools.sh b/jenkins-server-slave-setup/nodes/sgothel-linux64-amd58xx-002/setenv-android-tools.sh deleted file mode 100644 index 477a66a..0000000 --- a/jenkins-server-slave-setup/nodes/sgothel-linux64-amd58xx-002/setenv-android-tools.sh +++ /dev/null @@ -1,373 +0,0 @@ -#! /bin/sh - -# Aligned with Android SDK build-tools 29 and NDK 20 as of 2019-12-10 -# -# As it is no more easily achievable to download the complete SDK -# separately, I used Android-Studio to fetch all parts incl. the NDK. -# Thereafter I copied ~/Android/Sdk -> /opt-linux-x86_64/android-sdk-linux_x86_64 -# which I also use for the official crosscompilation. -# -# Variable names borrowed from ~/Android/Sdk/ndk/20.1.5948944/build/cmake/android.toolchain.cmake -# We only use ANDROID_API_LEVEL instead of ANDROID_PLATFORM_LEVEL, as it describes the API level. -# -# -# User should set environment variables: -# ========================================== -# -# - ANDROID_HOME - defaults to one of -# ~/Android/Sdk -# /opt-linux-x86_64/android-sdk-linux_x86_64 -# /opt/android-sdk-linux_x86_64 -# /usr/local/android-sdk-linux_x86_64 -# -# - ANDROID_API_LEVEL - defaults to 24 -# -# - ANDROID_HOST_TAG - defaults to linux-x86_64 -# -# - ANDROID_ABI - defaults to x86_64, one of -# armeabi-v7a (with NEON by default since NDK r21) -# arm64-v8a -# x86_64 -# x86 -# -# Following environment variables will be set -# ============================================ -# -# - ANDROID_SYSROOT_ABI -# - ANDROID_TOOLCHAIN_NAME -# - ANDROID_LLVM_TRIPLE -# - ANDROID_BUILD_TOOLS_VERSION -# - ANDROID_NDK -# - ANDROID_BUILDTOOLS_ROOT -# - ANDROID_TOOLCHAIN_ROOT -# - ANDROID_TOOLCHAIN_SYSROOT0 -# - ANDROID_TOOLCHAIN_SYSROOT0_LIB -# - ANDROID_TOOLCHAIN_SYSROOT1 -# - ANDROID_TOOLCHAIN_SYSROOT1_INC -# - ANDROID_TOOLCHAIN_SYSROOT1_INC_ARCH -# - ANDROID_TOOLCHAIN_SYSROOT1_INC_STL -# - ANDROID_TOOLCHAIN_SYSROOT1_LIB1 -# - ANDROID_TOOLCHAIN_SYSROOT1_LIB2 -# -# Android Studio SDK + NDK Filesystem Layout (official) -# -# ~/Android/Sdk/ -# ~/Android/Sdk/build-tools/29.0.2/ -# ~/Android/Sdk/build-tools/29.0.2/zipalign (*) -# ~/Android/Sdk/ndk/ -# ~/Android/Sdk/ndk/20.1.5948944/platforms/android-24/arch-arm64 (1) -# ~/Android/Sdk/ndk/20.1.5948944/platforms/android-24/arch-arm64/usr/lib/libc.a (*)(1) -# ~/Android/Sdk/ndk/20.1.5948944/sysroot/ (gcc) -# ~/Android/Sdk/ndk/20.1.5948944/sysroot/usr/include/ (gcc) -# ~/Android/Sdk/ndk/20.1.5948944/sysroot/usr/lib/aarch64-linux-android/libc.a (gcc) -# ~/Android/Sdk/ndk/20.1.5948944/toolchains/ -# ~/Android/Sdk/ndk/20.1.5948944/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/aarch64-linux-android/bin/ld (gcc) -# ~/Android/Sdk/ndk/20.1.5948944/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-ld (gcc) -# ~/Android/Sdk/ndk/20.1.5948944/toolchains/llvm/ -# ~/Android/Sdk/ndk/20.1.5948944/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android-ld (*) -# ~/Android/Sdk/ndk/20.1.5948944/toolchains/llvm/prebuilt/linux-x86_64/aarch64-linux-android/bin/ld -# ~/Android/Sdk/ndk/20.1.5948944/toolchains/llvm/prebuilt/linux-x86_64/bin/clang (*) -# ~/Android/Sdk/ndk/20.1.5948944/toolchains/llvm/prebuilt/linux-x86_64/sysroot (2) -# ~/Android/Sdk/ndk/20.1.5948944/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include -# ~/Android/Sdk/ndk/20.1.5948944/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/aarch64-linux-android/asm/types.h (*) (2,3) -# ~/Android/Sdk/ndk/20.1.5948944/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/libc.a (*) -# ~/Android/Sdk/ndk/20.1.5948944/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/libc++_shared.so (*) -# ~/Android/Sdk/ndk/20.1.5948944/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/24/libc.a (*) (2) -# ~/Android/Sdk/ndk/20.1.5948944/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/complex (*) (4) -# -# (*) tested by this script -# -# (1) ANDROID_TOOLCHAIN_SYSROOT0 exposes all libs with standard FS layout usr/lib, but no include files -# -> ANDROID_TOOLCHAIN_SYSROOT0_LIB -# -# (2) ANDROID_TOOLCHAIN_SYSROOT1 exposes all libs but without standard FS layout, also exposes include files -# -> ANDROID_TOOLCHAIN_SYSROOT1_INC -# -# (3) ANDROID_TOOLCHAIN_SYSROOT1 also exposes the arch dependent include files, i.e. asm/types.h etc -# -> ANDROID_TOOLCHAIN_SYSROOT1_INC_ARCH -# -# (4) ANDROID_TOOLCHAIN_SYSROOT1_INC_STL for LLVM's C++ STL lib (default since NDK r18) -# Using LLVM's c++_shared as of NDK r18: https://developer.android.com/ndk/guides/cpp-support.html -# LLVM's c++ headers must come before other system header! -# Also see https://github.com/android/ndk/issues/452 and https://gitlab.kitware.com/cmake/cmake/issues/17059 -# -# Native libraries of (1) and (2) are identical -# -# Having -# ANDROID_HOME=~/Android/Sdk -# ANDROID_API_LEVEL 24 -# ANDROID_HOST_TAG linux-x86_64 -# ANDROID_ABI arm64-v8a -# Using derived values of -# ANDROID_BUILD_TOOLS_VERSION=29.0.2 -# ANDROID_NDK_VERSION=20.1.5948944 -# ANDROID_TOOLCHAIN_NAME aarch64-linux-android -# ANDROID_TOOLCHAIN_PLATFORM_NAME=arm64 -# ANDROID_SYSROOT_ABI=arm64 - -echo $0 - -NDK_TOOLCHAIN_VERSION=clang -echo "Setting NDK_TOOLCHAIN_VERSION to ${NDK_TOOLCHAIN_VERSION} default!" - -if [ -z "${ANDROID_API_LEVEL}" ] ; then - ANDROID_API_LEVEL=24 - echo "Setting undefined ANDROID_API_LEVEL to ${ANDROID_API_LEVEL} default!" -fi -if [ -z "${ANDROID_HOST_TAG}" ] ; then - ANDROID_HOST_TAG=linux-x86_64 - echo "Setting undefined ANDROID_HOST_TAG to ${ANDROID_HOST_TAG} default!" -fi - -if [ -z "${ANDROID_ABI}" ] ; then - ANDROID_ABI=x86_64 - echo "Setting undefined ANDROID_ABI to ${ANDROID_ABI} default!" -fi -if [ "${ANDROID_ABI}" = "armeabi-v7a" ] ; then - # with NEON by default since NDK r21 - ANDROID_SYSROOT_ABI=arm - #CMAKE_SYSTEM_PROCESSOR=armv7-a - ANDROID_TOOLCHAIN_NAME=arm-linux-androideabi - ANDROID_LLVM_TRIPLE=armv7-none-linux-androideabi -elif [ "${ANDROID_ABI}" = "arm64-v8a" ] ; then - ANDROID_SYSROOT_ABI=arm64 - #CMAKE_SYSTEM_PROCESSOR=aarch64 - ANDROID_TOOLCHAIN_NAME=aarch64-linux-android - ANDROID_LLVM_TRIPLE=aarch64-none-linux-android -elif [ "${ANDROID_ABI}" = "x86_64" ] ; then - ANDROID_SYSROOT_ABI=x86_64 - #CMAKE_SYSTEM_PROCESSOR=x86_64 - ANDROID_TOOLCHAIN_NAME=x86_64-linux-android - ANDROID_LLVM_TRIPLE=x86_64-none-linux-android -elif [ "${ANDROID_ABI}" = "x86" ] ; then - ANDROID_SYSROOT_ABI=x86 - #CMAKE_SYSTEM_PROCESSOR=i686 - ANDROID_TOOLCHAIN_NAME=i686-linux-android - ANDROID_LLVM_TRIPLE=i686-none-linux-android -else - echo "ANDROID_ABI is ${ANDROID_ABI} and not supported!" - exit 1 -fi - -echo "Preset-0 (user)" -echo ANDROID_HOME ${ANDROID_HOME} -echo ANDROID_API_LEVEL ${ANDROID_API_LEVEL} -echo ANDROID_HOST_TAG ${ANDROID_HOST_TAG} -echo ANDROID_ABI ${ANDROID_ABI} -echo -echo Preset-1 -echo NDK_TOOLCHAIN_VERSION ${NDK_TOOLCHAIN_VERSION} -echo ANDROID_SYSROOT_ABI ${ANDROID_SYSROOT_ABI} -echo ANDROID_TOOLCHAIN_NAME ${ANDROID_TOOLCHAIN_NAME} -echo "ANDROID_LLVM_TRIPLE ${ANDROID_LLVM_TRIPLE} (compiler target)" -echo ANDROID_BUILD_TOOLS_VERSION ${ANDROID_BUILD_TOOLS_VERSION} -echo ANDROID_NDK ${ANDROID_NDK} -echo -echo Preset-2 -echo ANDROID_BUILDTOOLS_ROOT ${ANDROID_BUILDTOOLS_ROOT} -echo ANDROID_TOOLCHAIN_ROOT ${ANDROID_TOOLCHAIN_ROOT} -echo ANDROID_TOOLCHAIN_SYSROOT0 ${ANDROID_TOOLCHAIN_SYSROOT0} -echo ANDROID_TOOLCHAIN_SYSROOT0_LIB ${ANDROID_TOOLCHAIN_SYSROOT0_LIB} -echo ANDROID_TOOLCHAIN_SYSROOT1 ${ANDROID_TOOLCHAIN_SYSROOT1} -echo ANDROID_TOOLCHAIN_SYSROOT1_INC ${ANDROID_TOOLCHAIN_SYSROOT1_INC} -echo ANDROID_TOOLCHAIN_SYSROOT1_INC_ARCH ${ANDROID_TOOLCHAIN_SYSROOT1_INC_ARCH} -echo ANDROID_TOOLCHAIN_SYSROOT1_INC_STL ${ANDROID_TOOLCHAIN_SYSROOT1_INC_STL} -echo ANDROID_TOOLCHAIN_SYSROOT1_LIB1 ${ANDROID_TOOLCHAIN_SYSROOT1_LIB1} -echo ANDROID_TOOLCHAIN_SYSROOT1_LIB2 ${ANDROID_TOOLCHAIN_SYSROOT1_LIB2} -echo - -check_exists() { - if [ ! -e "$1" ] ; then - echo "$1" does not exist - exit 1 - fi - return 0 -} - -if [ -z "${ANDROID_HOME}" ] ; then - if [ -e ${HOME}/Android/Sdk ] ; then - ANDROID_HOME=${HOME}/Android/Sdk - elif [ -e /opt-linux-x86_64/android-sdk-linux_x86_64 ] ; then - ANDROID_HOME=/opt-linux-x86_64/android-sdk-linux_x86_64 - elif [ -e /opt/android-sdk-linux_x86_64 ] ; then - ANDROID_HOME=/opt/android-sdk-linux_x86_64 - elif [ -e /usr/local/android-sdk-linux_x86_64 ] ; then - ANDROID_HOME=/usr/local/android-sdk-linux_x86_64 - else - echo ANDROID_HOME is not specified and does not exist in default locations - exit 1 - fi -elif [ ! -e ${ANDROID_HOME} ] ; then - echo ANDROID_HOME ${ANDROID_HOME} does not exist - exit 1 -fi - -unset ANDROID_BUILD_TOOLS_VERSION -if [ -z "${ANDROID_BUILD_TOOLS_VERSION}" ] ; then - # basename $(dirname `find /home/sven/Android/Sdk/build-tools -name zipalign | sort -u | tail -n1`) - fzipalign=`find ${ANDROID_HOME}/build-tools -name zipalign | sort -u | tail -n1` - if [ ! -z "${fzipalign}" ] ; then - dzipalign=`dirname ${fzipalign}` - vzipalign=`basename ${dzipalign}` - if [ -e ${ANDROID_HOME}/build-tools/${vzipalign}/zipalign ] ; then - ANDROID_BUILD_TOOLS_VERSION=${vzipalign} - fi - fi - if [ -z "${ANDROID_BUILD_TOOLS_VERSION}" ] ; then - echo ANDROID_BUILD_TOOLS_VERSION ${ANDROID_HOME}/build-tools/ANDROID_BUILD_TOOLS_VERSION/zipalign does not exist - exit 1 - fi -fi - -if [ -z "${ANDROID_NDK}" ] ; then - # - # Generic android-ndk - # - if [ -e ${ANDROID_HOME}/ndk ] ; then - # basename $(dirname `find ndk -name toolchains -a -type d | sort -u | tail -n1`) - d2toolchains=`find ${ANDROID_HOME}/ndk -name toolchains -a -type d | sort -u | tail -n1` - if [ ! -z "${d2toolchains}" ] ; then - dtoolchains=`dirname ${d2toolchains}` - vtoolchains=`basename ${dtoolchains}` - # ~/Android/Sdk/ndk/20.1.5948944/sysroot/usr/lib/aarch64-linux-android/libc.a (*) - if [ -e ${ANDROID_HOME}/ndk/${vtoolchains}/sysroot/usr/lib/aarch64-linux-android/libc.a ] ; then - ANDROID_NDK_VERSION=${vtoolchains} - fi - fi - if [ -z "${ANDROID_NDK_VERSION}" ] ; then - echo ANDROID_NDK_VERSION ${ANDROID_HOME}/ndk/ANDROID_NDK_VERSION/sysroot/usr/lib/aarch64-linux-android/libc.a does not exist - else - ANDROID_NDK=${ANDROID_HOME}/ndk/${vtoolchains} - fi - fi - if [ -z "${ANDROID_NDK}" ] ; then - if [ -e /usr/local/android-ndk ] ; then - ANDROID_NDK=/usr/local/android-ndk - elif [ -e /opt-linux-x86_64/android-ndk ] ; then - ANDROID_NDK=/opt-linux-x86_64/android-ndk - elif [ -e /opt/android-ndk ] ; then - ANDROID_NDK=/opt/android-ndk - fi - fi - if [ -z "${ANDROID_NDK}" ] ; then - echo ANDROID_NDK is not specified and does not exist in default locations - exit 1 - fi -fi -if [ ! -e "${ANDROID_NDK}" ] ; then - echo ANDROID_NDK ${ANDROID_NDK} does not exist - exit 1 -fi - -ANDROID_BUILDTOOLS_ROOT=${ANDROID_HOME}/build-tools/${ANDROID_BUILD_TOOLS_VERSION} -ANDROID_TOOLCHAIN_ROOT=${ANDROID_NDK}/toolchains/llvm/prebuilt/${ANDROID_HOST_TAG} - -ANDROID_TOOLCHAIN_SYSROOT0=${ANDROID_NDK}/platforms/android-${ANDROID_API_LEVEL}/arch-${ANDROID_SYSROOT_ABI} -ANDROID_TOOLCHAIN_SYSROOT0_LIB=${ANDROID_TOOLCHAIN_SYSROOT0}/usr/lib - -ANDROID_TOOLCHAIN_SYSROOT1=${ANDROID_TOOLCHAIN_ROOT}/sysroot -ANDROID_TOOLCHAIN_SYSROOT1_INC=${ANDROID_TOOLCHAIN_SYSROOT1}/usr/include -ANDROID_TOOLCHAIN_SYSROOT1_INC_ARCH=${ANDROID_TOOLCHAIN_SYSROOT1_INC}/${ANDROID_TOOLCHAIN_NAME} -ANDROID_TOOLCHAIN_SYSROOT1_INC_STL=${ANDROID_TOOLCHAIN_SYSROOT1_INC}/c++/v1 -ANDROID_TOOLCHAIN_SYSROOT1_LIB1=${ANDROID_TOOLCHAIN_SYSROOT1}/usr/lib/${ANDROID_TOOLCHAIN_NAME}/${ANDROID_API_LEVEL} -ANDROID_TOOLCHAIN_SYSROOT1_LIB2=${ANDROID_TOOLCHAIN_SYSROOT1}/usr/lib/${ANDROID_TOOLCHAIN_NAME} - -# ~/Android/Sdk/build-tools/29.0.2/zipalign (*) -check_exists ${ANDROID_BUILDTOOLS_ROOT}/zipalign - -# ~/Android/Sdk/ndk/20.1.5948944/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android-ld (*) -check_exists ${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_NAME}-ld - -# ~/Android/Sdk/ndk/20.1.5948944/toolchains/llvm/prebuilt/linux-x86_64/bin/clang (*) -check_exists ${ANDROID_TOOLCHAIN_ROOT}/bin/clang - -# ~/Android/Sdk/ndk/20.1.5948944/platforms/android-24/arch-arm64/usr/lib/libc.a (*) -check_exists ${ANDROID_TOOLCHAIN_SYSROOT0_LIB}/libc.a - -# ~/Android/Sdk/ndk/20.1.5948944/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/aarch64-linux-android/asm/types.h (*) (2) -check_exists ${ANDROID_TOOLCHAIN_SYSROOT1_INC_ARCH}/asm/types.h - -# ~/Android/Sdk/ndk/20.1.5948944/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/complex (*) (4) -check_exists ${ANDROID_TOOLCHAIN_SYSROOT1_INC_STL}/complex - -# ~/Android/Sdk/ndk/20.1.5948944/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/24/libc.a (*) -check_exists ${ANDROID_TOOLCHAIN_SYSROOT1_LIB1}/libc.a - -# ~/Android/Sdk/ndk/20.1.5948944/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/libc.a (*) -# ~/Android/Sdk/ndk/20.1.5948944/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/libc++_shared.so (*) -check_exists ${ANDROID_TOOLCHAIN_SYSROOT1_LIB2}/libc.a -check_exists ${ANDROID_TOOLCHAIN_SYSROOT1_LIB2}/libc++_shared.so - -export ANDROID_HOME -export ANDROID_API_LEVEL -export ANDROID_HOST_TAG -export ANDROID_ABI - -export NDK_TOOLCHAIN_VERSION -export ANDROID_SYSROOT_ABI -export ANDROID_TOOLCHAIN_NAME -export ANDROID_LLVM_TRIPLE -export ANDROID_BUILD_TOOLS_VERSION -export ANDROID_NDK - -export ANDROID_BUILDTOOLS_ROOT -export ANDROID_TOOLCHAIN_ROOT -export ANDROID_TOOLCHAIN_SYSROOT0 -export ANDROID_TOOLCHAIN_SYSROOT0_LIB -export ANDROID_TOOLCHAIN_SYSROOT1 -export ANDROID_TOOLCHAIN_SYSROOT1_INC -export ANDROID_TOOLCHAIN_SYSROOT1_INC_ARCH -export ANDROID_TOOLCHAIN_SYSROOT1_INC_STL -export ANDROID_TOOLCHAIN_SYSROOT1_LIB1 -export ANDROID_TOOLCHAIN_SYSROOT1_LIB2 - -echo "Postset-0 (user)" -echo ANDROID_HOME ${ANDROID_HOME} -echo ANDROID_API_LEVEL ${ANDROID_API_LEVEL} -echo ANDROID_HOST_TAG ${ANDROID_HOST_TAG} -echo ANDROID_ABI ${ANDROID_ABI} -echo -echo Postset-1 -echo NDK_TOOLCHAIN_VERSION ${NDK_TOOLCHAIN_VERSION} -echo ANDROID_SYSROOT_ABI ${ANDROID_SYSROOT_ABI} -echo ANDROID_TOOLCHAIN_NAME ${ANDROID_TOOLCHAIN_NAME} -echo "ANDROID_LLVM_TRIPLE ${ANDROID_LLVM_TRIPLE} (compiler target)" -echo ANDROID_BUILD_TOOLS_VERSION ${ANDROID_BUILD_TOOLS_VERSION} -echo ANDROID_NDK ${ANDROID_NDK} -echo -echo Postset-2 -echo ANDROID_BUILDTOOLS_ROOT ${ANDROID_BUILDTOOLS_ROOT} -echo ANDROID_TOOLCHAIN_ROOT ${ANDROID_TOOLCHAIN_ROOT} -echo ANDROID_TOOLCHAIN_SYSROOT0 ${ANDROID_TOOLCHAIN_SYSROOT0} -echo ANDROID_TOOLCHAIN_SYSROOT0_LIB ${ANDROID_TOOLCHAIN_SYSROOT0_LIB} -echo ANDROID_TOOLCHAIN_SYSROOT1 ${ANDROID_TOOLCHAIN_SYSROOT1} -echo ANDROID_TOOLCHAIN_SYSROOT1_INC ${ANDROID_TOOLCHAIN_SYSROOT1_INC} -echo ANDROID_TOOLCHAIN_SYSROOT1_INC_ARCH ${ANDROID_TOOLCHAIN_SYSROOT1_INC_ARCH} -echo ANDROID_TOOLCHAIN_SYSROOT1_INC_STL ${ANDROID_TOOLCHAIN_SYSROOT1_INC_STL} -echo ANDROID_TOOLCHAIN_SYSROOT1_LIB1 ${ANDROID_TOOLCHAIN_SYSROOT1_LIB1} -echo ANDROID_TOOLCHAIN_SYSROOT1_LIB2 ${ANDROID_TOOLCHAIN_SYSROOT1_LIB2} -echo - -export -p | grep ANDROID - -# -# CC="$ANDROID_NDK/toolchains/llvm/prebuilt/$ANDROID_HOST_TAG/bin/clang -target $ANDROID_LLVM_TRIPLE" -# -## Generic flags. -##list(APPEND ANDROID_COMPILER_FLAGS -# -g -# -DANDROID -# -fdata-sections -# -ffunction-sections -# -funwind-tables -# -fstack-protector-strong -# -no-canonical-prefixes) -#list(APPEND ANDROID_LINKER_FLAGS -# -Wl,--build-id -# -Wl,--warn-shared-textrel -# -Wl,--fatal-warnings) -#list(APPEND ANDROID_LINKER_FLAGS_EXE -Wl,--gc-sections) -# -#list(APPEND ANDROID_COMPILER_FLAGS_RELEASE -O2) -# - |