aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--build.xml23
-rw-r--r--nbproject/project.properties1
-rw-r--r--resources/android/AndroidManifest-jocl.xml17
-rw-r--r--resources/android/res-jocl/drawable-hdpi/icon.pngbin0 -> 2516 bytes
-rw-r--r--resources/android/res-jocl/drawable-ldpi/icon.pngbin0 -> 1172 bytes
-rw-r--r--resources/android/res-jocl/drawable-mdpi/icon.pngbin0 -> 1570 bytes
-rw-r--r--resources/android/res-jocl/layout/main.xml12
-rw-r--r--resources/android/res-jocl/values/strings.xml8
-rwxr-xr-xscripts/make.jocl.all.android-armv7-cross.sh92
9 files changed, 149 insertions, 4 deletions
diff --git a/build.xml b/build.xml
index 2fa7263c..e63fee49 100644
--- a/build.xml
+++ b/build.xml
@@ -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
new file mode 100644
index 00000000..2148232c
--- /dev/null
+++ b/resources/android/res-jocl/drawable-hdpi/icon.png
Binary files differ
diff --git a/resources/android/res-jocl/drawable-ldpi/icon.png b/resources/android/res-jocl/drawable-ldpi/icon.png
new file mode 100644
index 00000000..c16211f3
--- /dev/null
+++ b/resources/android/res-jocl/drawable-ldpi/icon.png
Binary files differ
diff --git a/resources/android/res-jocl/drawable-mdpi/icon.png b/resources/android/res-jocl/drawable-mdpi/icon.png
new file mode 100644
index 00000000..1c26e3f8
--- /dev/null
+++ b/resources/android/res-jocl/drawable-mdpi/icon.png
Binary files differ
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
+