diff options
author | Sven Gothel <[email protected]> | 2019-12-24 16:33:10 +0100 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2019-12-24 16:33:10 +0100 |
commit | b8e20cd8238c2f3694068f501ba06b9a6f654645 (patch) | |
tree | 7f2e031ed2140aa34316974a04cd81bb4d4849ec /make | |
parent | 29cc0162c4ae34c0c1dbb8f1203138d123fc671d (diff) |
Bug 1417 - Android: OpenAL-Soft toolchain.android.cmake cleanup and NDK r20 adoption llvm: clang libc++
Diffstat (limited to 'make')
-rwxr-xr-x | make/build.xml | 43 | ||||
-rwxr-xr-x | make/scripts/make.joal.all.android-aarch64-cross.sh | 49 | ||||
-rwxr-xr-x | make/scripts/make.joal.all.android-armv6-cross.sh | 48 | ||||
-rwxr-xr-x | make/scripts/make.joal.all.android-x86-cross.sh | 99 |
4 files changed, 102 insertions, 137 deletions
diff --git a/make/build.xml b/make/build.xml index 8ab752f..a4ef3e0 100755 --- a/make/build.xml +++ b/make/build.xml @@ -406,14 +406,16 @@ <echo message="Compiling @{output.lib.name}" /> - <cc outtype="shared" - objdir="${obj}" - outfile="${obj}/@{output.lib.name}" - optimize="${c.compiler.optimise}" - debug="${c.compiler.debug}" - multithreaded="true" - exceptions="false" - rtti="false"> + <cc outtype="${output.lib.type}" + usehighleveltool="true" + writesoname="true" + objdir="${obj}" + outfile="${obj}/@{output.lib.name}" + optimize="${c.compiler.optimise}" + debug="${c.compiler.debug}" + multithreaded="true" + exceptions="false" + rtti="false"> <fileset dir="${project.root}"> <patternset refid="c.src.files"/> @@ -482,12 +484,12 @@ <copy file="lib/bsinc_inc.h" todir="${build}/openal-soft" overwrite="true"/> <exec dir="${build}/openal-soft" executable="cmake" logError="true" failonerror="false" failifexecutionfails="false"> <env key="PATH" value="${env.PATH_VANILLA}"/> - <env key="ANDROID_TOOLCHAIN_VERSION" value="${env.GCC_VERSION}"/> - <env key="ANDROID_NDK" value="${env.NDK_ROOT}"/> <arg value="../../openal-soft"/> <arg value="-DCMAKE_TOOLCHAIN_FILE=../../openal-soft/cmake/toolchain.android.cmake"/> - <arg value="-DNDK_CPU_X86=1"/> - <arg value="-DANDROID_API_LEVEL=${android.version}"/> + <arg value="-DANDROID_NDK=${env.ANDROID_NDK}"/> + <arg value="-DANDROID_HOST_TAG=${env.ANDROID_HOST_TAG}"/> + <arg value="-DNDK_CPU_X86:BOOL=true"/> + <arg value="-DANDROID_API_LEVEL=${env.ANDROID_API_LEVEL}"/> <arg value="-DALSOFT_CPUEXT_SSE4_1=0"/> <arg value="-DALSOFT_CPUEXT_NEON=0"/> </exec> @@ -500,12 +502,12 @@ <copy file="lib/bsinc_inc.h" todir="${build}/openal-soft" overwrite="true"/> <exec dir="${build}/openal-soft" executable="cmake" logError="true" failonerror="false" failifexecutionfails="false"> <env key="PATH" value="${env.PATH_VANILLA}"/> - <env key="ANDROID_TOOLCHAIN_VERSION" value="${env.GCC_VERSION}"/> - <env key="ANDROID_NDK" value="${env.NDK_ROOT}"/> <arg value="../../openal-soft"/> <arg value="-DCMAKE_TOOLCHAIN_FILE=../../openal-soft/cmake/toolchain.android.cmake"/> - <arg value="-DANDROID_API_LEVEL=${android.version}"/> - <arg value="-DANDROID_TOOLCHAIN_SYSTEM=${env.HOST_ARCH}"/> + <arg value="-DANDROID_NDK=${env.ANDROID_NDK}"/> + <arg value="-DANDROID_HOST_TAG=${env.ANDROID_HOST_TAG}"/> + <arg value="-DNDK_CPU_ARM_V7A:BOOL=true"/> + <arg value="-DANDROID_API_LEVEL=${env.ANDROID_API_LEVEL}"/> <arg value="-DARM32_LINKER_OPTS:STRING=-Wl,--fix-cortex-a8"/> </exec> <exec dir="${build}/openal-soft" executable="make" logError="true" failonerror="false" failifexecutionfails="false" /> @@ -517,13 +519,12 @@ <copy file="lib/bsinc_inc.h" todir="${build}/openal-soft" overwrite="true"/> <exec dir="${build}/openal-soft" executable="cmake" logError="true" failonerror="false" failifexecutionfails="false"> <env key="PATH" value="${env.PATH_VANILLA}"/> - <env key="ANDROID_TOOLCHAIN_VERSION" value="${env.GCC_VERSION}"/> - <env key="ANDROID_NDK" value="${env.NDK_ROOT}"/> <arg value="../../openal-soft"/> <arg value="-DCMAKE_TOOLCHAIN_FILE=../../openal-soft/cmake/toolchain.android.cmake"/> - <arg value="-DANDROID_API_LEVEL=${android.version}"/> - <arg value="-DANDROID_TOOLCHAIN_SYSTEM=${env.HOST_ARCH}"/> - <arg value="-DNDK_CPU_ARM64:BOOL=ON"/> + <arg value="-DANDROID_NDK=${env.ANDROID_NDK}"/> + <arg value="-DANDROID_HOST_TAG=${env.ANDROID_HOST_TAG}"/> + <arg value="-DNDK_CPU_ARM64:BOOL=true"/> + <arg value="-DANDROID_API_LEVEL=${env.ANDROID_API_LEVEL}"/> <arg value="-DARM64_LINKER_OPTS:STRING="/> </exec> <exec dir="${build}/openal-soft" executable="make" logError="true" failonerror="false" failifexecutionfails="false" /> diff --git a/make/scripts/make.joal.all.android-aarch64-cross.sh b/make/scripts/make.joal.all.android-aarch64-cross.sh index b9b8bd7..6c00833 100755 --- a/make/scripts/make.joal.all.android-aarch64-cross.sh +++ b/make/scripts/make.joal.all.android-aarch64-cross.sh @@ -1,21 +1,38 @@ #! /bin/sh -SDIR=`dirname $0` +SDIR=$(readlink -f `dirname $0`) -if [ -e $SDIR/../../../gluegen/make/scripts/setenv-build-jogl-x86_64.sh ] ; then - . $SDIR/../../../gluegen/make/scripts/setenv-build-jogl-x86_64.sh +if [ -e ${SDIR}/../../../gluegen/make/scripts/setenv-build-jogl-x86_64.sh ] ; then + . ${SDIR}/../../../gluegen/make/scripts/setenv-build-jogl-x86_64.sh fi -if [ -e $SDIR/../../../gluegen/make/scripts/setenv-android-tools.sh ] ; then - . $SDIR/../../../gluegen/make/scripts/setenv-android-tools.sh +LOGF=make.joal.all.android-aarch64-cross.log +rm -f ${LOGF} + +export ANDROID_HOME=/opt-linux-x86_64/android-sdk-linux_x86_64 +export ANDROID_API_LEVEL=24 +export ANDROID_HOST_TAG=linux-x86_64 +export ANDROID_ABI=arm64-v8a + +if [ -e ${SDIR}/../../../gluegen/make/scripts/setenv-android-tools.sh ] ; then + . ${SDIR}/../../../gluegen/make/scripts/setenv-android-tools.sh >> $LOGF 2>&1 +else + echo "${SDIR}/../../../setenv-android-tools.sh doesn't exist!" 2>&1 | tee -a ${LOGF} + exit 1 fi +export GLUEGEN_CPPTASKS_FILE=${SDIR}/../../../gluegen/make/lib/gluegen-cpptasks-android-aarch64.xml +export PATH_VANILLA=$PATH +export PATH=${ANDROID_TOOLCHAIN_ROOT}/${ANDROID_TOOLCHAIN_NAME}/bin:${ANDROID_TOOLCHAIN_ROOT}/bin:${ANDROID_HOME}/platform-tools:${ANDROID_BUILDTOOLS_ROOT}:${PATH} +echo PATH ${PATH} 2>&1 | tee -a ${LOGF} +echo clang `which clang` 2>&1 | tee -a ${LOGF} + export NODE_LABEL=. export HOST_UID=jogamp # jogamp02 - 10.1.0.122 export HOST_IP=10.1.0.122 -export HOST_RSYNC_ROOT=PROJECTS/JOGL +export HOST_RSYNC_ROOT=PROJECTS/JogAmp export TARGET_UID=jogamp export TARGET_IP=panda02 @@ -26,32 +43,18 @@ export TARGET_ADB_PORT=5555 export TARGET_ROOT=/data/projects export TARGET_ANT_HOME=/usr/share/ant -export ANDROID_VERSION=24 export SOURCE_LEVEL=1.8 export TARGET_LEVEL=1.8 export TARGET_RT_JAR=/opt-share/jre1.8.0_212/lib/rt.jar -export GCC_VERSION=4.9 -export HOST_ARCH=linux-x86_64 -export TARGET_TRIPLE=aarch64-linux-android - -export NDK_TOOLCHAIN_ROOT=$NDK_ROOT/toolchains/${TARGET_TRIPLE}-${GCC_VERSION}/prebuilt/${HOST_ARCH} -export TARGET_PLATFORM_SYSROOT=${NDK_ROOT}/platforms/android-${ANDROID_VERSION}/arch-arm64 - -# Need to add toolchain bins to the PATH. -export PATH_VANILLA=$PATH -export PATH="$NDK_TOOLCHAIN_ROOT/$TARGET_TRIPLE/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/build-tools/$ANDROID_BUILD_TOOLS_VERSION:$PATH" - -export GLUEGEN_CPPTASKS_FILE=`pwd`/../../gluegen/make/lib/gluegen-cpptasks-android-aarch64.xml - #export JUNIT_DISABLED="true" #export JUNIT_RUN_ARG0="-Dnewt.test.Screen.disableScreenMode" #export JOGAMP_JAR_CODEBASE="Codebase: *.jogamp.org" export JOGAMP_JAR_CODEBASE="Codebase: *.goethel.localnet" -# BUILD_ARCHIVE=true \ +#BUILD_ARCHIVE=true \ ant \ -Drootrel.build=build-android-aarch64 \ - $* 2>&1 | tee make.joal-aarch64-cross.log - + -Dgcc.compat.compiler=clang \ + $* 2>&1 | tee -a ${LOGF} diff --git a/make/scripts/make.joal.all.android-armv6-cross.sh b/make/scripts/make.joal.all.android-armv6-cross.sh index 3a2e5cc..1fb5e50 100755 --- a/make/scripts/make.joal.all.android-armv6-cross.sh +++ b/make/scripts/make.joal.all.android-armv6-cross.sh @@ -1,21 +1,38 @@ #! /bin/sh -SDIR=`dirname $0` +SDIR=$(readlink -f `dirname $0`) -if [ -e $SDIR/../../../gluegen/make/scripts/setenv-build-jogl-x86_64.sh ] ; then - . $SDIR/../../../gluegen/make/scripts/setenv-build-jogl-x86_64.sh +if [ -e ${SDIR}/../../../gluegen/make/scripts/setenv-build-jogl-x86_64.sh ] ; then + . ${SDIR}/../../../gluegen/make/scripts/setenv-build-jogl-x86_64.sh fi -if [ -e $SDIR/../../../gluegen/make/scripts/setenv-android-tools.sh ] ; then - . $SDIR/../../../gluegen/make/scripts/setenv-android-tools.sh +LOGF=make.joal.all.android-armv6-cross.log +rm -f ${LOGF} + +export ANDROID_HOME=/opt-linux-x86_64/android-sdk-linux_x86_64 +export ANDROID_API_LEVEL=24 +export ANDROID_HOST_TAG=linux-x86_64 +export ANDROID_ABI=armeabi-v7a + +if [ -e ${SDIR}/../../../gluegen/make/scripts/setenv-android-tools.sh ] ; then + . ${SDIR}/../../../gluegen/make/scripts/setenv-android-tools.sh >> $LOGF 2>&1 +else + echo "${SDIR}/../../../setenv-android-tools.sh doesn't exist!" 2>&1 | tee -a ${LOGF} + exit 1 fi +export GLUEGEN_CPPTASKS_FILE=${SDIR}/../../../gluegen/make/lib/gluegen-cpptasks-android-armv6.xml +export PATH_VANILLA=$PATH +export PATH=${ANDROID_TOOLCHAIN_ROOT}/${ANDROID_TOOLCHAIN_NAME}/bin:${ANDROID_TOOLCHAIN_ROOT}/bin:${ANDROID_HOME}/platform-tools:${ANDROID_BUILDTOOLS_ROOT}:${PATH} +echo PATH ${PATH} 2>&1 | tee -a ${LOGF} +echo clang `which clang` 2>&1 | tee -a ${LOGF} + export NODE_LABEL=. export HOST_UID=jogamp # jogamp02 - 10.1.0.122 export HOST_IP=10.1.0.122 -export HOST_RSYNC_ROOT=PROJECTS/JOGL +export HOST_RSYNC_ROOT=PROJECTS/JogAmp export TARGET_UID=jogamp export TARGET_IP=panda02 @@ -26,32 +43,19 @@ export TARGET_ADB_PORT=5555 export TARGET_ROOT=/data/projects export TARGET_ANT_HOME=/usr/share/ant -export ANDROID_VERSION=24 export SOURCE_LEVEL=1.8 export TARGET_LEVEL=1.8 export TARGET_RT_JAR=/opt-share/jre1.8.0_212/lib/rt.jar -export GCC_VERSION=4.9 -export HOST_ARCH=linux-x86_64 -export TARGET_TRIPLE=arm-linux-androideabi - -export NDK_TOOLCHAIN_ROOT=$NDK_ROOT/toolchains/${TARGET_TRIPLE}-${GCC_VERSION}/prebuilt/${HOST_ARCH} -export TARGET_PLATFORM_SYSROOT=${NDK_ROOT}/platforms/android-${ANDROID_VERSION}/arch-arm - -# Need to add toolchain bins to the PATH. -export PATH_VANILLA=$PATH -export PATH="$NDK_TOOLCHAIN_ROOT/$TARGET_TRIPLE/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/build-tools/$ANDROID_BUILD_TOOLS_VERSION:$PATH" - -export GLUEGEN_CPPTASKS_FILE=`pwd`/../../gluegen/make/lib/gluegen-cpptasks-android-armv6.xml - #export JUNIT_DISABLED="true" #export JUNIT_RUN_ARG0="-Dnewt.test.Screen.disableScreenMode" #export JOGAMP_JAR_CODEBASE="Codebase: *.jogamp.org" export JOGAMP_JAR_CODEBASE="Codebase: *.goethel.localnet" -# BUILD_ARCHIVE=true \ +#BUILD_ARCHIVE=true \ ant \ -Drootrel.build=build-android-armv6 \ - $* 2>&1 | tee make.joal-armv6-cross.log + -Dgcc.compat.compiler=clang \ + $* 2>&1 | tee -a ${LOGF} diff --git a/make/scripts/make.joal.all.android-x86-cross.sh b/make/scripts/make.joal.all.android-x86-cross.sh index f1d2924..7296862 100755 --- a/make/scripts/make.joal.all.android-x86-cross.sh +++ b/make/scripts/make.joal.all.android-x86-cross.sh @@ -1,17 +1,38 @@ #! /bin/sh -SDIR=`dirname $0` +SDIR=$(readlink -f `dirname $0`) -if [ -e $SDIR/../../../gluegen/make/scripts/setenv-build-jogl-x86_64.sh ] ; then - . $SDIR/../../../gluegen/make/scripts/setenv-build-jogl-x86_64.sh +if [ -e ${SDIR}/../../../gluegen/make/scripts/setenv-build-jogl-x86_64.sh ] ; then + . ${SDIR}/../../../gluegen/make/scripts/setenv-build-jogl-x86_64.sh fi +LOGF=make.joal.all.android-x86-cross.log +rm -f ${LOGF} + +export ANDROID_HOME=/opt-linux-x86_64/android-sdk-linux_x86_64 +export ANDROID_API_LEVEL=24 +export ANDROID_HOST_TAG=linux-x86_64 +export ANDROID_ABI=x86 + +if [ -e ${SDIR}/../../../gluegen/make/scripts/setenv-android-tools.sh ] ; then + . ${SDIR}/../../../gluegen/make/scripts/setenv-android-tools.sh >> $LOGF 2>&1 +else + echo "${SDIR}/../../../setenv-android-tools.sh doesn't exist!" 2>&1 | tee -a ${LOGF} + exit 1 +fi + +export GLUEGEN_CPPTASKS_FILE=${SDIR}/../../../gluegen/make/lib/gluegen-cpptasks-android-x86.xml +export PATH_VANILLA=$PATH +export PATH=${ANDROID_TOOLCHAIN_ROOT}/${ANDROID_TOOLCHAIN_NAME}/bin:${ANDROID_TOOLCHAIN_ROOT}/bin:${ANDROID_HOME}/platform-tools:${ANDROID_BUILDTOOLS_ROOT}:${PATH} +echo PATH ${PATH} 2>&1 | tee -a ${LOGF} +echo clang `which clang` 2>&1 | tee -a ${LOGF} + export NODE_LABEL=. export HOST_UID=jogamp # jogamp02 - 10.1.0.122 export HOST_IP=10.1.0.122 -export HOST_RSYNC_ROOT=PROJECTS/JOGL +export HOST_RSYNC_ROOT=PROJECTS/JogAmp export TARGET_UID=jogamp export TARGET_IP=panda02 @@ -22,83 +43,19 @@ export TARGET_ADB_PORT=5555 export TARGET_ROOT=/data/projects export TARGET_ANT_HOME=/usr/share/ant -echo ANDROID_HOME $ANDROID_HOME -echo NDK_ROOT $NDK_ROOT - -if [ -z "$NDK_ROOT" ] ; then - # - # Generic android-ndk - # - if [ -e /usr/local/android-ndk ] ; then - NDK_ROOT=/usr/local/android-ndk - elif [ -e /opt-linux-x86/android-ndk ] ; then - NDK_ROOT=/opt-linux-x86/android-ndk - elif [ -e /opt/android-ndk ] ; then - NDK_ROOT=/opt/android-ndk - # - # Specific android-ndk-r8d - # - elif [ -e /usr/local/android-ndk-r8d ] ; then - NDK_ROOT=/usr/local/android-ndk-r8d - elif [ -e /opt-linux-x86/android-ndk-r8d ] ; then - NDK_ROOT=/opt-linux-x86/android-ndk-r8d - elif [ -e /opt/android-ndk-r8d ] ; then - NDK_ROOT=/opt/android-ndk-r8d - else - echo NDK_ROOT is not specified and does not exist in default locations - exit 1 - fi -elif [ ! -e $NDK_ROOT ] ; then - echo NDK_ROOT $NDK_ROOT does not exist - exit 1 -fi -export NDK_ROOT - -if [ -z "$ANDROID_HOME" ] ; then - if [ -e /usr/local/android-sdk-linux_x86 ] ; then - ANDROID_HOME=/usr/local/android-sdk-linux_x86 - elif [ -e /opt-linux-x86/android-sdk-linux_x86 ] ; then - ANDROID_HOME=/opt-linux-x86/android-sdk-linux_x86 - elif [ -e /opt/android-sdk-linux_x86 ] ; then - ANDROID_HOME=/opt/android-sdk-linux_x86 - 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 -export ANDROID_HOME - -export ANDROID_VERSION=24 export SOURCE_LEVEL=1.8 export TARGET_LEVEL=1.8 export TARGET_RT_JAR=/opt-share/jre1.8.0_212/lib/rt.jar -#export GCC_VERSION=4.4.3 -export GCC_VERSION=4.9 -HOST_ARCH=linux-x86 -export TARGET_TRIPLE=i686-linux-android -export TOOLCHAIN_NAME=x86 - -export NDK_TOOLCHAIN_ROOT=$NDK_ROOT/toolchains/${TOOLCHAIN_NAME}-${GCC_VERSION}/prebuilt/${HOST_ARCH} -export TARGET_PLATFORM_SYSROOT=${NDK_ROOT}/platforms/android-${ANDROID_VERSION}/arch-x86 - -# Need to add toolchain bins to the PATH. -export PATH_VANILLA=$PATH -export PATH="$NDK_TOOLCHAIN_ROOT/$TARGET_TRIPLE/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/build-tools/17.0.0:$PATH" - -export GLUEGEN_CPPTASKS_FILE=`pwd`/../../gluegen/make/lib/gluegen-cpptasks-android-x86.xml - #export JUNIT_DISABLED="true" #export JUNIT_RUN_ARG0="-Dnewt.test.Screen.disableScreenMode" #export JOGAMP_JAR_CODEBASE="Codebase: *.jogamp.org" export JOGAMP_JAR_CODEBASE="Codebase: *.goethel.localnet" -# BUILD_ARCHIVE=true \ +#BUILD_ARCHIVE=true \ ant \ -Drootrel.build=build-android-x86 \ - $* 2>&1 | tee -a make.joal-x86-cross.log + -Dgcc.compat.compiler=clang \ + $* 2>&1 | tee -a ${LOGF} |