aboutsummaryrefslogtreecommitdiffstats
path: root/make
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2012-03-07 02:19:56 +0100
committerSven Gothel <[email protected]>2012-03-07 02:19:56 +0100
commitf303bc43437e2fa6ccc8d3f8facd2e5dc7c55069 (patch)
tree595326e29a91a905f876091897f96dabb7a1cdac /make
parenteb68551873f47261a812e81427fc4ba7e55b197a (diff)
android build/test fixes and refinement
remote test fix: - run targetcommand w/ explicit root via 'su' - rsync: more excludes, only use '-rt' - explicit chmod 644 on results - adb commands include naming of remote machine: -s ${env.TARGET_IP}:${env.TARGET_ADB_PORT} GlueGen-cpptasks-android-armv7: - use unique project name (warning) - gcc + -fpic -D__unix__ - ld + -fpic -nostdlib -Bdynamic -Wl,-dynamic-linker,/system/bin/linker -Wl,-z,nocopyreloc explicit add 'dl' to list of libs
Diffstat (limited to 'make')
-rw-r--r--make/build-test.xml22
-rw-r--r--make/lib/gluegen-cpptasks-android-armv7.xml17
-rwxr-xr-xmake/scripts/make.gluegen.all.android-armv7-cross.sh14
3 files changed, 43 insertions, 10 deletions
diff --git a/make/build-test.xml b/make/build-test.xml
index 8c45031..48b8734 100644
--- a/make/build-test.xml
+++ b/make/build-test.xml
@@ -282,12 +282,21 @@ ${line.separator}
</exec>
</target>
+<!--
+rsync:
+ -a == -rlptgoD
+ -rt
+-->
+
<target name="junit.run.remote.adb" if="isAndroidARMv7">
<echo message="#! /system/bin/sh${line.separator}" append="false" file="${build_t}/targetcommand.sh" />
<echo message="${line.separator}
-rsync -av --delete --delete-after --delete-excluded \${line.separator}
+rsync -rtv --delete --delete-after --delete-excluded \${line.separator}
--exclude 'build-x86*/' --exclude 'build-linux*/' --exclude 'build-win*/' --exclude 'build-mac*/' \${line.separator}
--exclude 'classes/' --exclude 'src/' --exclude '.git/' --exclude 'gluegen-java-src.zip' \${line.separator}
+ --exclude 'gensrc/' --exclude 'doc/' --exclude 'jnlp-files' --exclude 'archive/' \${line.separator}
+ --exclude 'android-sdk/' --exclude 'resources/' --exclude 'scripts/' \${line.separator}
+ --exclude 'stub_includes/' --exclude 'nbproject/' --exclude '*.log' --exclude '*.zip' --exclude '*.7z' \${line.separator}
${env.HOST_UID}@${env.HOST_IP}::${env.HOST_RSYNC_ROOT}/${gluegen.basename} ${env.TARGET_ROOT} ${line.separator}
cd ${env.TARGET_ROOT}/${gluegen.basename}/${env.NODE_LABEL}/make ${line.separator}
export ${system.env.library.path}=/system/lib:${env.TARGET_ROOT}/${gluegen.basename}/${env.NODE_LABEL}/${rootrel.build}/obj:${env.TARGET_ROOT}/${gluegen.basename}/${env.NODE_LABEL}/${rootrel.build}/test/build/natives ${line.separator}
@@ -335,12 +344,17 @@ ${line.separator}
" append="true" file="${build_t}/targetcommand.sh" />
</sequential>
</for>
+
+ <echo message="${line.separator}
+chmod 644 ${results}/* \${line.separator}
+" append="true" file="${build_t}/targetcommand.sh" />
+
<exec dir="." executable="sh" logError="true" failonerror="true" failifexecutionfails="true">
<arg line='-x -c "
chmod 0755 ${build_t}/targetcommand.sh ;
- adb push ${build_t}/targetcommand.sh ${env.TARGET_ROOT}/gluegen-targetcommand.sh ;
- adb shell ${env.TARGET_ROOT}/gluegen-targetcommand.sh ;
- adb pull ${env.TARGET_ROOT}/${gluegen.basename}/${env.NODE_LABEL}/make/${results}/ ${results}/ "'/>
+ adb -s ${env.TARGET_IP}:${env.TARGET_ADB_PORT} push ${build_t}/targetcommand.sh ${env.TARGET_ROOT}/gluegen-targetcommand.sh ;
+ adb -s ${env.TARGET_IP}:${env.TARGET_ADB_PORT} shell su -c ${env.TARGET_ROOT}/gluegen-targetcommand.sh ;
+ adb -s ${env.TARGET_IP}:${env.TARGET_ADB_PORT} pull ${env.TARGET_ROOT}/${gluegen.basename}/${env.NODE_LABEL}/make/${results}/ ${results}/ "'/>
</exec>
</target>
diff --git a/make/lib/gluegen-cpptasks-android-armv7.xml b/make/lib/gluegen-cpptasks-android-armv7.xml
index 7d80860..5004273 100644
--- a/make/lib/gluegen-cpptasks-android-armv7.xml
+++ b/make/lib/gluegen-cpptasks-android-armv7.xml
@@ -13,7 +13,7 @@
Example: gluegen/make/make.gluegen.all.linux-x86.sh
-->
-<project name="GlueGen-cpptasks" basedir="." >
+<project name="GlueGen-cpptasks-android-armv7" basedir="." >
<import file="../gluegen-cpptasks-base.xml" optional="false" />
@@ -30,8 +30,10 @@
<compilerarg value="-ffunction-sections" />
<compilerarg value="-funwind-tables" />
<compilerarg value="-fstack-protector" />
+ <compilerarg value="-fpic" />
<compilerarg value="-march=armv7-a" />
+ <!--compilerarg value="-march=armv5te" /-->
<compilerarg value="-mtune=xscale" />
<compilerarg value="-msoft-float" />
@@ -48,6 +50,7 @@
<compilerarg value="-Wa,--noexecstack" />
<includepath path="${env.NDK_TOOLCHAIN_ROOT}/lib/gcc/${env.TARGET_TRIPLE}/${env.GCC_VERSION}/include" /> <!-- for stdarg.h -->
<defineset>
+ <define name="__unix__" />
<define name="__ARM_ARCH_5__" />
<define name="__ARM_ARCH_5T__" />
<define name="__ARM_ARCH_5E__" />
@@ -61,6 +64,16 @@
<linker id="linker.cfg.android" name="gcc">
<linkerarg value="--sysroot=${env.TARGET_PLATFORM_ROOT}" />
+ <linkerarg value="-fpic" />
+
+ <linkerarg value="-march=armv7-a" />
+ <!--linkerarg value="-march=armv5te" /-->
+
+ <linkerarg value="-nostdlib" />
+ <linkerarg value="-Bdynamic" />
+ <linkerarg value="-Wl,-dynamic-linker,/system/bin/linker" />
+ <linkerarg value="-Wl,-z,nocopyreloc" />
+
<linkerarg value="--demangle" />
<linkerarg value="--gc-sections" />
<linkerarg value="--no-undefined" />
@@ -70,7 +83,7 @@
enforce that libgcc is linked after source files but before other shared
libraries. -->
<libset dir="${env.NDK_TOOLCHAIN_ROOT}/lib/gcc/${env.TARGET_TRIPLE}/${env.GCC_VERSION}/armv7-a" libs="gcc" />
- <libset libs="c,m" />
+ <libset libs="c,m,dl" />
</linker>
</target>
diff --git a/make/scripts/make.gluegen.all.android-armv7-cross.sh b/make/scripts/make.gluegen.all.android-armv7-cross.sh
index 7d27d6f..e7146f4 100755
--- a/make/scripts/make.gluegen.all.android-armv7-cross.sh
+++ b/make/scripts/make.gluegen.all.android-armv7-cross.sh
@@ -1,12 +1,18 @@
#! /bin/sh
-export HOST_UID=sven
-export HOST_IP=192.168.0.52
+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=beagle01
-export TARGET_ROOT=/projects
+#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=9