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.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.xml')
-rw-r--r-- | make/build.xml | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/make/build.xml b/make/build.xml index a7ba217fb..b356e2a1f 100644 --- a/make/build.xml +++ b/make/build.xml @@ -8,13 +8,13 @@ - Main build target. --> - <target name="all" description="Build nativewindow, jogl and newt projects, incl. all junit tests " depends="init,build.nativewindow,build.jogl,build.newt,one.dir,tag.build,test.compile,developer-zip-archive" /> + <target name="all" description="Build nativewindow, jogl and newt projects, incl. all junit tests " depends="init,build.nativewindow,build.jogl,build.newt,build.oculusvr,one.dir,tag.build,test.compile,developer-zip-archive" /> - <target name="all.debug" description="Debug build nativewindow, jogl and newt projects, incl. all junit tests " depends="init.debug,build.nativewindow,build.jogl,build.newt,one.dir,tag.build,test.compile,developer-zip-archive" /> + <target name="all.debug" description="Debug build nativewindow, jogl and newt projects, incl. all junit tests " depends="init.debug,build.nativewindow,build.jogl,build.newt,build.oculusvr,one.dir,tag.build,test.compile,developer-zip-archive" /> - <target name="all.but-archives" description="Build nativewindow, jogl and newt projects, incl. all junit tests " depends="init,build.nativewindow,build.jogl,build.newt,one.dir,tag.build,test.compile" /> + <target name="all.but-archives" description="Build nativewindow, jogl and newt projects, incl. all junit tests " depends="init,build.nativewindow,build.jogl,build.newt,build.oculusvr,one.dir,tag.build,test.compile" /> - <target name="all.ide" description="Debug IDE build nativewindow, jogl and newt projects, including all junit tests, but don't tag the build or create archives" depends="init.debug,build.nativewindow,build.jogl,build.newt,one.dir,test.compile" /> + <target name="all.ide" description="Debug IDE build nativewindow, jogl and newt projects, including all junit tests, but don't tag the build or create archives" depends="init.debug,build.nativewindow,build.jogl,build.newt,build.oculusvr,one.dir,test.compile" /> <target name="test.compile"> <ant antfile="build-test.xml" target="test.compile" inheritRefs="true" inheritAll="true"/> @@ -47,10 +47,10 @@ <target name="clean" depends="init"> <ant antfile="${nativewindow.build.xml}" dir="${nativewindow.make}" target="clean" inheritRefs="true" inheritAll="true"/> - <ant antfile="${jogl.build.xml}" dir="${jogl.make}" target="clean" inheritRefs="true" inheritAll="true"/> - <ant antfile="${newt.build.xml}" dir="${newt.make}" target="clean" inheritRefs="true" inheritAll="true"/> - <ant antfile="${newt.build.xml}" dir="${newt.make}" target="clean" inheritRefs="true" inheritAll="true"/> - <ant antfile="build-test.xml" target="clean" inheritRefs="true" inheritAll="true"/> + <ant antfile="${jogl.build.xml}" dir="${jogl.make}" target="clean" inheritRefs="true" inheritAll="true"/> + <ant antfile="${newt.build.xml}" dir="${newt.make}" target="clean" inheritRefs="true" inheritAll="true"/> + <ant antfile="${oculusvr.build.xml}" dir="${oculusvr.make}" target="clean" inheritRefs="true" inheritAll="true"/> + <ant antfile="build-test.xml" target="clean" inheritRefs="true" inheritAll="true"/> <delete includeEmptyDirs="true" quiet="true" failonerror="false"> <fileset dir="${build}" /> <fileset dir="." includes="*.tga" /> @@ -79,12 +79,17 @@ <ant antfile="${newt.build.xml}" dir="${newt.make}" target="all" inheritRefs="true" inheritAll="true"/> </target> + <target name="build.oculusvr" depends="init"> + <ant antfile="${oculusvr.build.xml}" dir="${oculusvr.make}" target="all" inheritRefs="true" inheritAll="true"/> + </target> + <target name="one.lib.dir" depends="init,gluegen.cpptasks.detect.os" unless="one.dir.skip"> <mkdir dir="${lib}" /> <copy todir="${lib}"> <fileset dir="${build}/jogl/obj" includes="*.${native.library.suffix}" /> <fileset dir="${build}/nativewindow/obj" includes="*.${native.library.suffix}" /> <fileset dir="${build}/newt/obj" includes="*.${native.library.suffix}" /> + <!-- fileset dir="${build}/oculusvr/obj" includes="*.${native.library.suffix}" /--> </copy> </target> @@ -95,6 +100,7 @@ <fileset dir="${build.jogl}" includes="*.jar" /> <fileset dir="${build.nativewindow}" includes="*.jar" /> <fileset dir="${build.newt}" includes="*.jar" /> + <fileset dir="${build.oculusvr}" includes="*.jar" /> </copy> <copy file="joglversion-all" @@ -130,6 +136,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"/--> </zips> </archives> </jar> @@ -139,6 +146,7 @@ <path refid="nativewindow_all-noawt_atoms.classpath"/> <path refid="jogl_all-noawt_atoms.classpath"/> <path refid="newt_all-noawt_atoms.classpath"/> + <!-- path refid="oculusvr_all_atoms.classpath"/--> </zips> </archives> </jar> @@ -148,6 +156,7 @@ <path refid="nativewindow_all-noawt_atoms.classpath"/> <path refid="jogl_all-mobile_atoms.classpath"/> <path refid="newt_all-mobile_atoms.classpath"/> + <!-- path refid="oculusvr_all_atoms.classpath"/--> </zips> </archives> </jar> @@ -196,11 +205,15 @@ <srcfiles dir="${build.jogl}" includes="*.jar"/> <srcfiles dir="${build.newt}" includes="*.jar"/> </uptodate> + <uptodate property="one.dir.skip.oculusvr" targetfile="${oculusvr.jar}"> + <srcfiles dir="${build.oculusvr}" includes="*.jar"/> + </uptodate> <condition property="one.dir.skip"> <and> <isset property="one.dir.skip.native"/> <isset property="one.dir.skip.all"/> <isset property="one.dir.skip.android"/> + <isset property="one.dir.skip.oculusvr"/> </and> </condition> </target> |