summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2015-01-30 07:17:48 +0100
committerSven Gothel <[email protected]>2015-01-30 07:17:48 +0100
commit232aee061552a4091fce7368ea8bc9bba8e404ff (patch)
tree4a00243bb99fbb655cc21ecb280514cb8e8becd1
parent17492593df77ae0db500b1d17add95ff18f69e21 (diff)
Bug 1122: Add AArch64 support (Android, GNU/Linux and in general)
-rwxr-xr-xmake/build.xml20
-rwxr-xr-xmake/scripts/adb-install-all-arm64-v8a.sh4
-rwxr-xr-xmake/scripts/adb-reinstall-all-arm64-v8a.sh5
-rwxr-xr-xmake/scripts/make.joal.all.android-aarch64-cross.sh58
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
+