diff options
author | Sven Gothel <[email protected]> | 2014-06-19 23:21:19 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2014-06-19 23:21:19 +0200 |
commit | 40d7d0d18ed11b8dbb0f16137f82eef828b822a4 (patch) | |
tree | 954cb10ac50d0eea506c4b4b9dc5b5bac39d99e0 /make/build-common.xml | |
parent | 20bf51f2ccbecf1ab21ef3dbd2ff06e04ebd40cc (diff) |
Bug 1021: Add OculusSDK binding / Basic OVR support
Bring-up test only initializes the ovrHmdHandle
data structure by OVR native code.
See com.jogamp.oculusvr.OVRVersion
Current evaluation build compiles all OVR-SDK source
files itself w/o using provided libovr.a.
We also skip the GL dependent renderer of the SDK,
i.e. we prefer to utilize our JOGL 'barrel distortion' renderer.
This eases the 'chicken-egg' problem of OVR SDK dependencies,
i.e. libGL, libGLESv2 .. etc
Since the OVR source code is C++, we may still have to figure out
how to / and whether we shall link libstdc++ statically
to remove platform dependencies.
Right now we link libstdc++ statically if using GCC,
see make/build-oculusvr.xml (hackish .. TODO: better way to include all symbols).
Same consideration applies to GNU/Linux and libudev.so dependency,
since there are:
- libudev.so.0 and (Older distri's)
- libudev.so.1 (Debian8, ..)
...
Produced JAR artifacts are
- jar/atomic/oculusvr.jar
- jar/atomic/oculusvr-natives-<os.and.arch>.jar
i.e. only in 'atomic' variants to not bloat the default 'all' JAR files.
....
make/build-oculusvr.xml Notes:
- Currently native build only enabled on GNU/Linux (isLinux)
- Force disable native build via property 'c.build.oculusvr.skip'
Diffstat (limited to 'make/build-common.xml')
-rw-r--r-- | make/build-common.xml | 41 |
1 files changed, 30 insertions, 11 deletions
diff --git a/make/build-common.xml b/make/build-common.xml index c62e269a8..5a6d9c061 100644 --- a/make/build-common.xml +++ b/make/build-common.xml @@ -55,6 +55,7 @@ <property name="src" value="${project.root}/src" /> <property name="lib" value="${build}/lib" /> <property name="jar" value="${build}/jar" /> + <property name="jar-atomic" value="${build}/jar/atomic" /> <property name="all.srcj.path" value="${src}/nativewindow/classes;${src}/jogl/classes;${src}/newt/classes" /> <!-- No generated classes for Newt at the present time --> @@ -228,9 +229,14 @@ <property name="build.newt" value="${build}/newt" /> <property name="obj.newt" value="${build.newt}/obj"/> - <property name="results.test" value="${build}/test/results" /> - <property name="build.test" value="${build}/test/build" /> - <property name="obj.test" value="${build.test}/obj"/> + <property name="oculusvr.make" value="." /> + <property name="oculusvr.build.xml" value="${oculusvr.make}/build-oculusvr.xml" /> + <property name="build.oculusvr" value="${build}/oculusvr" /> + <property name="obj.oculusvr" value="${build.oculusvr}/obj"/> + + <property name="results.test" value="${build}/test/results" /> + <property name="build.test" value="${build}/test/build" /> + <property name="obj.test" value="${build.test}/obj"/> <condition property="obj.custom" value="${custom.libdir}${path.separator}" else=""> <isset property="custom.libdir"/> @@ -238,11 +244,14 @@ <property name="obj.all.paths" value="${obj.custom}${obj.gluegen}${path.separator}${obj.nativewindow}${path.separator}${obj.jogl}${path.separator}${obj.newt}${path.separator}${obj.test}" /> + <!-- Add the GlueGen task to ANT --> <path id="gluegen.classpath"> <pathelement location="${gluegen.jar}" /> <pathelement location="${antlr.jar}" /> </path> - + <taskdef name="gluegen" classname="com.jogamp.gluegen.ant.GlueGenTask" + classpathref="gluegen.classpath" /> + <property name="gluegen-gl.jar" value="${build.jogl}/gluegen-gl.jar" /> <path id="gluegen-gl.classpath"> @@ -410,6 +419,11 @@ <pathelement location="${newt-driver-android.jar}" /> </path> + <property name="oculusvr.jar" value="${jar-atomic}/oculusvr.jar" /> + <path id="oculusvr_all_atoms.classpath"> + <pathelement location="${oculusvr.jar}" /> + </path> + <!-- JavaSE combinations --> <property name="gluegen-rt.jar" value="${build.gluegen}/gluegen-rt.jar" /> <property name="gluegen-rt-android.jar" value="${build.gluegen}/gluegen-rt-android.jar" /> @@ -492,6 +506,7 @@ <path refid="nativewindow_all_atoms.classpath" /> <path refid="jogl_all_atoms.classpath" /> <path refid="newt_all_atoms.classpath" /> + <path refid="oculusvr_all_atoms.classpath"/> </path> <path id="junit_jogl_newt_android.compile.classpath"> @@ -528,11 +543,12 @@ <pathelement location="${gluegen-rt.jar}" /> <pathelement location="${gluegen-test-util.jar}" /> <pathelement location="${jogl-all.jar}" /> + <pathelement location="${oculusvr.jar}" /> <pathelement location="${jogl-test.jar}" /> </path> <property name="junit_jogl_awt.run.jars" - value="${junit.jar}${path.separator}${ant.jar}${path.separator}${ant-junit.jar}${path.separator}${ant-junit4.jar}${path.separator}${semver.jar}${path.separator}${gluegen-rt.jar}${path.separator}${gluegen-test-util.jar}${path.separator}${jogl-all.jar}${path.separator}${jogl-test.jar}"/> - <property name="junit_jogl_awt.run.remote.jars" value="${junit.jar}${path.separator}${env.TARGET_ANT_HOME}/lib/ant.jar${path.separator}${env.TARGET_ANT_HOME}/lib/ant-junit.jar${path.separator}${env.TARGET_ANT_HOME}/lib/ant-junit4.jar${path.separator}${semver.jar}${path.separator}${gluegen-rt.jar}${path.separator}${gluegen-test-util.jar}${path.separator}${jogl-all.jar}${path.separator}${jogl-test.jar}"/> + value="${junit.jar}${path.separator}${ant.jar}${path.separator}${ant-junit.jar}${path.separator}${ant-junit4.jar}${path.separator}${semver.jar}${path.separator}${gluegen-rt.jar}${path.separator}${gluegen-test-util.jar}${path.separator}${jogl-all.jar}${path.separator}${oculusvr.jar}${path.separator}${jogl-test.jar}"/> + <property name="junit_jogl_awt.run.remote.jars" value="${junit.jar}${path.separator}${env.TARGET_ANT_HOME}/lib/ant.jar${path.separator}${env.TARGET_ANT_HOME}/lib/ant-junit.jar${path.separator}${env.TARGET_ANT_HOME}/lib/ant-junit4.jar${path.separator}${semver.jar}${path.separator}${gluegen-rt.jar}${path.separator}${gluegen-test-util.jar}${path.separator}${jogl-all.jar}${path.separator}${oculusvr.jar}${path.separator}${jogl-test.jar}"/> <!-- Test Run w/o AWT .. --> <path id="junit_jogl_noawt.run.classpath"> @@ -544,11 +560,12 @@ <pathelement location="${gluegen-rt.jar}" /> <pathelement location="${gluegen-test-util.jar}" /> <pathelement location="${jogl-all-noawt.jar}" /> + <pathelement location="${oculusvr.jar}" /> <pathelement location="${jogl-test.jar}" /> </path> <property name="junit_jogl_noawt.run.jars" - value="${junit.jar}${path.separator}${ant.jar}${path.separator}${ant-junit.jar}${path.separator}${ant-junit4.jar}${path.separator}${semver.jar}${path.separator}${gluegen-rt.jar}${path.separator}${gluegen-test-util.jar}${path.separator}${jogl-all-noawt.jar}${path.separator}${jogl-test.jar}"/> - <property name="junit_jogl_noawt.run.remote.jars" value="${junit.jar}${path.separator}${env.TARGET_ANT_HOME}/lib/ant.jar${path.separator}${env.TARGET_ANT_HOME}/lib/ant-junit.jar${path.separator}${env.TARGET_ANT_HOME}/lib/ant-junit4.jar${path.separator}${semver.jar}${path.separator}${gluegen-rt.jar}${path.separator}${gluegen-test-util.jar}${path.separator}${jogl-all-noawt.jar}${path.separator}${jogl-test.jar}"/> + value="${junit.jar}${path.separator}${ant.jar}${path.separator}${ant-junit.jar}${path.separator}${ant-junit4.jar}${path.separator}${semver.jar}${path.separator}${gluegen-rt.jar}${path.separator}${gluegen-test-util.jar}${path.separator}${jogl-all-noawt.jar}${path.separator}${oculusvr.jar}${path.separator}${jogl-test.jar}"/> + <property name="junit_jogl_noawt.run.remote.jars" value="${junit.jar}${path.separator}${env.TARGET_ANT_HOME}/lib/ant.jar${path.separator}${env.TARGET_ANT_HOME}/lib/ant-junit.jar${path.separator}${env.TARGET_ANT_HOME}/lib/ant-junit4.jar${path.separator}${semver.jar}${path.separator}${gluegen-rt.jar}${path.separator}${gluegen-test-util.jar}${path.separator}${jogl-all-noawt.jar}${path.separator}${oculusvr.jar}${path.separator}${jogl-test.jar}"/> <!-- Test Run w/ SWT .. --> <path id="junit_jogl_swt.run.classpath"> @@ -561,10 +578,11 @@ <pathelement location="${gluegen-test-util.jar}" /> <pathelement location="${swt.jar}" /> <pathelement location="${jogl-all.jar}" /> + <pathelement location="${oculusvr.jar}" /> <pathelement location="${jogl-test.jar}" /> </path> <property name="junit_jogl_swt.run.jars" - value="${junit.jar}${path.separator}${ant.jar}${path.separator}${ant-junit.jar}${path.separator}${ant-junit4.jar}${path.separator}${semver.jar}${path.separator}${gluegen-rt.jar}${path.separator}${gluegen-test-util.jar}${path.separator}${swt.jar}${path.separator}${jogl-all.jar}${path.separator}${jogl-test.jar}"/> + value="${junit.jar}${path.separator}${ant.jar}${path.separator}${ant-junit.jar}${path.separator}${ant-junit4.jar}${path.separator}${semver.jar}${path.separator}${gluegen-rt.jar}${path.separator}${gluegen-test-util.jar}${path.separator}${swt.jar}${path.separator}${jogl-all.jar}${path.separator}${oculusvr.jar}${path.separator}${jogl-test.jar}"/> <!-- Test Run w/ Android [w/o AWT] .. --> <path id="junit_jogl_android.run.classpath"> @@ -577,12 +595,13 @@ <pathelement location="${gluegen-rt-android.jar}" /> <pathelement location="${gluegen-test-util.jar}" /> <pathelement location="${jogl-all-android.jar}" /> + <pathelement location="${oculusvr.jar}" /> <pathelement location="${jogl-test.jar}" /> </path> <property name="junit_jogl_android.run.jars" - value="${junit.jar}${path.separator}${ant.jar}${path.separator}${ant-junit.jar}${path.separator}${ant-junit4.jar}${path.separator}${semver.jar}${path.separator}${gluegen-rt-android.jar}${path.separator}${gluegen-test-util.jar}${path.separator}${jogl-all-android.jar}${path.separator}${jogl-test.jar}"/> + value="${junit.jar}${path.separator}${ant.jar}${path.separator}${ant-junit.jar}${path.separator}${ant-junit4.jar}${path.separator}${semver.jar}${path.separator}${gluegen-rt-android.jar}${path.separator}${gluegen-test-util.jar}${path.separator}${jogl-all-android.jar}${path.separator}${oculusvr.jar}${path.separator}${jogl-test.jar}"/> <property name="junit.run.remote.apks" - value="${gluegen.root}/${rootrel.build}/jogamp.android-launcher.apk${path.separator}${ant-junit-all.apk}${path.separator}${gluegen.root}/${rootrel.build}/gluegen-rt-android-${android.abi}.apk${path.separator}${jogl-all-android.apk}${path.separator}${jogl-test.apk}"/> + value="${gluegen.root}/${rootrel.build}/jogamp.android-launcher.apk${path.separator}${ant-junit-all.apk}${path.separator}${gluegen.root}/${rootrel.build}/gluegen-rt-android-${android.abi}.apk${path.separator}${jogl-all-android.apk}${path.separator}${oculusvr.jar}${path.separator}${jogl-test.apk}"/> <!-- Dummy extra CLASSPATH value, maybe overwritten --> <property name="junit_extra_classpath" value=""/> |