diff options
author | Sven Gothel <[email protected]> | 2012-03-07 02:19:56 +0100 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2012-03-07 02:19:56 +0100 |
commit | f303bc43437e2fa6ccc8d3f8facd2e5dc7c55069 (patch) | |
tree | 595326e29a91a905f876091897f96dabb7a1cdac /make | |
parent | eb68551873f47261a812e81427fc4ba7e55b197a (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.xml | 22 | ||||
-rw-r--r-- | make/lib/gluegen-cpptasks-android-armv7.xml | 17 | ||||
-rwxr-xr-x | make/scripts/make.gluegen.all.android-armv7-cross.sh | 14 |
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 |