summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2019-12-24 16:33:10 +0100
committerSven Gothel <[email protected]>2019-12-24 16:33:10 +0100
commitb8e20cd8238c2f3694068f501ba06b9a6f654645 (patch)
tree7f2e031ed2140aa34316974a04cd81bb4d4849ec
parent29cc0162c4ae34c0c1dbb8f1203138d123fc671d (diff)
Bug 1417 - Android: OpenAL-Soft toolchain.android.cmake cleanup and NDK r20 adoption llvm: clang libc++
-rwxr-xr-xmake/build.xml43
-rwxr-xr-xmake/scripts/make.joal.all.android-aarch64-cross.sh49
-rwxr-xr-xmake/scripts/make.joal.all.android-armv6-cross.sh48
-rwxr-xr-xmake/scripts/make.joal.all.android-x86-cross.sh99
m---------openal-soft0
5 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}
diff --git a/openal-soft b/openal-soft
-Subproject 866acb84a73e3294876c6cdcee3d4b6b74cf259
+Subproject f344ef3aa3a42c4e81376c3d8ad6507ad2b8a20