diff options
-rw-r--r-- | build.xml | 23 | ||||
-rw-r--r-- | nbproject/project.properties | 1 | ||||
-rw-r--r-- | resources/android/AndroidManifest-jocl.xml | 17 | ||||
-rw-r--r-- | resources/android/res-jocl/drawable-hdpi/icon.png | bin | 0 -> 2516 bytes | |||
-rw-r--r-- | resources/android/res-jocl/drawable-ldpi/icon.png | bin | 0 -> 1172 bytes | |||
-rw-r--r-- | resources/android/res-jocl/drawable-mdpi/icon.png | bin | 0 -> 1570 bytes | |||
-rw-r--r-- | resources/android/res-jocl/layout/main.xml | 12 | ||||
-rw-r--r-- | resources/android/res-jocl/values/strings.xml | 8 | ||||
-rwxr-xr-x | scripts/make.jocl.all.android-armv7-cross.sh | 92 |
9 files changed, 149 insertions, 4 deletions
@@ -29,6 +29,7 @@ <import file="${gluegen.root}/make/gluegen-cpptasks.xml" /> <import file="${gluegen.root}/make/jogamp-env.xml" /> <import file="${gluegen.root}/make/jogamp-archivetasks.xml" /> + <import file="${gluegen.root}/make/jogamp-androidtasks.xml" /> <condition property="build.archiveon" value="true"> <isset property="c.dont.compile"/> @@ -43,7 +44,8 @@ <!-- -post-init is after all properties are imported --> <target name="-post-init" depends="jogamp.env.init,gluegen.cpptasks.detect.os"> - <property name="jocl.version" value="${jocl_base_version}-b${jocl.build.number}-${version.timestamp}" /> + <property name="jocl.version" value="${jocl_base_version}-b${jocl.build.number}-${version.timestamp}" /> + <property name="jocl.version.plus" value="${jocl_base_version}-${jocl.build.branch}-b${jocl.build.number}-${jocl.build.commit}-${version.timestamp}" /> <property name="dist.zip.name" value="jocl-${jocl.version}-${os.and.arch}"/> </target> @@ -282,7 +284,7 @@ </target> - <target name="-post-jar" depends="jar.natives,tag.build,package-dist,archive-dist"/> + <target name="-post-jar" depends="jar.natives,android.package,tag.build,package-dist,archive-dist"/> <target name="package-dist"> <!-- don't know how to get rid of the NetBeans readme file --> @@ -315,7 +317,7 @@ <!-- jars and jared natives --> <copy todir="${dist.dir}/tmp/${dist.zip.name}/jar" flatten="true"> - <fileset dir="${dist.dir}" includes="jocl.jar,jocl-natives-*.jar"/> + <fileset dir="${dist.dir}" includes="jocl.jar,jocl*.apk,jocl-natives-*.jar"/> </copy> <copy todir="${dist.dir}/tmp/${dist.zip.name}/jnlp-files"> <fileset dir="." includes="*.jnlp"/> @@ -351,9 +353,22 @@ <jar basedir="${natives.jocl.dir}/${namespace}" excludes="*.xml" destfile="${dist.jar.dir}/jocl-natives-${os.and.arch}.jar" manifest="${rootrel.build}/manifest.mf" /> - </target> + <target name="android.package" if="isAndroid"> + <aapt.signed + jarsrcdir="${src.java}" + jarbuilddir="${dist.jar.dir}" + jarbasename="jocl" + nativebuilddir="${natives.jocl.dir}/${namespace}" + nativebasename="" + android.abi="${android.abi}" + androidmanifest.path="resources/android/AndroidManifest-jocl.xml" + androidresources.path="resources/android/res-jocl" + jarmanifest.path="${rootrel.build}/manifest.mf" + version.code="${jocl_int_version}" + version.name="${jocl.version.plus}" /> + </target> <target name="c.compile.default" depends="gluegen.cpptasks.detect.os, gluegen.cpptasks.detect.compiler, jocl.c.compile, c.rename.lib.mingw" /> diff --git a/nbproject/project.properties b/nbproject/project.properties index f446db9b..6ad9ee02 100644 --- a/nbproject/project.properties +++ b/nbproject/project.properties @@ -99,6 +99,7 @@ jar.classpath= #the jocl version you are building jocl_base_version=0.9 +jocl_int_version=0 #force enable jdk7 features #enable.jdk7.features=true diff --git a/resources/android/AndroidManifest-jocl.xml b/resources/android/AndroidManifest-jocl.xml new file mode 100644 index 00000000..e02ee3da --- /dev/null +++ b/resources/android/AndroidManifest-jocl.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + sharedUserId="com.jogamp.Community" + package="com.jogamp.opencl"> + + <uses-sdk android:minSdkVersion="9" /> + <uses-library android:name="com.jogamp.common" android:required="true" /> + <uses-library android:name="javax.media.opengl" android:required="true" /> + + <application android:icon="@drawable/icon" + android:label="@string/app_name" + android:description="@string/app_descr" + android:persistent="false" + > + </application> + +</manifest> diff --git a/resources/android/res-jocl/drawable-hdpi/icon.png b/resources/android/res-jocl/drawable-hdpi/icon.png Binary files differnew file mode 100644 index 00000000..2148232c --- /dev/null +++ b/resources/android/res-jocl/drawable-hdpi/icon.png diff --git a/resources/android/res-jocl/drawable-ldpi/icon.png b/resources/android/res-jocl/drawable-ldpi/icon.png Binary files differnew file mode 100644 index 00000000..c16211f3 --- /dev/null +++ b/resources/android/res-jocl/drawable-ldpi/icon.png diff --git a/resources/android/res-jocl/drawable-mdpi/icon.png b/resources/android/res-jocl/drawable-mdpi/icon.png Binary files differnew file mode 100644 index 00000000..1c26e3f8 --- /dev/null +++ b/resources/android/res-jocl/drawable-mdpi/icon.png diff --git a/resources/android/res-jocl/layout/main.xml b/resources/android/res-jocl/layout/main.xml new file mode 100644 index 00000000..3a5f117d --- /dev/null +++ b/resources/android/res-jocl/layout/main.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + > +<TextView + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="@string/hello" + /> +</LinearLayout> diff --git a/resources/android/res-jocl/values/strings.xml b/resources/android/res-jocl/values/strings.xml new file mode 100644 index 00000000..24038557 --- /dev/null +++ b/resources/android/res-jocl/values/strings.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <string name="hello">Jocl Library</string> + <string name="app_name">JogAmp\'s Jocl Library</string> + <string name="app_descr">Contains Dalvik and native code, supporting native bindings.</string> + <string name="activity_v_name">Jocl</string> + <string name="activity_v_descr">The Jocl Library.</string> +</resources> diff --git a/scripts/make.jocl.all.android-armv7-cross.sh b/scripts/make.jocl.all.android-armv7-cross.sh new file mode 100755 index 00000000..300627f1 --- /dev/null +++ b/scripts/make.jocl.all.android-armv7-cross.sh @@ -0,0 +1,92 @@ +#! /bin/sh + +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=panda02 +#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 + +echo ANDROID_SDK_HOME $ANDROID_SDK_HOME +echo NDK_ROOT $NDK_ROOT + +if [ -z "$NDK_ROOT" ] ; then + # + # Generic android-ndk + # + if [ -e /usr/local/android-ndk ] ; then + NDK_ROOT=/usr/local/android-ndk + elif [ -e /opt-linux-x86/android-ndk ] ; then + NDK_ROOT=/opt-linux-x86/android-ndk + elif [ -e /opt/android-ndk ] ; then + NDK_ROOT=/opt/android-ndk + # + # Specific android-ndk-r7b + # + elif [ -e /usr/local/android-ndk-r7b ] ; then + NDK_ROOT=/usr/local/android-ndk-r7b + elif [ -e /opt-linux-x86/android-ndk-r7b ] ; then + NDK_ROOT=/opt-linux-x86/android-ndk-r7b + elif [ -e /opt/android-ndk-r7b ] ; then + NDK_ROOT=/opt/android-ndk-r7b + else + echo NDK_ROOT is not specified and does not exist in default locations + exit 1 + fi +elif [ ! -e $NDK_ROOT ] ; then + echo NDK_ROOT $NDK_ROOT does not exist + exit 1 +fi +export NDK_ROOT + +if [ -z "$ANDROID_SDK_HOME" ] ; then + if [ -e /usr/local/android-sdk-linux_x86 ] ; then + ANDROID_SDK_HOME=/usr/local/android-sdk-linux_x86 + elif [ -e /opt-linux-x86/android-sdk-linux_x86 ] ; then + ANDROID_SDK_HOME=/opt-linux-x86/android-sdk-linux_x86 + elif [ -e /opt/android-sdk-linux_x86 ] ; then + ANDROID_SDK_HOME=/opt/android-sdk-linux_x86 + else + echo ANDROID_SDK_HOME is not specified and does not exist in default locations + exit 1 + fi +elif [ ! -e $ANDROID_SDK_HOME ] ; then + echo ANDROID_SDK_HOME $ANDROID_SDK_HOME does not exist + exit 1 +fi +export ANDROID_SDK_HOME + +export ANDROID_VERSION=9 +export SOURCE_LEVEL=1.6 +export TARGET_LEVEL=1.6 +export TARGET_RT_JAR=/opt-share/jre1.6.0_30/lib/rt.jar + +export GCC_VERSION=4.4.3 +HOST_ARCH=linux-x86 +export TARGET_TRIPLE=arm-linux-androideabi + +export NDK_TOOLCHAIN_ROOT=$NDK_ROOT/toolchains/${TARGET_TRIPLE}-${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_TRIPLE/bin:$ANDROID_SDK_HOME/platform-tools:$PATH" + +export GLUEGEN_CPPTASKS_FILE=`pwd`/../gluegen/make/lib/gluegen-cpptasks-android-armv7.xml + +#export JUNIT_DISABLED="true" +#export JUNIT_RUN_ARG0="-Dnewt.test.Screen.disableScreenMode" + +# BUILD_ARCHIVE=true \ +ant \ + -Drootrel.build=build-android-armv7 \ + $* 2>&1 | tee -a make.jocl.all.android-armv7-cross.log + |