diff options
author | sg215889 <[email protected]> | 2009-07-24 07:29:28 -0700 |
---|---|---|
committer | sg215889 <[email protected]> | 2009-07-24 07:29:28 -0700 |
commit | 0906140a18690a9dced8dec12dfdd8cf4c95a4df (patch) | |
tree | 52f67514b575a61aeba975fad00fd5ab60a52435 /make | |
parent | 1f65dedf406455731fb682404a01c96aa85d5ae1 (diff) |
Add: Extended support for CVM crosscompile:
- Clean up X11 dependency
- NativeWindow:
- Seperate X11 out of core.
- Add nativewindow.x11.jar and nativewindow.x11.cdc.jar
- Newt:
- Seperate X11,win,osx out of core.
- Add newt.x11.jar, newt.win.jar, newt.osx.jar and the CDC variants
Fix: External Context & Drawable (X11 and Windows)
- Properly fetch current context values (ctx, display, drawable, ..)
- Create GraphicsConfiguration based on the given pixelformat/FBConfig
Fix: Java2D OpenGL Usage
- Using the external context as shared for the external drawable
- JAWTUtil: Skip locking in case of OGL-Flush-Queue
- TODO: Windows FBO still does not work .. (X11 is fine)
Diffstat (limited to 'make')
-rw-r--r-- | make/build-jogl.xml | 172 | ||||
-rw-r--r-- | make/build-nativewindow.xml | 204 | ||||
-rw-r--r-- | make/build-newt.xml | 144 | ||||
-rw-r--r-- | make/make.jogl.all.linux-x86.sh | 1 | ||||
-rw-r--r-- | make/nativewindowRIversion-cdc | 8 | ||||
-rw-r--r-- | make/nativewindowversion-cdc | 8 |
6 files changed, 370 insertions, 167 deletions
diff --git a/make/build-jogl.xml b/make/build-jogl.xml index f68f82a85..c48745da7 100644 --- a/make/build-jogl.xml +++ b/make/build-jogl.xml @@ -51,10 +51,14 @@ - - Some environment defs affecting compilation + - setup.noAWT is set iff: + !isWindows && !isOSX && !noX11 + - Internal settings, may not be necessary to set them manually, since all JAR archives are orthogonal. setup.noAWT setup.noCDC + --> <project name="JOGL" basedir="." default="all"> @@ -73,6 +77,34 @@ --> <target name="base.init"> + <condition property="setup.noAWT"> + <and> + <isfalse value="${isWindows}" /> + <isfalse value="${isOSX}" /> + <isfalse value="${isX11}" /> + </and> + </condition> + + <condition property="setup.noall"> + <or> + <isset property="noX11"/> + <isset property="setup.noAWT"/> + </or> + </condition> + <condition property="setup.noall-cdc"> + <or> + <isset property="noX11"/> + </or> + </condition> + <condition property="setup.nodesktop"> + <or> + <isset property="noX11"/> + </or> + </condition> + + <echo message="setup.nodesktop: ${setup.nodesktop}" /> + <echo message="setup.noall: ${setup.noall}" /> + <echo message="setup.noall-cdc: ${setup.noall-cdc}" /> <echo message="setup.noAWT: ${setup.noAWT}" /> <echo message="setup.noCDC: ${setup.noCDC}" /> @@ -183,7 +215,12 @@ <property name="java.excludes.cdcfp" value="${java.excludes.fixme} ${java.part.nv-cg} ${java.part.gl2} ${java.part.gl2.dbg} ${java.part.gl3} ${java.part.gl3.dbg} ${java.part.awt} ${java.part.glugl2} ${java.part.util.awt} ${java.part.util.gl2} com/sun/opengl/util/TGAWriter.java"/> - <property name="java.excludes.all" value="${java.excludes.fixme} ${java.excludes.nv-cg} ${java.excludes.awt}" /> + <condition property="java.excludes.desktop" + value="${java.part.glx} ${java.excludes.cdcfp}"> + <isset property="setup.nodesktop"/> + </condition> + + <property name="java.excludes.all" value="${java.excludes.fixme} ${java.excludes.nv-cg} ${java.excludes.awt} ${java.excludes.desktop}" /> <echo message="java.excludes.all: ${java.excludes.all}" /> <!-- Set the project root directory to be up one directory. --> @@ -263,9 +300,13 @@ <property name="gluegen.build.xml" value="${gluegen.make.dir}/build.xml" /> <property name="gluegen.jar" value="../../gluegen/${rootrel.build}/gluegen.jar" /> <property name="gluegen-rt.jar" value="../../gluegen/${rootrel.build}/gluegen-rt.jar" /> - <property name="gluegen-rt-cdc.jar" value="../../gluegen/${rootrel.build}/gluegen-rt-cdc.jar" /> <property name="nativewindow.core.jar" value="../${rootrel.build}/nativewindow/nativewindow.core.jar" /> + <property name="nativewindow.x11.jar" value="../${rootrel.build}/nativewindow/nativewindow.x11.jar" /> <property name="nativewindow.awt.jar" value="../${rootrel.build}/nativewindow/nativewindow.awt.jar" /> + + <property name="gluegen-rt-cdc.jar" value="../../gluegen/${rootrel.build}/gluegen-rt-cdc.jar" /> + <property name="nativewindow.core.cdc.jar" value="../${rootrel.build}/nativewindow/nativewindow.core.cdc.jar" /> + <property name="nativewindow.x11.cdc.jar" value="../${rootrel.build}/nativewindow/nativewindow.x11.cdc.jar" /> <!-- The source directories. --> <property name="src.java" value="${project.root}/${rootrel.src.java}" /> @@ -341,14 +382,16 @@ </path> <path id="nativewindow_gluegen.classpath"> + <pathelement location="${gluegen-rt.jar}" /> <pathelement location="${nativewindow.core.jar}" /> + <pathelement location="${nativewindow.x11.jar}" /> <pathelement location="${nativewindow.awt.jar}" /> - <pathelement location="${gluegen-rt.jar}" /> </path> <path id="nativewindow_gluegen.classpath-cdc"> - <pathelement location="${nativewindow.core.jar}" /> <pathelement location="${gluegen-rt-cdc.jar}" /> + <pathelement location="${nativewindow.core.cdc.jar}" /> + <pathelement location="${nativewindow.x11.cdc.jar}" /> </path> <!-- Create the classpath that includes GlueGen and @@ -1503,23 +1546,23 @@ </macrodef> <target name="c.build.jogl.prepare.openMAX" if="useOpenMAX"> - <javah destdir="${build}/gensrc/native/openmax" classpath="${jogl.all.cdc.jar}" class="com.sun.openmax.OMXInstance" /> + <javah destdir="${build}/gensrc/native/openmax" classpath="${classes-cdc}" class="com.sun.openmax.OMXInstance" /> </target> <target name="c.build.jogl.prepare" depends="c.build.jogl.prepare.openMAX"> <!-- Generate the waveout Mixer header --> <!-- FIXME: this is temporary until we move this to another workspace --> - <!--javah destdir="${build}/gensrc/native/jogl" classpath="${jogl.all.jar}" class="com.sun.javafx.audio.windows.waveout.Mixer" /--> + <!--javah destdir="${build}/gensrc/native/jogl" classpath="${classes}" class="com.sun.javafx.audio.windows.waveout.Mixer" /--> </target> - <target name="c.build.jogl.gl2"> + <target name="c.build.jogl.gl2" unless="setup.nodesktop"> <c.build c.compiler.src.files="c.src.files.jogl.gl2" output.lib.name="jogl_gl2" compiler.cfg.id="${compiler.cfg.id}" linker.cfg.id="${linker.cfg.id.gl2}"/> </target> - <target name="c.build.jogl.gl2es12"> + <target name="c.build.jogl.gl2es12" unless="setup.nodesktop"> <c.build c.compiler.src.files="c.src.files.jogl.gl2es12" output.lib.name="jogl_gl2es12" compiler.cfg.id="${compiler.cfg.id}" @@ -1638,7 +1681,25 @@ </jar> </target> - <target name="build-jars-es" depends="setup-manifestfile"> + <target name="build-jars-es-desktop" depends="setup-manifestfile" unless="setup.nodesktop"> + <jar manifest="${build}/tempversion" destfile="${jogl.gl2es12.x11.jar}"> + <fileset dir="${classes}" + includes="${java.part.glx}, ${java.part.gl2es12}, ${java.part.openmax}" + excludes="${java.part.glugl2}"/> + </jar> + <jar manifest="${build}/tempversion" destfile="${jogl.gl2es12.win.jar}"> + <fileset dir="${classes}" + includes="${java.part.wgl}, ${java.part.gl2es12}, ${java.part.openmax}" + excludes="${java.part.glugl2}"/> + </jar> + <jar manifest="${build}/tempversion" destfile="${jogl.gl2es12.osx.jar}"> + <fileset dir="${classes}" + includes="${java.part.cgl}, ${java.part.gl2es12}, ${java.part.openmax}" + excludes="${java.part.glugl2}"/> + </jar> + </target> + + <target name="build-jars-es" depends="setup-manifestfile,build-jars-es-desktop"> <jar manifest="${build}/tempversion" destfile="${jogl.egl.jar}"> <fileset dir="${classes}" includes="${java.part.egl}" @@ -1662,24 +1723,27 @@ <fileset dir="${classes}" includes="${java.part.es2.dbg}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.gl2es12.x11.jar}"> - <fileset dir="${classes}" + </target> + + <target name="build-jars-es-desktop-cdc" depends="setup-manifestfile-cdc" unless="setup.nodesktop"> + <jar manifest="${build}/tempversion-cdc" destfile="${jogl.gl2es12.x11.cdc.jar}"> + <fileset dir="${classes-cdc}" includes="${java.part.glx}, ${java.part.gl2es12}, ${java.part.openmax}" excludes="${java.part.glugl2}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.gl2es12.win.jar}"> - <fileset dir="${classes}" + <jar manifest="${build}/tempversion-cdc" destfile="${jogl.gl2es12.win.cdc.jar}"> + <fileset dir="${classes-cdc}" includes="${java.part.wgl}, ${java.part.gl2es12}, ${java.part.openmax}" excludes="${java.part.glugl2}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.gl2es12.osx.jar}"> - <fileset dir="${classes}" + <jar manifest="${build}/tempversion-cdc" destfile="${jogl.gl2es12.osx.cdc.jar}"> + <fileset dir="${classes-cdc}" includes="${java.part.cgl}, ${java.part.gl2es12}, ${java.part.openmax}" excludes="${java.part.glugl2}"/> </jar> </target> - <target name="build-jars-es-cdc" depends="setup-manifestfile-cdc" unless="setup.noCDC"> + <target name="build-jars-es-cdc" depends="setup-manifestfile-cdc,build-jars-es-desktop-cdc" unless="setup.noCDC"> <jar manifest="${build}/tempversion-cdc" destfile="${jogl.egl.cdc.jar}"> <fileset dir="${classes-cdc}" includes="${java.part.egl}" @@ -1703,21 +1767,6 @@ <fileset dir="${classes-cdc}" includes="${java.part.es2.dbg}"/> </jar> - <jar manifest="${build}/tempversion-cdc" destfile="${jogl.gl2es12.x11.cdc.jar}"> - <fileset dir="${classes-cdc}" - includes="${java.part.glx}, ${java.part.gl2es12}, ${java.part.openmax}" - excludes="${java.part.glugl2}"/> - </jar> - <jar manifest="${build}/tempversion-cdc" destfile="${jogl.gl2es12.win.cdc.jar}"> - <fileset dir="${classes-cdc}" - includes="${java.part.wgl}, ${java.part.gl2es12}, ${java.part.openmax}" - excludes="${java.part.glugl2}"/> - </jar> - <jar manifest="${build}/tempversion-cdc" destfile="${jogl.gl2es12.osx.cdc.jar}"> - <fileset dir="${classes-cdc}" - includes="${java.part.cgl}, ${java.part.gl2es12}, ${java.part.openmax}" - excludes="${java.part.glugl2}"/> - </jar> </target> <target name="build-jars-awt" depends="setup-manifestfile" unless="setup.noAWT"> @@ -1731,7 +1780,32 @@ </jar> </target> - <target name="build-jars-cdc" depends="setup-manifestfile-cdc,build-jars-es-cdc" unless="setup.noCDC"> + <target name="build-jars-all" depends="setup-manifestfile" unless="setup.noall"> + <jar manifest="${build}/tempversion" destfile="${jogl.all.jar}"> + <fileset dir="${classes}"> + <include name="javax/media/opengl/**" /> + <include name="com/sun/gluegen/runtime/**" /> + <include name="com/sun/opengl/**" /> + <include name="${java.part.openmax}" /> + <!-- FIXME: this is temporary until we move these classes to another workspace --> + <include name="com/sun/javafx/**" /> + </fileset> + <fileset dir="${src.java}" + includes="${java.part.util.fixedfunc.shaders}"/> + </jar> + </target> + <target name="build-jars-all-cdc" depends="setup-manifestfile" unless="setup.noall-cdc"> + <jar manifest="${build}/tempversion-cdc" destfile="${jogl.all.cdc.jar}"> + <fileset dir="${classes-cdc}" + includes="${java.part.core} ${java.part.egl} ${java.part.glutess} ${java.part.glumipmap} ${java.part.openmax} ${java.part.sdk} ${java.part.glx} ${java.part.cgl} ${java.part.gl2es12} ${java.part.wgl} ${java.part.es1} ${java.part.es1.dbg} ${java.part.es2} ${java.part.es2.dbg} ${java.part.util} ${java.part.util.glsl} ${java.part.util.fixedfuncemu}" + excludes="${java.excludes.cdcfp}"/> + <fileset dir="${src.java}" + includes="${java.part.util.fixedfuncemu.shadercode}"/> + </jar> + </target> + + + <target name="build-jars-cdc" depends="setup-manifestfile-cdc, build-jars-es-cdc, build-jars-all-cdc" unless="setup.noCDC"> <jar manifest="${build}/tempversion-cdc" destfile="${jogl.core.cdc.jar}"> <fileset dir="${classes-cdc}" includes="${java.part.core}" @@ -1756,21 +1830,9 @@ <fileset dir="${src.java}" includes="${java.part.util.fixedfuncemu.shadercode}"/> </jar> - <jar manifest="${build}/tempversion-cdc" destfile="${jogl.all.cdc.jar}"> - <fileset dir="${classes-cdc}" - includes="${java.part.core} ${java.part.egl} ${java.part.glutess} ${java.part.glumipmap} ${java.part.openmax} ${java.part.sdk} ${java.part.glx} ${java.part.cgl} ${java.part.gl2es12} ${java.part.wgl} ${java.part.es1} ${java.part.es1.dbg} ${java.part.es2} ${java.part.es2.dbg} ${java.part.util} ${java.part.util.glsl} ${java.part.util.fixedfuncemu}" - excludes="${java.excludes.cdcfp}"/> - <fileset dir="${src.java}" - includes="${java.part.util.fixedfuncemu.shadercode}"/> - </jar> </target> - <target name="build-jars-javase" depends="setup-manifestfile, build-jars-es, build-jars-awt, build-cg-jar"> - <jar manifest="${build}/tempversion" destfile="${jogl.core.jar}"> - <fileset dir="${classes}" - includes="${java.part.core}" - excludes="${java.part.core.exclude}"/> - </jar> + <target name="build-jars-desktop-javase" depends="setup-manifestfile" unless="setup.nodesktop"> <jar manifest="${build}/tempversion" destfile="${jogl.gl2.x11.jar}"> <fileset dir="${classes}" includes="${java.part.glx}, ${java.part.gl2}, ${java.part.gl3}, ${java.part.openmax}" @@ -1799,6 +1861,14 @@ includes="${java.part.util.gl2}" excludes="com/sun/opengl/**/awt/**"/> </jar> + </target> + + <target name="build-jars-javase" depends="setup-manifestfile, build-jars-es, build-jars-awt, build-cg-jar, build-jars-all, build-jars-desktop-javase"> + <jar manifest="${build}/tempversion" destfile="${jogl.core.jar}"> + <fileset dir="${classes}" + includes="${java.part.core}" + excludes="${java.part.core.exclude}"/> + </jar> <jar manifest="${build}/tempversion" destfile="${jogl.sdk.jar}"> <fileset dir="${classes}" includes="${java.part.sdk}"/> @@ -1822,18 +1892,6 @@ <fileset dir="${src.java}" includes="${java.part.util.fixedfuncemu.shadercode}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.all.jar}"> - <fileset dir="${classes}"> - <include name="javax/media/opengl/**" /> - <include name="com/sun/gluegen/runtime/**" /> - <include name="com/sun/opengl/**" /> - <include name="${java.part.openmax}" /> - <!-- FIXME: this is temporary until we move these classes to another workspace --> - <include name="com/sun/javafx/**" /> - </fileset> - <fileset dir="${src.java}" - includes="${java.part.util.fixedfunc.shaders}"/> - </jar> </target> <!-- ================================================================== --> diff --git a/make/build-nativewindow.xml b/make/build-nativewindow.xml index d6d57bce0..79e6b93ae 100644 --- a/make/build-nativewindow.xml +++ b/make/build-nativewindow.xml @@ -44,20 +44,12 @@ - - Some environment defs affecting compilation - setup.cdcfp - Using the CDC Java runtime library - - no DoubleBuffer - - no LongBuffer - - This will set - -> setup.noAWT + - setup.noAWT is set iff: + !isWindows && !isOSX && !noX11 - Internal settings, may not be necessary to set them manually, since all JAR archives are orthogonal. setup.noAWT - setup.noX11WindowsMacOsX, which implies: - setup.noX11 - setup.noWindows - setup.noMacOsX --> <project name="NativeWindow" basedir="." default="all"> @@ -77,66 +69,48 @@ <target name="base.init"> <condition property="setup.noAWT"> - <isset property="setup.cdcfp"/> - </condition> - <condition property="isCDCFP"> - <isset property="setup.cdcfp"/> - </condition> - <condition property="javac.bootclasspath.jar" - value="../../gluegen/make/lib/cdc_fp.jar"> - <isset property="setup.cdcfp"/> + <and> + <isfalse value="${isWindows}" /> + <isfalse value="${isOSX}" /> + <isfalse value="${isX11}" /> + </and> </condition> - <echo message="setup.cdcfp: ${setup.cdcfp}" /> - <echo message="setup.noAWT: ${setup.noAWT}" /> - <echo message="javac.bootclasspath.jar: ${javac.bootclasspath.jar}" /> - <condition property="setup.noX11WindowsMacOsX"> - <and> - <isset property="setup.noX11"/> - <isset property="setup.noWindows"/> - <isset property="setup.noMacOsX"/> - </and> + <condition property="setup.noall"> + <or> + <isset property="noX11"/> + <isset property="setup.noAWT"/> + </or> </condition> - - <condition property="setup.noX11"> - <isset property="setup.noX11WindowsMacOsX"/> + <condition property="setup.noall-cdc"> + <or> + <isset property="noX11"/> + </or> </condition> - <condition property="setup.noWindows"> - <isset property="setup.noX11WindowsMacOsX" /> - </condition> + <property name="javac.bootclasspath-cdc.jar" value="../../gluegen/make/lib/cdc_fp.jar" /> - <condition property="setup.noMacOsX"> - <isset property="setup.noX11WindowsMacOsX" /> - </condition> - - <echo message="setup.noX11WindowsMacOsX: ${setup.noX11WindowsMacOsX}" /> - <echo message="setup.noX11: ${setup.noX11}" /> - <echo message="setup.noWindows: ${setup.noWindows}" /> - <echo message="setup.noMacOsX: ${setup.noMacOsX}" /> + <echo message="setup.noall: ${setup.noall}" /> + <echo message="setup.noall-cdc: ${setup.noall-cdc}" /> + <echo message="setup.noAWT: ${setup.noAWT}" /> + <echo message="javac.bootclasspath-cdc.jar: ${javac.bootclasspath-cdc.jar}" /> <!-- partitioning --> <property name="java.part.core" - value="javax/media/nativewindow/*, javax/media/nativewindow/egl/*, javax/media/nativewindow/x11/*, javax/media/nativewindow/macosx/*, javax/media/nativewindow/windows/*, com/sun/nativewindow/impl/*, com/sun/nativewindow/impl/jvm/*, com/sun/nativewindow/impl/x11/*"/> - - <!-- property name="java.part.win" - value="com/sun/nativewindow/impl/win/**"/ NOTHING TO DO HERE --> - - <!-- property name="java.part.macosx" - value="com/sun/nativewindow/impl/macosx/**"/ NOTHING TO DO HERE --> + value="javax/media/nativewindow/*, javax/media/nativewindow/egl/*, javax/media/nativewindow/macosx/*, javax/media/nativewindow/windows/*, com/sun/nativewindow/impl/*, com/sun/nativewindow/impl/jvm/*"/> <property name="java.part.awt" value="javax/media/nativewindow/awt/*, com/sun/nativewindow/impl/jawt/**, com/sun/nativewindow/impl/**/awt/**"/> - <!-- condition excludes --> + <property name="java.part.x11" + value="com/sun/nativewindow/impl/x11/** javax/media/nativewindow/x11/*" /> - <condition property="isCDCFP"> - <isset property="setup.cdcfp"/> - </condition> + <!-- condition excludes --> - <condition property="setup.noAWT"> - <isset property="setup.cdcfp"/> + <condition property="java.excludes.x11" + value="${java.part.x11}"> + <isset property="noX11"/> </condition> <condition property="java.excludes.awt" @@ -144,22 +118,7 @@ <isset property="setup.noAWT"/> </condition> - <condition property="java.excludes.win" - value="${java.part.win}"> - <isset property="setup.noWindows"/> - </condition> - - <condition property="java.excludes.macosx" - value="${java.part.macosx}"> - <isset property="setup.noMacOsX"/> - </condition> - - <condition property="java.excludes.cdcfp" - value=""> - <isset property="setup.cdcfp"/> - </condition> - - <property name="java.excludes.all" value="${java.excludes.awt}, ${java.excludes.win}, ${java.excludes.macosx}, ${java.excludes.cdcfp}" /> + <property name="java.excludes.all" value="${java.excludes.awt} ${java.excludes.x11}" /> <echo message="java.excludes.all: ${java.excludes.all}" /> @@ -233,6 +192,7 @@ <property name="gluegen.build.xml" value="${gluegen.make.dir}/build.xml" /> <property name="gluegen.jar" value="../../gluegen/${rootrel.build}/gluegen.jar" /> <property name="gluegen-rt.jar" value="../../gluegen/${rootrel.build}/gluegen-rt.jar" /> + <property name="gluegen-rt-cdc.jar" value="../../gluegen/${rootrel.build}/gluegen-rt-cdc.jar" /> <!-- The source directories. --> <property name="src.java" value="${project.root}/${rootrel.src.java}" /> @@ -242,10 +202,12 @@ <!-- The generated source directories. --> <property name="src.generated" value="${build}/gensrc" /> <property name="src.generated.java" value="${src.generated}/classes" /> + <property name="src.generated.java-cdc" value="${src.generated}/classes-cdc" /> <property name="src.generated.c" value="${src.generated}/native" /> <!-- The compiler output directories. --> <property name="classes" value="${build}/classes" /> + <property name="classes-cdc" value="${build}/classes-cdc" /> <property name="obj" value="${project.root}/${rootrel.obj}" /> <!-- The headers from which Java files are generated --> @@ -285,9 +247,12 @@ <!-- The resulting nativewindow.jar. --> <property name="nativewindow.core.jar" value="${build}/nativewindow.core.jar" /> <property name="nativewindow.awt.jar" value="${build}/nativewindow.awt.jar" /> + <property name="nativewindow.x11.jar" value="${build}/nativewindow.x11.jar" /> <property name="nativewindow.all.jar" value="${build}/nativewindow.all.jar" /> <property name="nativewindow.core.cdc.jar" value="${build}/nativewindow.core.cdc.jar" /> + <property name="nativewindow.x11.cdc.jar" value="${build}/nativewindow.x11.cdc.jar" /> + <property name="nativewindow.all.cdc.jar" value="${build}/nativewindow.all.cdc.jar" /> <!-- The javadoc dirs. --> <property name="javadoc" value="${project.root}/javadoc_nativewindow_public" /> @@ -315,11 +280,13 @@ <!-- Create the required output directories. --> <mkdir dir="${src.generated.java}" /> + <mkdir dir="${src.generated.java-cdc}" /> <mkdir dir="${src.generated.c}" /> <mkdir dir="${src.generated.c}/MacOSX" /> <mkdir dir="${src.generated.c}/Windows" /> <mkdir dir="${src.generated.c}/X11" /> <mkdir dir="${classes}" /> + <mkdir dir="${classes-cdc}" /> <mkdir dir="${obj}" /> </target> @@ -337,7 +304,6 @@ <propertyset> <propertyref name="antlr.jar" /> <!--propertyref name="gluegen.nsig" /--> - <propertyref name="isCDCFP" /> </propertyset> </ant> </target> @@ -393,6 +359,10 @@ emitter="com.sun.gluegen.JavaEmitter"> <classpath refid="gluegen.classpath" /> </gluegen> + <copy todir="${src.generated.java-cdc}"> + <fileset dir="${src.generated.java}" + includes="com/sun/nativewindow/impl/x11/**" /> + </copy> </target> <target name="java.generate.jawt" unless="setup.noAWT"> @@ -409,6 +379,10 @@ emitter="com.sun.gluegen.JavaEmitter"> <classpath refid="gluegen.classpath" /> </gluegen> + <copy todir="${src.generated.java-cdc}"> + <fileset dir="${src.generated.java}" + includes="com/sun/nativewindow/impl/jawt/**" /> + </copy> </target> <target name="java.generate.platforms" > @@ -468,22 +442,22 @@ - Compile the original and generated source. The composable pipelines - will be generated. --> - <target name="java.compile.1" depends="java.generate" if="javac.bootclasspath.jar"> + <target name="java.compile.javacdc" depends="java.generate" unless="setup.noCDC"> <!-- Perform the first pass Java compile; everything --> - <javac destdir="${classes}" - excludes="${java.excludes.all}" + <javac destdir="${classes-cdc}" + excludes="${java.part.awt} ${java.excludes.all}" source="${nativewindow.sourcelevel}" - classpath="${gluegen-rt.jar}" - bootclasspath="${javac.bootclasspath.jar}" + classpath="${gluegen-rt-cdc.jar}" + bootclasspath="${javac.bootclasspath-cdc.jar}" fork="yes" memoryMaximumSize="128m" debug="${javacdebug}" debuglevel="${javacdebuglevel}"> <src path="${src.java}" /> - <src path="${src.generated.java}" /> + <src path="${src.generated.java-cdc}" /> </javac> </target> - <target name="java.compile.2" depends="java.generate" unless="javac.bootclasspath.jar"> + <target name="java.compile.javase" depends="java.generate"> <!-- Perform the second pass Java compile; everything. --> <javac destdir="${classes}" excludes="${java.excludes.all}" @@ -497,7 +471,7 @@ </javac> </target> - <target name="java.compile" depends="java.compile.1,java.compile.2" /> + <target name="java.compile" depends="java.compile.javase,java.compile.javacdc" /> <!-- ================================================================== --> <!-- @@ -824,7 +798,7 @@ <!-- - Build the nativewindow.jar files. --> - <target name="jar" depends="java.compile,build-jars"/> + <target name="jar" depends="java.compile,build-jars-javase,build-jars-cdc"/> <target name="setup-manifestfile"> <condition property="manifestfile" value="nativewindowRIversion"> @@ -848,6 +822,29 @@ </copy> </target> + <target name="setup-manifestfile-cdc"> + <condition property="manifestfile" value="nativewindowRIversion-cdc"> + <isset property="nativewindow.ri" /> + </condition> + <condition property="manifestfile" value="nativewindowversion-cdc"> + <not> + <isset property="nativewindow.ri" /> + </not> + </condition> + <tstamp> + <format property="timestamp" pattern="yyyyMMdd-HH:mm:ss"/> + </tstamp> + <copy file="${manifestfile}" + tofile="tempversion-cdc" + overwrite="true"> + <filterset> + <filter token="VERSION" value="${nativewindow_base_version}-pre-${timestamp}"/> + <filter token="BASEVERSION" value="${nativewindow_base_version}"/> + </filterset> + </copy> + </target> + + <target name="build-jars-awt" depends="setup-manifestfile" unless="setup.noAWT"> <jar manifest="tempversion" destfile="${nativewindow.awt.jar}"> <fileset dir="${classes}" @@ -856,27 +853,58 @@ </jar> </target> - <target name="build-jars-all" depends="setup-manifestfile" unless="setup.cdcfp"> + <target name="build-jars-x11" depends="setup-manifestfile" unless="noX11"> + <jar manifest="tempversion" destfile="${nativewindow.x11.jar}"> + <fileset dir="${classes}" + includes="${java.part.x11}" /> + </jar> + </target> + <target name="build-jars-x11-cdc" depends="setup-manifestfile-cdc" unless="noX11"> + <jar manifest="tempversion-cdc" destfile="${nativewindow.x11.cdc.jar}"> + <fileset dir="${classes-cdc}" + includes="${java.part.x11}" /> + </jar> + </target> + + <target name="build-jars-all" depends="setup-manifestfile" unless="setup.noall"> <jar manifest="tempversion" destfile="${nativewindow.all.jar}"> <fileset dir="${classes}"> <include name="javax/media/nativewindow/**" /> <include name="com/sun/nativewindow/**" /> <include name="com/sun/gluegen/runtime/**" /> + <exclude name="${java.part.x11}" /> + </fileset> + </jar> + </target> + <target name="build-jars-all-cdc" depends="setup-manifestfile-cdc" unless="setup.noall-cdc"> + <jar manifest="tempversion-cdc" destfile="${nativewindow.all.cdc.jar}"> + <fileset dir="${classes-cdc}"> + <include name="javax/media/nativewindow/**" /> + <include name="com/sun/nativewindow/**" /> + <include name="com/sun/gluegen/runtime/**" /> </fileset> </jar> </target> - <target name="build-jars" depends="setup-manifestfile,build-jars-awt,build-jars-all"> + <target name="build-jars-javase" depends="setup-manifestfile,build-jars-awt,build-jars-x11,build-jars-all"> <jar manifest="tempversion" destfile="${nativewindow.core.jar}"> <fileset dir="${classes}" includes="${java.part.core}" - excludes="${java.part.awt}"/> + excludes="${java.part.awt} ${java.part.x11}"/> </jar> - <copy file="${nativewindow.core.jar}" tofile="${nativewindow.core.cdc.jar}" /> - <delete file="tempversion"/> </target> + <target name="build-jars-cdc" depends="setup-manifestfile-cdc,build-jars-x11-cdc,build-jars-all-cdc"> + <jar manifest="tempversion-cdc" destfile="${nativewindow.core.cdc.jar}"> + <fileset dir="${classes-cdc}" + includes="${java.part.core}" + excludes="${java.part.awt} ${java.part.x11}"/> + </jar> + + <delete file="tempversion-cdc"/> + </target> + <!-- ================================================================== --> <!-- - Build the Javadocs for the sources. @@ -889,7 +917,7 @@ <javadoc packagenames="${javadoc.packagenames}" excludepackagenames="${java.excludes.javadoc.packagenames}" sourcepath="${src.java};${src.generated.java}" - classpath="${gluegen-rt.jar}" + classpath="${gluegen-rt-cdc.jar}" destdir="${javadoc}" windowtitle="${javadoc.windowtitle}" overview="${javadoc.overview}" source="1.4" @@ -903,7 +931,7 @@ <javadoc packagenames="${javadoc.spec.packagenames}" excludepackagenames="${java.excludes.javadoc.packagenames}" sourcepath="${src.java};${src.generated.java}" - classpath="${gluegen-rt.jar}" + classpath="${gluegen-rt-cdc.jar}" destdir="${javadoc.spec}" windowtitle="${javadoc.windowtitle}" overview="${javadoc.overview}" source="1.4" @@ -917,7 +945,7 @@ <javadoc packagenames="${javadoc.dev.packagenames}" excludepackagenames="${java.excludes.javadoc.packagenames}" sourcepath="${src.java};${src.generated.java}" - classpath="${gluegen-rt.jar}" + classpath="${gluegen-rt-cdc.jar}" destdir="${javadoc.dev}" windowtitle="${javadoc.windowtitle}" overview="${javadoc.overview}" source="1.4" diff --git a/make/build-newt.xml b/make/build-newt.xml index 03477cf27..8ef77c7c7 100644 --- a/make/build-newt.xml +++ b/make/build-newt.xml @@ -49,6 +49,10 @@ setup.noCDC setup.noAWT setup.noOpenGL + + - setup.noAWT is set iff: + !isWindows && !isOSX && !noX11 + --> <project name="NEWT" basedir="." default="all"> @@ -69,15 +73,51 @@ <property name="javac.bootclasspath-cdc.jar" value="../../gluegen/make/lib/cdc_fp.jar"/> + <condition property="setup.noAWT"> + <and> + <isfalse value="${isWindows}" /> + <isfalse value="${isOSX}" /> + <isfalse value="${isX11}" /> + </and> + </condition> + <condition property="setup.noall"> + <or> + <isset property="noX11"/> + <isset property="setup.noAWT"/> + </or> + </condition> + <condition property="setup.noall-cdc"> + <or> + <isset property="noX11"/> + </or> + </condition> + <condition property="setup.nodesktop"> + <or> + <isset property="noX11"/> + </or> + </condition> + + <echo message="setup.nodesktop: ${setup.nodesktop}" /> + <echo message="setup.noall: ${setup.noall}" /> + <echo message="setup.noall-cdc: ${setup.noall-cdc}" /> <echo message="setup.noCDC: ${setup.noCDC}" /> <echo message="setup.noAWT: ${setup.noAWT}" /> <echo message="setup.noOpenGL: ${setup.noOpenGL}" /> - <echo message="javac.bootclasspath.jar: ${javac.bootclasspath.jar}" /> + <echo message="javac.bootclasspath-cdc.jar: ${javac.bootclasspath-cdc.jar}" /> <!-- partitioning --> <property name="java.part.core" - value="com/sun/javafx/newt/*, com/sun/javafx/newt/util/*, com/sun/javafx/newt/x11/*, com/sun/javafx/newt/windows/*, com/sun/javafx/newt/macosx/*, com/sun/javafx/newt/impl/*"/> + value="com/sun/javafx/newt/*, com/sun/javafx/newt/util/*, com/sun/javafx/newt/impl/*"/> + + <property name="java.part.x11" + value="com/sun/javafx/newt/x11/*"/> + + <property name="java.part.windows" + value="com/sun/javafx/newt/windows/*"/> + + <property name="java.part.macosx" + value="com/sun/javafx/newt/macosx/*"/> <property name="java.part.opengl" value="com/sun/javafx/newt/opengl/*, com/sun/javafx/newt/opengl/kd/*"/> @@ -99,7 +139,12 @@ <property name="java.excludes.cdcfp" value="${java.part.awt}"/> - <property name="java.excludes.all" value="${java.excludes.awt}, ${java.excludes.opengl}" /> + <condition property="java.excludes.desktop" + value="${java.part.x11} ${java.part.windows}, ${java.part.macosx}, ${java.part.awt}"> + <isset property="setup.nodesktop"/> + </condition> + + <property name="java.excludes.all" value="${java.excludes.awt}, ${java.excludes.opengl} ${java.excludes.desktop}" /> <echo message="java.excludes.all: ${java.excludes.all}" /> @@ -161,9 +206,16 @@ <property name="rootrel.src.c" value="${rootrel.src}/native" /> <property name="rootrel.obj" value="${rootrel.build.newt}/obj" /> - <property name="gluegen-rt-cdc.jar" value="../../gluegen/${rootrel.build}/gluegen-rt-cdc.jar" /> + <property name="gluegen-rt.jar" value="../../gluegen/${rootrel.build}/gluegen-rt.jar" /> <property name="nativewindow.core.jar" value="../${rootrel.build}/nativewindow/nativewindow.core.jar" /> + <property name="nativewindow.x11.jar" value="../${rootrel.build}/nativewindow/nativewindow.x11.jar" /> <property name="nativewindow.awt.jar" value="../${rootrel.build}/nativewindow/nativewindow.awt.jar" /> + <property name="jogl.core.jar" value="../${rootrel.build}/jogl/jogl.core.jar" /> + <property name="jogl.egl.jar" value="../${rootrel.build}/jogl/jogl.egl.jar" /> + + <property name="gluegen-rt-cdc.jar" value="../../gluegen/${rootrel.build}/gluegen-rt-cdc.jar" /> + <property name="nativewindow.core.cdc.jar" value="../${rootrel.build}/nativewindow/nativewindow.core.cdc.jar" /> + <property name="nativewindow.x11.cdc.jar" value="../${rootrel.build}/nativewindow/nativewindow.x11.cdc.jar" /> <property name="jogl.core.cdc.jar" value="../${rootrel.build}/jogl/jogl.core.cdc.jar" /> <property name="jogl.egl.cdc.jar" value="../${rootrel.build}/jogl/jogl.egl.cdc.jar" /> @@ -182,28 +234,35 @@ <property name="obj" value="${project.root}/${rootrel.obj}" /> <path id="nativewindow_gluegen_jogl.classpath"> + <pathelement location="${gluegen-rt.jar}" /> <pathelement location="${nativewindow.core.jar}" /> + <pathelement location="${nativewindow.x11.jar}" /> <pathelement location="${nativewindow.awt.jar}" /> - <pathelement location="${gluegen-rt-cdc.jar}" /> - <pathelement location="${jogl.core.cdc.jar}" /> - <pathelement location="${jogl.egl.cdc.jar}" /> + <pathelement location="${jogl.core.jar}" /> + <pathelement location="${jogl.egl.jar}" /> </path> <path id="nativewindow_gluegen_jogl.classpath-cdc"> - <pathelement location="${nativewindow.core.jar}" /> - <pathelement location="${nativewindow.awt.jar}" /> <pathelement location="${gluegen-rt-cdc.jar}" /> + <pathelement location="${nativewindow.core.cdc.jar}" /> + <pathelement location="${nativewindow.x11.cdc.jar}" /> <pathelement location="${jogl.core.cdc.jar}" /> <pathelement location="${jogl.egl.cdc.jar}" /> </path> <!-- The resulting newt.jar. --> <property name="newt.core.jar" value="${build}/newt.core.jar" /> + <property name="newt.x11.jar" value="${build}/newt.x11.jar" /> + <property name="newt.win.jar" value="${build}/newt.win.jar" /> + <property name="newt.osx.jar" value="${build}/newt.osx.jar" /> <property name="newt.ogl.jar" value="${build}/newt.ogl.jar" /> <property name="newt.awt.jar" value="${build}/newt.awt.jar" /> <property name="newt.all.jar" value="${build}/newt.all.jar" /> <property name="newt.core.cdc.jar" value="${build}/newt.core.cdc.jar" /> + <property name="newt.x11.cdc.jar" value="${build}/newt.x11.cdc.jar" /> + <property name="newt.win.cdc.jar" value="${build}/newt.win.cdc.jar" /> + <property name="newt.osx.cdc.jar" value="${build}/newt.osx.cdc.jar" /> <property name="newt.ogl.cdc.jar" value="${build}/newt.ogl.cdc.jar" /> <property name="newt.all.cdc.jar" value="${build}/newt.all.cdc.jar" /> @@ -510,13 +569,18 @@ </sequential> </macrodef> - <target name="c.build.newt.prepare"> - <javah destdir="../${rootrel.build.newt}/gensrc/native/newt/Windows" classpath="${newt.all.jar}" class="com.sun.javafx.newt.windows.WindowsWindow" /> - <javah destdir="../${rootrel.build.newt}/gensrc/native/newt/MacOSX" classpath="${newt.all.jar}" class="com.sun.javafx.newt.macosx.MacWindow" /> - <javah destdir="../${rootrel.build.newt}/gensrc/native/newt/X11" classpath="${newt.all.jar}" class="com.sun.javafx.newt.x11.X11Window" /> - <javah destdir="../${rootrel.build.newt}/gensrc/native/newt/KD" classpath="${newt.all.jar}" class="com.sun.javafx.newt.opengl.kd.KDWindow" /> + <target name="c.build.newt.prepare.opengl" unless="setup.noOpenGL"> + <javah destdir="../${rootrel.build.newt}/gensrc/native/newt/KD" classpath="${classes}" class="com.sun.javafx.newt.opengl.kd.KDWindow" /> + </target> + + <target name="c.build.newt.prepare.desktop" unless="setup.nodesktop"> + <javah destdir="../${rootrel.build.newt}/gensrc/native/newt/Windows" classpath="${classes}" class="com.sun.javafx.newt.windows.WindowsWindow" /> + <javah destdir="../${rootrel.build.newt}/gensrc/native/newt/MacOSX" classpath="${classes}" class="com.sun.javafx.newt.macosx.MacWindow" /> + <javah destdir="../${rootrel.build.newt}/gensrc/native/newt/X11" classpath="${classes}" class="com.sun.javafx.newt.x11.X11Window" /> </target> + <target name="c.build.newt.prepare" depends="c.build.newt.prepare.opengl,c.build.newt.prepare.desktop" /> + <target name="c.build.newt.windowlib"> <c.build c.compiler.src.files="c.src.files.newt" output.lib.name="newt" @@ -615,29 +679,65 @@ </jar> </target> - <target name="build-jars-cdc" depends="setup-manifestfile-cdc,build-jars-opengl-cdc" unless="setup.noCDC"> - <jar manifest="tempversion-cdc" destfile="${newt.core.cdc.jar}"> + <target name="build-jars-desktop" depends="setup-manifestfile" unless="setup.nodesktop"> + <jar manifest="tempversion" destfile="${newt.x11.jar}"> + <fileset dir="${classes}" + includes="${java.part.x11}"/> + </jar> + <jar manifest="tempversion" destfile="${newt.win.jar}"> + <fileset dir="${classes}" + includes="${java.part.windows}"/> + </jar> + <jar manifest="tempversion" destfile="${newt.osx.jar}"> + <fileset dir="${classes}" + includes="${java.part.osx}"/> + </jar> + </target> + + <target name="build-jars-desktop-cdc" depends="setup-manifestfile-cdc" unless="setup.nodesktop"> + <jar manifest="tempversion-cdc" destfile="${newt.x11.cdc.jar}"> <fileset dir="${classes-cdc}" - includes="${java.part.core}"/> + includes="${java.part.x11}"/> + </jar> + <jar manifest="tempversion-cdc" destfile="${newt.win.cdc.jar}"> + <fileset dir="${classes-cdc}" + includes="${java.part.windows}"/> </jar> + <jar manifest="tempversion-cdc" destfile="${newt.osx.cdc.jar}"> + <fileset dir="${classes-cdc}" + includes="${java.part.osx}"/> + </jar> + </target> + + <target name="build-jars-all" depends="setup-manifestfile" unless="setup.noall"> + <jar manifest="tempversion" destfile="${newt.all.jar}"> + <fileset dir="${classes}" + includes="com/sun/javafx/newt/**" /> + </jar> + </target> + + <target name="build-jars-all-cdc" depends="setup-manifestfile-cdc" unless="setup.noall-cdc"> <jar manifest="tempversion-cdc" destfile="${newt.all.cdc.jar}"> <fileset dir="${classes-cdc}" includes="${java.part.core} ${java.part.opengl}"/> </jar> </target> - <target name="build-jars-javase" depends="setup-manifestfile,build-jars-awt,build-jars-opengl"> + <target name="build-jars-javase" depends="setup-manifestfile,build-jars-awt,build-jars-opengl,build-jars-all,build-jars-desktop"> <jar manifest="tempversion" destfile="${newt.core.jar}"> <fileset dir="${classes}" includes="${java.part.core}"/> </jar> - <jar manifest="tempversion" destfile="${newt.all.jar}"> - <fileset dir="${classes}" - includes="com/sun/javafx/newt/**" /> - </jar> <delete file="tempversion"/> </target> + <target name="build-jars-cdc" depends="setup-manifestfile-cdc,build-jars-opengl-cdc,build-jars-all-cdc,build-jars-desktop-cdc" unless="setup.noCDC"> + <jar manifest="tempversion-cdc" destfile="${newt.core.cdc.jar}"> + <fileset dir="${classes-cdc}" + includes="${java.part.core}"/> + </jar> + </target> + <!-- ================================================================== --> <!-- - Build the Javadocs for the sources. diff --git a/make/make.jogl.all.linux-x86.sh b/make/make.jogl.all.linux-x86.sh index a495586b2..2b791c6dd 100644 --- a/make/make.jogl.all.linux-x86.sh +++ b/make/make.jogl.all.linux-x86.sh @@ -11,6 +11,7 @@ fi # -Dbuild.noarchives=true ant \ + -Dbuild.noarchives=true \ -Djogl.cg=1 -Dx11.cg.lib=../../lib-linux-x86 \ -Drootrel.build=build-x86 \ -Dgluegen.cpptasks.detected.os=true \ diff --git a/make/nativewindowRIversion-cdc b/make/nativewindowRIversion-cdc new file mode 100644 index 000000000..35ac5136e --- /dev/null +++ b/make/nativewindowRIversion-cdc @@ -0,0 +1,8 @@ +Specification-Title: Native Window Interface API Specification CDC +Specification-Version: @BASEVERSION@ +Specification-Vendor: Sun Microsystems, Inc. +Implementation-Title: Native Window Interface Runtime Environment CDC +Implementation-Version: @BASEVERSION@ +Implementation-Vendor: Sun Microsystems, Inc. +Extension-Name: javax.media.nativewindow +Implementation-Vendor-Id: com.sun diff --git a/make/nativewindowversion-cdc b/make/nativewindowversion-cdc new file mode 100644 index 000000000..7213cf6f0 --- /dev/null +++ b/make/nativewindowversion-cdc @@ -0,0 +1,8 @@ +Specification-Title: Native Window Interface API Specification CDC +Specification-Version: @BASEVERSION@ +Specification-Vendor: Sun Microsystems, Inc. +Implementation-Title: Native Window Interface Runtime Environment CDC +Implementation-Version: @VERSION@ +Implementation-Vendor: java.net JOGL community +Extension-Name: javax.media.nativewindow +Implementation-Vendor-Id: com.sun |