From fc779ca57ec338c3e4a2b8d0b3a2bac4277bc380 Mon Sep 17 00:00:00 2001 From: Edwin Vane Date: Tue, 31 Jan 2012 09:24:51 -0500 Subject: Get JOGL to build with NDK r7 - Most of the android build work is done by gluegen ant files. Changes made to gluegen in support of NDK r7 need to be reflected here: - New/fewer environment variables. - Specifying android.abi for packaging. - Cross-compilation script cleaned up to look like gluegen's cross compile script for consistency. - Renamed install/re-install adb helper scripts to be ARM specific. --- make/scripts/adb-install-all-armv7.sh | 4 ++ make/scripts/adb-install-all.sh | 4 -- make/scripts/adb-reinstall-all-armv7.sh | 5 ++ make/scripts/adb-reinstall-all.sh | 5 -- make/scripts/make.jogl.all.android-armv7-cross.sh | 60 +++++------------------ 5 files changed, 21 insertions(+), 57 deletions(-) create mode 100755 make/scripts/adb-install-all-armv7.sh delete mode 100755 make/scripts/adb-install-all.sh create mode 100755 make/scripts/adb-reinstall-all-armv7.sh delete mode 100755 make/scripts/adb-reinstall-all.sh (limited to 'make/scripts') diff --git a/make/scripts/adb-install-all-armv7.sh b/make/scripts/adb-install-all-armv7.sh new file mode 100755 index 000000000..d48d0abba --- /dev/null +++ b/make/scripts/adb-install-all-armv7.sh @@ -0,0 +1,4 @@ +adb $* install ../../gluegen/build-android-armv7/gluegen-rt.apk +adb $* install ../build-android-armv7/jar/jogl.all-android.apk +adb $* install ../build-android-armv7/jar/jogl.android-launcher.apk +adb $* install ../build-android-armv7/jar/jogl.test.apk diff --git a/make/scripts/adb-install-all.sh b/make/scripts/adb-install-all.sh deleted file mode 100755 index d48d0abba..000000000 --- a/make/scripts/adb-install-all.sh +++ /dev/null @@ -1,4 +0,0 @@ -adb $* install ../../gluegen/build-android-armv7/gluegen-rt.apk -adb $* install ../build-android-armv7/jar/jogl.all-android.apk -adb $* install ../build-android-armv7/jar/jogl.android-launcher.apk -adb $* install ../build-android-armv7/jar/jogl.test.apk diff --git a/make/scripts/adb-reinstall-all-armv7.sh b/make/scripts/adb-reinstall-all-armv7.sh new file mode 100755 index 000000000..2cb7713dc --- /dev/null +++ b/make/scripts/adb-reinstall-all-armv7.sh @@ -0,0 +1,5 @@ +sdir=`dirname $0` + +$sdir/adb-uninstall-all.sh $* +$sdir/adb-install-all-armv7.sh $* + diff --git a/make/scripts/adb-reinstall-all.sh b/make/scripts/adb-reinstall-all.sh deleted file mode 100755 index f450a29f9..000000000 --- a/make/scripts/adb-reinstall-all.sh +++ /dev/null @@ -1,5 +0,0 @@ -sdir=`dirname $0` - -$sdir/adb-uninstall-all.sh $* -$sdir/adb-install-all.sh $* - diff --git a/make/scripts/make.jogl.all.android-armv7-cross.sh b/make/scripts/make.jogl.all.android-armv7-cross.sh index 20c90d160..5096ac0eb 100755 --- a/make/scripts/make.jogl.all.android-armv7-cross.sh +++ b/make/scripts/make.jogl.all.android-armv7-cross.sh @@ -15,12 +15,12 @@ echo ANDROID_SDK_HOME $ANDROID_SDK_HOME echo NDK_ROOT $NDK_ROOT if [ -z "$NDK_ROOT" ] ; then - if [ -e /usr/local/android-ndk-r6 ] ; then - NDK_ROOT=/usr/local/android-ndk-r6 - elif [ -e /opt-linux-x86/android-ndk-r6 ] ; then - NDK_ROOT=/opt-linux-x86/android-ndk-r6 - elif [ -e /opt/android-ndk-r6 ] ; then - NDK_ROOT=/opt/android-ndk-r6 + if [ -e /usr/local/android-ndk-r7 ] ; then + NDK_ROOT=/usr/local/android-ndk-r7 + elif [ -e /opt-linux-x86/android-ndk-r7 ] ; then + NDK_ROOT=/opt-linux-x86/android-ndk-r7 + elif [ -e /opt/android-ndk-r7 ] ; then + NDK_ROOT=/opt/android-ndk-r7 else echo NDK_ROOT is not specified and does not exist in default locations exit 1 @@ -30,7 +30,6 @@ elif [ ! -e $NDK_ROOT ] ; then exit 1 fi export NDK_ROOT -NDK_TOOLCHAIN=$NDK_ROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/arm-linux-androideabi if [ -z "$ANDROID_SDK_HOME" ] ; then if [ -e /usr/local/android-sdk-linux_x86 ] ; then @@ -49,52 +48,16 @@ elif [ ! -e $ANDROID_SDK_HOME ] ; then fi export ANDROID_SDK_HOME -export PATH="$NDK_TOOLCHAIN/bin:$ANDROID_SDK_HOME/platform-tools:$PATH" - export GCC_VERSION=4.4.3 HOST_ARCH=linux-x86 export TARGET_ARCH=arm-linux-androideabi -# mcpu: cortex-a8', `cortex-a9', `cortex-r4', `cortex-r4f', `cortex-m3', `cortex-m1', `xscale', `iwmmxt', `iwmmxt2', `ep9312'. -export TARGET_CPU_NAME=armv7-a -TARGET_CPU_TUNE=armv7-a -# mfpu: `vfp', `vfpv3', `vfpv3-d16' and `neon' -TARGET_FPU_NAME=vfpv3 -TARGET_FPU_ABI=softfp - -export TARGET_TOOL_PATH=${NDK_ROOT}/toolchains/${TARGET_ARCH}-${GCC_VERSION}/prebuilt/${HOST_ARCH} - -export TARGET_OS_PATH=${NDK_ROOT}/platforms/android-${ANDROID_VERSION}/arch-arm/usr -export TARGET_PLATFORM_LIBS=${TARGET_OS_PATH}/lib -export HOST_OS_PATH=${NDK_ROOT}/platforms/android-${ANDROID_VERSION}/arch-x86/usr - -export NDK_XBIN_PATH=${TARGET_TOOL_PATH}/bin -export NDK_BIN_PATH=${TARGET_TOOL_PATH}/${TARGET_ARCH}/bin - -export NDK_GCC=${NDK_XBIN_PATH}/${TARGET_ARCH}-gcc -export NDK_AR=${NDK_XBIN_PATH}/${TARGET_ARCH}-ar -export NDK_STRIP=${NDK_XBIN_PATH}/${TARGET_ARCH}-strip -export NDK_READELF=${NDK_XBIN_PATH}/${TARGET_ARCH}-readelf - -export PATH=${NDK_XBIN_PATH}:$PATH - -export NDK_CFLAGS="\ --march=${TARGET_CPU_NAME} \ --fpic \ --DANDROID \ -" +export TARGET_TRIPLE=arm-linux-androideabi -export NDK_LDFLAGS="\ --Wl,--demangle \ --nostdlib -Bdynamic -Wl,-dynamic-linker,/system/bin/linker -Wl,--gc-sections -Wl,-z,nocopyreloc \ -${TARGET_OS_PATH}/lib/libc.so \ -${TARGET_OS_PATH}/lib/libstdc++.so \ -${TARGET_OS_PATH}/lib/libm.so \ -${TARGET_OS_PATH}/lib/crtbegin_dynamic.o \ --Wl,--no-undefined -Wl,-rpath-link=${TARGET_OS_PATH}/lib \ -${TARGET_TOOL_PATH}/lib/gcc/${TARGET_ARCH}/${GCC_VERSION}/${TARGET_CPU_NAME}/libgcc.a \ -${TARGET_OS_PATH}/lib/crtend_android.o \ -" +export NDK_TOOLCHAIN_ROOT=$NDK_ROOT/toolchains/${TARGET_ARCH}-${GCC_VERSION}/prebuilt/${HOST_ARCH} +export TARGET_PLATFORM_ROOT=${NDK_ROOT}/platforms/android-${ANDROID_VERSION}/arch-arm +# Need to add toolchain bins to the PATH. +export PATH="$NDK_TOOLCHAIN_ROOT/$TARGET_ARCH/bin:$ANDROID_SDK_HOME/platform-tools:$PATH" which gcc 2>&1 | tee make.jogl.all.android-armv7-cross.log @@ -107,6 +70,7 @@ ant \ -DisAndroidARMv7=true \ -DjvmDataModel.arg="-Djnlp.no.jvm.data.model.set=true" \ -DisCrosscompilation=true \ + -Dandroid.abi=armeabi-v7a \ \ $* 2>&1 | tee -a make.jogl.all.android-armv7-cross.log -- cgit v1.2.3