diff options
author | Sven Gothel <[email protected]> | 2015-01-30 07:17:48 +0100 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2015-01-30 07:17:48 +0100 |
commit | 232aee061552a4091fce7368ea8bc9bba8e404ff (patch) | |
tree | 4a00243bb99fbb655cc21ecb280514cb8e8becd1 | |
parent | 17492593df77ae0db500b1d17add95ff18f69e21 (diff) |
Bug 1122: Add AArch64 support (Android, GNU/Linux and in general)
-rwxr-xr-x | make/build.xml | 20 | ||||
-rwxr-xr-x | make/scripts/adb-install-all-arm64-v8a.sh | 4 | ||||
-rwxr-xr-x | make/scripts/adb-reinstall-all-arm64-v8a.sh | 5 | ||||
-rwxr-xr-x | make/scripts/make.joal.all.android-aarch64-cross.sh | 58 |
4 files changed, 85 insertions, 2 deletions
diff --git a/make/build.xml b/make/build.xml index 2984c84..e876cc4 100755 --- a/make/build.xml +++ b/make/build.xml @@ -481,7 +481,7 @@ <copy file="${build}/jar/joal-natives-${os.and.arch}.jar" tofile="${build}/jar/joal-android-natives-${os.and.arch}.jar"/> </target> - <target name="c.build.openal.soft.android" if="isAndroid" unless="c.build.openal.soft.done"> + <target name="c.build.openal.soft.android.arm" if="isAndroidARMv6" unless="c.build.openal.soft.done"> <property name="c.build.openal.soft.done" value="true" /> <mkdir dir="${build}/openal-soft" /> <exec dir="${build}/openal-soft" executable="cmake" logError="true" failonerror="false" failifexecutionfails="false"> @@ -495,6 +495,22 @@ <exec dir="${build}/openal-soft" executable="make" logError="true" failonerror="false" failifexecutionfails="false" /> </target> + <target name="c.build.openal.soft.android.arm64" if="isAndroidARM64" unless="c.build.openal.soft.done"> + <property name="c.build.openal.soft.done" value="true" /> + <mkdir dir="${build}/openal-soft" /> + <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="-DNDK_CPU_ARM64=1"/> + <arg value="-DANDROID_TOOLCHAIN_SYSTEM=${env.HOST_ARCH}"/> + </exec> + <exec dir="${build}/openal-soft" executable="make" logError="true" failonerror="false" failifexecutionfails="false" /> + </target> + <target name="c.build.openal.soft.windows" if="isWindows" unless="c.build.openal.soft.done"> <property name="c.build.openal.soft.done" value="true" /> <mkdir dir="${build}/openal-soft" /> @@ -599,7 +615,7 @@ </target> <target name="c.build.openal.soft" - depends="init, gluegen.cpptasks.detect.os, gluegen.cpptasks.setup.compiler, c.build.openal.use-blobs, c.build.openal.soft.windows, c.build.openal.soft.android, c.build.openal.soft.gcc.armv6.soft, c.build.openal.soft.gcc.armv6.hard, c.build.openal.soft.clang.x86_32, c.build.openal.soft.clang.default, c.build.openal.soft.gcc.x86_32, c.build.openal.soft.gcc.default"> + depends="init, gluegen.cpptasks.detect.os, gluegen.cpptasks.setup.compiler, c.build.openal.use-blobs, c.build.openal.soft.windows, c.build.openal.soft.android.arm, c.build.openal.soft.android.arm64, c.build.openal.soft.gcc.armv6.soft, c.build.openal.soft.gcc.armv6.hard, c.build.openal.soft.clang.x86_32, c.build.openal.soft.clang.default, c.build.openal.soft.gcc.x86_32, c.build.openal.soft.gcc.default"> <copy todir="../${rootrel.build}/obj" failonerror="false"> <fileset dir="${build}/openal-soft" erroronmissingdir="false"> <include name="*openal.${native.library.suffix}" /> diff --git a/make/scripts/adb-install-all-arm64-v8a.sh b/make/scripts/adb-install-all-arm64-v8a.sh new file mode 100755 index 0000000..a8df126 --- /dev/null +++ b/make/scripts/adb-install-all-arm64-v8a.sh @@ -0,0 +1,4 @@ +#adb $* install ../build-android-aarch64/jogamp-android-launcher.apk +#adb $* install ../build-android-aarch64/gluegen-rt-android-arm64-v8a.apk +adb $* install ../build-android-aarch64/jar/joal-android-arm64-v8a.apk +adb $* install ../build-android-aarch64/jar/joal-test-android.apk diff --git a/make/scripts/adb-reinstall-all-arm64-v8a.sh b/make/scripts/adb-reinstall-all-arm64-v8a.sh new file mode 100755 index 0000000..2627cc8 --- /dev/null +++ b/make/scripts/adb-reinstall-all-arm64-v8a.sh @@ -0,0 +1,5 @@ +sdir=`dirname $0` + +$sdir/adb-uninstall-all.sh $* +$sdir/adb-install-all-arm64-v8a.sh $* + diff --git a/make/scripts/make.joal.all.android-aarch64-cross.sh b/make/scripts/make.joal.all.android-aarch64-cross.sh new file mode 100755 index 0000000..76a3200 --- /dev/null +++ b/make/scripts/make.joal.all.android-aarch64-cross.sh @@ -0,0 +1,58 @@ +#! /bin/sh + +SDIR=`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 +fi + +if [ -e $SDIR/../../../gluegen/make/scripts/setenv-android-tools.sh ] ; then + . $SDIR/../../../gluegen/make/scripts/setenv-android-tools.sh +fi + +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 TARGET_UID=jogamp +export TARGET_IP=panda02 +#export TARGET_IP=jautab03 +#export TARGET_IP=jauphone04 +export TARGET_ADB_PORT=5555 +# needs executable bit (probably su) +export TARGET_ROOT=/data/projects +export TARGET_ANT_HOME=/usr/share/ant + +export ANDROID_VERSION=21 +export SOURCE_LEVEL=1.6 +export TARGET_LEVEL=1.6 +export TARGET_RT_JAR=/opt-share/jre1.6.0_30/lib/rt.jar + +#export GCC_VERSION=4.4.3 +export GCC_VERSION=4.9 +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_ROOT=${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 \ +ant \ + -Drootrel.build=build-android-aarch64 \ + $* 2>&1 | tee -a make.joal-aarch64-cross.log + |