From 2d57b3cbb4a8189ecb5523f6d8de3aa37db78a13 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Fri, 22 Jul 2011 07:43:44 +0200 Subject: Cleanup [cross] compile properties - linux-armv7 (ubuntu) - added scripts/make.gluegen.all.linux-armv7-cross.sh - added symbolic links to cross toolchain (gcc, ld, ..) allowing gluegen's cpptask to pick it up - android-armv7 (android) - we have scripts/make.gluegen.all.android-armv7-cross.sh --- make/gluegen-cpptasks-base.xml | 4 +- make/lib/gluegen-cpptasks-android-arm.xml | 93 ---------------------- make/lib/gluegen-cpptasks-android-armv7.xml | 90 +++++++++++++++++++++ make/lib/linux-x86_64/arm-linux-gnueabi/bin/gcc | 1 + make/lib/linux-x86_64/arm-linux-gnueabi/bin/ld | 1 + .../lib/linux-x86_64/arm-linux-gnueabi/bin/objdump | 1 + make/lib/linux-x86_64/arm-linux-gnueabi/bin/strip | 1 + make/scripts/make.gluegen.all.android-arm.sh | 80 ------------------- .../make.gluegen.all.android-armv7-cross.sh | 83 +++++++++++++++++++ make/scripts/make.gluegen.all.linux-armv7-cross.sh | 26 ++++++ make/scripts/make.gluegen.all.linux-armv7.sh | 15 ++++ make/scripts/make.gluegen.all.linux-armv7l_eabi.sh | 12 --- make/scripts/make.gluegen.all.linux-x86.sh | 1 - 13 files changed, 220 insertions(+), 188 deletions(-) delete mode 100644 make/lib/gluegen-cpptasks-android-arm.xml create mode 100644 make/lib/gluegen-cpptasks-android-armv7.xml create mode 120000 make/lib/linux-x86_64/arm-linux-gnueabi/bin/gcc create mode 120000 make/lib/linux-x86_64/arm-linux-gnueabi/bin/ld create mode 120000 make/lib/linux-x86_64/arm-linux-gnueabi/bin/objdump create mode 120000 make/lib/linux-x86_64/arm-linux-gnueabi/bin/strip delete mode 100755 make/scripts/make.gluegen.all.android-arm.sh create mode 100755 make/scripts/make.gluegen.all.android-armv7-cross.sh create mode 100755 make/scripts/make.gluegen.all.linux-armv7-cross.sh create mode 100755 make/scripts/make.gluegen.all.linux-armv7.sh delete mode 100755 make/scripts/make.gluegen.all.linux-armv7l_eabi.sh diff --git a/make/gluegen-cpptasks-base.xml b/make/gluegen-cpptasks-base.xml index adfc538..4ac18d0 100755 --- a/make/gluegen-cpptasks-base.xml +++ b/make/gluegen-cpptasks-base.xml @@ -15,6 +15,8 @@ - properties appropriately. They are only set to "true" if the OS/CPU - configuration is exactly as specified. - + - isUnix + - isX11 - isFreeBSD - isFreeBSDAMD64 - isFreeBSDX86 @@ -35,11 +37,9 @@ - isSolarisSparc - isSolarisSparcv9 - isSolarisX86 - - isUnix - isWindows - isWindowsX86 - isWindowsAMD64 - - isX11 - - isX11 is set if: !isWindows && !isOSX && !noX11 - diff --git a/make/lib/gluegen-cpptasks-android-arm.xml b/make/lib/gluegen-cpptasks-android-arm.xml deleted file mode 100644 index d86f26c..0000000 --- a/make/lib/gluegen-cpptasks-android-arm.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/make/lib/gluegen-cpptasks-android-armv7.xml b/make/lib/gluegen-cpptasks-android-armv7.xml new file mode 100644 index 0000000..17cb5c9 --- /dev/null +++ b/make/lib/gluegen-cpptasks-android-armv7.xml @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/make/lib/linux-x86_64/arm-linux-gnueabi/bin/gcc b/make/lib/linux-x86_64/arm-linux-gnueabi/bin/gcc new file mode 120000 index 0000000..edeaa99 --- /dev/null +++ b/make/lib/linux-x86_64/arm-linux-gnueabi/bin/gcc @@ -0,0 +1 @@ +/usr/bin/arm-linux-gnueabi-gcc \ No newline at end of file diff --git a/make/lib/linux-x86_64/arm-linux-gnueabi/bin/ld b/make/lib/linux-x86_64/arm-linux-gnueabi/bin/ld new file mode 120000 index 0000000..68f4fae --- /dev/null +++ b/make/lib/linux-x86_64/arm-linux-gnueabi/bin/ld @@ -0,0 +1 @@ +/usr/bin/arm-linux-gnueabi-ld \ No newline at end of file diff --git a/make/lib/linux-x86_64/arm-linux-gnueabi/bin/objdump b/make/lib/linux-x86_64/arm-linux-gnueabi/bin/objdump new file mode 120000 index 0000000..a48d9ee --- /dev/null +++ b/make/lib/linux-x86_64/arm-linux-gnueabi/bin/objdump @@ -0,0 +1 @@ +/usr/bin/arm-linux-gnueabi-objdump \ No newline at end of file diff --git a/make/lib/linux-x86_64/arm-linux-gnueabi/bin/strip b/make/lib/linux-x86_64/arm-linux-gnueabi/bin/strip new file mode 120000 index 0000000..8dab56b --- /dev/null +++ b/make/lib/linux-x86_64/arm-linux-gnueabi/bin/strip @@ -0,0 +1 @@ +/usr/bin/arm-linux-gnueabi-strip \ No newline at end of file diff --git a/make/scripts/make.gluegen.all.android-arm.sh b/make/scripts/make.gluegen.all.android-arm.sh deleted file mode 100755 index 631d7e3..0000000 --- a/make/scripts/make.gluegen.all.android-arm.sh +++ /dev/null @@ -1,80 +0,0 @@ -#! /bin/sh - - -export NDK_ROOT=/usr/local/android-ndk-r6 -NDK_TOOLCHAIN=$NDK_ROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/arm-linux-androideabi - -export PATH="$NDK_TOOLCHAIN/bin:$PATH" - -#ANDROID_VERSION=8 - -ANDROID_VERSION=9 -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'. -TARGET_CPU_ARCH= -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 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_INCLUDE="-I${TARGET_OS_PATH}/include" - - -export NDK_CFLAGS="\ --march=${TARGET_CPU_NAME} \ --fpic \ --DANDROID \ -" -#/usr/local/android-ndk-r6/toolchains/x86-4.4.3/prebuilt/linux-x86/lib/gcc/i686-android-linux/4.4.3 - -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 \ -" - - -# directory for cc1 ${TARGET_TOOL_PATH}/libexec/gcc/${TARGET_ARCH}/${GCC_VERSION} \ - -#arm-eabi-gcc -o hello hello.c -Wl,-rpath-link=/Users/nirnimesh/NIR/android/mydroid/cupcake/out/target/product/generic/obj/lib -#-L/Users/nirnimesh/NIR/android/mydroid/cupcake/out/target/product/generic/obj/lib -#-nostdlib /Users/nirnimesh/NIR/android/mydroid/cupcake/out/target/product/generic/obj/lib/crtbegin_dynamic.o -lc - -ant \ - -Dgluegen-cpptasks.file=`pwd`/lib/gluegen-cpptasks-android-arm.xml \ - -Drootrel.build=build-android-arm \ - -Dos.arch=armv7 -Dos.name=Android\ - $* 2>&1 | tee make.gluegen.all.android-arm.log - -which gcc -#$NDK_GCC -march=armv7-a -fpic -DANDROID -I/usr/local/android-ndk-r6/platforms/android-9/arch-arm/usr/include -Wl,--demangle -nostdlib -Bdynamic -Wl,-dynamic-linker,/system/bin/linker -Wl,--gc-sections -Wl,-z,nocopyreloc /usr/local/android-ndk-r6/platforms/android-9/arch-arm/usr/lib/libc.so /usr/local/android-ndk-r6/platforms/android-9/arch-arm/usr/lib/libstdc++.so /usr/local/android-ndk-r6/platforms/android-9/arch-arm/usr/lib/libm.so /usr/local/android-ndk-r6/platforms/android-9/arch-arm/usr/lib/crtbegin_dynamic.o -Wl,--no-undefined -Wl,-rpath-link=/usr/local/android-ndk-r6/platforms/android-9/arch-arm/usr/lib /usr/local/android-ndk-r6/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/lib/gcc/arm-linux-androideabi/4.4.3/armv7-a/libgcc.a /usr/local/android-ndk-r6/platforms/android-9/arch-arm/usr/lib/crtend_android.o -c -fno-rtti -fPIC -DANDROID -I/home/rsantina/projects/jogamp/gluegen/build-android-arm/gensrc/native -I/home/rsantina/projects/jogamp/gluegen/build-android-arm/gensrc/native/Unix -I/opt/x86_64/jdk1.6.0_25/include -I/opt/x86_64/jdk1.6.0_25/include/linux -I/home/rsantina/projects/jogamp/gluegen/make/stub_includes/platform /home/rsantina/projects/jogamp/gluegen/src/native/unix/UnixDynamicLinkerImpl_JNI.c /home/rsantina/projects/jogamp/gluegen/src/native/common/PointerBuffer.c /home/rsantina/projects/jogamp/gluegen/src/native/common/MachineDescriptionRuntime.c /home/rsantina/projects/jogamp/gluegen/src/native/common/JVM_Tool.c - -#which gcc -#echo $TARGET_TOOL_PATH - -#$NDK_GCC $NDK_INCLUDE $NDK_CFLAGS $NDK_LDFLAGS -o /home/rsantina/projects/jogamp/gluegen/src/native/unix/UnixDynamicLinkerImpl_JNI.c /home/rsantina/projects/jogamp/gluegen/src/native/common/PointerBuffer.c /home/rsantina/projects/jogamp/gluegen/src/native/common/MachineDescriptionRuntime.c /home/rsantina/projects/jogamp/gluegen/src/native/common/JVM_Tool.c - diff --git a/make/scripts/make.gluegen.all.android-armv7-cross.sh b/make/scripts/make.gluegen.all.android-armv7-cross.sh new file mode 100755 index 0000000..0b6f750 --- /dev/null +++ b/make/scripts/make.gluegen.all.android-armv7-cross.sh @@ -0,0 +1,83 @@ +#! /bin/sh + +if [ -z "$NDK_ROOT" ] ; then + NDK_ROOT=/usr/local/android-ndk-r6 +fi +export NDK_ROOT +NDK_TOOLCHAIN=$NDK_ROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/arm-linux-androideabi + +export PATH="$NDK_TOOLCHAIN/bin:$PATH" + +ANDROID_VERSION=9 +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 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_INCLUDE="-I${TARGET_OS_PATH}/include" + + +export NDK_CFLAGS="\ +-march=${TARGET_CPU_NAME} \ +-fpic \ +-DANDROID \ +" + +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 \ +" + + +# directory for cc1 ${TARGET_TOOL_PATH}/libexec/gcc/${TARGET_ARCH}/${GCC_VERSION} \ + +#arm-eabi-gcc -o hello hello.c -Wl,-rpath-link=/Users/nirnimesh/NIR/android/mydroid/cupcake/out/target/product/generic/obj/lib +#-L/Users/nirnimesh/NIR/android/mydroid/cupcake/out/target/product/generic/obj/lib +#-nostdlib /Users/nirnimesh/NIR/android/mydroid/cupcake/out/target/product/generic/obj/lib/crtbegin_dynamic.o -lc + +which gcc 2>&1 | tee make.gluegen.all.android-armv7-cross.log + +ant \ + -Dgluegen-cpptasks.file=`pwd`/lib/gluegen-cpptasks-android-armv7.xml \ + -Drootrel.build=build-android-armv7 \ + -Dgluegen.cpptasks.detected.os=true \ + -DisUnix=true \ + -DisAndroid=true \ + -DisAndroidARMv7=true \ + \ + $* 2>&1 | tee -a make.gluegen.all.android-armv7-cross.log + +#$NDK_GCC -march=armv7-a -fpic -DANDROID -I/usr/local/android-ndk-r6/platforms/android-9/arch-arm/usr/include -Wl,--demangle -nostdlib -Bdynamic -Wl,-dynamic-linker,/system/bin/linker -Wl,--gc-sections -Wl,-z,nocopyreloc /usr/local/android-ndk-r6/platforms/android-9/arch-arm/usr/lib/libc.so /usr/local/android-ndk-r6/platforms/android-9/arch-arm/usr/lib/libstdc++.so /usr/local/android-ndk-r6/platforms/android-9/arch-arm/usr/lib/libm.so /usr/local/android-ndk-r6/platforms/android-9/arch-arm/usr/lib/crtbegin_dynamic.o -Wl,--no-undefined -Wl,-rpath-link=/usr/local/android-ndk-r6/platforms/android-9/arch-arm/usr/lib /usr/local/android-ndk-r6/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/lib/gcc/arm-linux-androideabi/4.4.3/armv7-a/libgcc.a /usr/local/android-ndk-r6/platforms/android-9/arch-arm/usr/lib/crtend_android.o -c -fno-rtti -fPIC -DANDROID -I/home/rsantina/projects/jogamp/gluegen/build-android-arm/gensrc/native -I/home/rsantina/projects/jogamp/gluegen/build-android-arm/gensrc/native/Unix -I/opt/x86_64/jdk1.6.0_25/include -I/opt/x86_64/jdk1.6.0_25/include/linux -I/home/rsantina/projects/jogamp/gluegen/make/stub_includes/platform /home/rsantina/projects/jogamp/gluegen/src/native/unix/UnixDynamicLinkerImpl_JNI.c /home/rsantina/projects/jogamp/gluegen/src/native/common/PointerBuffer.c /home/rsantina/projects/jogamp/gluegen/src/native/common/MachineDescriptionRuntime.c /home/rsantina/projects/jogamp/gluegen/src/native/common/JVM_Tool.c + +#which gcc +#echo $TARGET_TOOL_PATH + +#$NDK_GCC $NDK_INCLUDE $NDK_CFLAGS $NDK_LDFLAGS -o /home/rsantina/projects/jogamp/gluegen/src/native/unix/UnixDynamicLinkerImpl_JNI.c /home/rsantina/projects/jogamp/gluegen/src/native/common/PointerBuffer.c /home/rsantina/projects/jogamp/gluegen/src/native/common/MachineDescriptionRuntime.c /home/rsantina/projects/jogamp/gluegen/src/native/common/JVM_Tool.c + diff --git a/make/scripts/make.gluegen.all.linux-armv7-cross.sh b/make/scripts/make.gluegen.all.linux-armv7-cross.sh new file mode 100755 index 0000000..cd28046 --- /dev/null +++ b/make/scripts/make.gluegen.all.linux-armv7-cross.sh @@ -0,0 +1,26 @@ +#! /bin/sh + +PATH=`pwd`/lib/linux-x86_64/arm-linux-gnueabi/bin:$PATH +export PATH + +# -Dc.compiler.debug=true +# -Dgluegen.cpptasks.detected.os=true \ +# -DisUnix=true \ +# -DisLinux=true \ +# -DisLinuxARMv7=true \ +# -DisX11=false \ + +ant \ + -Drootrel.build=build-linux-armv7 \ + -Dgluegen.cpptasks.detected.os=true \ + -DisUnix=true \ + -DisLinux=true \ + -DisLinuxARMv7=true \ + -DisX11=true \ + \ + -DuseKD=true \ + -DuseOpenMAX=true \ + -DuseBroadcomEGL=true \ + $* 2>&1 | tee make.gluegen.all.linux-armv7-cross.log + + diff --git a/make/scripts/make.gluegen.all.linux-armv7.sh b/make/scripts/make.gluegen.all.linux-armv7.sh new file mode 100755 index 0000000..527347c --- /dev/null +++ b/make/scripts/make.gluegen.all.linux-armv7.sh @@ -0,0 +1,15 @@ +#! /bin/sh + +# -Dc.compiler.debug=true +# -Dgluegen.cpptasks.detected.os=true \ +# -DisUnix=true \ +# -DisLinux=true \ +# -DisLinuxX86=true \ +# -DisX11=true \ + +ant \ + -Drootrel.build=build-linux-armv7 \ + -DuseKD=true \ + -DuseOpenMAX=true \ + -DuseBroadcomEGL=true \ + $* 2>&1 | tee make.gluegen.all.linux-armv7.log diff --git a/make/scripts/make.gluegen.all.linux-armv7l_eabi.sh b/make/scripts/make.gluegen.all.linux-armv7l_eabi.sh deleted file mode 100755 index 9d1975c..0000000 --- a/make/scripts/make.gluegen.all.linux-armv7l_eabi.sh +++ /dev/null @@ -1,12 +0,0 @@ -#! /bin/sh - -# -Dc.compiler.debug=true -# -Dgluegen.cpptasks.detected.os=true \ -# -DisUnix=true \ -# -DisLinux=true \ -# -DisLinuxX86=true \ -# -DisX11=true \ - -ant \ - -Drootrel.build=build-armv7l_eabi \ - $* 2>&1 | tee make.gluegen.all.linux-armv7l_eabi.log diff --git a/make/scripts/make.gluegen.all.linux-x86.sh b/make/scripts/make.gluegen.all.linux-x86.sh index f044cb4..196cede 100755 --- a/make/scripts/make.gluegen.all.linux-x86.sh +++ b/make/scripts/make.gluegen.all.linux-x86.sh @@ -16,5 +16,4 @@ fi ant \ -Drootrel.build=build-x86 \ - -Dos.arch=x86 \ $* 2>&1 | tee make.gluegen.all.linux-x86.log -- cgit v1.2.3