diff options
Diffstat (limited to 'make/build-jogl.xml')
-rw-r--r-- | make/build-jogl.xml | 579 |
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> |