diff options
author | Edwin Vane <[email protected]> | 2012-01-31 09:24:51 -0500 |
---|---|---|
committer | Edwin Vane <[email protected]> | 2012-02-28 16:13:45 -0500 |
commit | fc779ca57ec338c3e4a2b8d0b3a2bac4277bc380 (patch) | |
tree | b1fe85f6e03047f4479f30fddadfbb92b98b50fe /make | |
parent | b7407c39c0d3785f2fc21782d31c439622f0d744 (diff) |
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.
Diffstat (limited to 'make')
-rw-r--r-- | make/build-jogl.xml | 2 | ||||
-rw-r--r-- | make/build-nativewindow.xml | 6 | ||||
-rw-r--r-- | make/build-newt.xml | 6 | ||||
-rw-r--r-- | make/build.xml | 3 | ||||
-rwxr-xr-x | make/scripts/adb-install-all-armv7.sh (renamed from make/scripts/adb-install-all.sh) | 0 | ||||
-rwxr-xr-x | make/scripts/adb-reinstall-all-armv7.sh (renamed from make/scripts/adb-reinstall-all.sh) | 2 | ||||
-rwxr-xr-x | make/scripts/make.jogl.all.android-armv7-cross.sh | 60 |
7 files changed, 23 insertions, 56 deletions
diff --git a/make/build-jogl.xml b/make/build-jogl.xml index 3873f3b20..875fba709 100644 --- a/make/build-jogl.xml +++ b/make/build-jogl.xml @@ -1123,7 +1123,7 @@ </linker> <linker id="linker.cfg.linux.armv7.jogl.x11" extends="linker.cfg.linux.armv7"> - <syslibset dir="${env.TARGET_PLATFORM_LIBS}" libs="X11"/> + <syslibset dir="${env.TARGET_PLATFORM_ROOT}/usr/lib" libs="X11"/> </linker> <linker id="linker.cfg.android.jogl" extends="linker.cfg.android"> diff --git a/make/build-nativewindow.xml b/make/build-nativewindow.xml index c66a92d09..c3a916804 100644 --- a/make/build-nativewindow.xml +++ b/make/build-nativewindow.xml @@ -400,9 +400,9 @@ </linker> <linker id="linker.cfg.linux.armv7.nativewindow.x11" extends="linker.cfg.linux.armv7"> - <syslibset dir="${env.TARGET_PLATFORM_LIBS}" libs="X11" /> - <syslibset dir="${env.TARGET_PLATFORM_LIBS}" libs="Xxf86vm" /> - <syslibset dir="${env.TARGET_PLATFORM_LIBS}" libs="Xrender" /> + <syslibset dir="${env.TARGET_PLATFORM_ROOT}/usr/lib" libs="X11" /> + <syslibset dir="${env.TARGET_PLATFORM_ROOT}/usr/lib" libs="Xxf86vm" /> + <syslibset dir="${env.TARGET_PLATFORM_ROOT}/usr/lib" libs="Xrender" /> </linker> <linker id="linker.cfg.solaris.nativewindow.x11" extends="linker.cfg.solaris"> diff --git a/make/build-newt.xml b/make/build-newt.xml index cc0688378..2bf04bbae 100644 --- a/make/build-newt.xml +++ b/make/build-newt.xml @@ -274,12 +274,12 @@ </linker> <linker id="linker.cfg.linux.armv7.newt.x11" extends="linker.cfg.linux.armv7"> - <syslibset dir="${env.TARGET_PLATFORM_LIBS}" libs="X11" /> - <syslibset dir="${env.TARGET_PLATFORM_LIBS}" libs="Xrandr" /> + <syslibset dir="${env.TARGET_PLATFORM_ROOT}/usr/lib" libs="X11" /> + <syslibset dir="${env.TARGET_PLATFORM_ROOT}/usr/lib" libs="Xrandr" /> </linker> <linker id="linker.cfg.android.newt" extends="linker.cfg.android"> - <syslibset dir="${env.TARGET_PLATFORM_LIBS}" libs="android" /> + <syslibset dir="${env.TARGET_PLATFORM_ROOT}/usr/lib" libs="android" /> </linker> <linker id="linker.cfg.solaris.newt.x11" extends="linker.cfg.solaris"> diff --git a/make/build.xml b/make/build.xml index 94fa5acdb..a39707769 100644 --- a/make/build.xml +++ b/make/build.xml @@ -162,6 +162,7 @@ jarbasename="jogl.all-android" nativebuilddir="${lib}" nativebasename="" + android.abi="${android.abi}" androidmanifest.path="resources/android/AndroidManifest-jogl.xml" androidresources.path="resources/android/res-jogl" jarmanifest.path="${build.jogl}/manifest.mf" @@ -183,6 +184,7 @@ jarbasename="jogl.test" nativebuilddir="${lib}" nativebasename="non-existing" + android.abi="${android.abi}" androidmanifest.path="resources/android/AndroidManifest-test.xml" androidresources.path="resources/android/res-jogl" jarmanifest.path="${build.jogl}/manifest.mf" @@ -215,6 +217,7 @@ jarbasename="jogl.android-launcher" nativebuilddir="${build}/android/lib" nativebasename="non-existing" + android.abi="${android.abi}" androidmanifest.path="resources/android/AndroidManifest-launcher.xml" androidresources.path="resources/android/res-launcher" version.code="1" diff --git a/make/scripts/adb-install-all.sh b/make/scripts/adb-install-all-armv7.sh index d48d0abba..d48d0abba 100755 --- a/make/scripts/adb-install-all.sh +++ b/make/scripts/adb-install-all-armv7.sh diff --git a/make/scripts/adb-reinstall-all.sh b/make/scripts/adb-reinstall-all-armv7.sh index f450a29f9..2cb7713dc 100755 --- a/make/scripts/adb-reinstall-all.sh +++ b/make/scripts/adb-reinstall-all-armv7.sh @@ -1,5 +1,5 @@ sdir=`dirname $0` $sdir/adb-uninstall-all.sh $* -$sdir/adb-install-all.sh $* +$sdir/adb-install-all-armv7.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 |