From 2ccd72b1064464ac277ccfc3951901114c439a99 Mon Sep 17 00:00:00 2001 From: Xavier Hallade Date: Mon, 16 Feb 2015 17:32:29 +0100 Subject: added android x86 support. --- make/gluegen-cpptasks-base.xml | 14 ++- make/lib/gluegen-cpptasks-android-x86.xml | 132 +++++++++++++++++++++ make/scripts/adb-install-all-x86.sh | 2 + make/scripts/adb-reinstall-all-x86.sh | 5 + make/scripts/make.gluegen.all.android-x86-cross.sh | 63 ++++++++++ make/scripts/make.gluegen.all.sh | 1 + src/java/jogamp/common/os/PlatformPropsImpl.java | 5 +- 7 files changed, 219 insertions(+), 3 deletions(-) create mode 100644 make/lib/gluegen-cpptasks-android-x86.xml create mode 100755 make/scripts/adb-install-all-x86.sh create mode 100755 make/scripts/adb-reinstall-all-x86.sh create mode 100755 make/scripts/make.gluegen.all.android-x86-cross.sh diff --git a/make/gluegen-cpptasks-base.xml b/make/gluegen-cpptasks-base.xml index 426bfae..9809be4 100755 --- a/make/gluegen-cpptasks-base.xml +++ b/make/gluegen-cpptasks-base.xml @@ -35,6 +35,7 @@ - isAndroidARM64 - isAndroidARMv6Armel (set in gluegen.cpptasks.detected.os.2) - isAndroidARMv6Armhf (set in gluegen.cpptasks.detected.os.2) + - isAndroidX86 - isLinux - isLinuxAMD64 - isLinuxIA64 @@ -339,6 +340,12 @@ + + + + + + @@ -588,6 +595,7 @@ + @@ -707,7 +715,11 @@ - + + + + + diff --git a/make/lib/gluegen-cpptasks-android-x86.xml b/make/lib/gluegen-cpptasks-android-x86.xml new file mode 100644 index 0000000..1cb0216 --- /dev/null +++ b/make/lib/gluegen-cpptasks-android-x86.xml @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/make/scripts/adb-install-all-x86.sh b/make/scripts/adb-install-all-x86.sh new file mode 100755 index 0000000..138e7d1 --- /dev/null +++ b/make/scripts/adb-install-all-x86.sh @@ -0,0 +1,2 @@ +adb $* install ../build-android-x86/jogamp-android-launcher.apk +adb $* install ../build-android-x86/gluegen-rt-android-x86.apk diff --git a/make/scripts/adb-reinstall-all-x86.sh b/make/scripts/adb-reinstall-all-x86.sh new file mode 100755 index 0000000..7db988d --- /dev/null +++ b/make/scripts/adb-reinstall-all-x86.sh @@ -0,0 +1,5 @@ +sdir=`dirname $0` + +$sdir/adb-uninstall-all.sh $* +$sdir/adb-install-all-x86.sh $* + diff --git a/make/scripts/make.gluegen.all.android-x86-cross.sh b/make/scripts/make.gluegen.all.android-x86-cross.sh new file mode 100755 index 0000000..0889ca7 --- /dev/null +++ b/make/scripts/make.gluegen.all.android-x86-cross.sh @@ -0,0 +1,63 @@ +#! /bin/sh + +SDIR=`dirname $0` + +if [ -e $SDIR/setenv-build-jogl-x86_64.sh ] ; then + . $SDIR/setenv-build-jogl-x86_64.sh +fi + +if [ -e $SDIR/setenv-android-tools.sh ] ; then + . $SDIR/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=15 +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.8 +HOST_ARCH=linux-x86_64 +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_ROOT=${NDK_ROOT}/platforms/android-${ANDROID_VERSION}/arch-x86 + +# Need to add toolchain bins to the PATH. +# May need to create symbolic links within $NDK_TOOLCHAIN_ROOT/$TARGET_TRIPLE/bin +# cd $NDK_TOOLCHAIN_ROOT/$TARGET_TRIPLE/bin +# ln -s ../../bin/i686-linux-android-gcc gcc +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="lib/gluegen-cpptasks-android-x86.xml" + +#export JUNIT_DISABLED="true" +#export JUNIT_RUN_ARG0="-Dnewt.test.Screen.disableScreenMode" + +echo PATH $PATH 2>&1 | tee make.gluegen.all.android-x86-cross.log +echo gcc `which gcc` 2>&1 | tee -a make.gluegen.all.android-x86-cross.log + +#export JOGAMP_JAR_CODEBASE="Codebase: *.jogamp.org" +export JOGAMP_JAR_CODEBASE="Codebase: *.goethel.localnet" + +#BUILD_ARCHIVE=true \ +ant \ + -Drootrel.build=build-android-x86 \ + $* 2>&1 | tee -a make.gluegen.all.android-x86-cross.log diff --git a/make/scripts/make.gluegen.all.sh b/make/scripts/make.gluegen.all.sh index ec97d04..1e1ce0b 100755 --- a/make/scripts/make.gluegen.all.sh +++ b/make/scripts/make.gluegen.all.sh @@ -7,3 +7,4 @@ $SDIR/make.gluegen.all.linux-armv6-cross.sh \ && $SDIR/make.gluegen.all.linux-x86_64.sh \ && $SDIR/make.gluegen.all.linux-x86.sh \ && $SDIR/make.gluegen.all.android-armv6-cross.sh \ +&& $SDIR/make.gluegen.all.android-x86-cross.sh \ diff --git a/src/java/jogamp/common/os/PlatformPropsImpl.java b/src/java/jogamp/common/os/PlatformPropsImpl.java index 0d0063c..2d8bdec 100644 --- a/src/java/jogamp/common/os/PlatformPropsImpl.java +++ b/src/java/jogamp/common/os/PlatformPropsImpl.java @@ -269,9 +269,9 @@ public abstract class PlatformPropsImpl { } ABI_TYPE = elfABIType; } else { - if( AndroidVersion.CPU_TYPE.family == CPUFamily.ARM || + if( AndroidVersion.CPU_TYPE.family == CPUFamily.ARM || AndroidVersion.CPU_TYPE.family == CPUFamily.X86 || null == AndroidVersion.CPU_TYPE2 ) { - // Favor Android-1: Either b/c ARM Family, or no Android-2 + // Favor Android-1: Either b/c ARM or x86 Family, or no Android-2 ARCH = AndroidVersion.CPU_ABI; ARCH_lower = ARCH; CPU_ARCH = AndroidVersion.CPU_TYPE; @@ -505,6 +505,7 @@ public abstract class PlatformPropsImpl { *
    *
  • android-armv6
  • *
  • android-aarch64
  • + *
  • android-x86
  • *
  • linux-armv6
  • *
  • linux-armv6hf
  • *
  • linux-i586
  • -- cgit v1.2.3