aboutsummaryrefslogtreecommitdiffstats
path: root/make/build-jogl.xml
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2014-02-23 14:51:06 +0100
committerSven Gothel <[email protected]>2014-02-23 14:51:06 +0100
commit3352601e0860584509adf2b76f993d03893ded4b (patch)
tree974fccc8c0eb2f5ad9d4ffd741dfc35869ed67b5 /make/build-jogl.xml
parentf51933f0ebe9ae030c26c066e59a728ce08b8559 (diff)
parentc67de337a8aaf52e36104c3f13e273aa19d21f1f (diff)
Merge branch 'master' into stash_glyphcache
Conflicts: make/scripts/tests.sh src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java src/jogl/classes/com/jogamp/graph/curve/Region.java src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java src/jogl/classes/com/jogamp/graph/curve/opengl/Renderer.java src/jogl/classes/com/jogamp/graph/curve/opengl/TextRenderer.java src/jogl/classes/com/jogamp/graph/font/Font.java src/jogl/classes/com/jogamp/opengl/math/VectorUtil.java src/jogl/classes/jogamp/graph/curve/text/GlyphShape.java src/jogl/classes/jogamp/graph/curve/text/GlyphString.java src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java src/jogl/classes/jogamp/graph/font/typecast/TypecastRenderer.java
Diffstat (limited to 'make/build-jogl.xml')
-rw-r--r--make/build-jogl.xml579
1 files changed, 375 insertions, 204 deletions
diff --git a/make/build-jogl.xml b/make/build-jogl.xml
index f80efdfc7..4cdb93f4d 100644
--- a/make/build-jogl.xml
+++ b/make/build-jogl.xml
@@ -88,9 +88,12 @@
<property name="java.part.gluegen-gl-rt"
value="com/jogamp/gluegen/runtime/opengl/*"/>
+ <property name="java.part.core.util"
+ value="com/jogamp/opengl/util/* jogamp/opengl/util/* com/jogamp/opengl/util/glsl/* jogamp/opengl/util/glsl/* jogamp/opengl/shader/**"/>
+
<property name="java.part.core"
- value="${java.part.gluegen-gl-rt} javax/media/opengl/* javax/media/opengl/fixedfunc/* javax/media/opengl/glu/* javax/media/opengl/glu/gl2es1/* com/jogamp/opengl/* jogamp/opengl/* jogamp/opengl/glu/* jogamp/opengl/glu/error/*"/>
- <property name="java.part.core.exclude" value="javax/media/opengl/Debug* javax/media/opengl/Trace*"/>
+ value="${java.part.gluegen-gl-rt} javax/media/opengl/* javax/media/opengl/fixedfunc/* com/jogamp/opengl/* com/jogamp/opengl/math/** jogamp/opengl/* ${java.part.core.util}"/>
+ <property name="java.part.core.exclude" value="javax/media/opengl/Debug* javax/media/opengl/Trace* com/jogamp/opengl/util/AWTAnimatorImpl*"/>
<property name="java.part.nv-cg"
value="com/jogamp/opengl/cg com/jogamp/opengl/cg/* jogamp/opengl/cg/*"/>
@@ -98,13 +101,10 @@
<property name="java.part.egl"
value="jogamp/opengl/egl/*"/>
- <property name="java.part.glutess"
- value="jogamp/opengl/glu/tessellator/**"/>
-
- <property name="java.part.glumipmap"
- value="jogamp/opengl/glu/mipmap/**"/>
+ <property name="java.part.glu"
+ value="javax/media/opengl/glu/* javax/media/opengl/glu/gl2es1/* jogamp/opengl/glu/* jogamp/opengl/glu/error/* jogamp/opengl/glu/tessellator/** jogamp/opengl/glu/mipmap/**"/>
- <property name="java.part.glugldesktop"
+ <property name="java.part.glu.gldesktop"
value="jogamp/opengl/glu/gl2/** jogamp/opengl/glu/nurbs/** jogamp/opengl/glu/registry/** javax/media/opengl/glu/gl2/**"/>
<property name="java.part.openmax"
@@ -125,41 +125,44 @@
<property name="java.part.android"
value="jogamp/opengl/android/**"/>
+ <property name="java.part.openal"
+ value="jogamp/opengl/openal/**"/>
+
<property name="java.part.gldesktop"
value="jogamp/opengl/**/gl2/** jogamp/opengl/**/gl3/** jogamp/opengl/**/gl4/**"/>
<property name="java.part.gldesktop.dbg"
- value="javax/media/opengl/TraceGL2.* javax/media/opengl/DebugGL2.* javax/media/opengl/TraceGL2GL3.* javax/media/opengl/DebugGL2GL3.* javax/media/opengl/TraceGL3.* javax/media/opengl/DebugGL3.* javax/media/opengl/TraceGL3bc.* javax/media/opengl/DebugGL3bc.* javax/media/opengl/TraceGL4.* javax/media/opengl/DebugGL4.* javax/media/opengl/TraceGL4bc.* javax/media/opengl/DebugGL4bc.*"/>
+ value="javax/media/opengl/TraceGL2.* javax/media/opengl/DebugGL2.* javax/media/opengl/TraceGL3.* javax/media/opengl/DebugGL3.* javax/media/opengl/TraceGL3bc.* javax/media/opengl/DebugGL3bc.* javax/media/opengl/TraceGL4.* javax/media/opengl/DebugGL4.* javax/media/opengl/TraceGL4bc.* javax/media/opengl/DebugGL4bc.*"/>
<property name="java.part.es1"
value="javax/media/opengl/**/es1/** com/jogamp/opengl/**/es1/** jogamp/opengl/**/es1/**"/>
<property name="java.part.es1.dbg"
- value="javax/media/opengl/TraceGLES1.* javax/media/opengl/DebugGLES1.* javax/media/opengl/TraceGL2ES1.* javax/media/opengl/DebugGL2ES1.*"/>
+ value="javax/media/opengl/TraceGLES1.* javax/media/opengl/DebugGLES1.*"/>
- <property name="java.part.es2"
- value="javax/media/opengl/**/es2/** com/jogamp/opengl/**/es2/** jogamp/opengl/**/es2/**"/>
+ <property name="java.part.es2es3"
+ value="jogamp/opengl/**/es3/**"/>
- <property name="java.part.es2.dbg"
- value="javax/media/opengl/TraceGLES2.* javax/media/opengl/DebugGLES2.* javax/media/opengl/TraceGL2ES2.* javax/media/opengl/DebugGL2ES2.*"/>
+ <property name="java.part.es2es3.dbg"
+ value="javax/media/opengl/TraceGLES2.* javax/media/opengl/DebugGLES2.* javax/media/opengl/TraceGLES3.* javax/media/opengl/DebugGLES3.*"/>
<property name="java.part.awt"
- value="javax/media/opengl/awt/** jogamp/opengl/**/awt/**"/>
+ value="javax/media/opengl/awt/** jogamp/opengl/**/awt/** com/jogamp/opengl/util/AWTAnimatorImpl*"/>
<property name="java.part.swt"
value="com/jogamp/opengl/**/swt/**"/>
<property name="java.part.util"
- value="com/jogamp/opengl/util/* com/jogamp/opengl/util/texture/** com/jogamp/opengl/util/av/* com/jogamp/opengl/util/packrect/** jogamp/opengl/util/* jogamp/opengl/util/av/** jogamp/opengl/util/pngj/**"/>
+ value="com/jogamp/opengl/util/texture/** com/jogamp/opengl/util/av/* com/jogamp/opengl/util/packrect/** jogamp/opengl/util/av/** jogamp/opengl/util/jpeg/** jogamp/opengl/util/pngj/**"/>
<property name="java.part.util.awt"
- value="com/jogamp/opengl/util/**/awt/** com/jogamp/opengl/util/AWTAnimatorImpl*"/>
+ value="com/jogamp/opengl/util/**/awt/**"/>
<property name="java.part.util.gldesktop"
value="com/jogamp/opengl/util/**/gl2/**"/>
<property name="java.part.util.glsl"
- value="com/jogamp/opengl/util/glsl/* com/jogamp/opengl/util/glsl/fixedfunc/* jogamp/opengl/util/glsl/*"/>
+ value="com/jogamp/opengl/util/glsl/fixedfunc/*"/>
<property name="java.part.util.graph"
value="com/jogamp/graph/** jogamp/graph/**"/>
@@ -167,6 +170,9 @@
<property name="java.part.util.graph.fonts"
value="jogamp/graph/font/fonts/**"/>
+ <property name="java.part.core.shadercode"
+ value="jogamp/opengl/shader/* jogamp/opengl/shader/bin/**"/>
+
<property name="java.part.util.graph.shadercode"
value="jogamp/graph/curve/opengl/shader/* jogamp/graph/curve/opengl/shader/bin/**"/>
@@ -177,10 +183,10 @@
value="jogamp/opengl/util/glsl/fixedfunc/shaders/* jogamp/opengl/util/glsl/fixedfunc/shaders/bin/**"/>
<property name="java.part.nonjava"
- value="${java.part.util.fixedfuncemu.shadercode} ${java.part.util.graph.shadercode} ${java.part.util.graph.fonts}"/>
+ value="${java.part.core.shadercode} ${java.part.util.fixedfuncemu.shadercode} ${java.part.util.graph.shadercode} ${java.part.util.graph.fonts}"/>
<property name="java.part.all-desktop"
- value="${java.part.sdk} ${java.part.glx} ${java.part.wgl} ${java.part.cgl} ${java.part.gldesktop} ${java.part.glugldesktop} ${java.part.util.gldesktop}"/>
+ value="${java.part.sdk} ${java.part.glx} ${java.part.wgl} ${java.part.cgl} ${java.part.gldesktop} ${java.part.glu.gldesktop} ${java.part.util.gldesktop}"/>
<!-- condition excludes -->
@@ -194,20 +200,13 @@
<isset property="setup.noSWT"/>
</condition>
- <condition property="java.excludes.android"
- value="${java.part.android}">
- <not>
- <isset property="isAndroid"/>
- </not>
- </condition>
-
<property name="java.excludes.javadoc.packagenames"
value="jogamp.opengl.gl2.fixme.*,com.jogamp.audio.windows.waveout.TestSpatialization"/>
<property name="java.excludes.fixme"
value="jogamp/opengl/gl2/fixme/** com/jogamp/audio/windows/waveout/TestSpatialization.java" />
- <property name="java.excludes.all" value="${java.excludes.fixme} ${java.excludes.awt} ${java.excludes.swt} ${java.excludes.android}" />
+ <property name="java.excludes.all" value="${java.excludes.fixme} ${java.excludes.awt} ${java.excludes.swt}" />
<echo message="java.excludes.all: ${java.excludes.all}" />
</target>
@@ -228,8 +227,9 @@
<property name="rootrel.generated.c.cg" value="${rootrel.src.generated}/native/jogl_cg" />
<!-- The source directories. -->
- <property name="src.java" value="${project.root}/${rootrel.src.java}" />
- <property name="src.c" value="${project.root}/${rootrel.src.c}" />
+ <property name="src.java" value="${project.root}/${rootrel.src.java}" />
+ <property name="src.c" value="${project.root}/${rootrel.src.c}" />
+ <property name="nativewindow.src.c" value="${project.root}/src/nativewindow/native" />
<!-- The generated source directories. -->
<property name="src.generated" value="${build.jogl}/gensrc" />
@@ -243,6 +243,7 @@
<!-- The compiler output directories. -->
<property name="classes" value="${build.jogl}/classes" />
<property name="obj.joglsub" value="${obj.jogl}/jogl" />
+ <property name="rootrel.obj.joglsub" value="${rootrel.obj.jogl}/jogl"/>
<property name="obj.cgsub" value="${obj.jogl}/cg" />
<property name="javah.classpath" value="${gluegen-rt.jar}:${build.nativewindow}/classes:${classes}" />
@@ -301,7 +302,7 @@
<property name="javadoc" value="${project.root}/javadoc_jogl_public" />
<property name="javadoc.spec" value="${project.root}/javadoc_jogl_spec" />
<property name="javadoc.dev" value="${project.root}/javadoc_jogl_dev" />
- <property name="javadoc.windowtitle" value="JOGL API -- JSR-231 ${jogl_base_version} Specification" />
+ <property name="javadoc.windowtitle" value="JOGL API Specification -- Version ${jogamp.version.base}" />
<property name="javadoc.overview" value="doc/jogl/spec-overview.html" />
<property name="javadoc.spec.packagenames" value="javax.media.opengl.*" />
@@ -319,7 +320,11 @@
<property name="gles2.headers" value="${stub.includes}/opengl/GLES2/*.h" /> <!-- NOTE: this MUST be relative for FileSet --> <!-- CHECK: this may need to be pruned for each platform -->
</target>
- <target name="declare.gl.gles" depends="declare.gl.gles1, declare.gl.gles2">
+ <target name="declare.gl.gles3">
+ <property name="gles3.headers" value="${stub.includes}/opengl/GLES3/*.h" /> <!-- NOTE: this MUST be relative for FileSet --> <!-- CHECK: this may need to be pruned for each platform -->
+ </target>
+
+ <target name="declare.gl.gles" depends="declare.gl.gles1, declare.gl.gles2, declare.gl.gles3">
<!-- Prepare to build the EGL interface -->
<property name="window.es.cfg" value="${config.jogl}/egl.cfg" />
<property name="window.es.ext.cfg" value="${config.jogl}/eglext.cfg" />
@@ -381,6 +386,12 @@
<srcfiles refid="stub.includes.dependencies.fileset.2" />
<srcfiles refid="stub.includes.dependencies.fileset.3" />
</uptodate>
+ <uptodate property="java.generate.skip.es3"
+ targetfile="${src.generated.java}/javax/media/opengl/GLES3.java">
+ <srcfiles refid="stub.includes.dependencies.fileset.1" />
+ <srcfiles refid="stub.includes.dependencies.fileset.2" />
+ <srcfiles refid="stub.includes.dependencies.fileset.3" />
+ </uptodate>
<uptodate property="java.generate.skip.gl2"
targetfile="${src.generated.java}/javax/media/opengl/GL2.java">
<srcfiles refid="stub.includes.dependencies.fileset.1" />
@@ -398,6 +409,7 @@
<and>
<isset property="java.generate.skip.es1"/>
<isset property="java.generate.skip.es2"/>
+ <isset property="java.generate.skip.es3"/>
<isset property="java.generate.skip.gl2"/>
<isset property="java.generate.skip.glu"/>
</and>
@@ -440,6 +452,20 @@
</gluegen>
</target>
+ <target name="java.generate.gles1">
+ <echo message="Generating GLES1 interface and implementation" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
+ <gluegen src="${stub.includes.opengl}/gles1.c"
+ outputRootDir="${build.jogl}"
+ config="${config.jogl}/gl-es1.cfg"
+ includeRefid="stub.includes.fileset.all.gldesktop"
+ literalInclude="${stub.includes.gluegen.gg}"
+ emitter="com.jogamp.gluegen.opengl.GLEmitter"
+ debug="false">
+ <classpath refid="gluegen-gl.classpath" />
+ </gluegen>
+ </target>
+
<target name="java.generate.gl2_es2_if">
<echo message="Generating GL2_ES2 interface" />
<antcall target="java.generate.copy2temp" inheritRefs="true" />
@@ -453,12 +479,60 @@
</gluegen>
</target>
+ <target name="java.generate.gles2">
+ <echo message="Generating GLES2 interface and implementation" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
+ <gluegen src="${stub.includes.opengl}/gles2.c"
+ outputRootDir="${build.jogl}"
+ config="${config.jogl}/gl-if-es2.cfg"
+ includeRefid="stub.includes.fileset.all.gldesktop"
+ literalInclude="${stub.includes.gluegen.gg}"
+ emitter="com.jogamp.gluegen.opengl.GLEmitter">
+ <classpath refid="gluegen-gl.classpath" />
+ </gluegen>
+ </target>
+
+ <target name="java.generate.gl2_es3_if">
+ <echo message="Generating GL2_ES3 interface" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
+ <gluegen src="${stub.includes.opengl}/gles3.c"
+ outputRootDir="${build.jogl}"
+ config="${config.jogl}/gl-if-gl2es3-subset.cfg"
+ includeRefid="stub.includes.fileset.all.gldesktop"
+ literalInclude="${stub.includes.gluegen.gg}"
+ emitter="com.jogamp.gluegen.opengl.GLEmitter"
+ debug="false">
+ <classpath refid="gluegen-gl.classpath" />
+ </gluegen>
+ <gluegen src="${stub.includes.opengl}/gl2.c"
+ outputRootDir="${build.jogl}"
+ config="${config.jogl}/gl-if-gl2_es3.cfg"
+ includeRefid="stub.includes.fileset.all.gldesktop"
+ literalInclude="${stub.includes.gluegen.gg}"
+ emitter="com.jogamp.gluegen.opengl.GLEmitter">
+ <classpath refid="gluegen-gl.classpath" />
+ </gluegen>
+ </target>
+
+ <target name="java.generate.gl3_es3_if">
+ <echo message="Generating GL3_ES3 interface" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
+ <gluegen src="${stub.includes.opengl}/gles3.c"
+ outputRootDir="${build.jogl}"
+ config="${config.jogl}/gl-if-gl3_es3.cfg"
+ includeRefid="stub.includes.fileset.all.gldesktop"
+ literalInclude="${stub.includes.gluegen.gg}"
+ emitter="com.jogamp.gluegen.opengl.GLEmitter">
+ <classpath refid="gluegen-gl.classpath" />
+ </gluegen>
+ </target>
+
<target name="java.generate.gl2_gl3_if">
<echo message="Generating GL2_GL3 interface" />
<antcall target="java.generate.copy2temp" inheritRefs="true" />
<gluegen src="${stub.includes.opengl}/gl3.c"
outputRootDir="${build.jogl}"
- config="${config.jogl}/gl-if-gl3-subset.cfg"
+ config="${config.jogl}/gl-if-gl2gl3-subset.cfg"
includeRefid="stub.includes.fileset.all.gldesktop"
literalInclude="${stub.includes.gluegen.gg}"
emitter="com.jogamp.gluegen.opengl.GLEmitter"
@@ -476,7 +550,7 @@
</target>
<target name="java.generate.gl2">
- <echo message="Generating GL2 interface and implementation" />
+ <echo message="Generating GL2 interface" />
<antcall target="java.generate.copy2temp" inheritRefs="true" />
<gluegen src="${stub.includes.opengl}/gl2.c"
outputRootDir="${build.jogl}"
@@ -489,7 +563,7 @@
</target>
<target name="java.generate.gl3">
- <echo message="Generating GL3 interface and implementation" />
+ <echo message="Generating GL3 interface" />
<antcall target="java.generate.copy2temp" inheritRefs="true" />
<gluegen src="${stub.includes.opengl}/gl3.c"
outputRootDir="${build.jogl}"
@@ -502,7 +576,7 @@
</target>
<target name="java.generate.gl3bc">
- <echo message="Generating GL3bc implementation" />
+ <echo message="Generating GL3bc interface" />
<antcall target="java.generate.copy2temp" inheritRefs="true" />
<gluegen src="${stub.includes.opengl}/gl3bc.c"
outputRootDir="${build.jogl}"
@@ -514,12 +588,12 @@
</gluegen>
</target>
- <target name="java.generate.gl4">
- <echo message="Generating GL4 interface and implementation" />
+ <target name="java.generate.gl4_es3_if">
+ <echo message="Generating GL4_ES3 interface" />
<antcall target="java.generate.copy2temp" inheritRefs="true" />
- <gluegen src="${stub.includes.opengl}/gl4.c"
+ <gluegen src="${stub.includes.opengl}/gles3.c"
outputRootDir="${build.jogl}"
- config="${config.jogl}/gl-if-gl4.cfg"
+ config="${config.jogl}/gl-if-gl4_es3.cfg"
includeRefid="stub.includes.fileset.all.gldesktop"
literalInclude="${stub.includes.gluegen.gg}"
emitter="com.jogamp.gluegen.opengl.GLEmitter">
@@ -527,40 +601,38 @@
</gluegen>
</target>
- <target name="java.generate.gl4bc">
- <echo message="Generating GL4bc implementation" />
+ <target name="java.generate.gles3">
+ <echo message="Generating GLES3 interface" />
<antcall target="java.generate.copy2temp" inheritRefs="true" />
- <gluegen src="${stub.includes.opengl}/gl4bc.c"
+ <gluegen src="${stub.includes.opengl}/gles3.c"
outputRootDir="${build.jogl}"
- config="${config.jogl}/gl-gl4bc.cfg"
+ config="${config.jogl}/gl-if-es3.cfg"
includeRefid="stub.includes.fileset.all.gldesktop"
literalInclude="${stub.includes.gluegen.gg}"
- emitter="com.jogamp.gluegen.opengl.GLEmitter"
- debug="false">
+ emitter="com.jogamp.gluegen.opengl.GLEmitter">
<classpath refid="gluegen-gl.classpath" />
</gluegen>
</target>
- <target name="java.generate.gles1">
- <echo message="Generating GLES1 interface and implementation" />
+ <target name="java.generate.gles3impl">
+ <echo message="Generating GLES3 implementation" />
<antcall target="java.generate.copy2temp" inheritRefs="true" />
- <gluegen src="${stub.includes.opengl}/gles1.c"
+ <gluegen src="${stub.includes.opengl}/gles3.c"
outputRootDir="${build.jogl}"
- config="${config.jogl}/gl-es1.cfg"
+ config="${config.jogl}/gl-es3-impl.cfg"
includeRefid="stub.includes.fileset.all.gldesktop"
literalInclude="${stub.includes.gluegen.gg}"
- emitter="com.jogamp.gluegen.opengl.GLEmitter"
- debug="false">
+ emitter="com.jogamp.gluegen.opengl.GLEmitter">
<classpath refid="gluegen-gl.classpath" />
</gluegen>
</target>
- <target name="java.generate.gles2">
- <echo message="Generating GLES2 interface and implementation" />
+ <target name="java.generate.gl4">
+ <echo message="Generating GL4 interface" />
<antcall target="java.generate.copy2temp" inheritRefs="true" />
- <gluegen src="${stub.includes.opengl}/gles2.c"
+ <gluegen src="${stub.includes.opengl}/gl4.c"
outputRootDir="${build.jogl}"
- config="${config.jogl}/gl-es2.cfg"
+ config="${config.jogl}/gl-if-gl4.cfg"
includeRefid="stub.includes.fileset.all.gldesktop"
literalInclude="${stub.includes.gluegen.gg}"
emitter="com.jogamp.gluegen.opengl.GLEmitter">
@@ -568,7 +640,21 @@
</gluegen>
</target>
- <target name="java.generate.gl.all" depends="java.generate.gl_if, java.generate.gl2_es1_if, java.generate.gl2_es2_if, java.generate.gl2_gl3_if, java.generate.gl2, java.generate.gl3, java.generate.gl3bc, java.generate.gl4, java.generate.gl4bc, java.generate.gles1, java.generate.gles2"/>
+ <target name="java.generate.gl4bc">
+ <echo message="Generating GL4bc implementation" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
+ <gluegen src="${stub.includes.opengl}/gl4bc.c"
+ outputRootDir="${build.jogl}"
+ config="${config.jogl}/gl-gl4bc.cfg"
+ includeRefid="stub.includes.fileset.all.gldesktop"
+ literalInclude="${stub.includes.gluegen.gg}"
+ emitter="com.jogamp.gluegen.opengl.GLEmitter"
+ debug="false">
+ <classpath refid="gluegen-gl.classpath" />
+ </gluegen>
+ </target>
+
+ <target name="java.generate.gl.all" depends="build.gluegen-gl.jar, java.generate.gl_if, java.generate.gl2_es1_if, java.generate.gles1, java.generate.gl2_es2_if, java.generate.gles2, java.generate.gl2_es3_if, java.generate.gl3_es3_if, java.generate.gl2_gl3_if, java.generate.gl2, java.generate.gl3, java.generate.gl3bc, java.generate.gl4_es3_if, java.generate.gles3, java.generate.gles3impl, java.generate.gl4, java.generate.gl4bc"/>
<!-- target name="java.generate.gl.nsig" if="gluegen.nsig">
<echo message="Generating GL interface and implementation" />
@@ -723,9 +809,9 @@
includeAntRuntime="true"
memoryMaximumSize="${javac.memorymax}"
encoding="UTF-8"
- source="${host.sourcelevel}"
- target="${host.targetlevel}"
- bootclasspath="${host.rt.jar}"
+ source="${target.sourcelevel}"
+ target="${target.targetlevel}"
+ bootclasspath="${target.rt.jar}"
debug="${javacdebug}" debuglevel="${javacdebuglevel}">
<classpath refid="gluegen-gl.classpath"/>
<src path="${src.java}" />
@@ -735,28 +821,17 @@
<fileset dir="${classes}"
includes="${java.part.gluegen-gl-rt} ${java.part.gluegen-gl}"/>
</jar>
- </target>
-
- <target name="java.generate" depends="build.gluegen-gl.jar, java.generate.check" unless="java.generate.skip">
<!-- Add the GlueGen and BuildStaticGLInfo tasks to ANT -->
<taskdef name="gluegen" classname="com.jogamp.gluegen.ant.GlueGenTask"
classpathref="gluegen.classpath" />
<taskdef name="staticglgen" classname="com.jogamp.gluegen.opengl.ant.StaticGLGenTask"
classpathref="gluegen-gl.classpath" />
-
- <!-- Use the GlueGen and BuildStaticGLInfo tasks to generate the Java files -->
+ </target>
- <!-- Just to have a fast test of single interfaces ..
- <antcall target="java.generate.gl_if" inheritRefs="true" />
- <antcall target="java.generate.gl2_es1_if" inheritRefs="true" />
- <antcall target="java.generate.gl2_es2_if" inheritRefs="true" />
- <antcall target="java.generate.gl2_gl3_if" inheritRefs="true" />
- <antcall target="java.generate.gles1" inheritRefs="true"/>
- <antcall target="java.generate.window.system.es" inheritRefs="true" />
- <antcall target="java.generate.window.system.es.ext" inheritRefs="true" />
- <antcall target="java.generate.gl4bc" inheritRefs="true"/>
- <fail/> -->
+ <target name="java.generate" depends="build.gluegen-gl.jar, java.generate.check" unless="java.generate.skip">
+
+ <!-- Use the GlueGen and BuildStaticGLInfo tasks to generate the Java files -->
<echo message="Generating GL interface and implementation" />
<antcall target="java.generate.gl.all" inheritRefs="true" />
@@ -822,12 +897,6 @@
- the classpath reference id then running the task on each header.
-->
<target name="java.generate.cg" depends="build.gluegen-gl.jar,java.generate.cg.check" unless="java.generate.cg.skip">
- <!-- Add the GlueGen and BuildStaticGLInfo tasks to ANT -->
- <taskdef name="gluegen" classname="com.jogamp.gluegen.ant.GlueGenTask"
- classpathref="gluegen.classpath" />
- <taskdef name="staticglgen" classname="com.jogamp.gluegen.opengl.ant.StaticGLGenTask"
- classpathref="gluegen-gl.classpath" />
-
<!-- Generate CgGL interface class -->
<gluegen src="${stub.includes.opengl}/cg.c"
outputRootDir="${build.jogl}"
@@ -875,6 +944,22 @@
</target>
+ <target name="java.generate.composable.pipeline.check.es3">
+ <!-- Blow away the DebugGL*.java and TraceGL*.java sources if GL*.class has changed
+ (the uptodate element doesn't support arbitrary source and destination files) -->
+ <dependset>
+ <srcfilelist dir="${classes}/javax/media/opengl" files="GLES3.class" />
+ <targetfileset dir="${src.generated.java}/javax/media/opengl"
+ includes="DebugGLES3.java,TraceGLES3.java" />
+ </dependset>
+
+ <!-- Now choose one of the two to test to see if we have to regenerate -->
+ <uptodate property="java.generate.composable.pipeline.skip.es3"
+ srcfile="${classes}/javax/media/opengl/GLES3.class"
+ targetfile="${src.generated.java}/javax/media/opengl/DebugGLES3.java" />
+
+ </target>
+
<target name="java.generate.composable.pipeline.check.gl2">
<!-- Blow away the DebugGL*.java and TraceGL*.java sources if GL*.class has changed
(the uptodate element doesn't support arbitrary source and destination files) -->
@@ -905,19 +990,19 @@
targetfile="${src.generated.java}/javax/media/opengl/DebugGL3.java" />
</target>
- <target name="java.generate.composable.pipeline.check.gl4">
+ <target name="java.generate.composable.pipeline.check.gl4bc">
<!-- Blow away the DebugGL*.java and TraceGL*.java sources if GL*.class has changed
(the uptodate element doesn't support arbitrary source and destination files) -->
<dependset>
- <srcfilelist dir="${classes}/javax/media/opengl" files="GL4.class" />
+ <srcfilelist dir="${classes}/javax/media/opengl" files="GL4bc.class" />
<targetfileset dir="${src.generated.java}/javax/media/opengl"
- includes="DebugGL4.java,TraceGL4.java,DebugGL4bc.java,TraceGL4bc.java" />
+ includes="DebugGL4bc.java,TraceGL4bc.java" />
</dependset>
<!-- Now choose one of the two to test to see if we have to regenerate -->
- <uptodate property="java.generate.composable.pipeline.skip.gl4"
- srcfile="${classes}/javax/media/opengl/GL4.class"
- targetfile="${src.generated.java}/javax/media/opengl/DebugGL4.java" />
+ <uptodate property="java.generate.composable.pipeline.skip.gl4bc"
+ srcfile="${classes}/javax/media/opengl/GL4bc.class"
+ targetfile="${src.generated.java}/javax/media/opengl/DebugGL4bc.java" />
</target>
<target name="java.generate.composable.pipeline.es1" depends="java.generate.composable.pipeline.check.es1" unless="java.generate.composable.pipeline.skip.es1">
@@ -926,60 +1011,17 @@
<arg value="${src.generated.java}/javax/media/opengl" />
<classpath refid="pipeline.classpath" />
</java>
- <java classname="com.jogamp.gluegen.opengl.BuildComposablePipeline" fork="yes" failonerror="true">
- <arg value="javax.media.opengl.GL2ES1" />
- <arg value="${src.generated.java}/javax/media/opengl" />
- <classpath refid="pipeline.classpath" />
- </java>
</target>
- <target name="java.generate.composable.pipeline.es2" depends="java.generate.composable.pipeline.check.es2" unless="java.generate.composable.pipeline.skip.es2">
- <java classname="com.jogamp.gluegen.opengl.BuildComposablePipeline" fork="yes" failonerror="true">
- <arg value="javax.media.opengl.GLES2" />
- <arg value="${src.generated.java}/javax/media/opengl" />
- <classpath refid="pipeline.classpath" />
- </java>
- <java classname="com.jogamp.gluegen.opengl.BuildComposablePipeline" fork="yes" failonerror="true">
- <arg value="javax.media.opengl.GL2ES2" />
- <arg value="${src.generated.java}/javax/media/opengl" />
- <classpath refid="pipeline.classpath" />
- </java>
- </target>
-
- <target name="java.generate.composable.pipeline.gl2" depends="java.generate.composable.pipeline.check.gl2" unless="java.generate.composable.pipeline.skip.gl2">
- <java classname="com.jogamp.gluegen.opengl.BuildComposablePipeline" fork="yes" failonerror="true">
- <arg value="javax.media.opengl.GL2" />
- <arg value="${src.generated.java}/javax/media/opengl" />
- <classpath refid="pipeline.classpath" />
- </java>
- <java classname="com.jogamp.gluegen.opengl.BuildComposablePipeline" fork="yes" failonerror="true">
- <arg value="javax.media.opengl.GL2GL3" />
- <arg value="${src.generated.java}/javax/media/opengl" />
- <classpath refid="pipeline.classpath" />
- </java>
- </target>
-
- <target name="java.generate.composable.pipeline.gl3" depends="java.generate.composable.pipeline.check.gl3" unless="java.generate.composable.pipeline.skip.gl3">
- <java classname="com.jogamp.gluegen.opengl.BuildComposablePipeline" fork="yes" failonerror="true">
- <arg value="javax.media.opengl.GL3" />
- <arg value="${src.generated.java}/javax/media/opengl" />
- <classpath refid="pipeline.classpath" />
- </java>
-
+ <target name="java.generate.composable.pipeline.es3" depends="java.generate.composable.pipeline.check.es3" unless="java.generate.composable.pipeline.skip.es3">
<java classname="com.jogamp.gluegen.opengl.BuildComposablePipeline" fork="yes" failonerror="true">
- <arg value="javax.media.opengl.GL3bc" />
+ <arg value="javax.media.opengl.GLES3" />
<arg value="${src.generated.java}/javax/media/opengl" />
<classpath refid="pipeline.classpath" />
</java>
</target>
- <target name="java.generate.composable.pipeline.gl4" depends="java.generate.composable.pipeline.check.gl4" unless="java.generate.composable.pipeline.skip.gl4">
- <java classname="com.jogamp.gluegen.opengl.BuildComposablePipeline" fork="yes" failonerror="true">
- <arg value="javax.media.opengl.GL4" />
- <arg value="${src.generated.java}/javax/media/opengl" />
- <classpath refid="pipeline.classpath" />
- </java>
-
+ <target name="java.generate.composable.pipeline.gl4bc" depends="java.generate.composable.pipeline.check.gl4bc" unless="java.generate.composable.pipeline.skip.gl4bc">
<java classname="com.jogamp.gluegen.opengl.BuildComposablePipeline" fork="yes" failonerror="true">
<arg value="javax.media.opengl.GL4bc" />
<arg value="${src.generated.java}/javax/media/opengl" />
@@ -987,7 +1029,7 @@
</java>
</target>
- <target name="java.generate.composable.pipeline" depends="java.generate.composable.pipeline.es1, java.generate.composable.pipeline.es2, java.generate.composable.pipeline.gl2, java.generate.composable.pipeline.gl3, java.generate.composable.pipeline.gl4">
+ <target name="java.generate.composable.pipeline" depends="java.generate.composable.pipeline.es1, java.generate.composable.pipeline.es3, java.generate.composable.pipeline.gl4bc">
</target>
<target name="java.generate.composable.pipeline.custom.check.glfixfunc">
@@ -1014,6 +1056,7 @@
<arg value="jogamp.opengl.util.glsl.fixedfunc.FixedFuncHook" />
<arg value="javax.media.opengl.GL2ES2" />
<arg value="prolog_xor_downstream" />
+ <arg value="gl_identity_by_assignable_class" />
<classpath refid="pipeline.classpath" />
</java>
</target>
@@ -1028,7 +1071,7 @@
<target name="java.compile.firstpass" depends="java.generate,java.generate.cg">
<!-- Perform the first pass Java compile. -->
<javac destdir="${classes}"
- includes="javax/media/opengl/fixedfunc/** javax/media/opengl/GLDrawableFactory.java javax/media/opengl/GLDrawable.java javax/media/opengl/GLContext.java javax/media/opengl/GL.java javax/media/opengl/GL2ES1.java javax/media/opengl/GL2ES2.java javax/media/opengl/GL2GL3.java javax/media/opengl/GL2.java javax/media/opengl/GLES1.java javax/media/opengl/GLES2.java javax/media/opengl/GL3.java javax/media/opengl/GL3bc.java javax/media/opengl/GL4.java javax/media/opengl/GL4bc.java"
+ includes="javax/media/opengl/fixedfunc/** javax/media/opengl/GLDrawableFactory.java javax/media/opengl/GLDrawable.java javax/media/opengl/GLContext.java javax/media/opengl/GL.java javax/media/opengl/GL2ES1.java javax/media/opengl/GLES1.java javax/media/opengl/GL2ES2.java javax/media/opengl/GLES2.java javax/media/opengl/GL2ES3.java javax/media/opengl/GL2GL3.java javax/media/opengl/GL2.java javax/media/opengl/GL3ES3.java javax/media/opengl/GL3.java javax/media/opengl/GL3bc.java javax/media/opengl/GL4ES3.java javax/media/opengl/GLES3.java javax/media/opengl/GL4.java javax/media/opengl/GL4bc.java"
fork="yes"
includeAntRuntime="false"
memoryMaximumSize="${javac.memorymax}"
@@ -1043,10 +1086,28 @@
</javac>
</target>
- <target name="java.compile.secondpass.javase" unless="isAndroid">
+ <target name="java.compile.secondpass.openal" if="joal-jars.available">
<!-- Perform the second pass Java compile; everything except portion of fixed function emulation depending on generated code. -->
<javac destdir="${classes}"
- excludes="com/jogamp/opengl/util/glsl/fixedfunc/FixedFuncUtil.java,${java.excludes.all}"
+ includes="${java.part.openal}"
+ fork="yes"
+ includeAntRuntime="false"
+ memoryMaximumSize="${javac.memorymax}"
+ encoding="UTF-8"
+ source="${target.sourcelevel}"
+ target="${target.targetlevel}"
+ bootclasspath="${target.rt.jar}"
+ debug="${javacdebug}" debuglevel="${javacdebuglevel}">
+ <classpath refid="nativewindow_gluegen_joal.classpath"/>
+ <src path="${src.java}" />
+ <src path="${src.generated.java}" />
+ </javac>
+ </target>
+
+ <target name="java.compile.secondpass.javase">
+ <!-- Perform the second pass Java compile; everything except portion of fixed function emulation depending on generated code. -->
+ <javac destdir="${classes}"
+ excludes="com/jogamp/opengl/util/glsl/fixedfunc/FixedFuncUtil.java,${java.excludes.all},${java.part.android},${java.part.openal}"
fork="yes"
includeAntRuntime="false"
memoryMaximumSize="${javac.memorymax}"
@@ -1061,10 +1122,10 @@
</javac>
</target>
- <target name="java.compile.secondpass.android" if="isAndroid">
+ <target name="java.compile.secondpass.android" if="android-jars.available">
<!-- Perform the second pass Java compile; everything except portion of fixed function emulation depending on generated code. -->
<javac destdir="${classes}"
- excludes="com/jogamp/opengl/util/glsl/fixedfunc/FixedFuncUtil.java,${java.excludes.all}"
+ includes="${java.part.android}"
fork="yes"
includeAntRuntime="false"
memoryMaximumSize="${javac.memorymax}"
@@ -1073,19 +1134,19 @@
target="${target.targetlevel}"
bootclasspath="${target.rt.jar}"
debug="${javacdebug}" debuglevel="${javacdebuglevel}">
- <classpath refid="android_nativewindow_gluegen.classpath"/>
+ <classpath refid="nativewindow_gluegen_android.classpath"/>
<src path="${src.java}" />
<src path="${src.generated.java}" />
</javac>
</target>
<!-- Perform the second pass Java compile; everything except portion of fixed function emulation depending on generated code. -->
- <target name="java.compile.secondpass" depends="java.generate.composable.pipeline, java.compile.secondpass.javase, java.compile.secondpass.android" />
+ <target name="java.compile.secondpass" depends="java.generate.composable.pipeline, java.compile.secondpass.openal, java.compile.secondpass.javase, java.compile.secondpass.android" />
<target name="java.compile.thirdpass.javase">
<!-- Perform the third pass Java compile; everything including fixed function emulation. -->
<javac destdir="${classes}"
- excludes="${java.excludes.all}"
+ excludes="${java.excludes.all},${java.part.android},${java.part.openal}"
fork="yes"
includeAntRuntime="false"
memoryMaximumSize="${javac.memorymax}"
@@ -1126,7 +1187,7 @@
<includepath path="/usr/local/include" />
</compiler>
- <compiler id="compiler.cfg.linux.armv7.jogl.x11" extends="compiler.cfg.linux.armv7">
+ <compiler id="compiler.cfg.linux.armv6.jogl.x11" extends="compiler.cfg.linux.armv6">
<!-- Need to force /usr/include headers on to include path (after all others), due to crosscompiler usage -->
<compilerarg value="-idirafter" />
<compilerarg value="/usr/include" />
@@ -1154,7 +1215,7 @@
<syslibset libs="X11"/>
</linker>
- <linker id="linker.cfg.linux.armv7.jogl.x11" extends="linker.cfg.linux.armv7">
+ <linker id="linker.cfg.linux.armv6.jogl.x11" extends="linker.cfg.linux.armv6">
<syslibset dir="${env.TARGET_PLATFORM_ROOT}/usr/lib" libs="X11"/>
</linker>
@@ -1177,12 +1238,12 @@
<linker id="linker.cfg.win32.mingw.jogl" extends="linker.cfg.win32.mingw">
<linkerarg value="-Wl,--kill-at" /> <!-- remove @ from function names -->
- <syslibset libs="gdi32, kernel32"/>
+ <syslibset libs="gdi32, kernel32, strmiids, uuid, ole32, oleaut32"/> <!-- last 4 for dshow video input query! -->
</linker>
<linker id="linker.cfg.win64.mingw.jogl" extends="linker.cfg.win64.mingw">
<linkerarg value="-Wl,--kill-at" /> <!-- remove @ from function names -->
- <syslibset libs="gdi32, kernel32"/>
+ <syslibset libs="gdi32, kernel32, strmiids, uuid, ole32, oleaut32"/> <!-- last 4 for dshow video input query! -->
</linker>
<linker id="linker.cfg.win32.msvc.jogl" extends="linker.cfg.win32.msvc">
@@ -1243,10 +1304,10 @@
<property name="linker.cfg.id.os" value="linker.cfg.linux.amd64.jogl.x11" />
</target>
- <target name="c.configure.linux.armv7" if="isLinuxARMv7">
- <echo message="Linux.armv7" />
- <property name="compiler.cfg.id" value="compiler.cfg.linux.armv7.jogl.x11" />
- <property name="linker.cfg.id.os" value="linker.cfg.linux.armv7.jogl.x11" />
+ <target name="c.configure.linux.armv6" if="isLinuxARMv6">
+ <echo message="Linux.armv6" />
+ <property name="compiler.cfg.id" value="compiler.cfg.linux.armv6.jogl.x11" />
+ <property name="linker.cfg.id.os" value="linker.cfg.linux.armv6.jogl.x11" />
</target>
<target name="c.configure.linux.ia64" if="isLinuxIA64">
@@ -1291,7 +1352,7 @@
<property name="linker.cfg.id.os" value="linker.cfg.linux.jogl.x11" />
</target>
- <target name="c.configure.linux" depends="c.configure.linux.armv7,c.configure.linux.x86,c.configure.linux.amd64,c.configure.linux.ia64,c.configure.linux.hppa,c.configure.linux.mips,c.configure.linux.mipsel,c.configure.linux.ppc,c.configure.linux.s390,c.configure.linux.sparc,c.configure.x11" if="isLinux" />
+ <target name="c.configure.linux" depends="c.configure.linux.armv6,c.configure.linux.x86,c.configure.linux.amd64,c.configure.linux.ia64,c.configure.linux.hppa,c.configure.linux.mips,c.configure.linux.mipsel,c.configure.linux.ppc,c.configure.linux.s390,c.configure.linux.sparc,c.configure.x11" if="isLinux" />
<target name="c.configure.android" if="isAndroid">
<echo message="Android" />
@@ -1360,8 +1421,81 @@
<move file="${src}" tofile="${dest}" />
</target>
+ <!-- Only compile the ffmpeg version depending source files
+ against their respective header files!
+ We do not use the resulting static libraries directly,
+ but inject their obj-files in build.c for the jogl_* library! -->
+ <macrodef name="c.build.ffmpeg">
+ <attribute name="version.lav" />
+ <attribute name="compiler.cfg.id" />
+ <attribute name="linker.cfg.id" />
+ <attribute name="output.lib.name" />
+ <attribute name="c.compiler.use-jawt" default="false"/>
+ <sequential>
+ <echo message="Output lib name = @{output.lib.name}" />
+
+ <condition property="c.compiler.use-debug"><istrue value="${c.compiler.debug}"/></condition>
+
+ <patternset id="c.src.files.@{version.lav}">
+ <include name="${rootrel.src.c}/JoglCommon.c"/>
+ <include name="${rootrel.src.c.libav}/ffmpeg_dshow.c"/>
+ <include name="${rootrel.src.c.libav}/ffmpeg_static.c"/>
+ <include name="${rootrel.src.c.libav}/ffmpeg_@{version.lav}.c"/>
+ </patternset>
+
+ <echo message="Compiling @{output.lib.name}" />
+
+ <!-- have to wrap cc task with outofdate, because otherwise cc links a new library
+ even when no files have been compiled -->
+ <outofdate>
+ <sourcefiles>
+ <fileset dir="${project.root}"><patternset refid="c.src.files.@{version.lav}"/></fileset>
+ <fileset dir="${project.root}" includes="${rootrel.src.c.libav}/*"/>
+ </sourcefiles>
+ <targetfiles>
+ <fileset dir="${obj.joglsub}" includes="lib@{output.lib.name}.so"/>
+ <fileset dir="${obj.joglsub}" includes="@{output.lib.name}.dll"/>
+ <fileset dir="${obj.joglsub}" includes="lib@{output.lib.name}.jnilib"/>
+ </targetfiles>
+ <sequential>
+ <cc outtype="shared"
+ objdir="${obj.joglsub}"
+ outfile="${obj.joglsub}/@{output.lib.name}"
+ optimize="${c.compiler.optimise}"
+ debug="${c.compiler.debug}"
+ multithreaded="true"
+ exceptions="false"
+ rtti="false">
+
+ <fileset dir="${project.root}"><patternset refid="c.src.files.@{version.lav}"/></fileset>
+
+ <compiler extends="@{compiler.cfg.id}" >
+ <sysincludepath path="${java.includes.dir}"/>
+ <sysincludepath path="${java.includes.dir.platform}"/>
+ <sysincludepath path="${stub.includes.gluegen.cc}"/>
+ <includepath path="stub_includes/khr"/>
+ <includepath path="stub_includes/opengl"/>
+ <includepath path="stub_includes/libav/@{version.lav}"/>
+
+ <!-- This is for the generated headers for handwritten C code -->
+ <includepath path="${src.c}"/>
+ <includepath path="${src.generated.c.libav}" />
+
+ <!-- This must come last to not override real include paths -->
+ <!-- includepath path="stub_includes/macosx" if="isOSX" / -->
+ </compiler>
+
+ <linker extends="@{linker.cfg.id}">
+ </linker>
+ </cc>
+ </sequential>
+ </outofdate>
+ </sequential>
+ </macrodef>
+
<macrodef name="c.build">
<attribute name="c.compiler.src.files" />
+ <attribute name="c.compiler.obj.files" />
<attribute name="compiler.cfg.id" />
<attribute name="linker.cfg.id" />
<attribute name="output.lib.name" />
@@ -1369,25 +1503,30 @@
<sequential>
<echo message="Output lib name = @{output.lib.name}" />
- <!-- NOTE: the value of the debug and optimise attributes will not be overridden if already set externally -->
- <property name="c.compiler.debug" value="false" />
- <!-- Optimise flags one of { none, size, speed, minimal, full, aggressive, extreme, unsafe } -->
- <property name="c.compiler.optimise" value="none" />
-
<condition property="c.compiler.use-debug"><istrue value="${c.compiler.debug}"/></condition>
+ <patternset id="c.obj.files.none">
+ </patternset>
+ <patternset id="c.obj.files.ffmpeg.inject">
+ <include name="${rootrel.obj.joglsub}/ffmpeg_lavc53_lavf53_lavu51.*"/>
+ <include name="${rootrel.obj.joglsub}/ffmpeg_lavc54_lavf54_lavu52_lavr01.*"/>
+ <include name="${rootrel.obj.joglsub}/ffmpeg_lavc55_lavf55_lavu52_lavr01.*"/>
+ </patternset>
+
<patternset id="c.src.files.jogl.desktop">
<include name="${rootrel.src.c}/JoglCommon.c"/>
+ <include name="${rootrel.src.c}/GLContext.c"/>
<include name="${rootrel.src.c}/GLDebugMessageHandler.c"/>
<include name="${rootrel.src.c}/timespec.c" if="isOSX"/> <!-- currently only used for OSX -->
<include name="${rootrel.src.c}/macosx/MacOSXCustomCGLCode.c" if="isOSX"/>
<include name="${rootrel.src.c}/macosx/MacOSXWindowSystemInterface.m" if="isOSX"/>
- <include name="${rootrel.src.c}/macosx/MacOSXWindowSystemInterface-pbuffer.m" if="isOSX"/>
+ <include name="${rootrel.src.c}/macosx/MacOSXWindowSystemInterface-calayer.m" if="isOSX"/>
<include name="${rootrel.src.c}/macosx/ContextUpdater.m" if="isOSX"/>
<include name="${rootrel.src.c}/GLXGetProcAddressARB.c" if="isX11"/>
<!-- FIXME: the Mixer should be moved to another library -->
<!--include name="${rootrel.src.c}/Mixer.cpp" if="isWindows"/-->
- <include name="${rootrel.src.c.libav}/jogamp_opengl_util_av_impl_FFMPEGMediaPlayer.c"/>
+ <include name="${rootrel.src.c.libav}/ffmpeg_static.c"/>
+ <include name="${rootrel.src.c.libav}/ffmpeg_dshow.c"/>
<include name="${rootrel.src.c.openmax}/omx_tool.c" if="setup.addNativeOpenMAX"/>
<include name="${rootrel.src.c.openmax}/jogamp_opengl_util_av_impl_OMXGLMediaPlayer.c" if="setup.addNativeOpenMAX"/>
@@ -1402,15 +1541,18 @@
<patternset id="c.src.files.jogl.mobile">
<include name="${rootrel.src.c}/JoglCommon.c"/>
+ <include name="${rootrel.src.c}/GLContext.c"/>
<include name="${rootrel.src.c}/GLDebugMessageHandler.c"/>
<include name="${rootrel.src.c}/GLXGetProcAddressARB.c" if="isX11"/>
- <include name="${rootrel.src.c.libav}/jogamp_opengl_util_av_impl_FFMPEGMediaPlayer.c"/>
+ <include name="${rootrel.src.c.libav}/ffmpeg_static.c"/>
+ <include name="${rootrel.src.c.libav}/ffmpeg_dshow.c"/>
<include name="${rootrel.src.c.openmax}/omx_tool.c" if="setup.addNativeOpenMAX"/>
<include name="${rootrel.src.c.openmax}/jogamp_opengl_util_av_impl_OMXGLMediaPlayer.c" if="setup.addNativeOpenMAX"/>
<include name="${rootrel.generated.c.jogl}/egl/EGL_JNI.c"/>
<include name="${rootrel.generated.c.jogl}/egl/EGLExtImpl_JNI.c"/>
<include name="${rootrel.generated.c.jogl}/es2/GLES2Impl_JNI.c"/>
+ <include name="${rootrel.generated.c.jogl}/es3/GLES3Impl_JNI.c"/>
<include name="${rootrel.generated.c.jogl}/es1/GLES1Impl_JNI.c"/>
<!--include name="${rootrel.generated.c.jogl}/GLU_JNI.c"/ EMPTY -->
<!--include name="${rootrel.generated.c.jogl}/es1/GLUes1_JNI.c" EMPTY /-->
@@ -1427,6 +1569,7 @@
<outofdate>
<sourcefiles>
<fileset dir="${project.root}"><patternset refid="@{c.compiler.src.files}"/></fileset>
+ <fileset dir="${obj.joglsub}" includes="*jogl_ffmpegv08*, *jogl_ffmpegv09*, *jogl_ffmpegv10*"/> <!-- requires linkage -->
</sourcefiles>
<targetfiles>
<fileset dir="${obj.jogl}" includes="lib@{output.lib.name}.so"/>
@@ -1443,7 +1586,10 @@
exceptions="false"
rtti="false">
- <fileset dir="${project.root}"><patternset refid="@{c.compiler.src.files}"/></fileset>
+ <fileset dir="${project.root}">
+ <patternset refid="@{c.compiler.src.files}"/>
+ <patternset refid="@{c.compiler.obj.files}"/>
+ </fileset>
<compiler extends="@{compiler.cfg.id}" >
<sysincludepath path="${java.includes.dir}"/>
@@ -1452,18 +1598,18 @@
<includepath path="stub_includes/khr"/>
<includepath path="stub_includes/egl"/>
<includepath path="stub_includes/opengl"/>
- <includepath path="stub_includes/libav" /> <!-- headers required by our libav/ffmpeg MediaPlayer impl. -->
<includepath path="stub_includes/openmax" if="setup.addNativeOpenMAX"/>
<includepath path="stub_includes/cg" if="setup.addNativeNVidiaCG"/>
<!-- This is for the generated headers for handwritten C code -->
<includepath path="${src.c}"/>
+ <includepath path="${nativewindow.src.c}/macosx" if="isOSX"/>
<includepath path="${src.generated.c}" />
- <includepath path="${src.generated.c}/X11" if="isX11"/>
- <includepath path="${src.generated.c}/MacOSX" if="isOSX"/>
- <includepath path="${src.generated.c}/Windows" if="isWindows"/>
+ <includepath path="${src.generated.c}/X11" if="isX11"/>
+ <includepath path="${src.generated.c}/MacOSX" if="isOSX"/>
+ <includepath path="${src.generated.c}/Windows" if="isWindows"/>
<includepath path="${src.generated.c.libav}" />
- <includepath path="${src.generated.c.openmax}" if="setup.addNativeOpenMAX"/>
+ <includepath path="${src.generated.c.openmax}" if="setup.addNativeOpenMAX"/>
<!-- This must come last to not override real include paths -->
<!-- includepath path="stub_includes/macosx" if="isOSX" / -->
@@ -1502,17 +1648,32 @@
</macrodef>
<target name="c.build.jogl.prepare">
- <javah destdir="${build.jogl}/gensrc/native/jogl" classpath="${javah.classpath}" class="jogamp.opengl.GLDebugMessageHandler" />
- <javah destdir="${build.jogl}/gensrc/native/jogl" classpath="${javah.classpath}" class="jogamp.opengl.GLContextImpl" />
- <javah destdir="${src.generated.c.libav}" classpath="${javah.classpath}" class="jogamp.opengl.util.av.impl.FFMPEGMediaPlayer" />
+ <javah destdir="${build.jogl}/gensrc/native/jogl" classpath="${javah.classpath}" class="jogamp.opengl.GLDebugMessageHandler, jogamp.opengl.GLContextImpl" />
+ <javah destdir="${src.generated.c.libav}" classpath="${javah.classpath}" class="jogamp.opengl.util.av.impl.FFMPEGStaticNatives,jogamp.opengl.util.av.impl.FFMPEGv08Natives,jogamp.opengl.util.av.impl.FFMPEGv09Natives,jogamp.opengl.util.av.impl.FFMPEGv10Natives" />
<javah destdir="${src.generated.c.openmax}" classpath="${javah.classpath}" class="jogamp.opengl.util.av.impl.OMXGLMediaPlayer" />
<!-- Generate the waveout Mixer header -->
<!-- FIXME: this is temporary until we move this to another workspace -->
<!--javah destdir="${build.jogl}/gensrc/native/jogl" classpath="${javah.classpath}" class="com.jogamp.audio.windows.waveout.Mixer" /-->
+
+ <c.build.ffmpeg version.lav="lavc53_lavf53_lavu51"
+ output.lib.name="jogl_ffmpegv08"
+ compiler.cfg.id="${compiler.cfg.id}"
+ linker.cfg.id="${linker.cfg.id.os}"/>
+
+ <c.build.ffmpeg version.lav="lavc54_lavf54_lavu52_lavr01"
+ output.lib.name="jogl_ffmpegv09"
+ compiler.cfg.id="${compiler.cfg.id}"
+ linker.cfg.id="${linker.cfg.id.os}"/>
+
+ <c.build.ffmpeg version.lav="lavc55_lavf55_lavu52_lavr01"
+ output.lib.name="jogl_ffmpegv10"
+ compiler.cfg.id="${compiler.cfg.id}"
+ linker.cfg.id="${linker.cfg.id.os}"/>
</target>
<target name="c.build.jogl.desktop" unless="setup.noNativeDesktop">
<c.build c.compiler.src.files="c.src.files.jogl.desktop"
+ c.compiler.obj.files="c.obj.files.ffmpeg.inject"
output.lib.name="jogl_desktop"
compiler.cfg.id="${compiler.cfg.id}"
linker.cfg.id="${linker.cfg.id.os}"/>
@@ -1520,6 +1681,7 @@
<target name="c.build.jogl.mobile">
<c.build c.compiler.src.files="c.src.files.jogl.mobile"
+ c.compiler.obj.files="c.obj.files.ffmpeg.inject"
output.lib.name="jogl_mobile"
compiler.cfg.id="${compiler.cfg.id}"
linker.cfg.id="${linker.cfg.id.os}"/>
@@ -1527,6 +1689,7 @@
<target name="c.build.jogl.cg" if="setup.addNativeNVidiaCG">
<c.build c.compiler.src.files="c.src.files.cg"
+ c.compiler.obj.files="c.obj.files.none"
output.lib.name="jogl_cg"
compiler.cfg.id="${compiler.cfg.id}"
linker.cfg.id="${linker.cfg.id.os}"/>
@@ -1540,6 +1703,7 @@
<!-- exec mt, the Microsoft Manifest Tool, to include DLL manifests in order to resolve the location of msvcr80.dll -->
<msvc.manifest objdir="${obj.jogl}" dllname="jogl_es1" />
<msvc.manifest objdir="${obj.jogl}" dllname="jogl_es2" />
+ <msvc.manifest objdir="${obj.jogl}" dllname="jogl_es3" />
<msvc.manifest objdir="${obj.jogl}" dllname="jogl_desktop" />
<antcall target="c.manifest.cg" inheritRefs="true" />
</target>
@@ -1557,7 +1721,7 @@
<srcfileset dir="${src.java}"
includes="${java.part.nonjava}"/>
<targetfileset dir="."
- includes="${jogl.util.jar} ${jogl.util.fixedfuncemu.jar}" />
+ includes="${jogl-core.jar} ${jogl-util.jar} ${jogl-util-graph.jar} ${jogl-util-fixedfuncemu.jar}" />
</dependset>
</target>
<target name="build-jars" depends="build-jars-dependset,build-jars-javase" />
@@ -1568,57 +1732,59 @@
tofile="${build.jogl}/manifest.mf"
overwrite="true">
<filterset>
- <filter token="VERSION" value="${jogl.version}"/>
+ <filter token="VERSION" value="${jogamp.version}"/>
+ <filter token="BUILD_VERSION" value="${jogl.version}"/>
<filter token="SCM_BRANCH" value="${jogl.build.branch}"/>
<filter token="SCM_COMMIT" value="${jogl.build.commit}"/>
- <filter token="BASEVERSION" value="${jogl_base_version}"/>
+ <filter token="BASEVERSION" value="${jogamp.version.base}"/>
+ <filter token="JAR_CODEBASE_TAG" value="${jogamp.jar.codebase}"/>
</filterset>
</copy>
</target>
<target name="build-jars-os-desktop-javase" depends="setup-manifestfile">
- <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.os.x11.jar}" filesonly="true">
+ <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl-os-x11.jar}" filesonly="true">
<fileset dir="${classes}" includes="${java.part.glx}"/>
</jar>
- <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.os.win.jar}" filesonly="true">
+ <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl-os-win.jar}" filesonly="true">
<fileset dir="${classes}" includes="${java.part.wgl}" />
</jar>
- <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.os.osx.jar}" filesonly="true">
+ <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl-os-osx.jar}" filesonly="true">
<fileset dir="${classes}" includes="${java.part.cgl}"/>
</jar>
</target>
- <target name="build-jars-android" depends="setup-manifestfile" if="isAndroid">
- <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.os.android.jar}" filesonly="true">
+ <target name="build-jars-android" depends="setup-manifestfile" if="android-jars.available">
+ <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl-os-android.jar}" filesonly="true">
<fileset dir="${classes}" includes="${java.part.android}"/>
</jar>
</target>
<target name="build-jars-mobile-javase" depends="setup-manifestfile">
- <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.glmobile.jar}" filesonly="true">
+ <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl-glmobile.jar}" filesonly="true">
<fileset dir="${classes}"
- includes="${java.part.egl} ${java.part.es1} ${java.part.es2}"
- excludes="${java.part.awt} ${java.part.swt} ${java.part.es1.dbg} ${java.part.es2.dbg}"/>
+ includes="${java.part.egl} ${java.part.es1} ${java.part.es2es3}"
+ excludes="${java.part.awt} ${java.part.swt} ${java.part.es1.dbg} ${java.part.es2es3.dbg}"/>
</jar>
- <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.glmobile.dbg.jar}" filesonly="true">
+ <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl-glmobile-dbg.jar}" filesonly="true">
<fileset dir="${classes}"
- includes="${java.part.es1.dbg} ${java.part.es2.dbg}"/>
+ includes="${java.part.es1.dbg} ${java.part.es2es3.dbg}"/>
</jar>
</target>
<target name="build-jars-awt-javase" depends="setup-manifestfile" unless="setup.noAWT">
- <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.awt.jar}" filesonly="true">
+ <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl-awt.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.awt}" />
</jar>
- <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.util.awt.jar}" filesonly="true">
+ <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl-util-awt.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.util.awt}"/>
</jar>
</target>
<target name="build-jars-swt-javase" depends="setup-manifestfile" unless="setup.noSWT">
- <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.swt.jar}" filesonly="true">
+ <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl-swt.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.swt}" />
</jar>
@@ -1626,22 +1792,22 @@
<target name="build-jars-desktop-javase" depends="setup-manifestfile,build-jars-os-desktop-javase">
<!--os specific gldesktop-->
- <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.gldesktop.jar}" filesonly="true">
+ <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl-gldesktop.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.gldesktop}"
- excludes="${java.part.gldesktop.dbg} ${java.part.glugldesktop}"/>
+ excludes="${java.part.gldesktop.dbg} ${java.part.glu.gldesktop}"/>
</jar>
<!-- misc -->
- <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.gldesktop.dbg.jar}" filesonly="true">
+ <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl-gldesktop-dbg.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.gldesktop.dbg}"/>
</jar>
- <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.glugldesktop.jar}" filesonly="true">
+ <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl-glu-gldesktop.jar}" filesonly="true">
<fileset dir="${classes}"
- includes="${java.part.glugldesktop}"/>
+ includes="${java.part.glu.gldesktop}"/>
</jar>
- <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.util.gldesktop.jar}" filesonly="true">
+ <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl-util-gldesktop.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.util.gldesktop}"
excludes="${java.part.awt} ${java.part.util.awt} ${java.part.swt}"/>
@@ -1650,38 +1816,43 @@
<target name="build-jars-javase" depends="setup-manifestfile, build-jars-android, build-jars-mobile-javase,
build-jars-desktop-javase, build-jars-awt-javase, build-jars-swt-javase">
- <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.core.jar}" filesonly="true">
+ <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl-core.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.core}"
excludes="${java.part.core.exclude}"/>
</jar>
- <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.sdk.jar}" filesonly="true">
+ <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl-sdk.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.sdk}"/>
</jar>
- <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.glutess.jar}" filesonly="true">
+ <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl-glu.jar}" filesonly="true">
+ <fileset dir="${classes}"
+ includes="${java.part.glu}"/>
+ </jar>
+ <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl-util.jar}" filesonly="true">
<fileset dir="${classes}"
- includes="${java.part.glutess}"/>
+ includes="${java.part.util} ${java.part.util.glsl} ${java.part.openal}"
+ excludes="${java.part.util.awt} ${java.part.util.gldesktop} ${java.part.util.fixedfuncemu} ${java.part.util.graph}"/>
+ <fileset dir="resources/assets" includes="jogl/util/data/**" />
</jar>
- <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.glumipmap.jar}" filesonly="true">
+ <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl-util-graph.jar}" filesonly="true">
<fileset dir="${classes}"
- includes="${java.part.glumipmap}"/>
+ includes="${java.part.util.graph}"
+ excludes="${java.part.util.graph.fonts}"/>
</jar>
- <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.util.jar}" filesonly="true">
+ <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl-util-graph-fonts-p0.jar}" filesonly="true">
<fileset dir="${classes}"
- includes="${java.part.util} ${java.part.util.glsl} ${java.part.util.graph}"
- excludes="${java.part.util.awt} ${java.part.util.gldesktop} ${java.part.util.fixedfuncemu}"/>
- <fileset dir="resources/assets" includes="jogl/util/**" />
+ includes="${java.part.util.graph.fonts}"/>
</jar>
- <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.util.fixedfuncemu.jar}" filesonly="true">
+ <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl-util-fixedfuncemu.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.util.fixedfuncemu}"/>
</jar>
- <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.omx.jar}" filesonly="true">
+ <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl-omx.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.openmax}"/>
</jar>
- <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.cg.jar}" filesonly="true">
+ <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl-cg.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.nv-cg}"/>
</jar>
@@ -1691,7 +1862,7 @@
<exclude name="*jogl_cg.${native.library.suffix}" />
</fileset>
</jar>
- <jar manifest="${build.jogl}/manifest.mf" destfile="${build.jogl}/jogl_cg-natives-${os.and.arch}.jar" filesonly="true">
+ <jar manifest="${build.jogl}/manifest.mf" destfile="${build.jogl}/jogl-cg-natives-${os.and.arch}.jar" filesonly="true">
<fileset dir="${obj.jogl}">
<include name="*jogl_cg.${native.library.suffix}" />
</fileset>