diff options
Diffstat (limited to 'make')
93 files changed, 2170 insertions, 2598 deletions
diff --git a/make/build-common.xml b/make/build-common.xml new file mode 100644 index 000000000..cc40a5cd4 --- /dev/null +++ b/make/build-common.xml @@ -0,0 +1,345 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<project name="JOGLCommonStuff" basedir="." default="common.init"> + + <description>Common JOGL Stuff</description> + + <fail message="Please build using Ant 1.8.0 or higher."> + <condition> + <not> + <antversion atleast="1.8.0"/> + </not> + </condition> + </fail> + + <!-- Pull in GlueGen cpptasks build file --> + <property name="gluegen.root" value="../../gluegen" /> + <import file="${gluegen.root}/make/gluegen-cpptasks.xml" /> + + <property name="ant-contrib.jar" value="${gluegen.root}/make/lib/ant-contrib-1.0b3.jar" /> + + <condition property="rootrel.build" value="build"> + <not> + <isset property="rootrel.build"/> + </not> + </condition> + + <import file="versions.xml" /> + + <tstamp> + <format property="version.timestamp" pattern="yyyyMMdd"/> + </tstamp> + + <target name="nativewindow.setup-version-RI" if="nativewindow.ri"> + <property name="nativewindow.version" value="${nativewindow_base_version}" /> + </target> + + <target name="nativewindow.setup-version-non-RI" unless="nativewindow.ri"> + <property name="nativewindow.version" value="${nativewindow_base_version}-pre-${version.timestamp}" /> + </target> + <target name="jogl.setup-version-RI" if="jogl.ri"> + <property name="jogl.version" value="${jogl_base_version}" /> + </target> + + <target name="jogl.setup-version-non-RI" unless="jogl.ri"> + <property name="jogl.version" value="${jogl_base_version}-pre-${version.timestamp}" /> + </target> + + <target name="newt.setup-version-RI" if="newt.ri"> + <property name="newt.version" value="${newt_base_version}" /> + </target> + + <target name="newt.setup-version-non-RI" unless="newt.ri"> + <property name="newt.version" value="${newt_base_version}-pre-${version.timestamp}" /> + </target> + + <target name="setup-versions" depends="nativewindow.setup-version-RI, nativewindow.setup-version-non-RI, jogl.setup-version-RI, jogl.setup-version-non-RI, newt.setup-version-RI, newt.setup-version-non-RI"/> + + <!-- ================================================================== --> + <!-- + - Base initialization of properties and detection of operating system. + --> + <target name="common.init" depends="gluegen.cpptasks.detect.os,setup-versions" unless="common.init.done"> + <property name="common.init.done" value="true" /> + + <!-- Set the project root directory to be up one directory. --> + <property name="project.root" value=".." /> + <property name="build" value="${project.root}/${rootrel.build}" /> + <property name="src" value="${project.root}/src" /> + <property name="lib" value="${build}/lib" /> + + <property name="archive.name" value="jogl-${jogl.version}-${os.and.arch}" /> + <property name="archive" value="${build}/${archive.name}" /> + + <property name="all.srcj.path" value="${src}/nativewindow/classes;${src}/jogl/classes;${src}/newt/classes" /> + <!-- No generated classes for Newt at the present time --> + <property name="all.genj.path" value="${build}/nativewindow/gensrc/classes;${build}/jogl/gensrc/classes" /> + + <!-- Set the configuration and build files to this directory. --> + <property name="make" value="." /> + <property name="config" value="${make}/config" /> + <property name="stub.includes" value="stub_includes" /> <!-- NOTE: this MUST be relative for FileSet --> + <property name="stub.includes.common" value="${stub.includes}/common" /> + + <condition property="setup.nodesktop"> + <and> + <isfalse value="${isWindows}" /> + <isfalse value="${isOSX}" /> + <isfalse value="${isX11}" /> + </and> + </condition> + + <echo message="setup.nodesktop: ${setup.nodesktop}" /> + <echo message="setup.noAWT: ${setup.noAWT}" /> + <echo message="setup.noCDC: ${setup.noCDC}" /> + + <!-- Load the user specified properties file that defines various host + - specific paths. The user will be notified if this is does not + - exist. --> + <property name="user.properties.file" value="${user.home}/jogl.properties" /> + <property file="${user.properties.file}" /> + <echo message="Loaded ${user.properties.file}." /> + <property file="${user.home}/gluegen.properties" /> + <echo message="Loaded ${user.home}/gluegen.properties." /> + <fail message="antlr.jar was not specified in jogl.properties or gluegen.properties. Please see README.txt for instructions" unless="antlr.jar"/> + <echo message="antlr.jar=${antlr.jar}" /> + + <property name="target.sourcelevel" value="1.4" /> + <property name="host.sourcelevel" value="1.5" /> + + <!-- NOTE: the value of the debug and optimise attributes will not be overridden if already set externally --> + <property name="javacdebug" value="true" /> + <property name="javacdebuglevel" value="source,lines" /> + <!-- property name="javac.memorymax" value="128m" /--> <!-- I ran out of memory with these .. linux x86_64 6u14 --> + <property name="javac.memorymax" value="512m" /> + + <!-- Names of directories relative to the project root. + Some of these are used in FileMappers later for dependence information + and need exact string matching, which is why they use file.separator + instead of "/". --> + + <property name="javac.bootclasspath-cdc.jar" value="${gluegen.root}/make/lib/cdc_fp.jar"/> + <echo message="javac.bootclasspath-cdc.jar: ${javac.bootclasspath-cdc.jar}" /> + + <!-- NOTE that these require a checked-out GlueGen, etc workspace as a --> + <!-- sibling of the JOGL workspace. --> + <property name="gluegen.make" value="${gluegen.root}/make" /> + <property name="gluegen.build.xml" value="${gluegen.make}/build.xml" /> + <property name="build.gluegen" value="${gluegen.root}/${rootrel.build}" /> + <property name="obj.gluegen" value="${build.gluegen}/obj"/> + <property name="gluegen.jar" value="${build.gluegen}/gluegen.jar" /> + <property name="junit.jar" value="${gluegen.make}/lib/junit-4.5.jar" /> + <property name="ant.jar" value="${ant.home}/lib/ant.jar" /> + <property name="ant-junit.jar" value="${ant.home}/lib/ant-junit.jar" /> + + <property name="nativewindow.make" value="." /> + <property name="nativewindow.build.xml" value="${nativewindow.make}/build-nativewindow.xml" /> + <property name="build.nativewindow" value="${build}/nativewindow" /> + <property name="obj.nativewindow" value="${build.nativewindow}/obj"/> + + <property name="jogl.make" value="." /> + <property name="jogl.build.xml" value="${jogl.make}/build-jogl.xml" /> + <property name="build.jogl" value="${build}/jogl" /> + <property name="obj.jogl" value="${build.jogl}/obj"/> + + <property name="newt.make" value="." /> + <property name="newt.build.xml" value="${newt.make}/build-newt.xml" /> + <property name="build.newt" value="${build}/newt" /> + <property name="obj.newt" value="${build.newt}/obj"/> + + <property name="junit.make" value="." /> + <property name="junit.build.xml" value="${junit.make}/build-junit.xml" /> + <property name="results.junit" value="${build}/test/results" /> + <property name="build.junit" value="${build}/test/build" /> + <property name="obj.junit" value="${build.junit}/obj"/> + + <property name="obj.all.paths" value="${obj.gluegen}${path.separator}${obj.nativewindow}${path.separator}${obj.jogl}${path.separator}${obj.newt}${path.separator}${obj.junit}" /> + + <path id="gluegen.classpath"> + <pathelement location="${gluegen.jar}" /> + <pathelement location="${antlr.jar}" /> + </path> + + <!-- JavaSE combinations --> + <property name="gluegen-rt.jar" value="${build.gluegen}/gluegen-rt.jar" /> + <property name="jogl.test.jar" value="${build.jogl}/jogl.test.jar"/> + + <!-- JavaSE combinations . AWT --> + <property name="nativewindow.all.jar" value="${build.nativewindow}/nativewindow.all.jar" /> + <property name="jogl.all.jar" value="${build.jogl}/jogl.all.jar" /> + <property name="newt.all.jar" value="${build.newt}/newt.all.jar" /> + + <path id="nativewindow_gluegen.classpath"> + <pathelement location="${gluegen-rt.jar}" /> + <pathelement location="${nativewindow.all.jar}" /> + </path> + + <path id="nativewindow_gluegen_jogl.classpath"> + <pathelement location="${gluegen-rt.jar}" /> + <pathelement location="${nativewindow.all.jar}" /> + <pathelement location="${jogl.all.jar}" /> + </path> + + <path id="jogl_newt_all.classpath"> + <pathelement location="${gluegen-rt.jar}" /> + <pathelement location="${nativewindow.all.jar}" /> + <pathelement location="${jogl.all.jar}" /> + <pathelement location="${newt.all.jar}" /> + </path> + + <path id="junit_jogl_newt.compile.classpath"> + <pathelement location="${junit.jar}" /> + <pathelement location="${ant.jar}" /> + <pathelement location="${ant-junit.jar}" /> + <pathelement location="${gluegen-rt.jar}" /> + <pathelement location="${nativewindow.all.jar}" /> + <pathelement location="${jogl.all.jar}" /> + <pathelement location="${newt.all.jar}" /> + </path> + + <path id="junit_jogl_newt.run.classpath"> + <pathelement location="${junit.jar}" /> + <pathelement location="${ant.jar}" /> + <pathelement location="${ant-junit.jar}" /> + <pathelement location="${gluegen-rt.jar}" /> + <pathelement location="${nativewindow.all.jar}" /> + <pathelement location="${jogl.all.jar}" /> + <pathelement location="${newt.all.jar}" /> + <pathelement location="${jogl.test.jar}" /> + </path> + <property name="junit_jogl_newt.run.jars" + value="${junit.jar}${path.separator}${ant.jar}${path.separator}${ant-junit.jar}${path.separator}${gluegen-rt.jar}${path.separator}${nativewindow.all.jar}${path.separator}${jogl.all.jar}${path.separator}${newt.all.jar}${path.separator}${jogl.test.jar}"/> + + <!-- JavaSE combinations . NO.AWT --> + <property name="nativewindow.all-noawt.jar" value="${build.nativewindow}/nativewindow.all-noawt.jar" /> + <property name="jogl.all-noawt.jar" value="${build.jogl}/jogl.all-noawt.jar" /> + <property name="newt.all-noawt.jar" value="${build.newt}/newt.all-noawt.jar" /> + + <path id="jogl_newt_all-noawt.classpath"> + <pathelement location="${gluegen-rt.jar}" /> + <pathelement location="${nativewindow.all-noawt.jar}" /> + <pathelement location="${jogl.all-noawt.jar}" /> + <pathelement location="${newt.all-noawt.jar}" /> + </path> + + <!-- CDC combinations . NO.AWT --> + <property name="gluegen-rt-cdc.jar" value="${build.gluegen}/gluegen-rt-cdc.jar" /> + + <property name="nativewindow.all.cdc.jar" value="${build.nativewindow}/nativewindow.all.cdc.jar" /> + <property name="jogl.all.cdc.jar" value="${build.jogl}/jogl.all.cdc.jar" /> + <property name="newt.all.cdc.jar" value="${build.newt}/newt.all.cdc.jar" /> + + <path id="nativewindow_gluegen.classpath-cdc"> + <pathelement location="${gluegen-rt-cdc.jar}" /> + <pathelement location="${nativewindow.all.cdc.jar}" /> + </path> + + <path id="nativewindow_gluegen_jogl.classpath-cdc"> + <pathelement location="${gluegen-rt-cdc.jar}" /> + <pathelement location="${nativewindow.all.cdc.jar}" /> + <pathelement location="${jogl.all.cdc.jar}" /> + </path> + + <path id="jogl_newt_all.classpath-cdc"> + <pathelement location="${gluegen-rt-cdc.jar}" /> + <pathelement location="${nativewindow.all.cdc.jar}" /> + <pathelement location="${jogl.all.cdc.jar}" /> + <pathelement location="${newt.all.cdc.jar}" /> + </path> + + <!-- Atomic JavaSE JARS --> + + <property name="nativewindow.core.jar" value="${build.nativewindow}/nativewindow.core.jar" /> + <property name="nativewindow.awt.jar" value="${build.nativewindow}/nativewindow.awt.jar" /> + <property name="nativewindow.os.x11.jar" value="${build.nativewindow}/nativewindow.os.x11.jar" /> + + <property name="jogl.core.jar" value="${build.jogl}/jogl.core.jar" /> + <property name="jogl.cg.jar" value="${build.jogl}/jogl.cg.jar" /> + <property name="jogl.gles1.jar" value="${build.jogl}/jogl.gles1.jar" /> + <property name="jogl.gles1.dbg.jar" value="${build.jogl}/jogl.gles1.dbg.jar" /> + <property name="jogl.gles2.jar" value="${build.jogl}/jogl.gles2.jar" /> + <property name="jogl.gles2.dbg.jar" value="${build.jogl}/jogl.gles2.dbg.jar" /> + <property name="jogl.egl.jar" value="${build.jogl}/jogl.egl.jar" /> + <property name="jogl.glutess.jar" value="${build.jogl}/jogl.glu.tess.jar" /> + <property name="jogl.glumipmap.jar" value="${build.jogl}/jogl.glu.mipmap.jar" /> + <property name="jogl.glugldesktop.jar" value="${build.jogl}/jogl.glu.gldesktop.jar" /> + + <property name="jogl.os.x11.jar" value="${build.jogl}/jogl.os.x11.jar" /> + <property name="jogl.os.win.jar" value="${build.jogl}/jogl.os.win.jar" /> + <property name="jogl.os.osx.jar" value="${build.jogl}/jogl.os.osx.jar" /> + + <property name="jogl.gl2es12.jar" value="${build.jogl}/jogl.gl2es12.jar" /> + + <property name="jogl.gldesktop.jar" value="${build.jogl}/jogl.gldesktop.jar" /> + <property name="jogl.gldesktop.dbg.jar" value="${build.jogl}/jogl.gldesktop.dbg.jar" /> + + <property name="jogl.omx.jar" value="${build.jogl}/jogl.omx.jar" /> + + <property name="jogl.awt.jar" value="${build.jogl}/jogl.awt.jar" /> + <property name="jogl.util.jar" value="${build.jogl}/jogl.util.jar" /> + <property name="jogl.util.gldesktop.jar" value="${build.jogl}/jogl.util.gldesktop.jar" /> + <property name="jogl.util.awt.jar" value="${build.jogl}/jogl.util.awt.jar" /> + <property name="jogl.util.fixedfuncemu.jar" value="${build.jogl}/jogl.util.fixedfuncemu.jar" /> + <property name="jogl.sdk.jar" value="${build.jogl}/jogl.sdk.jar" /> + + <property name="newt.core.jar" value="${build.newt}/newt.core.jar" /> + <property name="newt.os.x11.jar" value="${build.newt}/newt.os.x11.jar" /> + <property name="newt.os.win.jar" value="${build.newt}/newt.os.win.jar" /> + <property name="newt.os.osx.jar" value="${build.newt}/newt.os.osx.jar" /> + <property name="newt.ogl.jar" value="${build.newt}/newt.ogl.jar" /> + <property name="newt.broadcomegl.jar" value="${build.newt}/newt.broadcomegl.jar" /> + <property name="newt.awt.jar" value="${build.newt}/newt.awt.jar" /> + + <!-- Atomic CDC JARS --> + <property name="nativewindow.core.cdc.jar" value="${build.nativewindow}/nativewindow.core.cdc.jar" /> + <property name="nativewindow.os.x11.cdc.jar" value="${build.nativewindow}/nativewindow.os.x11.cdc.jar" /> + + <property name="jogl.core.cdc.jar" value="${build.jogl}/jogl.core.cdc.jar" /> + <property name="jogl.gles1.cdc.jar" value="${build.jogl}/jogl.gles1.cdc.jar" /> + <property name="jogl.gles1.dbg.cdc.jar" value="${build.jogl}/jogl.gles1.dbg.cdc.jar" /> + <property name="jogl.gles2.cdc.jar" value="${build.jogl}/jogl.gles2.cdc.jar" /> + <property name="jogl.gles2.dbg.cdc.jar" value="${build.jogl}/jogl.gles2.dbg.cdc.jar" /> + <property name="jogl.egl.cdc.jar" value="${build.jogl}/jogl.egl.cdc.jar" /> + <property name="jogl.glutess.cdc.jar" value="${build.jogl}/jogl.glu.tess.cdc.jar" /> + <property name="jogl.glumipmap.cdc.jar" value="${build.jogl}/jogl.glu.mipmap.cdc.jar" /> + <property name="jogl.os.x11.cdc.jar" value="${build.jogl}/jogl.os.x11.cdc.jar" /> + <property name="jogl.os.win.cdc.jar" value="${build.jogl}/jogl.os.win.cdc.jar" /> + <property name="jogl.os.osx.cdc.jar" value="${build.jogl}/jogl.os.osx.cdc.jar" /> + <property name="jogl.gl2es12.cdc.jar" value="${build.jogl}/jogl.gl2es12.cdc.jar" /> + <property name="jogl.util.cdc.jar" value="${build.jogl}/jogl.util.cdc.jar" /> + <property name="jogl.util.fixedfuncemu.cdc.jar" value="${build.jogl}/jogl.util.fixedfuncemu.cdc.jar" /> + + <property name="newt.core.cdc.jar" value="${build.newt}/newt.core.cdc.jar" /> + <property name="newt.os.x11.cdc.jar" value="${build.newt}/newt.os.x11.cdc.jar" /> + <property name="newt.os.win.cdc.jar" value="${build.newt}/newt.os.win.cdc.jar" /> + <property name="newt.os.osx.cdc.jar" value="${build.newt}/newt.os.osx.cdc.jar" /> + <property name="newt.ogl.cdc.jar" value="${build.newt}/newt.ogl.cdc.jar" /> + <property name="newt.broadcomegl.cdc.jar" value="${build.newt}/newt.broadcomegl.cdc.jar" /> + + <!-- The location and name of the configuration ANT file that will + - validate to ensure that all user-define variables are set. --> + <property name="validate.user.properties" value="${make}/validate-properties.xml" /> + </target> + + <!-- ================================================================== --> + <!-- GlueGen and BuildStaticGLInfo creation, task setup and Java file generation --> + <!-- + - Build GlueGen + --> + <target name="common.gluegen.build" depends="common.init" unless="common.gluegen.build.done"> + <property name="common.gluegen.build.done" value="true" /> + + <!-- Run the GlueGen build to ensure that the GlueGen ANT task + - has been built. --> + <!-- FIXME: remove passing down of antlr.jar when gluegen.properties is on all + nightly build machines --> + <ant antfile="${gluegen.build.xml}" dir="${gluegen.make}" target="all" inheritAll="false"> + <propertyset> + <propertyref name="antlr.jar" /> + <!--propertyref name="gluegen.nsig" /--> + </propertyset> + </ant> + </target> + + +</project> diff --git a/make/build-gluegen.xml b/make/build-gluegen.xml index 992599cdb..fedfd9d93 100644 --- a/make/build-gluegen.xml +++ b/make/build-gluegen.xml @@ -88,6 +88,7 @@ - NOTE: GlueGenTask is NOT built at this time. It is done in - a separate task. --> <javac destdir="${classes}" includes="**/gluegen/**" excludes="**/GlueGenTask.java" + includeAntRuntime="false" source="1.4" debug="true" debuglevel="source,lines"> <src path="${src.java}" /> <src path="${src.generated.java}" /> @@ -140,7 +141,8 @@ <!-- Build the GlueGen ANT task. - NOTE: ONLY the GlueGenTask is built at this time. GlueGen - itself is built in a separate task. --> - <javac destdir="${classes}" includes="**/GlueGenTask.java" source="1.4" debug="true" debuglevel="source,lines"> + <javac destdir="${classes}" includes="**/GlueGenTask.java" source="1.4" debug="true" debuglevel="source,lines" + includeAntRuntime="false"> <src path="${src.java}" /> <classpath refid="antlr.classpath" /> </javac> diff --git a/make/build-jogl.xml b/make/build-jogl.xml index 23ad51a9e..760200398 100644 --- a/make/build-jogl.xml +++ b/make/build-jogl.xml @@ -59,121 +59,92 @@ setup.noAWT setup.noCDC + - Skip gluegen: java.generate.skip --> <project name="JOGL" basedir="." default="all"> - <import file="versions.xml" /> - - <!-- Pull in GlueGen cpptasks build file --> - <property name="gluegen.root" value="../../gluegen" /> - <import file="${gluegen.root}/make/gluegen-cpptasks.xml" /> + <import file="build-common.xml"/> <!-- ================================================================== --> <!-- - Base initialization and detection of operating system. --> - <target name="base.init" depends="gluegen.cpptasks.detect.os"> - - <condition property="setup.nodesktop"> - <and> - <isfalse value="${isWindows}" /> - <isfalse value="${isOSX}" /> - <isfalse value="${isX11}" /> - </and> - </condition> - - <condition property="setup.noall"> - <isset property="setup.noAWT"/> - </condition> - - <echo message="setup.nodesktop: ${setup.nodesktop}" /> - <echo message="setup.noall: ${setup.noall}" /> - <echo message="setup.noAWT: ${setup.noAWT}" /> - <echo message="setup.noCDC: ${setup.noCDC}" /> - - <!-- partitioning --> - + <target name="partitioning.setup" depends="common.init"> <property name="java.part.core" - value="javax/media/opengl/* javax/media/opengl/fixedfunc/* javax/media/opengl/glu/* javax/media/opengl/glu/gl2es1/* com/sun/opengl/impl/* com/sun/opengl/impl/glu/* com/sun/opengl/impl/glu/error/*"/> + value="javax/media/opengl/* javax/media/opengl/fixedfunc/* javax/media/opengl/glu/* javax/media/opengl/glu/gl2es1/* com/jogamp/opengl/impl/* com/jogamp/opengl/impl/glu/* com/jogamp/opengl/impl/glu/error/*"/> <property name="java.part.core.exclude" value="javax/media/opengl/Debug* javax/media/opengl/Trace*"/> <property name="java.part.nv-cg" - value="com/sun/opengl/cg com/sun/opengl/cg/*"/> + value="com/jogamp/opengl/cg com/jogamp/opengl/cg/*"/> <property name="java.part.egl" - value="com/sun/opengl/impl/egl/*"/> + value="com/jogamp/opengl/impl/egl/*"/> <property name="java.part.glutess" - value="com/sun/opengl/impl/glu/tessellator/**"/> + value="com/jogamp/opengl/impl/glu/tessellator/**"/> <property name="java.part.glumipmap" - value="com/sun/opengl/impl/glu/mipmap/**"/> + value="com/jogamp/opengl/impl/glu/mipmap/**"/> - <property name="java.part.glugl2" - value="com/sun/opengl/impl/glu/gl2/** com/sun/opengl/impl/glu/nurbs/** com/sun/opengl/impl/glu/registry/** javax/media/opengl/glu/gl2/**"/> + <property name="java.part.glugldesktop" + value="com/jogamp/opengl/impl/glu/gl2/** com/jogamp/opengl/impl/glu/nurbs/** com/jogamp/opengl/impl/glu/registry/** javax/media/opengl/glu/gl2/**"/> <property name="java.part.openmax" - value="com/sun/openmax/**"/> + value="com/jogamp/openmax/**"/> <property name="java.part.sdk" - value="com/sun/opengl/util/glsl/sdk/**"/> + value="com/jogamp/opengl/util/glsl/sdk/**"/> <property name="java.part.glx" - value="com/sun/opengl/impl/x11/glx/*"/> + value="com/jogamp/opengl/impl/x11/glx/*"/> <property name="java.part.wgl" - value="com/sun/opengl/impl/windows/wgl/*"/> + value="com/jogamp/opengl/impl/windows/wgl/*"/> <property name="java.part.cgl" - value="com/sun/opengl/impl/macosx/cgl/*"/> + value="com/jogamp/opengl/impl/macosx/cgl/*"/> <property name="java.part.gl2es12" - value="com/sun/opengl/impl/gl2es12/**"/> + value="com/jogamp/opengl/impl/gl2es12/**"/> - <property name="java.part.gl3" - value="com/sun/opengl/impl/**/gl3/**"/> + <property name="java.part.gldesktop" + value="com/jogamp/opengl/impl/**/gl2/** com/jogamp/opengl/impl/**/gl3/** com/jogamp/opengl/impl/**/gl4/**"/> - <property name="java.part.gl3.dbg" - value="javax/media/opengl/TraceGL3.* javax/media/opengl/DebugGL3.* javax/media/opengl/TraceGL3bc.* javax/media/opengl/DebugGL3bc.*"/> - - <property name="java.part.gl2" - value="com/sun/opengl/impl/**/gl2/**"/> - - <property name="java.part.gl2.dbg" - value="javax/media/opengl/TraceGL2.* javax/media/opengl/DebugGL2.* javax/media/opengl/TraceGL2GL3.* javax/media/opengl/DebugGL2GL3.*"/> + <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.*"/> <property name="java.part.es1" - value="javax/media/opengl/**/es1/** com/sun/opengl/**/es1/**"/> + value="javax/media/opengl/**/es1/** com/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.*"/> <property name="java.part.es2" - value="javax/media/opengl/**/es2/** com/sun/opengl/**/es2/**"/> + value="javax/media/opengl/**/es2/** com/jogamp/opengl/**/es2/**"/> <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.awt" - value="javax/media/opengl/awt/** com/sun/opengl/impl/**/awt/**"/> + value="javax/media/opengl/awt/** com/jogamp/opengl/impl/**/awt/**"/> <property name="java.part.util" - value="com/sun/opengl/util/* com/sun/opengl/util/texture/** com/sun/opengl/util/packrect/**"/> + value="com/jogamp/opengl/util/* com/jogamp/opengl/util/texture/** com/jogamp/opengl/util/packrect/**"/> <property name="java.part.util.awt" - value="com/sun/opengl/util/**/awt/** com/sun/opengl/util/AWTAnimatorImpl*"/> + value="com/jogamp/opengl/util/**/awt/** com/jogamp/opengl/util/AWTAnimatorImpl*"/> - <property name="java.part.util.gl2" - value="com/sun/opengl/util/**/gl2/**"/> + <property name="java.part.util.gldesktop" + value="com/jogamp/opengl/util/**/gl2/**"/> <property name="java.part.util.glsl" - value="com/sun/opengl/util/glsl/* com/sun/opengl/util/glsl/fixedfunc/*"/> + value="com/jogamp/opengl/util/glsl/* com/jogamp/opengl/util/glsl/fixedfunc/*"/> <property name="java.part.util.fixedfuncemu" - value="com/sun/opengl/util/glsl/fixedfunc/impl/**"/> + value="com/jogamp/opengl/util/glsl/fixedfunc/impl/**"/> <property name="java.part.util.fixedfuncemu.shadercode" - value="com/sun/opengl/util/glsl/fixedfunc/impl/shaders/* com/sun/opengl/util/glsl/fixedfunc/impl/shaders/bin/**"/> + value="com/jogamp/opengl/util/glsl/fixedfunc/impl/shaders/* com/jogamp/opengl/util/glsl/fixedfunc/impl/shaders/bin/**"/> <!-- condition excludes --> @@ -190,13 +161,13 @@ </condition> <property name="java.excludes.javadoc.packagenames" - value="com.sun.opengl.impl.gl2.fixme.*,com.sun.javafx.audio.windows.waveout.TestSpatialization"/> + value="com.jogamp.opengl.impl.gl2.fixme.*,com.jogamp.audio.windows.waveout.TestSpatialization"/> <property name="java.excludes.fixme" - value="com/sun/opengl/impl/gl2/fixme/** com/sun/javafx/audio/windows/waveout/TestSpatialization.java" /> + value="com/jogamp/opengl/impl/gl2/fixme/** com/jogamp/audio/windows/waveout/TestSpatialization.java" /> <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"/> + value="${java.excludes.fixme} ${java.part.nv-cg} ${java.part.gldesktop} ${java.part.gldesktop.dbg} ${java.part.awt} ${java.part.glugldesktop} ${java.part.util.awt} ${java.part.util.gldesktop} com/jogamp/opengl/util/TGAWriter.java"/> <condition property="java.excludes.desktop" value="${java.part.glx} ${java.excludes.cdcfp}"> @@ -205,129 +176,55 @@ <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. --> - <property name="project.root" value=".." /> - - <!-- Set the configuration and build files to this directory. --> - <property name="make" value="." /> - </target> - - <target name="base.init.sourcelevel.1"> - <property name="jogl.sourcelevel" value="1.4" /> - </target> - - <!--target name="base.init.sourcelevel.2" if="gluegen.nsig"> - <property name="jogl.sourcelevel" value="1.5" /> - </target--> - - <!-- ================================================================== --> - <!-- - - Load user properties which override build defaults. - --> - <target name="load.user.properties" depends="base.init,base.init.sourcelevel.1" unless="user.properties.file"> - <!-- Load the user specified properties file that defines various host - - specific paths. The user will be notified if this is does not - - exist. --> - <property name="user.properties.file" value="${user.home}/jogl.properties" /> - <property file="${user.properties.file}" /> - <echo message="Loaded ${user.properties.file}." /> - <property file="${user.home}/gluegen.properties" /> - <echo message="Loaded ${user.home}/gluegen.properties." /> - <fail message="antlr.jar was not specified in jogl.properties or gluegen.properties. Please see README.txt for instructions" unless="antlr.jar"/> - <echo message="antlr.jar=${antlr.jar}" /> </target> <!-- ================================================================== --> <!-- - Declare all paths and user defined variables. --> - <target name="declare.common" description="Declare properties" depends="load.user.properties"> - <!-- The location and name of the configuration ANT file that will - - validate to ensure that all user-define variables are set. --> - <property name="validate.user.properties" value="${make}/validate-properties.xml" /> - - <!-- NOTE: the value of the debug and optimise attributes will not be overridden if already set externally --> - <property name="javacdebug" value="true" /> - <property name="javacdebuglevel" value="source,lines" /> - <!-- property name="javac.memorymax" value="128m" /--> <!-- I ran out of memory with these .. linux x86_64 6u14 --> - <property name="javac.memorymax" value="512m" /> - - <!-- Names of directories relative to the project root. - Some of these are used in FileMappers later for dependence information - and need exact string matching, which is why they use file.separator - instead of "/". --> - <condition property="rootrel.build" value="build"> - <not> - <isset property="rootrel.build"/> - </not> - </condition> - <property name="rootrel.build.jogl" value="${rootrel.build}/jogl" /> - <property name="rootrel.src.java" value="src/jogl/classes" /> - <property name="rootrel.src.c" value="src/jogl/native" /> - <property name="rootrel.src.c.openmax" value="src/jogl/native/openmax" /> + <target name="declare.common" description="Declare properties" depends="partitioning.setup"> + <property name="config.jogl" value="${config}/jogl" /> + + <property name="rootrel.src.java" value="src/jogl/classes" /> + <property name="rootrel.src.c" value="src/jogl/native" /> + <property name="rootrel.src.c.openmax" value="src/jogl/native/openmax" /> - <property name="rootrel.src.generated" value="${rootrel.build.jogl}/gensrc" /> + <property name="rootrel.src.generated" value="${rootrel.build}/jogl/gensrc" /> <property name="rootrel.generated.c.jogl" value="${rootrel.src.generated}/native/jogl" /> - <property name="rootrel.generated.c.cg" value="${rootrel.src.generated}/native/jogl_cg" /> - <property name="rootrel.obj" value="${rootrel.build.jogl}/obj" /> - <property name="rootrel.obj.jogl" value="${rootrel.obj}/jogl" /> - <property name="rootrel.obj.cg" value="${rootrel.obj}/jogl_cg" /> - - <property name="javac.bootclasspath-cdc.jar" value="../../gluegen/make/lib/cdc_fp.jar"/> - - <!-- GlueGen properties. --> - <!-- NOTE that these require a checked-out GlueGen workspace as a --> - <!-- sibling of the JOGL workspace. --> - <property name="gluegen.make.dir" value="../../gluegen/make" /> - <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="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" /> - + <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="build" value="${project.root}/${rootrel.build.jogl}" /> <property name="tempdir" value="${project.root}/build-temp" /> <!-- The generated source directories. --> - <property name="src.generated" value="${build}/gensrc" /> + <property name="src.generated" value="${build.jogl}/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.java.cg" value="${src.generated.java}/com/sun/opengl/cg" /> + <property name="src.generated.java.cg" value="${src.generated.java}/com/jogamp/opengl/cg" /> <property name="src.generated.c" value="${src.generated}/native/jogl" /> <property name="src.generated.c.openmax" value="${src.generated}/native/openmax" /> <property name="src.generated.c.cg" value="${src.generated}/native/jogl_cg" /> <!-- 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}" /> - <property name="obj.jogl" value="${project.root}/${rootrel.obj.jogl}" /> - <property name="obj.cg" value="${project.root}/${rootrel.obj.cg}" /> + <property name="classes" value="${build.jogl}/classes" /> + <property name="classes-cdc" value="${build.jogl}/classes-cdc" /> + <property name="obj.joglsub" value="${obj.jogl}/jogl" /> + <property name="obj.cgsub" value="${obj.jogl}/cg" /> <!-- The GL headers from which Java files are generated --> - <property name="config" value="${make}/config/jogl" /> - <property name="stub.includes" value="${make}/stub_includes" /> - <property name="stub.includes.dir" value="stub_includes" /> <!-- NOTE: this MUST be relative for FileSet --> - <property name="stub.includes.opengl" value="${stub.includes}/opengl" /> - <property name="stub.includes.common" value="${stub.includes}/common" /> - <dirset id="stub.includes.fileset.all.gl2" dir="."> - <include name="${stub.includes.dir}/opengl/**" /> - <include name="${stub.includes.dir}/macosx/**" /> - <include name="${stub.includes.dir}/win32/**" /> - <include name="${stub.includes.dir}/x11/**" /> - <include name="${stub.includes.dir}/common/**" /> - <include name="${stub.includes.dir}/jni/**" /> + <property name="stub.includes.opengl" value="${stub.includes}/opengl" /> + + <dirset id="stub.includes.fileset.all.gldesktop" dir="."> + <include name="${stub.includes}/opengl/**" /> + <include name="${stub.includes}/macosx/**" /> + <include name="${stub.includes}/win32/**" /> + <include name="${stub.includes}/x11/**" /> + <include name="${stub.includes}/common/**" /> + <include name="${stub.includes}/jni/**" /> </dirset> - <fileset id="stub.includes.dependencies.fileset.1" dir="${stub.includes.dir}"> + <fileset id="stub.includes.dependencies.fileset.1" dir="${stub.includes}"> <include name="opengl/**" /> <include name="macosx/**" /> <include name="win32/**" /> @@ -336,48 +233,27 @@ <include name="jni/**" /> </fileset> <fileset id="stub.includes.dependencies.fileset.2" file="${gluegen.jar}" /> - <fileset id="stub.includes.dependencies.fileset.3" dir="${config}"> + <fileset id="stub.includes.dependencies.fileset.3" dir="${config.jogl}"> <include name="*.cfg" /> <include name="gl*.java" /> <include name="*.c" /> <exclude name="cg-common.cfg" /> </fileset> <dirset id="stub.includes.cg.fileset.all" dir="."> - <include name="${stub.includes.dir}/opengl/**" /> - <include name="${stub.includes.dir}/cg/**" /> - <include name="${stub.includes.dir}/macosx/**" /> - <include name="${stub.includes.dir}/win32/**" /> - <include name="${stub.includes.dir}/x11/**" /> - <include name="${stub.includes.dir}/common/**" /> + <include name="${stub.includes}/opengl/**" /> + <include name="${stub.includes}/cg/**" /> + <include name="${stub.includes}/macosx/**" /> + <include name="${stub.includes}/win32/**" /> + <include name="${stub.includes}/x11/**" /> + <include name="${stub.includes}/common/**" /> </dirset> <fileset id="stub.includes.cg.dependencies.fileset" dir="."> - <include name="${stub.includes.dir}/cg/**" /> - <include name="${config}/cg-common.cfg" /> - <include name="${config}/cg-common-CustomJavaCode.java" /> + <include name="${stub.includes}/cg/**" /> + <include name="${config.jogl}/cg-common.cfg" /> + <include name="${config.jogl}/cg-common-CustomJavaCode.java" /> </fileset> <!-- Create the classpath that includes GlueGen and - - ANTLR. This requires the user-defined "antlr.jar" - - property. --> - <path id="gluegen.classpath"> - <pathelement location="${gluegen.jar}" /> - <pathelement location="${antlr.jar}" /> - </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}" /> - </path> - - <path id="nativewindow_gluegen.classpath-cdc"> - <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 - the current classes for building the composable pipelines. --> <path id="pipeline.classpath"> @@ -385,49 +261,6 @@ <pathelement location="${classes}" /> </path> - <!-- The resulting J2SE jogl.jar. --> - <property name="jogl.core.jar" value="${build}/jogl.core.jar" /> - <property name="jogl.cg.jar" value="${build}/jogl.cg.jar" /> - <property name="jogl.gles1.jar" value="${build}/jogl.gles1.jar" /> - <property name="jogl.gles1.dbg.jar" value="${build}/jogl.gles1.dbg.jar" /> - <property name="jogl.gles2.jar" value="${build}/jogl.gles2.jar" /> - <property name="jogl.gles2.dbg.jar" value="${build}/jogl.gles2.dbg.jar" /> - <property name="jogl.egl.jar" value="${build}/jogl.egl.jar" /> - <property name="jogl.glutess.jar" value="${build}/jogl.glu.tess.jar" /> - <property name="jogl.glumipmap.jar" value="${build}/jogl.glu.mipmap.jar" /> - <property name="jogl.glugl2.jar" value="${build}/jogl.glu.gl2.jar" /> - <property name="jogl.gl2es12.x11.jar" value="${build}/jogl.gl2es12.x11.jar" /> - <property name="jogl.gl2es12.win.jar" value="${build}/jogl.gl2es12.win.jar" /> - <property name="jogl.gl2es12.osx.jar" value="${build}/jogl.gl2es12.osx.jar" /> - <property name="jogl.gl2.x11.jar" value="${build}/jogl.gl2.x11.jar" /> - <property name="jogl.gl2.win.jar" value="${build}/jogl.gl2.win.jar" /> - <property name="jogl.gl2.osx.jar" value="${build}/jogl.gl2.osx.jar" /> - <property name="jogl.gl2.dbg.jar" value="${build}/jogl.gl2.dbg.jar" /> - <property name="jogl.awt.jar" value="${build}/jogl.awt.jar" /> - <property name="jogl.util.jar" value="${build}/jogl.util.jar" /> - <property name="jogl.util.gl2.jar" value="${build}/jogl.util.gl2.jar" /> - <property name="jogl.util.awt.jar" value="${build}/jogl.util.awt.jar" /> - <property name="jogl.util.fixedfuncemu.jar" value="${build}/jogl.util.fixedfuncemu.jar" /> - <property name="jogl.sdk.jar" value="${build}/jogl.sdk.jar" /> - <property name="jogl.all.jar" value="${build}/jogl.all.jar"/> - <property name="jogl.all-noawt.jar" value="${build}/jogl.all-noawt.jar"/> - - <!-- The resulting CDC jogl.jar. --> - <property name="jogl.core.cdc.jar" value="${build}/jogl.core.cdc.jar" /> - <property name="jogl.gles1.cdc.jar" value="${build}/jogl.gles1.cdc.jar" /> - <property name="jogl.gles1.dbg.cdc.jar" value="${build}/jogl.gles1.dbg.cdc.jar" /> - <property name="jogl.gles2.cdc.jar" value="${build}/jogl.gles2.cdc.jar" /> - <property name="jogl.gles2.dbg.cdc.jar" value="${build}/jogl.gles2.dbg.cdc.jar" /> - <property name="jogl.egl.cdc.jar" value="${build}/jogl.egl.cdc.jar" /> - <property name="jogl.glutess.cdc.jar" value="${build}/jogl.glu.tess.cdc.jar" /> - <property name="jogl.glumipmap.cdc.jar" value="${build}/jogl.glu.mipmap.cdc.jar" /> - <property name="jogl.gl2es12.x11.cdc.jar" value="${build}/jogl.gl2es12.x11.cdc.jar" /> - <property name="jogl.gl2es12.win.cdc.jar" value="${build}/jogl.gl2es12.win.cdc.jar" /> - <property name="jogl.gl2es12.osx.cdc.jar" value="${build}/jogl.gl2es12.osx.cdc.jar" /> - <property name="jogl.util.cdc.jar" value="${build}/jogl.util.cdc.jar" /> - <property name="jogl.util.fixedfuncemu.cdc.jar" value="${build}/jogl.util.fixedfuncemu.cdc.jar" /> - <property name="jogl.all.cdc.jar" value="${build}/jogl.all.cdc.jar"/> - <!-- The javadoc dirs. --> <property name="javadoc" value="${project.root}/javadoc_jogl_public" /> <property name="javadoc.spec" value="${project.root}/javadoc_jogl_spec" /> @@ -437,51 +270,45 @@ <property name="javadoc.overview" value="doc/jogl/spec-overview.html" /> <property name="javadoc.spec.packagenames" value="javax.media.opengl.*" /> - <property name="javadoc.packagenames" value="${javadoc.spec.packagenames},com.sun.opengl.util.*" /> + <property name="javadoc.packagenames" value="${javadoc.spec.packagenames},com.jogamp.opengl.util.*" /> - <property name="javadoc.dev.packagenames" value="${javadoc.packagenames},com.sun.opengl.impl.*,com.sun.gluegen,com.sun.gluegen.runtime" /> + <property name="javadoc.dev.packagenames" value="${javadoc.packagenames},com.jogamp.opengl.impl.*,com.sun.gluegen,com.jogamp.gluegen.runtime" /> <property name="javadoc.bottom" value="Copyright 2005 Sun Microsystems, Inc. All rights reserved. Use is subject to <a href="http://jcp.org/en/jsr/detail?id=231">license terms</a>." /> </target> <target name="declare.gl.gles1"> - <property name="gles1.headers" value="${stub.includes.dir}/opengl/GLES/*.h" /> <!-- NOTE: this MUST be relative for FileSet --> <!-- CHECK: this may need to be pruned for each platform --> + <property name="gles1.headers" value="${stub.includes}/opengl/GLES/*.h" /> <!-- NOTE: this MUST be relative for FileSet --> <!-- CHECK: this may need to be pruned for each platform --> </target> <target name="declare.gl.gles2"> - <property name="gles2.headers" value="${stub.includes.dir}/opengl/GLES2/*.h" /> <!-- NOTE: this MUST be relative for FileSet --> <!-- CHECK: this may need to be pruned for each platform --> + <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"> <!-- Prepare to build the EGL interface --> - <property name="window.es.cfg" value="${config}/egl.cfg" /> - <property name="window.es.ext.cfg" value="${config}/eglext.cfg" /> + <property name="window.es.cfg" value="${config.jogl}/egl.cfg" /> + <property name="window.es.ext.cfg" value="${config.jogl}/eglext.cfg" /> <property name="window.es.system" value="egl"/> </target> <target name="declare.gl.gl2"> - <property name="gl2.headers" value="${stub.includes.dir}/opengl/GL/*.h" /> <!-- NOTE: this MUST be relative for FileSet --> <!-- CHECK: this may need to be pruned for each platform --> - </target> - - <!-- Declarations that have to come after both the common setup and the GLES tests --> - <target name="declare.common.2"> + <property name="gl2.headers" value="${stub.includes}/opengl/GL/*.h" /> <!-- NOTE: this MUST be relative for FileSet --> <!-- CHECK: this may need to be pruned for each platform --> </target> <target name="setup.javacdc"> - <copy file="../src/jogl/classes/com/sun/opengl/impl/SystemUtil.java.javame_cdc_fp" tofile="${src.generated.java-cdc}/com/sun/opengl/impl/SystemUtil.java" /> - <copy file="../src/jogl/classes/com/sun/opengl/util/BufferUtil.java.javame_cdc_fp" tofile="${src.generated.java-cdc}/com/sun/opengl/util/BufferUtil.java" /> - <copy file="../src/jogl/classes/com/sun/opengl/impl/InternalBufferUtil.java.javame_cdc_fp" tofile="${src.generated.java-cdc}/com/sun/opengl/impl/InternalBufferUtil.java" /> - <copy file="../src/jogl/classes/com/sun/opengl/util/texture/TextureIO.java.javame_cdc_fp" tofile="${src.generated.java-cdc}/com/sun/opengl/util/texture/TextureIO.java" /> - <copy file="../src/jogl/classes/com/sun/opengl/util/texture/spi/DDSImage.java.javame_cdc_fp" tofile="${src.generated.java-cdc}/com/sun/opengl/util/texture/spi/DDSImage.java" /> - <copy file="../src/jogl/classes/com/sun/opengl/util/texture/spi/TGAImage.java.javame_cdc_fp" tofile="${src.generated.java-cdc}/com/sun/opengl/util/texture/spi/TGAImage.java" /> + <copy file="../src/jogl/classes/com/jogamp/opengl/impl/SystemUtil.java.javame_cdc_fp" tofile="${src.generated.java-cdc}/com/jogamp/opengl/impl/SystemUtil.java" /> + <copy file="../src/jogl/classes/com/jogamp/opengl/impl/InternalBufferUtil.java.javame_cdc_fp" tofile="${src.generated.java-cdc}/com/jogamp/opengl/impl/InternalBufferUtil.java" /> + <copy file="../src/jogl/classes/com/jogamp/opengl/util/texture/TextureIO.java.javame_cdc_fp" tofile="${src.generated.java-cdc}/com/jogamp/opengl/util/texture/TextureIO.java" /> + <copy file="../src/jogl/classes/com/jogamp/opengl/util/texture/spi/DDSImage.java.javame_cdc_fp" tofile="${src.generated.java-cdc}/com/jogamp/opengl/util/texture/spi/DDSImage.java" /> + <copy file="../src/jogl/classes/com/jogamp/opengl/util/texture/spi/TGAImage.java.javame_cdc_fp" tofile="${src.generated.java-cdc}/com/jogamp/opengl/util/texture/spi/TGAImage.java" /> </target> <target name="setup.javase"> - <copy file="../src/jogl/classes/com/sun/opengl/impl/SystemUtil.java.javase" tofile="${src.generated.java}/com/sun/opengl/impl/SystemUtil.java" /> - <copy file="../src/jogl/classes/com/sun/opengl/util/BufferUtil.java.javase" tofile="${src.generated.java}/com/sun/opengl/util/BufferUtil.java" /> - <copy file="../src/jogl/classes/com/sun/opengl/impl/InternalBufferUtil.java.javase" tofile="${src.generated.java}/com/sun/opengl/impl/InternalBufferUtil.java" /> - <copy file="../src/jogl/classes/com/sun/opengl/util/texture/TextureIO.java.javase" tofile="${src.generated.java}/com/sun/opengl/util/texture/TextureIO.java" /> - <copy file="../src/jogl/classes/com/sun/opengl/util/texture/spi/DDSImage.java.javase" tofile="${src.generated.java}/com/sun/opengl/util/texture/spi/DDSImage.java" /> - <copy file="../src/jogl/classes/com/sun/opengl/util/texture/spi/TGAImage.java.javase" tofile="${src.generated.java}/com/sun/opengl/util/texture/spi/TGAImage.java" /> + <copy file="../src/jogl/classes/com/jogamp/opengl/impl/SystemUtil.java.javase" tofile="${src.generated.java}/com/jogamp/opengl/impl/SystemUtil.java" /> + <copy file="../src/jogl/classes/com/jogamp/opengl/impl/InternalBufferUtil.java.javase" tofile="${src.generated.java}/com/jogamp/opengl/impl/InternalBufferUtil.java" /> + <copy file="../src/jogl/classes/com/jogamp/opengl/util/texture/TextureIO.java.javase" tofile="${src.generated.java}/com/jogamp/opengl/util/texture/TextureIO.java" /> + <copy file="../src/jogl/classes/com/jogamp/opengl/util/texture/spi/DDSImage.java.javase" tofile="${src.generated.java}/com/jogamp/opengl/util/texture/spi/DDSImage.java" /> + <copy file="../src/jogl/classes/com/jogamp/opengl/util/texture/spi/TGAImage.java.javase" tofile="${src.generated.java}/com/jogamp/opengl/util/texture/spi/TGAImage.java" /> </target> <!-- ================================================================== --> @@ -489,10 +316,7 @@ - Initialize all parameters required for the build and create any - required directories. --> - <target name="init" depends="declare.common, declare.gl.gles, declare.gl.gl2, declare.common.2"> - <!-- Call the external config validator script to make sure the config is ok and consistent --> - <ant antfile="${validate.user.properties}" inheritall="true"/> - + <target name="init" depends="declare.common, declare.gl.gles, declare.gl.gl2"> <!-- Create the required output directories. --> <mkdir dir="${src.generated.java}" /> <mkdir dir="${src.generated.java-cdc}" /> @@ -503,33 +327,15 @@ <mkdir dir="${src.generated.c.openmax}" /> <mkdir dir="${classes}" /> <mkdir dir="${classes-cdc}" /> - <mkdir dir="${obj}" /> <mkdir dir="${obj.jogl}" /> - <mkdir dir="${obj.cg}" /> + <mkdir dir="${obj.joglsub}" /> + <mkdir dir="${obj.cgsub}" /> <!-- Set up Java SE and Java CDC files --> <antcall target="setup.javase" inheritRefs="true" /> <antcall target="setup.javacdc" inheritRefs="true" /> </target> - <!-- ================================================================== --> - <!-- GlueGen and BuildStaticGLInfo creation, task setup and Java file generation --> - <!-- - - Build GlueGen - --> - <target name="build.gluegen" depends="init"> - <!-- Run the GlueGen build to ensure that the GlueGen ANT task - - has been built. --> - <!-- FIXME: remove passing down of antlr.jar when gluegen.properties is on all - nightly build machines --> - <ant antfile="${gluegen.build.xml}" dir="${gluegen.make.dir}" target="all" inheritAll="false"> - <propertyset> - <propertyref name="antlr.jar" /> - <!--propertyref name="gluegen.nsig" /--> - </propertyset> - </ant> - </target> - <!-- - Check to see whether we need to rebuild the generated sources. --> @@ -578,7 +384,7 @@ <and> <isset property="java.generate.skip.es1"/> <isset property="java.generate.skip.es2"/> - <!--isset property="java.generate.skip.gl2"/--> + <isset property="java.generate.skip.gl2"/> <isset property="java.generate.skip.glu"/> </and> </condition> @@ -594,7 +400,7 @@ <target name="java.generate.copy2temp"> <copy todir="${tempdir}"> - <fileset dir="${build}" + <fileset dir="${build.jogl}" includes="gensrc/classes/**" /> </copy> </target> @@ -603,9 +409,9 @@ <echo message="Generating GL interface" /> <antcall target="java.generate.copy2temp" inheritRefs="true" /> <gluegen src="${stub.includes.opengl}/gles2.c" - outputRootDir="${build}" - config="${config}/gl-if-gl.cfg" - includeRefid="stub.includes.fileset.all.gl2" + outputRootDir="${build.jogl}" + config="${config.jogl}/gl-if-gl.cfg" + includeRefid="stub.includes.fileset.all.gldesktop" emitter="com.sun.gluegen.opengl.GLEmitter"> <classpath refid="gluegen.classpath" /> </gluegen> @@ -615,9 +421,9 @@ <echo message="Generating GL2_ES1 interface" /> <antcall target="java.generate.copy2temp" inheritRefs="true" /> <gluegen src="${stub.includes.opengl}/gles1.c" - outputRootDir="${build}" - config="${config}/gl-if-gl2_es1.cfg" - includeRefid="stub.includes.fileset.all.gl2" + outputRootDir="${build.jogl}" + config="${config.jogl}/gl-if-gl2_es1.cfg" + includeRefid="stub.includes.fileset.all.gldesktop" emitter="com.sun.gluegen.opengl.GLEmitter"> <classpath refid="gluegen.classpath" /> </gluegen> @@ -627,9 +433,9 @@ <echo message="Generating GL2_ES2 interface" /> <antcall target="java.generate.copy2temp" inheritRefs="true" /> <gluegen src="${stub.includes.opengl}/gles2.c" - outputRootDir="${build}" - config="${config}/gl-if-gl2_es2.cfg" - includeRefid="stub.includes.fileset.all.gl2" + outputRootDir="${build.jogl}" + config="${config.jogl}/gl-if-gl2_es2.cfg" + includeRefid="stub.includes.fileset.all.gldesktop" emitter="com.sun.gluegen.opengl.GLEmitter"> <classpath refid="gluegen.classpath" /> </gluegen> @@ -639,16 +445,16 @@ <echo message="Generating GL2_GL3 interface" /> <antcall target="java.generate.copy2temp" inheritRefs="true" /> <gluegen src="${stub.includes.opengl}/gl3.c" - outputRootDir="${build}" - config="${config}/gl-gl3-set.cfg" - includeRefid="stub.includes.fileset.all.gl2" + outputRootDir="${build.jogl}" + config="${config.jogl}/gl-gl3-set.cfg" + includeRefid="stub.includes.fileset.all.gldesktop" emitter="com.sun.gluegen.opengl.GLEmitter"> <classpath refid="gluegen.classpath" /> </gluegen> <gluegen src="${stub.includes.opengl}/gl2.c" - outputRootDir="${build}" - config="${config}/gl-if-gl2_gl3.cfg" - includeRefid="stub.includes.fileset.all.gl2" + outputRootDir="${build.jogl}" + config="${config.jogl}/gl-if-gl2_gl3.cfg" + includeRefid="stub.includes.fileset.all.gldesktop" emitter="com.sun.gluegen.opengl.GLEmitter"> <classpath refid="gluegen.classpath" /> </gluegen> @@ -658,9 +464,9 @@ <echo message="Generating GL2 interface and implementation" /> <antcall target="java.generate.copy2temp" inheritRefs="true" /> <gluegen src="${stub.includes.opengl}/gl2.c" - outputRootDir="${build}" - config="${config}/gl-gl2.cfg" - includeRefid="stub.includes.fileset.all.gl2" + outputRootDir="${build.jogl}" + config="${config.jogl}/gl-gl2.cfg" + includeRefid="stub.includes.fileset.all.gldesktop" emitter="com.sun.gluegen.opengl.GLEmitter"> <classpath refid="gluegen.classpath" /> </gluegen> @@ -670,9 +476,9 @@ <echo message="Generating GL3 interface and implementation" /> <antcall target="java.generate.copy2temp" inheritRefs="true" /> <gluegen src="${stub.includes.opengl}/gl3.c" - outputRootDir="${build}" - config="${config}/gl-gl3.cfg" - includeRefid="stub.includes.fileset.all.gl2" + outputRootDir="${build.jogl}" + config="${config.jogl}/gl-gl3.cfg" + includeRefid="stub.includes.fileset.all.gldesktop" emitter="com.sun.gluegen.opengl.GLEmitter"> <classpath refid="gluegen.classpath" /> </gluegen> @@ -682,9 +488,33 @@ <echo message="Generating GL3bc implementation" /> <antcall target="java.generate.copy2temp" inheritRefs="true" /> <gluegen src="${stub.includes.opengl}/gl3bc.c" - outputRootDir="${build}" - config="${config}/gl-gl3bc.cfg" - includeRefid="stub.includes.fileset.all.gl2" + outputRootDir="${build.jogl}" + config="${config.jogl}/gl-gl3bc.cfg" + includeRefid="stub.includes.fileset.all.gldesktop" + emitter="com.sun.gluegen.opengl.GLEmitter"> + <classpath refid="gluegen.classpath" /> + </gluegen> + </target> + + <target name="java.generate.gl4"> + <echo message="Generating GL4 interface and implementation" /> + <antcall target="java.generate.copy2temp" inheritRefs="true" /> + <gluegen src="${stub.includes.opengl}/gl4.c" + outputRootDir="${build.jogl}" + config="${config.jogl}/gl-gl4.cfg" + includeRefid="stub.includes.fileset.all.gldesktop" + emitter="com.sun.gluegen.opengl.GLEmitter"> + <classpath refid="gluegen.classpath" /> + </gluegen> + </target> + + <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" emitter="com.sun.gluegen.opengl.GLEmitter"> <classpath refid="gluegen.classpath" /> </gluegen> @@ -694,21 +524,21 @@ <echo message="Generating GL2ES12 implementation" /> <antcall target="java.generate.copy2temp" inheritRefs="true" /> <gluegen src="${stub.includes.opengl}/gl2es12.c" - outputRootDir="${build}" - config="${config}/gl-gl2es12.cfg" - includeRefid="stub.includes.fileset.all.gl2" + outputRootDir="${build.jogl}" + config="${config.jogl}/gl-gl2es12.cfg" + includeRefid="stub.includes.fileset.all.gldesktop" emitter="com.sun.gluegen.opengl.GLEmitter"> <classpath refid="gluegen.classpath" /> </gluegen> - </target> + </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}" - config="${config}/gl-es1.cfg" - includeRefid="stub.includes.fileset.all.gl2" + outputRootDir="${build.jogl}" + config="${config.jogl}/gl-es1.cfg" + includeRefid="stub.includes.fileset.all.gldesktop" emitter="com.sun.gluegen.opengl.GLEmitter"> <classpath refid="gluegen.classpath" /> </gluegen> @@ -718,21 +548,21 @@ <echo message="Generating GLES2 interface and implementation" /> <antcall target="java.generate.copy2temp" inheritRefs="true" /> <gluegen src="${stub.includes.opengl}/gles2.c" - outputRootDir="${build}" - config="${config}/gl-es2.cfg" - includeRefid="stub.includes.fileset.all.gl2" + outputRootDir="${build.jogl}" + config="${config.jogl}/gl-es2.cfg" + includeRefid="stub.includes.fileset.all.gldesktop" emitter="com.sun.gluegen.opengl.GLEmitter"> <classpath refid="gluegen.classpath" /> </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.gl2es12, java.generate.gles1, java.generate.gles2"/> + <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.gl2es12, java.generate.gles1, java.generate.gles2"/> <!-- target name="java.generate.gl.nsig" if="gluegen.nsig"> <echo message="Generating GL interface and implementation" /> <gluegen src="${gl.c}" config="${gl.cfg.nsig}" - includeRefid="stub.includes.fileset.all.gl2" + includeRefid="stub.includes.fileset.all.gldesktop" emitter="com.sun.gluegen.nativesig.NativeSignatureEmitter"> <classpath refid="gluegen.classpath" /> </gluegen> @@ -742,9 +572,9 @@ <echo message="Generating GLU class" /> <antcall target="java.generate.copy2temp" inheritRefs="true" /> <gluegen src="${stub.includes.opengl}/glu.c" - outputRootDir="${build}" - config="${config}/glu-base.cfg" - includeRefid="stub.includes.fileset.all.gl2" + outputRootDir="${build.jogl}" + config="${config.jogl}/glu-base.cfg" + includeRefid="stub.includes.fileset.all.gldesktop" emitter="com.sun.gluegen.opengl.GLEmitter"> <classpath refid="gluegen.classpath" /> </gluegen> @@ -754,9 +584,9 @@ <echo message="Generating GLU class" /> <antcall target="java.generate.copy2temp" inheritRefs="true" /> <gluegen src="${stub.includes.opengl}/glu.c" - outputRootDir="${build}" - config="${config}/glu-gl2es1.cfg" - includeRefid="stub.includes.fileset.all.gl2" + outputRootDir="${build.jogl}" + config="${config.jogl}/glu-gl2es1.cfg" + includeRefid="stub.includes.fileset.all.gldesktop" emitter="com.sun.gluegen.opengl.GLEmitter"> <classpath refid="gluegen.classpath" /> </gluegen> @@ -766,9 +596,9 @@ <echo message="Generating GLU class" /> <antcall target="java.generate.copy2temp" inheritRefs="true" /> <gluegen src="${stub.includes.opengl}/glu.c" - outputRootDir="${build}" - config="${config}/glu-gl2.cfg" - includeRefid="stub.includes.fileset.all.gl2" + outputRootDir="${build.jogl}" + config="${config.jogl}/glu-gl2.cfg" + includeRefid="stub.includes.fileset.all.gldesktop" emitter="com.sun.gluegen.opengl.GLEmitter"> <classpath refid="gluegen.classpath" /> </gluegen> @@ -778,9 +608,9 @@ <echo message="Generating platform-specific OpenGL extension class: ${window.os.system}" /> <antcall target="java.generate.copy2temp" inheritRefs="true" /> <gluegen src="${glext.platform.header}" - outputRootDir="${build}" + outputRootDir="${build.jogl}" config="${glext.platform.cfg}" - includeRefid="stub.includes.fileset.all.gl2" + includeRefid="stub.includes.fileset.all.gldesktop" emitter="com.sun.gluegen.opengl.GLEmitter"> <classpath refid="gluegen.classpath" /> </gluegen> @@ -789,9 +619,9 @@ <target name="java.generate.window.system.es" if="window.es.cfg"> <echo message="Generating EGL implementation class" /> <antcall target="java.generate.copy2temp" inheritRefs="true" /> - <dirset id="stub.includes.fileset.platform" dir="." includes="${stub.includes.dir}/${window.es.system}/** ${stub.includes.dir}/common/**" /> - <gluegen src="${stub.includes.dir}/${window.es.system}/window-system.c" - outputRootDir="${build}" + <dirset id="stub.includes.fileset.platform" dir="." includes="${stub.includes}/${window.es.system}/** ${stub.includes}/common/**" /> + <gluegen src="${stub.includes}/${window.es.system}/window-system.c" + outputRootDir="${build.jogl}" config="${window.es.cfg}" includeRefid="stub.includes.fileset.platform" emitter="com.sun.gluegen.opengl.GLEmitter"> @@ -802,9 +632,9 @@ <target name="java.generate.window.system.es.ext" if="window.es.ext.cfg"> <echo message="Generating EGLExt implementation class" /> <antcall target="java.generate.copy2temp" inheritRefs="true" /> - <dirset id="stub.includes.fileset.platform" dir="." includes="${stub.includes.dir}/${window.es.system}/** ${stub.includes.dir}/common/**" /> - <gluegen src="${stub.includes.dir}/${window.es.system}/window-system-ext.c" - outputRootDir="${build}" + <dirset id="stub.includes.fileset.platform" dir="." includes="${stub.includes}/${window.es.system}/** ${stub.includes}/common/**" /> + <gluegen src="${stub.includes}/${window.es.system}/window-system-ext.c" + outputRootDir="${build.jogl}" config="${window.es.ext.cfg}" includeRefid="stub.includes.fileset.platform" emitter="com.sun.gluegen.opengl.GLEmitter"> @@ -815,8 +645,8 @@ <target name="java.generate.window.system.os" if="window.os.cfg"> <echo message="Generating window system glue impl: ${window.os.system}" /> <antcall target="java.generate.copy2temp" inheritRefs="true" /> - <gluegen src="${stub.includes.dir}/${window.os.system}/window-system.c" - outputRootDir="${build}" + <gluegen src="${stub.includes}/${window.os.system}/window-system.c" + outputRootDir="${build.jogl}" config="${window.os.cfg}" includeRefid="stub.includes.fileset.platform" emitter="com.sun.gluegen.opengl.GLEmitter"> @@ -825,7 +655,7 @@ </target> <target name="java.generate.gl.platforms" > - <dirset id="stub.includes.fileset.platform" dir="." includes="${stub.includes.dir}/${window.os.system}/** ${stub.includes.dir}/${window.es.system}/** ${stub.includes.dir}/common/** ${stub.includes.dir}/opengl/**" /> + <dirset id="stub.includes.fileset.platform" dir="." includes="${stub.includes}/${window.os.system}/** ${stub.includes}/${window.es.system}/** ${stub.includes}/common/** ${stub.includes}/opengl/**" /> <antcall target="java.generate.window.system.os" inheritRefs="true" /> <antcall target="java.generate.platform.glext" inheritRefs="true" /> @@ -836,7 +666,7 @@ - from the C GL headers. This involves setting the taskdef and creating - the classpath reference id then running the task on each header. --> - <target name="java.generate" depends="build.gluegen, java.generate.check" unless="java.generate.skip"> + <target name="java.generate" depends="common.gluegen.build, java.generate.check" unless="java.generate.skip"> <!-- Add the GlueGen and BuildStaticGLInfo tasks to ANT --> <taskdef name="gluegen" classname="com.sun.gluegen.ant.GlueGenTask" @@ -856,23 +686,23 @@ <antcall target="java.generate.gl.platforms" inheritRefs="true"> <param name="window.os.system" value="x11"/> - <param name="window.os.cfg" value="${config}/glx-x11.cfg" /> - <param name="glext.platform.cfg" value="${config}/glxext.cfg" /> - <param name="glext.platform.header" value="${stub.includes.dir}/x11/glxext.c" /> + <param name="window.os.cfg" value="${config.jogl}/glx-x11.cfg" /> + <param name="glext.platform.cfg" value="${config.jogl}/glxext.cfg" /> + <param name="glext.platform.header" value="${stub.includes}/x11/glxext.c" /> </antcall> <antcall target="java.generate.gl.platforms" inheritRefs="true"> <param name="window.os.system" value="win32"/> - <param name="window.os.cfg" value="${config}/wgl-win32.cfg" /> - <param name="glext.platform.cfg" value="${config}/wglext.cfg" /> - <param name="glext.platform.header" value="${stub.includes.dir}/win32/wglext.c" /> + <param name="window.os.cfg" value="${config.jogl}/wgl-win32.cfg" /> + <param name="glext.platform.cfg" value="${config.jogl}/wglext.cfg" /> + <param name="glext.platform.header" value="${stub.includes}/win32/wglext.c" /> </antcall> <antcall target="java.generate.gl.platforms" inheritRefs="true"> <param name="window.os.system" value="macosx"/> - <param name="window.os.cfg" value="${config}/cgl-macosx.cfg" /> - <param name="glext.platform.cfg" value="${config}/cglext.cfg" /> - <param name="glext.platform.header" value="${stub.includes.dir}/macosx/cglext.c" /> + <param name="window.os.cfg" value="${config.jogl}/cgl-macosx.cfg" /> + <param name="glext.platform.cfg" value="${config.jogl}/cglext.cfg" /> + <param name="glext.platform.header" value="${stub.includes}/macosx/cglext.c" /> </antcall> <!-- Generate GLU class --> @@ -901,7 +731,7 @@ <!-- Now check for the presence of one well-known file --> <uptodate property="java.generate.cg.skip"> <srcfiles refid="stub.includes.cg.dependencies.fileset" /> - <mapper type="merge" to="${src.generated.java}/com/sun/opengl/cg/CgGL.java" /> + <mapper type="merge" to="${src.generated.java}/com/jogamp/opengl/cg/CgGL.java" /> </uptodate> </target> @@ -919,8 +749,8 @@ <!-- Generate CgGL interface class --> <gluegen src="${stub.includes.opengl}/cg.c" - outputRootDir="${build}" - config="${config}/cg-common.cfg" + outputRootDir="${build.jogl}" + config="${config.jogl}/cg-common.cfg" includeRefid="stub.includes.cg.fileset.all" emitter="com.sun.gluegen.JavaEmitter"> <classpath refid="gluegen.classpath" /> @@ -976,7 +806,7 @@ <uptodate property="java.generate.composable.pipeline.skip.gl2es12" srcfile="${classes}/javax/media/opengl/GL2ES12.class" targetfile="${src.generated.java}/javax/media/opengl/DebugGL2ES12.java" /> - </target> + </target> <target name="java.generate.composable.pipeline.check.gl2"> <!-- Blow away the DebugGL*.java and TraceGL*.java sources if GL*.class has changed @@ -986,7 +816,7 @@ <targetfileset dir="${src.generated.java}/javax/media/opengl" includes="DebugGL2.java,TraceGL2.java" /> </dependset> - + <!-- Now choose one of the two to test to see if we have to regenerate --> <uptodate property="java.generate.composable.pipeline.skip.gl2" srcfile="${classes}/javax/media/opengl/GL2.class" @@ -1008,6 +838,21 @@ targetfile="${src.generated.java}/javax/media/opengl/DebugGL3.java" /> </target> + <target name="java.generate.composable.pipeline.check.gl4"> + <!-- 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" /> + <targetfileset dir="${src.generated.java}/javax/media/opengl" + includes="DebugGL4.java,TraceGL4.java,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" /> + </target> + <target name="java.generate.composable.pipeline.es1" depends="java.generate.composable.pipeline.check.es1" unless="java.generate.composable.pipeline.skip.es1"> <java classname="com.sun.gluegen.opengl.BuildComposablePipeline" fork="yes" failonerror="true"> <arg value="javax.media.opengl.GLES1" /> @@ -1081,41 +926,63 @@ </copy> </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"> + <target name="java.generate.composable.pipeline.gl4" depends="java.generate.composable.pipeline.check.gl4" unless="java.generate.composable.pipeline.skip.gl4"> + <java classname="com.sun.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> + <copy todir="${src.generated.java-cdc}"> + <fileset dir="${src.generated.java}" + includes="javax/media/opengl/DebugGL4.java javax/media/opengl/TraceGL4.java" /> + </copy> + + <java classname="com.sun.gluegen.opengl.BuildComposablePipeline" fork="yes" failonerror="true"> + <arg value="javax.media.opengl.GL4bc" /> + <arg value="${src.generated.java}/javax/media/opengl" /> + <classpath refid="pipeline.classpath" /> + </java> + <copy todir="${src.generated.java-cdc}"> + <fileset dir="${src.generated.java}" + includes="javax/media/opengl/DebugGL4bc.java javax/media/opengl/TraceGL4bc.java" /> + </copy> + </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> <target name="java.generate.composable.pipeline.custom.check.glfixfunc"> <!-- 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}/com/sun/opengl/util/glsl/fixedfunc" files="FixedFuncHook.class" /> + <srcfilelist dir="${classes}/com/jogamp/opengl/util/glsl/fixedfunc" files="FixedFuncHook.class" /> <srcfilelist dir="${classes}/javax/media/opengl" files="GL2ES1.class" /> <srcfilelist dir="${classes}/javax/media/opengl" files="GL2ES2.class" /> - <targetfileset dir="${src.generated.java}/com/sun/opengl/util/glsl/fixedfunc/impl" + <targetfileset dir="${src.generated.java}/com/jogamp/opengl/util/glsl/fixedfunc/impl" includes="FixedFuncImpl.java" /> </dependset> <!-- Now choose one of the two to test to see if we have to regenerate --> <uptodate property="java.generate.composable.pipeline.custom.skip.glfixfunc" srcfile="${classes}/javax/media/opengl/GL2ES1.class" - targetfile="${src.generated.java}/com/sun/opengl/util/glsl/fixedfunc/impl/FixedFuncImpl.java" /> + targetfile="${src.generated.java}/com/jogamp/opengl/util/glsl/fixedfunc/impl/FixedFuncImpl.java" /> </target> <target name="java.generate.composable.pipeline.custom.glfixfunc" depends="java.generate.composable.pipeline.custom.check.glfixfunc" unless="java.generate.composable.pipeline.custom.skip.glfixfunc"> <java classname="com.sun.gluegen.opengl.BuildComposablePipeline" fork="yes" failonerror="true"> <arg value="javax.media.opengl.GL2ES1" /> - <arg value="${src.generated.java}/com/sun/opengl/util/glsl/fixedfunc/impl" /> - <arg value="com.sun.opengl.util.glsl.fixedfunc.impl.FixedFuncImpl" /> - <arg value="com.sun.opengl.util.glsl.fixedfunc.impl.FixedFuncHook" /> + <arg value="${src.generated.java}/com/jogamp/opengl/util/glsl/fixedfunc/impl" /> + <arg value="com.jogamp.opengl.util.glsl.fixedfunc.impl.FixedFuncImpl" /> + <arg value="com.jogamp.opengl.util.glsl.fixedfunc.impl.FixedFuncHook" /> <arg value="javax.media.opengl.GL2ES2" /> <arg value="prolog_xor_downstream" /> <classpath refid="pipeline.classpath" /> </java> <copy todir="${src.generated.java-cdc}"> <fileset dir="${src.generated.java}" - includes="com/sun/opengl/util/glsl/fixedfunc/impl/FixedFuncImpl.java" /> + includes="com/jogamp/opengl/util/glsl/fixedfunc/impl/FixedFuncImpl.java" /> </copy> </target> - <target name="java.generate.composable.pipeline.custom" depends="init, build.gluegen, java.generate.composable.pipeline.custom.glfixfunc"> + <target name="java.generate.composable.pipeline.custom" depends="init, common.gluegen.build, java.generate.composable.pipeline.custom.glfixfunc"> </target> <!-- ================================================================== --> @@ -1128,9 +995,10 @@ <!-- 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" + 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" fork="yes" memoryMaximumSize="${javac.memorymax}" + includeAntRuntime="false" source="1.4" debug="${javacdebug}" debuglevel="${javacdebuglevel}"> <classpath refid="nativewindow_gluegen.classpath"/> <src path="${src.java}" /> @@ -1140,7 +1008,7 @@ <copy todir="${src.generated.java-cdc}"> <fileset dir="${src.generated.java}" includes="**" - excludes="com/sun/opengl/cg/** com/sun/opengl/impl/gl2/** com/sun/opengl/impl/gl3/** com/sun/opengl/impl/glu/gl2/** javax/media/opengl/glu/gl2/**"/> + excludes="com/jogamp/opengl/cg/** com/jogamp/opengl/impl/gl2/** com/jogamp/opengl/impl/gl3/** com/jogamp/opengl/impl/gl4/** com/jogamp/opengl/impl/glu/gl2/** javax/media/opengl/glu/gl2/**"/> </copy> <copy todir="${classes-cdc}"> <fileset dir="${classes}" @@ -1151,10 +1019,11 @@ <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/sun/opengl/util/glsl/fixedfunc/FixedFuncUtil.java,${java.excludes.all}" - source="${jogl.sourcelevel}" + excludes="com/jogamp/opengl/util/glsl/fixedfunc/FixedFuncUtil.java,${java.excludes.all}" + source="${target.sourcelevel}" fork="yes" memoryMaximumSize="${javac.memorymax}" + includeAntRuntime="false" debug="${javacdebug}" debuglevel="${javacdebuglevel}"> <classpath refid="nativewindow_gluegen.classpath"/> <src path="${src.java}" /> @@ -1162,14 +1031,15 @@ </javac> </target> + <!-- bootclasspath="${javac.bootclasspath-cdc.jar}" --> <target name="java.compile.secondpass.javacdc" unless="setup.noCDC"> <!-- Perform the second pass Java compile; everything except portion of fixed function emulation depending on generated code. --> <javac destdir="${classes-cdc}" - excludes="com/sun/opengl/util/glsl/fixedfunc/FixedFuncUtil.java,${java.excludes.all},${java.excludes.cdcfp}" - source="${jogl.sourcelevel}" - bootclasspath="${javac.bootclasspath-cdc.jar}" + excludes="com/jogamp/opengl/util/glsl/fixedfunc/FixedFuncUtil.java,${java.excludes.all},${java.excludes.cdcfp}" + source="${target.sourcelevel}" fork="yes" memoryMaximumSize="${javac.memorymax}" + includeAntRuntime="false" debug="${javacdebug}" debuglevel="${javacdebuglevel}"> <classpath refid="nativewindow_gluegen.classpath-cdc"/> <src path="${src.java}" /> @@ -1183,9 +1053,10 @@ <!-- Perform the third pass Java compile; everything including fixed function emulation. --> <javac destdir="${classes}" excludes="${java.excludes.all}" - source="${jogl.sourcelevel}" + source="${target.sourcelevel}" fork="yes" memoryMaximumSize="${javac.memorymax}" + includeAntRuntime="false" debug="${javacdebug}" debuglevel="${javacdebuglevel}"> <classpath refid="nativewindow_gluegen.classpath"/> <src path="${src.java}" /> @@ -1197,10 +1068,11 @@ <!-- Perform the third pass Java compile; everything including fixed function emulation. --> <javac destdir="${classes-cdc}" excludes="${java.excludes.all},${java.excludes.cdcfp}" - source="${jogl.sourcelevel}" + source="${target.sourcelevel}" bootclasspath="${javac.bootclasspath-cdc.jar}" fork="yes" memoryMaximumSize="${javac.memorymax}" + includeAntRuntime="false" debug="${javacdebug}" debuglevel="${javacdebuglevel}"> <classpath refid="nativewindow_gluegen.classpath-cdc"/> <src path="${src.java}" /> @@ -1426,7 +1298,7 @@ <condition property="c.compiler.use-debug"><istrue value="${c.compiler.debug}"/></condition> - <patternset id="c.src.files.jogl.gl2"> + <patternset id="c.src.files.jogl.desktop"> <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/ContextUpdater.m" if="isOSX"/> @@ -1434,10 +1306,9 @@ <!-- FIXME: the Mixer should be moved to another library --> <!--include name="${rootrel.src.c}/Mixer.cpp" if="isWindows"/--> <include name="${rootrel.src.c.openmax}/omx_tool.c" if="useOpenMAX"/> - <include name="${rootrel.src.c.openmax}/com_sun_openmax_OMXInstance.c" if="useOpenMAX"/> + <include name="${rootrel.src.c.openmax}/com_jogamp_openmax_OMXInstance.c" if="useOpenMAX"/> - <include name="${rootrel.generated.c.jogl}/gl2/GL2Impl_JNI.c"/> - <include name="${rootrel.generated.c.jogl}/gl3/GL3Impl_JNI.c"/> + <include name="${rootrel.generated.c.jogl}/gl4/GL4bcImpl_JNI.c"/> <!--include name="${rootrel.generated.c.jogl}/GLU_JNI.c"/ EMPTY --> <include name="${rootrel.generated.c.jogl}/gl2/GLUgl2_JNI.c"/> <include name="${rootrel.generated.c.jogl}/X11/GLX*.c" if="isX11"/> @@ -1450,10 +1321,8 @@ <include name="${rootrel.src.c}/macosx/MacOSXWindowSystemInterface.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.openmax}/omx_tool.c" if="useOpenMAX"/> - <include name="${rootrel.src.c.openmax}/com_sun_openmax_OMXInstance.c" if="useOpenMAX"/> + <include name="${rootrel.src.c.openmax}/com_jogamp_openmax_OMXInstance.c" if="useOpenMAX"/> <include name="${rootrel.generated.c.jogl}/gl2es12/GL2ES12Impl_JNI.c"/> <!--include name="${rootrel.generated.c.jogl}/GLU_JNI.c"/ EMPTY --> @@ -1466,7 +1335,7 @@ <patternset id="c.src.files.jogl.es2"> <include name="${rootrel.src.c}/GLXGetProcAddressARB.c" if="isX11"/> <include name="${rootrel.src.c.openmax}/omx_tool.c" if="useOpenMAX"/> - <include name="${rootrel.src.c.openmax}/com_sun_openmax_OMXInstance.c" if="useOpenMAX"/> + <include name="${rootrel.src.c.openmax}/com_jogamp_openmax_OMXInstance.c" if="useOpenMAX"/> <include name="${rootrel.generated.c.jogl}/egl/EGL_JNI.c"/> <include name="${rootrel.generated.c.jogl}/egl/EGLExtImpl_JNI.c"/> @@ -1476,7 +1345,7 @@ <patternset id="c.src.files.jogl.es1"> <include name="${rootrel.src.c}/GLXGetProcAddressARB.c" if="isX11"/> <include name="${rootrel.src.c.openmax}/omx_tool.c" if="useOpenMAX"/> - <include name="${rootrel.src.c.openmax}/com_sun_openmax_OMXInstance.c" if="useOpenMAX"/> + <include name="${rootrel.src.c.openmax}/com_jogamp_openmax_OMXInstance.c" if="useOpenMAX"/> <include name="${rootrel.generated.c.jogl}/egl/EGL_JNI.c"/> <include name="${rootrel.generated.c.jogl}/egl/EGLExtImpl_JNI.c"/> @@ -1492,8 +1361,8 @@ <echo message="Compiling @{output.lib.name}" /> <cc outtype="shared" - objdir="${obj.jogl}" - outfile="${obj}/@{output.lib.name}" + objdir="${obj.joglsub}" + outfile="${obj.jogl}/@{output.lib.name}" optimize="${c.compiler.optimise}" debug="${c.compiler.debug}" multithreaded="true" @@ -1530,41 +1399,41 @@ </compiler> <linker extends="@{linker.cfg.id}"> - <syslibset dir="${java.lib.dir.platform}" libs="jawt" if="@{output.lib.name}.useLibJAWT"/> - <syslibset dir="${java.lib.dir.platform}/server" libs="jvm" if="@{output.lib.name}.useLibJVM"/> + <syslibset dir="${java.lib.platform}" libs="jawt" if="@{output.lib.name}.useLibJAWT"/> + <syslibset dir="${java.lib.platform}/server" libs="jvm" if="@{output.lib.name}.useLibJVM"/> </linker> </cc> <!-- FIXME: this is a hack; the cpptask should have an option to change the suffix or at least understand the override from dylib to jnilib --> <antcall target="rename.dylib" inheritRefs="true"> - <param name="src" value="${build}/obj/lib@{output.lib.name}.dylib" /> - <param name="dest" value="${build}/obj/lib@{output.lib.name}.jnilib" /> - <param name="dest-cdc" value="${build}/obj/lib@{output.lib.name}.so" /> + <param name="src" value="${build.jogl}/obj/lib@{output.lib.name}.dylib" /> + <param name="dest" value="${build.jogl}/obj/lib@{output.lib.name}.jnilib" /> + <param name="dest-cdc" value="${build.jogl}/obj/lib@{output.lib.name}.so" /> </antcall> <!-- FIXME: this is a hack; the cpptask should have an option to change the suffix or at least understand the override from dylib to jnilib --> <antcall target="rename.mingw.dll" inheritRefs="true"> - <param name="src" value="${build}/obj/lib@{output.lib.name}.so" /> - <param name="dest" value="${build}/obj/@{output.lib.name}.dll" /> + <param name="src" value="${build.jogl}/obj/lib@{output.lib.name}.so" /> + <param name="dest" value="${build.jogl}/obj/@{output.lib.name}.dll" /> </antcall> </sequential> </macrodef> <target name="c.build.jogl.prepare.openMAX" if="useOpenMAX"> - <javah destdir="${src.generated.c.openmax}" classpath="${classes-cdc}" class="com.sun.openmax.OMXInstance" /> + <javah destdir="${src.generated.c.openmax}" classpath="${classes-cdc}" class="com.jogamp.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="${classes}" class="com.sun.javafx.audio.windows.waveout.Mixer" /--> + <!--javah destdir="${build.jogl}/gensrc/native/jogl" classpath="${classes}" class="com.jogamp.audio.windows.waveout.Mixer" /--> </target> - <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" + <target name="c.build.jogl.desktop" unless="setup.nodesktop"> + <c.build c.compiler.src.files="c.src.files.jogl.desktop" + output.lib.name="jogl_desktop" compiler.cfg.id="${compiler.cfg.id}" linker.cfg.id="${linker.cfg.id.gl2}"/> </target> @@ -1598,28 +1467,32 @@ </target> <target name="c.manifest.cg" if="jogl.cg"> - <msvc.manifest objdir="${obj}" dllname="jogl_cg" /> + <msvc.manifest objdir="${obj.jogl}" dllname="jogl_cg" /> </target> <target name="c.manifest" if="isVC8Family"> <!-- exec mt, the Microsoft Manifest Tool, to include DLL manifests in order to resolve the location of msvcr80.dll --> - <msvc.manifest objdir="${obj}" dllname="jogl_es1" /> - <msvc.manifest objdir="${obj}" dllname="jogl_es2" /> - <msvc.manifest objdir="${obj}" dllname="jogl_gl2" /> - <msvc.manifest objdir="${obj}" dllname="jogl_gl2es12" /> + <msvc.manifest objdir="${obj.jogl}" dllname="jogl_es1" /> + <msvc.manifest objdir="${obj.jogl}" dllname="jogl_es2" /> + <msvc.manifest objdir="${obj.jogl}" dllname="jogl_gl2es12" /> + <msvc.manifest objdir="${obj.jogl}" dllname="jogl_desktop" /> <antcall target="c.manifest.cg" inheritRefs="true" /> </target> - <target name="c.build.jogl" depends="c.configure,c.build.jogl.prepare,c.build.jogl.gl2es12,c.build.jogl.gl2,c.build.jogl.es2,c.build.jogl.es1,c.build.jogl.cg"> + <target name="c.build.jogl" depends="c.configure,c.build.jogl.prepare,c.build.jogl.gl2es12,c.build.jogl.desktop,c.build.jogl.es2,c.build.jogl.es1,c.build.jogl.cg"> + <antcall target="gluegen.cpptasks.striplibs" inheritRefs="true"> + <param name="libdir" value="${obj.jogl}"/> + </antcall> + <antcall target="c.manifest" inheritRefs="true" /> <!-- Create the Java Web Start jar file for the built native code --> - <jar destfile="${build}/jogl-natives-${os.and.arch}.jar" filesonly="true"> - <fileset dir="${obj}"> + <jar destfile="${build.jogl}/jogl-natives-${os.and.arch}.jar" filesonly="true"> + <fileset dir="${obj.jogl}"> <include name="*.${native.library.suffix}" /> </fileset> </jar> - <jar destfile="${build}/jogl-natives-${os.and.arch}-cdc.jar" filesonly="true"> - <fileset dir="${obj}"> + <jar destfile="${build.jogl}/jogl-natives-${os.and.arch}-cdc.jar" filesonly="true"> + <fileset dir="${obj.jogl}"> <include name="*_es1.${native.library.suffix-cdc}" /> <include name="*_es2.${native.library.suffix-cdc}" /> <include name="*_gl2es12.${native.library.suffix-cdc}" /> @@ -1646,7 +1519,7 @@ <format property="timestamp" pattern="yyyyMMdd-HH:mm:ss"/> </tstamp> <copy file="${manifestfile}" - tofile="${build}/tempversion" + tofile="${build.jogl}/tempversion" overwrite="true"> <filterset> <!-- This token only exists in the non-RI version of the manifest --> @@ -1670,7 +1543,7 @@ <format property="timestamp" pattern="yyyyMMdd-HH:mm:ss"/> </tstamp> <copy file="${manifestfile}" - tofile="${build}/tempversion-cdc" + tofile="${build.jogl}/tempversion-cdc" overwrite="true"> <filterset> <!-- This token only exists in the non-RI version of the manifest --> @@ -1681,140 +1554,137 @@ </copy> </target> - <target name="build-cg-jar" depends="setup-manifestfile" if="jogl.cg"> - <jar manifest="${build}/tempversion" destfile="${jogl.cg.jar}" filesonly="true"> + <target name="build-cg-jar-javase" depends="setup-manifestfile" if="jogl.cg"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.cg.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.nv-cg}"/> </jar> </target> - <target name="build-jars-es-desktop" depends="setup-manifestfile" unless="setup.nodesktop"> - <jar manifest="${build}/tempversion" destfile="${jogl.gl2es12.x11.jar}" filesonly="true"> - <fileset dir="${classes}" - includes="${java.part.glx}, ${java.part.gl2es12}, ${java.part.openmax}" - excludes="${java.part.glugl2}"/> + <target name="build-jars-os-desktop-javase" depends="setup-manifestfile" unless="setup.nodesktop"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.os.x11.jar}" filesonly="true"> + <fileset dir="${classes}" includes="${java.part.glx}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.gl2es12.win.jar}" filesonly="true"> - <fileset dir="${classes}" - includes="${java.part.wgl}, ${java.part.gl2es12}, ${java.part.openmax}" - excludes="${java.part.glugl2}"/> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.os.win.jar}" filesonly="true"> + <fileset dir="${classes}" includes="${java.part.wgl}" /> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.gl2es12.osx.jar}" filesonly="true"> - <fileset dir="${classes}" - includes="${java.part.cgl}, ${java.part.gl2es12}, ${java.part.openmax}" - excludes="${java.part.glugl2}"/> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.os.osx.jar}" filesonly="true"> + <fileset dir="${classes}" includes="${java.part.cgl}"/> </jar> </target> - <target name="build-jars-es" depends="setup-manifestfile,build-jars-es-desktop"> - <jar manifest="${build}/tempversion" destfile="${jogl.egl.jar}" filesonly="true"> + <target name="build-jars-es-javase" depends="setup-manifestfile"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.egl.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.egl}" excludes="${java.part.awt}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.gles1.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.gles1.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.es1}" excludes="${java.part.es1.dbg}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.gles1.dbg.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.gles1.dbg.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.es1.dbg}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.gles2.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.gles2.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.es2}, ${java.part.openmax}" excludes="${java.part.es2.dbg}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.gles2.dbg.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.gles2.dbg.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.es2.dbg}"/> </jar> </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}" filesonly="true"> - <fileset dir="${classes-cdc}" - includes="${java.part.glx}, ${java.part.gl2es12}, ${java.part.openmax}" - excludes="${java.part.glugl2}"/> + <target name="build-jars-os-desktop-cdc" depends="setup-manifestfile" unless="setup.nodesktop"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.os.x11.cdc.jar}" filesonly="true"> + <fileset dir="${classes-cdc}" includes="${java.part.glx}"/> </jar> - <jar manifest="${build}/tempversion-cdc" destfile="${jogl.gl2es12.win.cdc.jar}" filesonly="true"> - <fileset dir="${classes-cdc}" - includes="${java.part.wgl}, ${java.part.gl2es12}, ${java.part.openmax}" - excludes="${java.part.glugl2}"/> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.os.win.cdc.jar}" filesonly="true"> + <fileset dir="${classes-cdc}" includes="${java.part.wgl}" /> </jar> - <jar manifest="${build}/tempversion-cdc" destfile="${jogl.gl2es12.osx.cdc.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.os.osx.cdc.jar}" filesonly="true"> + <fileset dir="${classes-cdc}" includes="${java.part.cgl}"/> + </jar> + </target> + + <target name="build-jars-es-desktop-cdc" depends="setup-manifestfile-cdc,build-jars-os-desktop-cdc" unless="setup.nodesktop"> + <jar manifest="${build.jogl}/tempversion-cdc" destfile="${jogl.gl2es12.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" - includes="${java.part.cgl}, ${java.part.gl2es12}, ${java.part.openmax}" - excludes="${java.part.glugl2}"/> + includes="${java.part.gl2es12}, ${java.part.openmax}" + excludes="${java.part.glugldesktop}"/> </jar> </target> - <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}" filesonly="true"> + <target name="build-jars-es-cdc" depends="setup-manifestfile-cdc, build-jars-es-desktop-cdc" unless="setup.noCDC"> + <jar manifest="${build.jogl}/tempversion-cdc" destfile="${jogl.egl.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" includes="${java.part.egl}" excludes="${java.part.awt}"/> </jar> - <jar manifest="${build}/tempversion-cdc" destfile="${jogl.gles1.cdc.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion-cdc" destfile="${jogl.gles1.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" includes="${java.part.es1}" excludes="${java.part.es1.dbg}"/> </jar> - <jar manifest="${build}/tempversion-cdc" destfile="${jogl.gles1.dbg.cdc.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion-cdc" destfile="${jogl.gles1.dbg.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" includes="${java.part.es1.dbg}"/> </jar> - <jar manifest="${build}/tempversion-cdc" destfile="${jogl.gles2.cdc.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion-cdc" destfile="${jogl.gles2.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" includes="${java.part.es2}, ${java.part.openmax}" excludes="${java.part.es2.dbg}"/> </jar> - <jar manifest="${build}/tempversion-cdc" destfile="${jogl.gles2.dbg.cdc.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion-cdc" destfile="${jogl.gles2.dbg.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" includes="${java.part.es2.dbg}"/> </jar> </target> - <target name="build-jars-awt" depends="setup-manifestfile" unless="setup.noAWT"> - <jar manifest="${build}/tempversion" destfile="${jogl.awt.jar}" filesonly="true"> + <target name="build-jars-awt-javase" depends="setup-manifestfile" unless="setup.noAWT"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.awt.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.awt}" /> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.util.awt.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.util.awt.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.util.awt}"/> </jar> </target> - <target name="build-jars-all-awt" depends="setup-manifestfile" unless="setup.noall"> - <jar manifest="${build}/tempversion" destfile="${jogl.all.jar}" filesonly="true"> + <target name="build-jars-all-awt-javase" depends="setup-manifestfile" unless="setup.noAWT"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.all.jar}" filesonly="true"> <fileset dir="${classes}"> <include name="javax/media/opengl/**" /> - <include name="com/sun/gluegen/runtime/**" /> - <include name="com/sun/opengl/**" /> + <include name="com/jogamp/gluegen/runtime/**" /> + <include name="com/jogamp/opengl/**" /> <include name="${java.part.openmax}" /> <!-- FIXME: this is temporary until we move these classes to another workspace --> - <include name="com/sun/javafx/**" /> + <include name="com/jogamp/**" /> + <exclude name="${java.part.gl2es12}"/> </fileset> <fileset dir="${src.java}" includes="${java.part.util.fixedfuncemu.shadercode}"/> </jar> </target> - <target name="build-jars-all-noawt" depends="setup-manifestfile"> - <jar manifest="${build}/tempversion" destfile="${jogl.all-noawt.jar}" filesonly="true"> + <target name="build-jars-all-noawt-javase" depends="setup-manifestfile"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.all-noawt.jar}" filesonly="true"> <fileset dir="${classes}" - includes="javax/media/opengl/** com/sun/gluegen/runtime/** com/sun/opengl/** ${java.part.openmax} com/sun/javafx/**" - excludes="${java.part.awt} ${java.part.util.awt}"> + includes="javax/media/opengl/** com/jogamp/gluegen/runtime/** com/jogamp/opengl/** ${java.part.openmax} com/jogamp/**" + excludes="${java.part.awt} ${java.part.util.awt} ${java.part.gl2es12}"> </fileset> <fileset dir="${src.java}" includes="${java.part.util.fixedfuncemu.shadercode}"/> </jar> </target> <target name="build-jars-all-cdc" depends="setup-manifestfile"> - <jar manifest="${build}/tempversion-cdc" destfile="${jogl.all.cdc.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion-cdc" destfile="${jogl.all.cdc.jar}" filesonly="true"> <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}" + 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.wgl} ${java.part.es1} ${java.part.es1.dbg} ${java.part.es2} ${java.part.es2.dbg} ${java.part.gl2es12} ${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}"/> @@ -1823,25 +1693,25 @@ <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}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion-cdc" destfile="${jogl.core.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" includes="${java.part.core}" excludes="${java.part.core.exclude}"/> </jar> - <jar manifest="${build}/tempversion-cdc" destfile="${jogl.glutess.cdc.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion-cdc" destfile="${jogl.glutess.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" includes="${java.part.glutess}"/> </jar> - <jar manifest="${build}/tempversion-cdc" destfile="${jogl.glumipmap.cdc.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion-cdc" destfile="${jogl.glumipmap.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" includes="${java.part.glumipmap}"/> </jar> - <jar manifest="${build}/tempversion-cdc" destfile="${jogl.util.cdc.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion-cdc" destfile="${jogl.util.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" includes="${java.part.util} ${java.part.util.glsl}" - excludes="${java.part.util.awt} ${java.part.util.gl2} ${java.part.util.fixedfuncemu}"/> + excludes="${java.part.util.awt} ${java.part.util.gldesktop} ${java.part.util.fixedfuncemu}"/> </jar> - <jar manifest="${build}/tempversion-cdc" destfile="${jogl.util.fixedfuncemu.cdc.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion-cdc" destfile="${jogl.util.fixedfuncemu.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" includes="${java.part.util.fixedfuncemu}"/> <fileset dir="${src.java}" @@ -1849,61 +1719,58 @@ </jar> </target> - <target name="build-jars-desktop-javase" depends="setup-manifestfile" unless="setup.nodesktop"> - <jar manifest="${build}/tempversion" destfile="${jogl.gl2.x11.jar}" filesonly="true"> + <target name="build-jars-desktop-javase" depends="setup-manifestfile,build-jars-os-desktop-javase" unless="setup.nodesktop"> + <!--os specific gldesktop--> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.gldesktop.jar}" filesonly="true"> <fileset dir="${classes}" - includes="${java.part.glx}, ${java.part.gl2}, ${java.part.gl3}, ${java.part.openmax}" - excludes="${java.part.gl2.dbg}, ${java.part.gl3.dbg}, ${java.part.glugl2}"/> + includes="${java.part.gldesktop}, ${java.part.openmax}" + excludes="${java.part.gldesktop.dbg}, ${java.part.glugldesktop}, ${java.part.gl2es12}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.gl2.win.jar}" filesonly="true"> - <fileset dir="${classes}" - includes="${java.part.wgl}, ${java.part.gl2}, $${java.part.gl3}, {java.part.openmax}" - excludes="${java.part.gl2.dbg}, ${java.part.gl3.dbg}, ${java.part.glugl2}"/> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.gl2es12.jar}" filesonly="true"> + <fileset dir="${classes}" includes="${java.part.gl2es12}, ${java.part.openmax}" + excludes="${java.part.glugldesktop}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.gl2.osx.jar}" filesonly="true"> - <fileset dir="${classes}" - includes="${java.part.cgl}, ${java.part.gl2}, $${java.part.gl3}, {java.part.openmax}" - excludes="${java.part.gl2.dbg}, ${java.part.gl3.dbg}, ${java.part.glugl2}"/> - </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.gl2.dbg.jar}" filesonly="true"> + + <!-- misc --> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.gldesktop.dbg.jar}" filesonly="true"> <fileset dir="${classes}" - includes="${java.part.gl2.dbg} ${java.part.gl3.dbg}"/> + includes="${java.part.gldesktop.dbg}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.glugl2.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.glugldesktop.jar}" filesonly="true"> <fileset dir="${classes}" - includes="${java.part.glugl2}"/> + includes="${java.part.glugldesktop}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.util.gl2.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.util.gldesktop.jar}" filesonly="true"> <fileset dir="${classes}" - includes="${java.part.util.gl2}" - excludes="com/sun/opengl/**/awt/**"/> + includes="${java.part.util.gldesktop}" + excludes="com/jogamp/opengl/**/awt/**"/> </jar> </target> - <target name="build-jars-javase" depends="setup-manifestfile, build-jars-es, build-jars-awt, build-cg-jar, build-jars-all-awt, build-jars-all-noawt, build-jars-desktop-javase"> - <jar manifest="${build}/tempversion" destfile="${jogl.core.jar}" filesonly="true"> + <target name="build-jars-javase" depends="setup-manifestfile, build-jars-es-javase, build-jars-awt-javase, build-cg-jar-javase, build-jars-all-awt-javase, build-jars-all-noawt-javase, build-jars-desktop-javase"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.core.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.core}" excludes="${java.part.core.exclude}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.sdk.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.sdk.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.sdk}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.glutess.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.glutess.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.glutess}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.glumipmap.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.glumipmap.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.glumipmap}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.util.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.util.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.util} ${java.part.util.glsl}" - excludes="${java.part.util.awt} ${java.part.util.gl2} ${java.part.util.fixedfuncemu}"/> + excludes="${java.part.util.awt} ${java.part.util.gldesktop} ${java.part.util.fixedfuncemu}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.util.fixedfuncemu.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.util.fixedfuncemu.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.util.fixedfuncemu}"/> <fileset dir="${src.java}" @@ -1918,7 +1785,7 @@ - on the platform specific build targets. To circumvent any - errors, ensure that the source is built first. --> - <target name="javadoc.nocg" depends="load.user.properties,init" unless="jogl.cg"> + <target name="javadoc.nocg" depends="init" unless="jogl.cg"> <!-- Build the general public Javadoc --> <javadoc packagenames="${javadoc.packagenames}" excludepackagenames="${java.excludes.javadoc.packagenames}" @@ -1935,9 +1802,9 @@ </target> <!-- Same as above but with Cg directories added --> - <target name="javadoc.cg" depends="load.user.properties,init" if="jogl.cg"> + <target name="javadoc.cg" depends="init" if="jogl.cg"> <!-- Build the general public Javadoc with CG --> - <javadoc packagenames="${javadoc.packagenames},com.sun.opengl.cg" + <javadoc packagenames="${javadoc.packagenames},com.jogamp.opengl.cg" excludepackagenames="${java.excludes.javadoc.packagenames}" sourcepath="${src.java};${src.generated.java}" destdir="${javadoc}" windowtitle="${javadoc.windowtitle}" @@ -1953,7 +1820,7 @@ <target name="javadoc" depends="javadoc.nocg,javadoc.cg" /> - <target name="javadoc.spec.nocg" depends="load.user.properties,init" unless="jogl.cg"> + <target name="javadoc.spec.nocg" depends="init" unless="jogl.cg"> <!-- Build the specification Javadoc --> <javadoc packagenames="${javadoc.spec.packagenames}" excludepackagenames="${java.excludes.javadoc.packagenames}" @@ -1970,7 +1837,7 @@ </target> <!-- Same as above since Cg directories are not part of spec --> - <target name="javadoc.spec.cg" depends="load.user.properties,init" if="jogl.cg"> + <target name="javadoc.spec.cg" depends="init" if="jogl.cg"> <!-- Build the specification Javadoc with CG --> <javadoc packagenames="${javadoc.spec.packagenames}" excludepackagenames="${java.excludes.javadoc.packagenames}" @@ -2007,7 +1874,7 @@ <!-- Same as above but with Cg directories added --> <target name="javadoc.dev.cg" if="jogl.cg"> <!-- Build the internal developer Javadoc --> - <javadoc packagenames="${javadoc.dev.packagenames},com.sun.opengl.cg" + <javadoc packagenames="${javadoc.dev.packagenames},com.jogamp.opengl.cg" excludepackagenames="${java.excludes.javadoc.packagenames}" sourcepath="${src.java};${src.generated.java}" destdir="${javadoc.dev}" windowtitle="${javadoc.windowtitle}" @@ -2021,7 +1888,7 @@ </javadoc> </target> - <target name="javadoc.dev.all" depends="load.user.properties,init,javadoc.dev.nocg,javadoc.dev.cg" /> + <target name="javadoc.dev.all" depends="init,javadoc.dev.nocg,javadoc.dev.cg" /> <target name="all.doc" description="Build JOGL docs" depends="init,javadoc,javadoc.spec,javadoc.dev.all" /> @@ -2032,7 +1899,7 @@ <target name="clean" description="Remove all build products" depends="declare.common"> <delete includeEmptyDirs="true" quiet="true"> <fileset dir="${tempdir}" /> - <fileset dir="${build}" /> + <fileset dir="${build.jogl}" /> <fileset dir="${javadoc}" /> <fileset dir="${javadoc.spec}" /> <fileset dir="${javadoc.dev}" /> @@ -2043,22 +1910,11 @@ <!-- - Build everything. --> - <target name="all" description="Build JOGL JAR file(s) and native libraries." depends="load.user.properties,init,jar,c.build.jogl,generate.version.txt" /> - - <target name="setup-version-RI" if="jogl.ri"> - <property name="tmp.version" value="${jogl_base_version}" /> - </target> - - <target name="setup-version-non-RI" unless="jogl.ri"> - <tstamp> - <format property="version.timestamp" pattern="yyyyMMdd"/> - </tstamp> - <property name="tmp.version" value="${jogl_base_version}-pre-${version.timestamp}" /> - </target> + <target name="all" description="Build JOGL JAR file(s) and native libraries." depends="init,jar,c.build.jogl,generate.version.txt" /> - <target name="generate.version.txt" depends="setup-version-RI,setup-version-non-RI"> + <target name="generate.version.txt" depends="init"> <!-- Create a version.txt file indicating which version we just built --> - <echo message="${tmp.version}" file="${build}/version.txt" /> + <echo message="${jogl.version}" file="${build.jogl}/version.txt" /> </target> <!-- ================================================================== --> diff --git a/make/build-junit.xml b/make/build-junit.xml new file mode 100644 index 000000000..ebf3f683e --- /dev/null +++ b/make/build-junit.xml @@ -0,0 +1,195 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<project name="JOGLTest" basedir="." default="all"> + + <description>JUNIT Tests JOGL</description> + + <import file="build-common.xml"/> + + <taskdef resource="net/sf/antcontrib/antlib.xml"> + <classpath> <pathelement location="${ant-contrib.jar}"/> </classpath> + </taskdef> + + <!-- ================================================================== --> + <!-- + - Declare all paths and user defined variables. + --> + <target name="declare.common" description="Declare properties" depends="common.init"> + <property name="rootrel.src.junit" value="src/junit" /> + <property name="src.junit" value="${project.root}/${rootrel.src.junit}" /> + + <property name="classes" value="${build.junit}/classes" /> + <property name="classes.path" location="${classes}"/> <!-- absolute path --> + + <property name="java.dir.test" value="com/jogamp/test"/> + <property name="java.part.test" value="${java.dir.test}/**"/> + + <property name="batchtest.timeout" value="10000"/> + + </target> + + <!-- ================================================================== --> + <!-- + - Initialize all parameters required for the build and create any + - required directories. + --> + <target name="init" depends="declare.common"> + <!-- Create the required output directories. --> + <mkdir dir="${obj.junit}" /> + <mkdir dir="${classes}" /> + </target> + + <!-- ================================================================== --> + <!-- + - Clean up all that is built. + --> + <target name="clean" description="Remove all build products" depends="declare.common"> + <delete includeEmptyDirs="true" quiet="true"> + <fileset dir="${build.junit}" /> + </delete> + </target> + + <!-- ================================================================== --> + <!-- + - Build/run junit. + --> + <target name="junit.compile" depends="init"> + <!-- Perform the junit pass Java compile --> + <javac destdir="${classes}" + source="${host.sourcelevel}" + fork="yes" + memoryMaximumSize="${javac.memorymax}" + includeAntRuntime="false" + debug="${javacdebug}" debuglevel="${javacdebuglevel}"> + <classpath refid="junit_jogl_newt.compile.classpath"/> + <src path="${src.junit}" /> + </javac> + <jar destfile="${jogl.test.jar}" filesonly="true"> + <fileset dir="${classes}"> + <include name="${java.part.test}"/> + </fileset> + </jar> + </target> + + <target name="junit.run" depends="junit.compile"> + <!-- Perform the junit tests--> + <mkdir dir="${results.junit}" /> + <delete quiet="true"> + <fileset dir="${results.junit}" includes="**"/> + </delete> + + <condition property="jvmarg.newt" value="-XstartOnFirstThread -Djava.awt.headless=true"><isset property="isOSX"/></condition> + <condition property="jvmarg.newt" value="-Djava.awt.headless=true"><not><isset property="isOSX"/></not></condition> + + <!-- Test*CORE* --> + <junit forkmode="once" showoutput="true" fork="true" haltonerror="off" timeout="${batchtest.timeout}"> + <env key="${system.env.library.path}" path="${obj.all.paths}"/> + <jvmarg value="-Djava.library.path=${obj.all.paths}"/> + + <formatter usefile="false" type="plain"/> + <formatter usefile="true" type="xml"/> + <classpath refid="junit_jogl_newt.run.classpath"/> + + <batchtest todir="${results.junit}"> + <fileset dir="${classes}"> + <include name="${java.dir.test}/**/Test*CORE*"/> + </fileset> + <formatter usefile="false" type="brief"/> + <formatter usefile="true" type="xml"/> + </batchtest> + </junit> + + <!-- Test*NEWT* + + Emulation of junit task, + due to the fact that we have to place invoke our MainThread class first (-> MacOSX). + + Utilizing Ant-1.8.0 and ant-contrib-1.0b3 (loops, mutable properties). + --> + <for param="test.class.path.m" keepgoing="true"> + <!-- results in absolute path --> + <fileset dir="${classes}"> + <include name="${java.dir.test}/**/Test*NEWT*"/> + </fileset> + <sequential> + <var name="test.class.path" unset="true"/> + <property name="test.class.path" basedir="${classes}" relative="true" location="@{test.class.path.m}"/> + <var name="test.class.fqn" unset="true"/> + <pathconvert property="test.class.fqn"> + <fileset file="${classes}${file.separator}${test.class.path}"/> + <chainedmapper> + <globmapper from="${classes.path}${file.separator}*" to="*"/> <!-- rel. --> + <packagemapper from="*.class" to="*"/> <!-- FQCN --> + </chainedmapper> + </pathconvert> + <var name="test.class.result.file" value="${results.junit}/TEST-${test.class.fqn}.xml"/> + <echo message="Testing ${test.class.fqn} -> ${test.class.result.file}"/> + <apply dir="." executable="${java.home}/bin/java" + parallel="false" + timeout="${batchtest.timeout}" + vmlauncher="false" + relative="true" + failonerror="false"> + <env key="${system.env.library.path}" path="${obj.all.paths}"/> + <env key="CLASSPATH" value="${junit_jogl_newt.run.jars}"/> + <arg value="-Djava.library.path=${obj.all.paths}"/> + <arg line="${jvmarg.newt}"/> + <arg line="com.jogamp.newt.util.MainThread"/> + <arg line="org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner"/> + <srcfile/> + <arg line="filtertrace=true"/> + <arg line="haltOnError=false"/> + <arg line="haltOnFailure=false"/> + <arg line="showoutput=true"/> + <arg line="outputtoformatters=true"/> + <arg line="logfailedtests=true"/> + <arg line="logtestlistenerevents=true"/> + <arg line="formatter=org.apache.tools.ant.taskdefs.optional.junit.PlainJUnitResultFormatter"/> + <arg line="formatter=org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,${test.class.result.file}"/> + <mappedresources> + <fileset dir="${classes}" includes="${test.class.path}"/> + <packagemapper from="*.class" to="*"/> + </mappedresources> + </apply> + </sequential> + </for> + + <!-- Test*AWT* --> + <junit forkmode="once" showoutput="true" fork="true" haltonerror="off" timeout="${batchtest.timeout}"> + <env key="${system.env.library.path}" path="${obj.all.paths}"/> + <jvmarg value="-Djava.library.path=${obj.all.paths}"/> + + <!-- + <jvmarg value="-Dgluegen.debug.NativeLibrary=true"/> + <jvmarg value="-Dgluegen.debug.ProcAddressHelper=true"/> + <jvmarg value="-Djogl.debug.GLSLState"/> + <jvmarg value="-Dnativewindow.debug=all"/> + <jvmarg value="-Djogl.debug=all"/> + <jvmarg value="-Dnewt.debug=all"/> + <jvmarg value="-verbose:jni"/> + <jvmarg value="-client"/> + <jvmarg value="-d32"/> + --> + + <formatter usefile="false" type="plain"/> + <formatter usefile="true" type="xml"/> + <classpath refid="junit_jogl_newt.run.classpath"/> + + <batchtest todir="${results.junit}"> + <fileset dir="${classes}"> + <include name="${java.dir.test}/**/Test*AWT*"/> + </fileset> + <formatter usefile="false" type="brief"/> + <formatter usefile="true" type="xml"/> + </batchtest> + </junit> + + </target> + + <!-- ================================================================== --> + <!-- + - Build everything. + --> + <target name="all" description="Build JOGL JUNIT tests and run them." depends="junit.compile, junit.run" /> + +</project> diff --git a/make/build-nativewindow.xml b/make/build-nativewindow.xml index 2e3c431ec..8d1639502 100644 --- a/make/build-nativewindow.xml +++ b/make/build-nativewindow.xml @@ -53,25 +53,13 @@ --> <project name="NativeWindow" basedir="." default="all"> - <import file="versions.xml" /> - - <!-- Pull in GlueGen cpptasks build file --> - <property name="gluegen.root" value="../../gluegen" /> - <import file="${gluegen.root}/make/gluegen-cpptasks.xml" /> + <import file="build-common.xml"/> <!-- ================================================================== --> <!-- - Base initialization and detection of operating system. --> - <target name="base.init" depends="gluegen.cpptasks.detect.os"> - - <condition property="setup.nodesktop"> - <and> - <isfalse value="${isWindows}" /> - <isfalse value="${isOSX}" /> - <isfalse value="${isX11}" /> - </and> - </condition> + <target name="base.init" depends="common.init"> <condition property="setup.noNativeAWT"> <or> @@ -80,28 +68,18 @@ </or> </condition> - <condition property="setup.noall"> - <isset property="setup.noAWT"/> - </condition> - - <property name="javac.bootclasspath-cdc.jar" value="../../gluegen/make/lib/cdc_fp.jar" /> - - <echo message="setup.nodesktop: ${setup.nodesktop}" /> - <echo message="setup.noall: ${setup.noall}" /> - <echo message="setup.noAWT: ${setup.noAWT}" /> <echo message="setup.noNativeAWT: ${setup.noNativeAWT}" /> - <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/macosx/*, javax/media/nativewindow/windows/*, com/sun/nativewindow/impl/*, com/sun/nativewindow/impl/jvm/*"/> + value="javax/media/nativewindow/*, javax/media/nativewindow/egl/*, javax/media/nativewindow/macosx/*, javax/media/nativewindow/windows/*, com/jogamp/nativewindow/impl/*, com/jogamp/nativewindow/impl/jvm/*"/> <property name="java.part.awt" - value="javax/media/nativewindow/awt/*, com/sun/nativewindow/impl/jawt/**, com/sun/nativewindow/impl/**/awt/**"/> + value="javax/media/nativewindow/awt/*, com/jogamp/nativewindow/impl/jawt/**, com/jogamp/nativewindow/impl/**/awt/**"/> <property name="java.part.x11" - value="com/sun/nativewindow/impl/x11/** javax/media/nativewindow/x11/*" /> + value="com/jogamp/nativewindow/impl/x11/** javax/media/nativewindow/x11/*" /> <!-- condition excludes --> @@ -112,109 +90,47 @@ <property name="java.excludes.all" value="${java.excludes.awt}" /> <echo message="java.excludes.all: ${java.excludes.all}" /> - - - <!-- Set the project root directory to be up one directory. --> - <property name="project.root" value=".." /> - - <!-- Set the configuration and build files to this directory. --> - <property name="make" value="." /> - </target> - - <target name="base.init.sourcelevel.1"> - <property name="nativewindow.sourcelevel" value="1.4" /> </target> - <!--target name="base.init.sourcelevel.2" if="gluegen.nsig"> - <property name="nativewindow.sourcelevel" value="1.5" /> - </target--> - - <!-- ================================================================== --> - <!-- - - Load user properties which override build defaults. - --> - <target name="load.user.properties" depends="base.init,base.init.sourcelevel.1" unless="user.properties.file"> - <!-- Load the user specified properties file that defines various host - - specific paths. The user will be notified if this is does not - - exist. --> - <property name="user.properties.file" value="${user.home}/nativewindow.properties" /> - <property file="${user.properties.file}" /> - <echo message="Loaded ${user.properties.file}." /> - <property file="${user.home}/gluegen.properties" /> - <echo message="Loaded ${user.home}/gluegen.properties." /> - <fail message="antlr.jar was not specified in nativewindow.properties or gluegen.properties. Please see README.txt for instructions" unless="antlr.jar"/> - <echo message="antlr.jar=${antlr.jar}" /> - </target> <!-- ================================================================== --> <!-- - Declare all paths and user defined variables. --> - <target name="declare.common" description="Declare properties" depends="load.user.properties"> - <!-- The location and name of the configuration ANT file that will - - validate to ensure that all user-define variables are set. --> - <property name="validate.user.properties" value="${make}/validate-properties.xml" /> - - <!-- NOTE: the value of the debug and optimise attributes will not be overridden if already set externally --> - <property name="javacdebug" value="true" /> - <property name="javacdebuglevel" value="source,lines" /> - - <!-- Names of directories relative to the project root. - Some of these are used in FileMappers later for dependence information - and need exact string matching, which is why they use file.separator - instead of "/". --> - <condition property="rootrel.build" value="build"> - <not> - <isset property="rootrel.build"/> - </not> - </condition> - <property name="rootrel.build.nativewindow" value="${rootrel.build}/nativewindow" /> + <target name="declare.common" description="Declare properties" depends="base.init"> + + <property name="config.nativewindow" value="${config}/nativewindow" /> + <property name="rootrel.src" value="src/nativewindow" /> <property name="rootrel.src.java" value="${rootrel.src}/classes" /> <property name="rootrel.src.c" value="${rootrel.src}/native" /> - <property name="rootrel.src.generated" value="${rootrel.build.nativewindow}/gensrc" /> + <property name="rootrel.src.generated" value="${rootrel.build}/nativewindow/gensrc" /> <property name="rootrel.generated.c" value="${rootrel.src.generated}/native" /> - <property name="rootrel.obj" value="${rootrel.build.nativewindow}/obj" /> - - <!-- GlueGen properties. --> - <!-- NOTE that these require a checked-out GlueGen workspace as a --> - <!-- sibling of the NativeWindow workspace. --> - <property name="gluegen.make.dir" value="../../gluegen/make" /> - <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}" /> <property name="src.c" value="${project.root}/${rootrel.src.c}" /> - <property name="build" value="${project.root}/${rootrel.build.nativewindow}" /> <!-- The generated source directories. --> - <property name="src.generated" value="${build}/gensrc" /> + <property name="src.generated" value="${build.nativewindow}/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}" /> + <property name="classes" value="${build.nativewindow}/classes" /> + <property name="classes-cdc" value="${build.nativewindow}/classes-cdc" /> <!-- The headers from which Java files are generated --> - <property name="config" value="${make}/config/nativewindow" /> - <property name="stub.includes" value="${make}/stub_includes" /> - <property name="stub.includes.dir" value="stub_includes" /> <!-- NOTE: this MUST be relative for FileSet --> - <property name="stub.includes.common" value="${stub.includes}/common" /> <dirset id="stub.includes.fileset.all" dir="."> - <include name="${stub.includes.dir}/macosx/**" /> - <include name="${stub.includes.dir}/win32/**" /> - <include name="${stub.includes.dir}/x11/**" /> - <include name="${stub.includes.dir}/common/**" /> - <include name="${stub.includes.dir}/jni/**" /> + <include name="${stub.includes}/macosx/**" /> + <include name="${stub.includes}/win32/**" /> + <include name="${stub.includes}/x11/**" /> + <include name="${stub.includes}/common/**" /> + <include name="${stub.includes}/jni/**" /> </dirset> - <fileset id="stub.includes.dependencies.fileset.1" dir="${stub.includes.dir}"> + <fileset id="stub.includes.dependencies.fileset.1" dir="${stub.includes}"> <include name="macosx/**" /> <include name="win32/**" /> <include name="x11/**" /> @@ -222,30 +138,12 @@ <include name="jni/**" /> </fileset> <fileset id="stub.includes.dependencies.fileset.2" file="${gluegen.jar}" /> - <fileset id="stub.includes.dependencies.fileset.3" dir="${config}"> + <fileset id="stub.includes.dependencies.fileset.3" dir="${config.nativewindow}"> <include name="*.cfg" /> <include name="*.java" /> <include name="*.c" /> </fileset> - <!-- Create the classpath that includes GlueGen and - - ANTLR. This requires the user-defined "antlr.jar" - - property. --> - <path id="gluegen.classpath"> - <pathelement location="${gluegen.jar}" /> - <pathelement location="${antlr.jar}" /> - </path> - - <!-- 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" /> <property name="javadoc.spec" value="${project.root}/javadoc_nativewindow_spec" /> @@ -257,7 +155,7 @@ <property name="javadoc.packagenames" value="${javadoc.spec.packagenames}" /> - <property name="javadoc.dev.packagenames" value="${javadoc.packagenames},com.sun.nativewindow.impl.*,com.sun.gluegen,com.sun.gluegen.runtime" /> + <property name="javadoc.dev.packagenames" value="${javadoc.packagenames},com.jogamp.nativewindow.impl.*,com.sun.gluegen,com.jogamp.gluegen.runtime" /> <property name="javadoc.bottom" value="Copyright 2005 Sun Microsystems, Inc. All rights reserved. Use is subject to <a href="http://jcp.org/en/jsr/detail?id=231">license terms</a>." /> </target> @@ -267,9 +165,6 @@ - required directories. --> <target name="init" depends="declare.common"> - <!-- Call the external config validator script to make sure the config is ok and consistent --> - <ant antfile="${validate.user.properties}" inheritall="true"/> - <!-- Create the required output directories. --> <mkdir dir="${src.generated.java}" /> <mkdir dir="${src.generated.java-cdc}" /> @@ -279,25 +174,7 @@ <mkdir dir="${src.generated.c}/X11" /> <mkdir dir="${classes}" /> <mkdir dir="${classes-cdc}" /> - <mkdir dir="${obj}" /> - </target> - - <!-- ================================================================== --> - <!-- GlueGen and BuildStaticGLInfo creation, task setup and Java file generation --> - <!-- - - Build GlueGen - --> - <target name="build.gluegen" depends="init"> - <!-- Run the GlueGen build to ensure that the GlueGen ANT task - - has been built. --> - <!-- FIXME: remove passing down of antlr.jar when gluegen.properties is on all - nightly build machines --> - <ant antfile="${gluegen.build.xml}" dir="${gluegen.make.dir}" target="all" inheritAll="false"> - <propertyset> - <propertyref name="antlr.jar" /> - <!--propertyref name="gluegen.nsig" /--> - </propertyset> - </ant> + <mkdir dir="${obj.nativewindow}" /> </target> <!-- @@ -320,13 +197,13 @@ <!-- Now check for the presence of one well-known file --> <uptodate property="java.generate.skip.x11windowlib" - targetfile="${src.generated.java}/com/sun/nativewindow/impl/x11/X11Lib.java"> + targetfile="${src.generated.java}/com/jogamp/nativewindow/impl/x11/X11Lib.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.jawt" - targetfile="${src.generated.java}/com/sun/nativewindow/impl/jawt/JAWT.java"> + targetfile="${src.generated.java}/com/jogamp/nativewindow/impl/jawt/JAWT.java"> <srcfiles refid="stub.includes.dependencies.fileset.1" /> <srcfiles refid="stub.includes.dependencies.fileset.2" /> <srcfiles refid="stub.includes.dependencies.fileset.3" /> @@ -344,8 +221,8 @@ <target name="java.generate.windowlib" if="windowlib.os.cfg"> <echo message="Generating Windowing Lib implementation class" /> - <gluegen src="${stub.includes.dir}/${window.os.system}/window-lib.c" - outputRootDir="../${rootrel.build.nativewindow}" + <gluegen src="${stub.includes}/${window.os.system}/window-lib.c" + outputRootDir="${build.nativewindow}" config="${windowlib.os.cfg}" includeRefid="stub.includes.fileset.platform" emitter="com.sun.gluegen.JavaEmitter"> @@ -353,7 +230,7 @@ </gluegen> <copy todir="${src.generated.java-cdc}"> <fileset dir="${src.generated.java}" - includes="com/sun/nativewindow/impl/x11/**" /> + includes="com/jogamp/nativewindow/impl/x11/**" /> </copy> </target> @@ -364,22 +241,22 @@ <echo message="Generating JAWT interface class" /> <echo message="java.home.dir=${java.home.dir}" /> <gluegen src="${jawt.platform.header}" - outputRootDir="../${rootrel.build.nativewindow}" + outputRootDir="${build.nativewindow}" config="${jawt.cfg}" - literalInclude="${stub.includes.dir}/jni" + literalInclude="${stub.includes}/jni" includeRefid="stub.includes.fileset.platform" 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/**" /> + includes="com/jogamp/nativewindow/impl/jawt/**" /> </copy> </target> <target name="java.generate.platforms" > <echo message="Generating platform-specifics: os: ${window.os.system}, cfgs: ${windowlib.os.cfg}, ${jawt.cfg}" /> - <dirset id="stub.includes.fileset.platform" dir="." includes="${stub.includes.dir}/${window.os.system}/** ${stub.includes.dir}/common/**" /> + <dirset id="stub.includes.fileset.platform" dir="." includes="${stub.includes}/${window.os.system}/** ${stub.includes}/common/**" /> <antcall target="java.generate.windowlib" inheritRefs="true" /> <antcall target="java.generate.jawt" inheritRefs="true" /> </target> @@ -389,7 +266,7 @@ - from the C GL headers. This involves setting the taskdef and creating - the classpath reference id then running the task on each header. --> - <target name="java.generate" depends="build.gluegen, java.generate.check" unless="java.generate.skip"> + <target name="java.generate" depends="common.gluegen.build, java.generate.check" unless="java.generate.skip"> <!-- Add the GlueGen and BuildStaticGLInfo tasks to ANT --> <taskdef name="gluegen" classname="com.sun.gluegen.ant.GlueGenTask" @@ -403,23 +280,23 @@ <echo message="Generating platform-specifics: X11" /> <antcall target="java.generate.platforms" inheritRefs="true"> <param name="window.os.system" value="x11"/> - <param name="windowlib.os.cfg" value="${config}/x11-lib.cfg" /> - <param name="jawt.cfg" value="${config}/jawt-x11.cfg" /> - <param name="jawt.platform.header" value="${stub.includes.dir}/jni/x11/jawt_md.h" /> + <param name="windowlib.os.cfg" value="${config.nativewindow}/x11-lib.cfg" /> + <param name="jawt.cfg" value="${config.nativewindow}/jawt-x11.cfg" /> + <param name="jawt.platform.header" value="${stub.includes}/jni/x11/jawt_md.h" /> </antcall> <echo message="Generating platform-specifics: Win32" /> <antcall target="java.generate.platforms" inheritRefs="true"> <param name="window.os.system" value="win32"/> - <param name="jawt.cfg" value="${config}/jawt-win32.cfg" /> - <param name="jawt.platform.header" value="${stub.includes.dir}/jni/win32/jawt_md.h" /> + <param name="jawt.cfg" value="${config.nativewindow}/jawt-win32.cfg" /> + <param name="jawt.platform.header" value="${stub.includes}/jni/win32/jawt_md.h" /> </antcall> <echo message="Generating platform-specifics: MaxOsX" /> <antcall target="java.generate.platforms" inheritRefs="true"> <param name="window.os.system" value="macosx"/> - <param name="jawt.cfg" value="${config}/jawt-macosx.cfg" /> - <param name="jawt.platform.header" value="${stub.includes.dir}/jni/macosx/jawt_md.h" /> + <param name="jawt.cfg" value="${config.nativewindow}/jawt-macosx.cfg" /> + <param name="jawt.platform.header" value="${stub.includes}/jni/macosx/jawt_md.h" /> </antcall> <!-- Inform the user that the generators have successfully created @@ -438,11 +315,12 @@ <!-- Perform the first pass Java compile; everything --> <javac destdir="${classes-cdc}" excludes="${java.part.awt} ${java.excludes.all}" - source="${nativewindow.sourcelevel}" + source="${target.sourcelevel}" classpath="${gluegen-rt-cdc.jar}" bootclasspath="${javac.bootclasspath-cdc.jar}" fork="yes" - memoryMaximumSize="128m" + includeAntRuntime="false" + memoryMaximumSize="${javac.memorymax}" debug="${javacdebug}" debuglevel="${javacdebuglevel}"> <src path="${src.java}" /> <src path="${src.generated.java-cdc}" /> @@ -453,10 +331,11 @@ <!-- Perform the second pass Java compile; everything. --> <javac destdir="${classes}" excludes="${java.excludes.all}" - source="${nativewindow.sourcelevel}" + source="${target.sourcelevel}" classpath="${gluegen-rt.jar}" fork="yes" - memoryMaximumSize="128m" + includeAntRuntime="false" + memoryMaximumSize="${javac.memorymax}" debug="${javacdebug}" debuglevel="${javacdebuglevel}"> <src path="${src.java}" /> <src path="${src.generated.java}" /> @@ -638,10 +517,6 @@ </and> </condition> - <patternset id="c.src.files.jvm"> - <include name="${rootrel.src.c}/JVM*.c"/> - </patternset> - <patternset id="c.src.files.awt"> <include name="${rootrel.src.c}/JAWT*.c"/> <include name="${rootrel.generated.c}/X11/JAWT*.c" if="isX11"/> @@ -651,6 +526,7 @@ <patternset id="c.src.files.x11"> <include name="${rootrel.generated.c}/X11/X11*.c" if="isX11"/> + <include name="${rootrel.src.c}/x11/Xmisc.c" if="isX11"/> <include name="${rootrel.src.c}/x11/XineramaHelper.c" if="isX11"/> <!-- Xinerama supporting functions for Linux only (for now) --> <!-- Also supported on Solaris, but works differently --> @@ -660,8 +536,8 @@ <echo message="Compiling @{output.lib.name}" /> <cc outtype="shared" - objdir="${obj}" - outfile="${obj}/@{output.lib.name}" + objdir="${obj.nativewindow}" + outfile="${obj.nativewindow}/@{output.lib.name}" optimize="${c.compiler.optimise}" debug="${c.compiler.debug}" multithreaded="true" @@ -700,16 +576,16 @@ <!-- FIXME: this is a hack; the cpptask should have an option to change the suffix or at least understand the override from dylib to jnilib --> <antcall target="rename.dylib" inheritRefs="true"> - <param name="src" value="${build}/obj/lib@{output.lib.name}.dylib" /> - <param name="dest" value="${build}/obj/lib@{output.lib.name}.jnilib" /> - <param name="dest-cdc" value="${build}/obj/lib@{output.lib.name}.so" /> + <param name="src" value="${build.nativewindow}/obj/lib@{output.lib.name}.dylib" /> + <param name="dest" value="${build.nativewindow}/obj/lib@{output.lib.name}.jnilib" /> + <param name="dest-cdc" value="${build.nativewindow}/obj/lib@{output.lib.name}.so" /> </antcall> <!-- FIXME: this is a hack; the cpptask should have an option to change the suffix or at least understand the override from dylib to jnilib --> <antcall target="rename.mingw.dll" inheritRefs="true"> - <param name="src" value="${build}/obj/lib@{output.lib.name}.so" /> - <param name="dest" value="${build}/obj/@{output.lib.name}.dll" /> + <param name="src" value="${build.nativewindow}/obj/lib@{output.lib.name}.so" /> + <param name="dest" value="${build.nativewindow}/obj/@{output.lib.name}.dll" /> </antcall> </sequential> </macrodef> @@ -724,17 +600,10 @@ <arg value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Libraries/libjawt.dylib" /> <arg value="/System/Library/Frameworks/JavaVM.framework/Libraries/libjawt.dylib" /> <srcfile /> - <fileset dir="${obj}" includes="libnativewindow_awt.jnilib" /> + <fileset dir="${obj.nativewindow}" includes="libnativewindow_awt.jnilib" /> </apply> </target> - <target name="c.build.nativewindow.jvm"> - <c.build c.compiler.src.files="c.src.files.jvm" - output.lib.name="nativewindow_jvm" - compiler.cfg.id="${compiler.cfg.id}" - linker.cfg.id="${linker.cfg.id.base}"/> - </target> - <target name="c.build.nativewindow.awt" unless="setup.noNativeAWT"> <c.build c.compiler.src.files="c.src.files.awt" c.compiler.use-jawt="true" @@ -744,6 +613,8 @@ </target> <target name="c.build.nativewindow.windowlib.x11" if="isX11"> + <javah destdir="${src.generated.c}/X11" classpath="${classes}" class="com.jogamp.nativewindow.impl.x11.X11Lib" /> + <c.build c.compiler.src.files="c.src.files.x11" output.lib.name="nativewindow_x11" compiler.cfg.id="${compiler.cfg.id}" @@ -754,21 +625,24 @@ <target name="c.manifest" if="isVC8Family"> <!-- exec mt, the Microsoft Manifest Tool, to include DLL manifests in order to resolve the location of msvcr80.dll --> - <msvc.manifest objdir="${obj}" dllname="nativewindow_jvm" /> - <msvc.manifest objdir="${obj}" dllname="nativewindow_awt" /> + <msvc.manifest objdir="${obj.nativewindow}" dllname="nativewindow_awt" /> </target> - <target name="c.build.nativewindow" depends="c.configure,c.build.nativewindow.windowlib,c.build.nativewindow.jvm,c.build.nativewindow.awt"> + <target name="c.build.nativewindow" depends="c.configure,c.build.nativewindow.windowlib,c.build.nativewindow.awt"> + <antcall target="gluegen.cpptasks.striplibs" inheritRefs="true"> + <param name="libdir" value="${obj.nativewindow}"/> + </antcall> + <antcall target="c.fixup.jawt.version.macosx" inheritrefs="true" /> <antcall target="c.manifest" inheritRefs="true" /> <!-- Create the Java Web Start jar file for the built native code --> - <jar destfile="${build}/nativewindow-natives-${os.and.arch}.jar" filesonly="true"> - <fileset dir="${obj}"> + <jar destfile="${build.nativewindow}/nativewindow-natives-${os.and.arch}.jar" filesonly="true"> + <fileset dir="${obj.nativewindow}"> <include name="*.${native.library.suffix}" /> </fileset> </jar> - <jar destfile="${build}/nativewindow-natives-${os.and.arch}-cdc.jar" filesonly="true"> - <fileset dir="${obj}"> + <jar destfile="${build.nativewindow}/nativewindow-natives-${os.and.arch}-cdc.jar" filesonly="true"> + <fileset dir="${obj.nativewindow}"> <include name="*_jvm.${native.library.suffix-cdc}" /> <include name="*_x11.${native.library.suffix-cdc}" /> </fileset> @@ -835,39 +709,39 @@ </target> <target name="build-jars-x11" depends="setup-manifestfile"> - <jar manifest="tempversion" destfile="${nativewindow.x11.jar}" filesonly="true"> + <jar manifest="tempversion" destfile="${nativewindow.os.x11.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.x11}" /> </jar> </target> <target name="build-jars-x11-cdc" depends="setup-manifestfile-cdc"> - <jar manifest="tempversion-cdc" destfile="${nativewindow.x11.cdc.jar}" filesonly="true"> + <jar manifest="tempversion-cdc" destfile="${nativewindow.os.x11.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" includes="${java.part.x11}" /> </jar> </target> - <target name="build-jars-all" depends="setup-manifestfile" unless="setup.noall"> + <target name="build-jars-all" depends="setup-manifestfile" unless="setup.noAWT"> <jar manifest="tempversion" destfile="${nativewindow.all.jar}" filesonly="true"> - <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> + <fileset dir="${classes}" + includes="javax/media/nativewindow/** com/jogamp/nativewindow/**" /> + </jar> + </target> + <target name="build-jars-all-noawt" depends="setup-manifestfile"> + <jar manifest="tempversion" destfile="${nativewindow.all-noawt.jar}" filesonly="true"> + <fileset dir="${classes}" + includes="javax/media/nativewindow/**, com/jogamp/nativewindow/**" + excludes="${java.part.awt}"/> </jar> </target> <target name="build-jars-all-cdc" depends="setup-manifestfile-cdc"> <jar manifest="tempversion-cdc" destfile="${nativewindow.all.cdc.jar}" filesonly="true"> - <fileset dir="${classes-cdc}"> - <include name="javax/media/nativewindow/**" /> - <include name="com/sun/nativewindow/**" /> - <include name="com/sun/gluegen/runtime/**" /> - </fileset> + <fileset dir="${classes-cdc}" + includes="javax/media/nativewindow/** com/jogamp/nativewindow/**" /> </jar> </target> - <target name="build-jars-javase" depends="setup-manifestfile,build-jars-awt,build-jars-x11,build-jars-all"> + <target name="build-jars-javase" depends="setup-manifestfile,build-jars-awt,build-jars-x11,build-jars-all,build-jars-all-noawt"> <jar manifest="tempversion" destfile="${nativewindow.core.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.core}" @@ -889,11 +763,11 @@ <!-- ================================================================== --> <!-- - Build the Javadocs for the sources. - - NOTE: these are not entirely correct as the javadocs targets depend + - NOTE: these are not entirely correct as the javadoc targets depend - on the platform specific build targets. To circumvent any - errors, ensure that the source is built first. --> - <target name="javadoc" depends="load.user.properties,init"> + <target name="javadoc" depends="init"> <!-- Build the general public Javadoc --> <javadoc packagenames="${javadoc.packagenames}" excludepackagenames="${java.excludes.javadoc.packagenames}" @@ -907,7 +781,7 @@ </javadoc> </target> - <target name="javadoc.spec" depends="load.user.properties,init"> + <target name="javadoc.spec" depends="init"> <!-- Build the specification Javadoc --> <javadoc packagenames="${javadoc.spec.packagenames}" excludepackagenames="${java.excludes.javadoc.packagenames}" @@ -921,7 +795,7 @@ </javadoc> </target> - <target name="javadoc.dev" depends="load.user.properties,init"> + <target name="javadoc.dev" depends="init"> <!-- Build the internal developer Javadoc --> <javadoc packagenames="${javadoc.dev.packagenames}" excludepackagenames="${java.excludes.javadoc.packagenames}" @@ -943,7 +817,7 @@ --> <target name="clean" description="Remove all build products" depends="declare.common"> <delete includeEmptyDirs="true" quiet="true"> - <fileset dir="${build}" /> + <fileset dir="${build.nativewindow}" /> <fileset dir="${javadoc}" /> <fileset dir="${javadoc.spec}" /> <fileset dir="${javadoc.dev}" /> @@ -954,22 +828,11 @@ <!-- - Build everything. --> - <target name="all" description="Build NativeWindow JAR file(s) and native libraries." depends="load.user.properties,init,jar,c.build.nativewindow,generate.version.txt" /> - - <target name="setup-version-RI" if="nativewindow.ri"> - <property name="tmp.version" value="${nativewindow_base_version}" /> - </target> - - <target name="setup-version-non-RI" unless="nativewindow.ri"> - <tstamp> - <format property="version.timestamp" pattern="yyyyMMdd"/> - </tstamp> - <property name="tmp.version" value="${nativewindow_base_version}-pre-${version.timestamp}" /> - </target> + <target name="all" description="Build NativeWindow JAR file(s) and native libraries." depends="init,jar,c.build.nativewindow,generate.version.txt" /> - <target name="generate.version.txt" depends="setup-version-RI,setup-version-non-RI"> + <target name="generate.version.txt" depends="init"> <!-- Create a version.txt file indicating which version we just built --> - <echo message="${tmp.version}" file="${build}/version.txt" /> + <echo message="${nativewindow.version}" file="${build.nativewindow}/version.txt" /> </target> <!-- ================================================================== --> diff --git a/make/build-newt.xml b/make/build-newt.xml index ad04973e4..db357bf37 100644 --- a/make/build-newt.xml +++ b/make/build-newt.xml @@ -27,14 +27,14 @@ - Java and C file generators. Note that it is only supported - to create the Javadoc for the platform on which you are - currently running. - - + - - Note: on Windows the "win32.c.compiler" property in newt.properties - is required to select the appropriate C compiler. See the example - newt.properties in this directory for valid values. On Mac OS X - universal binaries may also be built by setting the "macosxfat" - property in newt.properties; again see the example file in this - directory. - - + - - Thanks to Rob Grzywinski and Artur Biesiadowski for the bulk of the - ANT build, including the GlueGen and StaticGLInfo tasks, the building of - the Java generated sources, the first and second phase Java compiles, and @@ -56,31 +56,13 @@ --> <project name="NEWT" basedir="." default="all"> - <import file="versions.xml" /> - - <!-- Pull in GlueGen cpptasks build file --> - <property name="gluegen.root" value="../../gluegen" /> - <import file="${gluegen.root}/make/gluegen-cpptasks.xml" /> + <import file="build-common.xml"/> <!-- ================================================================== --> - <!-- + <!-- - Base initialization and detection of operating system. --> - <target name="base.init" depends="gluegen.cpptasks.detect.os"> - - <property name="javac.bootclasspath-cdc.jar" value="../../gluegen/make/lib/cdc_fp.jar"/> - - <condition property="setup.nodesktop"> - <and> - <isfalse value="${isWindows}" /> - <isfalse value="${isOSX}" /> - <isfalse value="${isX11}" /> - </and> - </condition> - - <condition property="setup.noall"> - <isset property="setup.noAWT"/> - </condition> + <target name="base.init" depends="common.init"> <condition property="setup.nonatives"> <and> @@ -93,184 +75,82 @@ </and> </condition> - <echo message="setup.nonatives: ${setup.nonatives}" /> - <echo message="setup.nodesktop: ${setup.nodesktop}" /> - <echo message="setup.noall: ${setup.noall}" /> - <echo message="setup.noCDC: ${setup.noCDC}" /> - <echo message="setup.noAWT: ${setup.noAWT}" /> <echo message="setup.noOpenGL: ${setup.noOpenGL}" /> - <echo message="javac.bootclasspath-cdc.jar: ${javac.bootclasspath-cdc.jar}" /> + <echo message="isWindows: ${isWindows}" /> + <echo message="isOSX: ${isOSX}" /> <echo message="isX11: ${isX11}" /> <echo message="useKD: ${useKD}" /> <echo message="useIntelGDL: ${useIntelGDL}" /> <echo message="useBroadcomEGL: ${useBroadcomEGL}" /> + <echo message="setup.nonatives: ${setup.nonatives}" /> <!-- partitioning --> <property name="java.part.core" - value="com/sun/javafx/newt/*, com/sun/javafx/newt/util/*, com/sun/javafx/newt/impl/*, com/sun/javafx/newt/intel/gdl/*"/> + value="com/jogamp/newt/*, com/jogamp/newt/util/*, com/jogamp/newt/impl/*, com/jogamp/newt/intel/gdl/*"/> <property name="java.part.x11" - value="com/sun/javafx/newt/x11/*"/> + value="com/jogamp/newt/x11/*"/> <property name="java.part.windows" - value="com/sun/javafx/newt/windows/*"/> + value="com/jogamp/newt/windows/*"/> <property name="java.part.macosx" - value="com/sun/javafx/newt/macosx/*"/> + value="com/jogamp/newt/macosx/*"/> <property name="java.part.opengl" - value="com/sun/javafx/newt/opengl/*, com/sun/javafx/newt/opengl/kd/*"/> + value="com/jogamp/newt/opengl/*, com/jogamp/newt/opengl/kd/*"/> <property name="java.part.broadcomegl" - value="com/sun/javafx/newt/opengl/broadcom/egl/*"/> + value="com/jogamp/newt/opengl/broadcom/egl/*"/> <property name="java.part.awt" - value="com/sun/javafx/newt/awt/*"/> + value="com/jogamp/newt/awt/*"/> <!-- condition excludes --> <condition property="java.excludes.awt" value="${java.part.awt}"> - <isset property="setup.noAWT"/> + <isset property="setup.noAWT"/> </condition> <condition property="java.excludes.opengl" value="${java.part.opengl} ${java.part.broadcomegl}"> - <isset property="setup.noOpenGL"/> + <isset property="setup.noOpenGL"/> </condition> <property name="java.excludes.cdcfp" value="${java.part.awt}"/> <condition property="java.excludes.desktop" value="${java.part.x11} ${java.part.windows}, ${java.part.macosx}, ${java.part.awt}"> - <isset property="setup.nodesktop"/> + <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}" /> - - <!-- Set the project root directory to be up one directory. --> - <property name="project.root" value=".." /> - - <!-- Set the configuration and build files to this directory. --> - <property name="make" value="." /> - </target> - - <target name="base.init.sourcelevel.1"> - <property name="newt.sourcelevel" value="1.4" /> </target> - <!--target name="base.init.sourcelevel.2" if="gluegen.nsig"> - <property name="newt.sourcelevel" value="1.5" /> - </target--> - <!-- ================================================================== --> - <!-- - - Load user properties which override build defaults. - --> - <target name="load.user.properties" depends="base.init,base.init.sourcelevel.1" unless="user.properties.file"> - <!-- Load the user specified properties file that defines various host - - specific paths. The user will be notified if this is does not - - exist. --> - <property name="user.properties.file" value="${user.home}/newt.properties" /> - <property file="${user.properties.file}" /> - <echo message="Loaded ${user.properties.file}." /> - <property file="${user.home}/gluegen.properties" /> - <echo message="Loaded ${user.home}/gluegen.properties." /> - </target> - - <!-- ================================================================== --> - <!-- + <!-- - Declare all paths and user defined variables. --> - <target name="declare.common" description="Declare properties" depends="load.user.properties"> - <!-- The location and name of the configuration ANT file that will - - validate to ensure that all user-define variables are set. --> - <property name="validate.user.properties" value="${make}/validate-properties.xml" /> - - <!-- NOTE: the value of the debug and optimise attributes will not be overridden if already set externally --> - <property name="javacdebug" value="true" /> - <property name="javacdebuglevel" value="source,lines" /> - - <!-- Names of directories relative to the project root. - Some of these are used in FileMappers later for dependence information - and need exact string matching, which is why they use file.separator - instead of "/". --> - <condition property="rootrel.build" value="build"> - <not> - <isset property="rootrel.build"/> - </not> - </condition> - <property name="rootrel.build.newt" value="${rootrel.build}/newt" /> + <target name="declare.common" description="Declare properties" depends="base.init"> <property name="rootrel.src" value="src/newt" /> <property name="rootrel.src.java" value="${rootrel.src}/classes" /> <property name="rootrel.src.c" value="${rootrel.src}/native" /> - <property name="rootrel.obj" value="${rootrel.build.newt}/obj" /> - - <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" /> <!-- 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="build" value="${project.root}/${rootrel.build.newt}" /> - + <!-- The generated source directories. --> - <property name="src.generated" value="${build}/gensrc" /> + <property name="src.generated" value="${build.newt}/gensrc" /> <property name="src.generated.c" value="${src.generated}/native/newt" /> <!-- 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}" /> - - <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="${jogl.core.jar}" /> - <pathelement location="${jogl.egl.jar}" /> - </path> - - <path id="nativewindow_gluegen_jogl.classpath-cdc"> - <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.broadcomegl.jar" value="${build}/newt.broadcomegl.jar" /> - <property name="newt.awt.jar" value="${build}/newt.awt.jar" /> - <property name="newt.all.jar" value="${build}/newt.all.jar" /> - <property name="newt.all-noawt.jar" value="${build}/newt.all-noawt.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.broadcomegl.cdc.jar" value="${build}/newt.broadcomegl.cdc.jar" /> - <property name="newt.all.cdc.jar" value="${build}/newt.all.cdc.jar" /> + <property name="classes" value="${build.newt}/classes" /> + <property name="classes-cdc" value="${build.newt}/classes-cdc" /> <!-- The javadoc dirs. --> <property name="javadoc" value="${project.root}/javadoc_newt_public" /> @@ -279,23 +159,20 @@ <property name="javadoc.link" value="http://java.sun.com/j2se/1.4.2/docs/api/" /> <property name="javadoc.windowtitle" value="NEWT API -- ${newt_base_version} Specification" /> <property name="javadoc.overview" value="spec-overview.html" /> - <property name="javadoc.spec.packagenames" value="com.sun.javafx.newt, com.sun.javafx.newt.opengl" /> + <property name="javadoc.spec.packagenames" value="com.jogamp.newt, com.jogamp.newt.opengl" /> <property name="javadoc.packagenames" value="${javadoc.spec.packagenames}" /> - <property name="javadoc.dev.packagenames" value="${javadoc.packagenames},com.sun.javafx.newt.*" /> + <property name="javadoc.dev.packagenames" value="${javadoc.packagenames},com.jogamp.newt.*" /> <property name="javadoc.bottom" value="Copyright 2005 Sun Microsystems, Inc. All rights reserved. Use is subject to <a href="http://jcp.org/en/jsr/detail?id=231">license terms</a>." /> </target> - + <!-- ================================================================== --> - <!-- + <!-- - Initialize all parameters required for the build and create any - required directories. --> <target name="init" depends="declare.common"> - <!-- Call the external config validator script to make sure the config is ok and consistent --> - <ant antfile="${validate.user.properties}" inheritall="true"/> - <mkdir dir="${src.generated.c}" /> <mkdir dir="${src.generated.c}/X11" /> <mkdir dir="${src.generated.c}/MacOSX" /> @@ -305,20 +182,21 @@ <mkdir dir="${src.generated.c}/BroadcomEGL" /> <mkdir dir="${classes}" /> <mkdir dir="${classes-cdc}" /> - <mkdir dir="${obj}" /> + <mkdir dir="${obj.newt}" /> </target> <!-- ================================================================== --> - <!-- + <!-- - Compile the original and generated source. --> <target name="java.compile.javase"> <!-- Perform the second pass Java compile; everything. --> <javac destdir="${classes}" excludes="${java.excludes.all}" - source="${newt.sourcelevel}" + source="${target.sourcelevel}" fork="yes" - memoryMaximumSize="128m" + includeAntRuntime="false" + memoryMaximumSize="${javac.memorymax}" debug="${javacdebug}" debuglevel="${javacdebuglevel}"> <src path="${src.java}" /> <classpath refid="nativewindow_gluegen_jogl.classpath"/> @@ -329,10 +207,11 @@ <!-- Perform the first pass Java compile; everything --> <javac destdir="${classes-cdc}" excludes="${java.excludes.all} ${java.excludes.cdcfp}" - source="${newt.sourcelevel}" + source="${target.sourcelevel}" bootclasspath="${javac.bootclasspath-cdc.jar}" fork="yes" - memoryMaximumSize="128m" + includeAntRuntime="false" + memoryMaximumSize="${javac.memorymax}" debug="${javacdebug}" debuglevel="${javacdebuglevel}"> <classpath refid="nativewindow_gluegen_jogl.classpath-cdc"/> <src path="${src.java}" /> @@ -342,7 +221,7 @@ <target name="java.compile" depends="java.compile.javase,java.compile.javacdc" /> <!-- ================================================================== --> - <!-- + <!-- - Compile the native C code for JOGL (and optionally the Cg binding). --> @@ -356,7 +235,7 @@ </compiler> <!-- linker configuration --> - + <linker id="linker.cfg.linux.newt.broadcom_egl" extends="linker.cfg.linux"> <syslibset dir="/nfsroot/lg/lib" libs="EGL"/> <syslibset dir="/nfsroot/lg/lib" libs="GLES_CM"/> @@ -409,7 +288,7 @@ <property name="linker.cfg.id.core" value="linker.cfg.win32.msvc" /> <property name="linker.cfg.id.oswin" value="linker.cfg.win32.msvc.newt" /> </target> - + <target name="c.configure.win32.mingw" if="isMingW"> <echo message="Win32.MingW" /> <property name="compiler.cfg.id" value="compiler.cfg.win32.mingw" /> @@ -427,7 +306,7 @@ </condition> <echo message="linker.cfg.id.oswin ${linker.cfg.id.oswin}" /> </target> - + <target name="c.configure.linux.amd64" if="isLinuxAMD64"> <echo message="Linux.AMD64" /> <property name="compiler.cfg.id" value="compiler.cfg.linux.amd64" /> @@ -438,7 +317,7 @@ </condition> <echo message="linker.cfg.id.oswin ${linker.cfg.id.oswin}" /> </target> - + <target name="c.configure.linux.ia64" if="isLinuxIA64"> <echo message="Linux.IA64" /> <property name="compiler.cfg.id" value="compiler.cfg.linux" /> @@ -454,15 +333,15 @@ <property name="linker.cfg.id.core" value="linker.cfg.solaris" /> <property name="linker.cfg.id.oswin" value="linker.cfg.solaris.newt.x11" /> </target> - - + + <target name="c.configure.solaris.sparcv9" depends="c.configure.x11" if="isSolarisSparcv9"> <echo message="SolarisSparcv9" /> <property name="compiler.cfg.id" value="compiler.cfg.solaris.sparcv9" /> <property name="linker.cfg.id.core" value="linker.cfg.solaris.sparcv9" /> <property name="linker.cfg.id.oswin" value="linker.cfg.solaris.sparcv9.newt.x11" /> </target> - + <target name="c.configure.solaris.amd64" depends="c.configure.x11" if="isSolarisAMD64"> <echo message="SolarisAMD64" /> @@ -470,7 +349,7 @@ <property name="linker.cfg.id.core" value="linker.cfg.solaris.amd64" /> <property name="linker.cfg.id.oswin" value="linker.cfg.solaris.amd64.newt.x11" /> </target> - + <target name="c.configure.freebsd" depends="c.configure.x11" if="isFreeBSD"> <echo message="FreeBSD" /> <property name="compiler.cfg.id" value="compiler.cfg.freebsd.newt" /> @@ -494,7 +373,7 @@ <property name="linker.cfg.id.core" value="linker.cfg.macosx" /> <property name="linker.cfg.id.oswin" value="linker.cfg.macosx.newt" /> </target> - + <target name="c.configure.2" depends="c.configure.win32,c.configure.linux,c.configure.solaris32,c.configure.solaris.sparcv9,c.configure.solaris.amd64,c.configure.macosx,c.configure.freebsd,c.configure.hpux" /> <target name="c.configure" depends="c.configure.1,c.configure.2" /> @@ -518,9 +397,9 @@ <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" /> + <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> @@ -535,25 +414,25 @@ <echo message="Compiling @{output.lib.name}" /> - <cc outtype="shared" - objdir="${obj}" - outfile="${obj}/@{output.lib.name}" - optimize="${c.compiler.optimise}" + <cc outtype="shared" + objdir="${obj.newt}" + outfile="${obj.newt}/@{output.lib.name}" + optimize="${c.compiler.optimise}" debug="${c.compiler.debug}" - multithreaded="true" - exceptions="false" - rtti="false"> - + multithreaded="true" + exceptions="false" + rtti="false"> + <!-- TODO: versioninfo companyname="java.net" legalcopyright="Copyright" - productname="JOGL" + productname="JOGL" productversion="x.y.z" description="Description" - fileversion="x.y.z" - filecomments="File Comment" /--> - + fileversion="x.y.z" + filecomments="File Comment" /--> + <fileset dir="${project.root}"><patternset refid="@{c.compiler.src.files}"/></fileset> - + <compiler extends="@{compiler.cfg.id}" > <sysincludepath path="${java.includes.dir}"/> <sysincludepath path="${java.includes.dir.platform}"/> @@ -567,52 +446,52 @@ <includepath path="${src.generated.c}/IntelGDL" if="useIntelGDL" /> <includepath path="stub_includes/embedded/IntelGDL" if="useIntelGDL" /> <includepath path="${src.generated.c}/BroadcomEGL" if="useBroadcomEGL" /> - + <!-- This must come last to not override real include paths --> <!-- includepath path="stub_includes/macosx" if="isOSX" / --> </compiler> - + <linker extends="@{linker.cfg.id}"> - <syslibset dir="${java.lib.dir.platform}" libs="jawt" if="@{output.lib.name}.useLibJAWT"/> - <syslibset dir="${java.lib.dir.platform}/server" libs="jvm" if="@{output.lib.name}.useLibJVM"/> + <syslibset dir="${java.lib.platform}" libs="jawt" if="@{output.lib.name}.useLibJAWT"/> + <syslibset dir="${java.lib.platform}/server" libs="jvm" if="@{output.lib.name}.useLibJVM"/> </linker> </cc> <!-- FIXME: this is a hack; the cpptask should have an option to change the suffix or at least understand the override from dylib to jnilib --> <antcall target="rename.dylib" inheritRefs="true"> - <param name="src" value="${build}/obj/lib@{output.lib.name}.dylib" /> - <param name="dest" value="${build}/obj/lib@{output.lib.name}.jnilib" /> - <param name="dest-cdc" value="${build}/obj/lib@{output.lib.name}.so" /> + <param name="src" value="${obj.newt}/lib@{output.lib.name}.dylib" /> + <param name="dest" value="${obj.newt}/lib@{output.lib.name}.jnilib" /> + <param name="dest-cdc" value="${obj.newt}/lib@{output.lib.name}.so" /> </antcall> <!-- FIXME: this is a hack; the cpptask should have an option to change the suffix or at least understand the override from dylib to jnilib --> <antcall target="rename.mingw.dll" inheritRefs="true"> - <param name="src" value="${build}/obj/lib@{output.lib.name}.so" /> - <param name="dest" value="${build}/obj/@{output.lib.name}.dll" /> + <param name="src" value="${obj.newt}/lib@{output.lib.name}.so" /> + <param name="dest" value="${obj.newt}/@{output.lib.name}.dll" /> </antcall> </sequential> - </macrodef> + </macrodef> <target name="c.build.newt.prepare.KD" if="useKD"> - <javah destdir="${src.generated.c}/KD" classpath="${classes}" class="com.sun.javafx.newt.opengl.kd.KDWindow" /> + <javah destdir="${src.generated.c}/KD" classpath="${classes}" class="com.jogamp.newt.opengl.kd.KDWindow" /> </target> <target name="c.build.newt.prepare.IntelGDL" if="useIntelGDL"> - <javah destdir="${src.generated.c}/IntelGDL" classpath="${classes}" class="com.sun.javafx.newt.intel.gdl.Display" /> - <javah destdir="${src.generated.c}/IntelGDL" classpath="${classes}" class="com.sun.javafx.newt.intel.gdl.Screen" /> - <javah destdir="${src.generated.c}/IntelGDL" classpath="${classes}" class="com.sun.javafx.newt.intel.gdl.Window" /> + <javah destdir="${src.generated.c}/IntelGDL" classpath="${classes}" class="com.jogamp.newt.intel.gdl.Display" /> + <javah destdir="${src.generated.c}/IntelGDL" classpath="${classes}" class="com.jogamp.newt.intel.gdl.Screen" /> + <javah destdir="${src.generated.c}/IntelGDL" classpath="${classes}" class="com.jogamp.newt.intel.gdl.Window" /> </target> <target name="c.build.newt.prepare.BroadcomEGL" if="useBroadcomEGL"> - <javah destdir="${src.generated.c}/BroadcomEGL" classpath="${classes}" class="com.sun.javafx.newt.opengl.broadcom.egl.Window" /> + <javah destdir="${src.generated.c}/BroadcomEGL" classpath="${classes}" class="com.jogamp.newt.opengl.broadcom.egl.Window" /> </target> <target name="c.build.newt.prepare.desktop" unless="setup.nodesktop"> - <javah destdir="${src.generated.c}/Windows" classpath="${classes}" class="com.sun.javafx.newt.windows.WindowsWindow" /> - <javah destdir="${src.generated.c}/MacOSX" classpath="${classes}" class="com.sun.javafx.newt.macosx.MacWindow" /> - <javah destdir="${src.generated.c}/X11" classpath="${classes}" class="com.sun.javafx.newt.x11.X11Window" /> + <javah destdir="${src.generated.c}/Windows" classpath="${classes}" class="com.jogamp.newt.windows.WindowsWindow" /> + <javah destdir="${src.generated.c}/MacOSX" classpath="${classes}" class="com.jogamp.newt.macosx.MacWindow" /> + <javah destdir="${src.generated.c}/X11" classpath="${classes}" class="com.jogamp.newt.x11.X11Window" /> </target> <target name="c.build.newt.prepare" depends="c.build.newt.prepare.KD,c.build.newt.prepare.IntelGDL,c.build.newt.prepare.BroadcomEGL,c.build.newt.prepare.desktop" /> @@ -626,22 +505,26 @@ <target name="c.manifest" if="isVC8Family"> <!-- exec mt, the Microsoft Manifest Tool, to include DLL manifests in order to resolve the location of msvcr80.dll --> - <msvc.manifest objdir="${obj}" dllname="newt" /> + <msvc.manifest objdir="${obj.newt}" dllname="newt" /> </target> <target name="c.build.newt.natives" depends="c.build.newt.windowlib" unless="setup.nonatives"> </target> <target name="c.build.newt" depends="c.configure,c.build.newt.prepare,c.build.newt.natives"> + <antcall target="gluegen.cpptasks.striplibs" inheritRefs="true"> + <param name="libdir" value="${obj.newt}"/> + </antcall> + <antcall target="c.manifest" inheritRefs="true" /> <!-- Create the Java Web Start jar file for the built native code --> - <jar destfile="${build}/newt-natives-${os.and.arch}.jar" filesonly="true"> - <fileset dir="${obj}"> + <jar destfile="${build.newt}/newt-natives-${os.and.arch}.jar" filesonly="true"> + <fileset dir="${obj.newt}"> <include name="*.${native.library.suffix}" /> </fileset> </jar> - <jar destfile="${build}/newt-natives-${os.and.arch}-cdc.jar" filesonly="true"> - <fileset dir="${obj}"> + <jar destfile="${build.newt}/newt-natives-${os.and.arch}-cdc.jar" filesonly="true"> + <fileset dir="${obj.newt}"> <include name="*.${native.library.suffix-cdc}" /> </fileset> </jar> @@ -662,14 +545,11 @@ <isset property="newt.ri" /> </not> </condition> - <tstamp> - <format property="timestamp" pattern="yyyyMMdd-HH:mm:ss"/> - </tstamp> <copy file="${manifestfile}" tofile="tempversion" overwrite="true"> <filterset> - <filter token="VERSION" value="${newt_base_version}-pre-${timestamp}"/> + <filter token="VERSION" value="${newt.version}"/> <filter token="BASEVERSION" value="${newt_base_version}"/> </filterset> </copy> @@ -684,14 +564,11 @@ <isset property="newt.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="${newt_base_version}-pre-${timestamp}"/> + <filter token="VERSION" value="${newt.version}"/> <filter token="BASEVERSION" value="${newt_base_version}"/> </filterset> </copy> @@ -727,46 +604,46 @@ </target> <target name="build-jars-desktop" depends="setup-manifestfile" unless="setup.nodesktop"> - <jar manifest="tempversion" destfile="${newt.x11.jar}" filesonly="true"> + <jar manifest="tempversion" destfile="${newt.os.x11.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.x11}"/> </jar> - <jar manifest="tempversion" destfile="${newt.win.jar}" filesonly="true"> + <jar manifest="tempversion" destfile="${newt.os.win.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.windows}"/> </jar> - <jar manifest="tempversion" destfile="${newt.osx.jar}" filesonly="true"> + <jar manifest="tempversion" destfile="${newt.os.osx.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.macosx}"/> </jar> </target> <target name="build-jars-desktop-cdc" depends="setup-manifestfile-cdc" unless="setup.nodesktop"> - <jar manifest="tempversion-cdc" destfile="${newt.x11.cdc.jar}" filesonly="true"> + <jar manifest="tempversion-cdc" destfile="${newt.os.x11.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" includes="${java.part.x11}"/> </jar> - <jar manifest="tempversion-cdc" destfile="${newt.win.cdc.jar}" filesonly="true"> + <jar manifest="tempversion-cdc" destfile="${newt.os.win.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" includes="${java.part.windows}"/> </jar> - <jar manifest="tempversion-cdc" destfile="${newt.osx.cdc.jar}" filesonly="true"> + <jar manifest="tempversion-cdc" destfile="${newt.os.osx.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" includes="${java.part.macosx}"/> </jar> </target> - <target name="build-jars-all-awt" depends="setup-manifestfile" unless="setup.noall"> + <target name="build-jars-all-awt" depends="setup-manifestfile" unless="setup.noAWT"> <jar manifest="tempversion" destfile="${newt.all.jar}" filesonly="true"> <fileset dir="${classes}" - includes="com/sun/javafx/newt/**" /> + includes="com/jogamp/newt/**" /> </jar> </target> <target name="build-jars-all-noawt" depends="setup-manifestfile"> <jar manifest="tempversion" destfile="${newt.all-noawt.jar}" filesonly="true"> <fileset dir="${classes}" - includes="com/sun/javafx/newt/**" + includes="com/jogamp/newt/**" excludes="${java.part.awt}" /> </jar> </target> @@ -774,7 +651,7 @@ <target name="build-jars-all-cdc" depends="setup-manifestfile-cdc"> <jar manifest="tempversion-cdc" destfile="${newt.all.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" - includes="com/sun/javafx/newt/**" + includes="com/jogamp/newt/**" excludes="${java.excludes.cdcfp}" /> </jar> </target> @@ -797,17 +674,17 @@ <!-- ================================================================== --> <!-- - Build the Javadocs for the sources. - - NOTE: these are not entirely correct as the javadocs targets depend - - on the platform specific build targets. To circumvent any + - NOTE: these are not entirely correct as the javadocs targets depend + - on the platform specific build targets. To circumvent any - errors, ensure that the source is built first. --> - <target name="javadoc" depends="load.user.properties,init"> + <target name="javadoc" depends="init"> <!-- Build the general Javadoc --> <javadoc packagenames="${javadoc.packagenames}" excludepackagenames="${java.excludes.javadoc.packagenames}" - sourcepath="${src.java};${src.generated.java}" + sourcepath="${src.java};${src.generated.java}" destdir="${javadoc}" windowtitle="${javadoc.windowtitle}" - overview="${javadoc.overview}" + overview="${javadoc.overview}" source="1.4" linkoffline="${javadoc.link} 142-packages" bottom="${javadoc.bottom}" > @@ -815,7 +692,7 @@ </javadoc> </target> - <target name="javadoc.spec" depends="load.user.properties,init"> + <target name="javadoc.spec" depends="init"> <!-- Build the general Javadoc --> <javadoc packagenames="${javadoc.spec.packagenames}" excludepackagenames="${java.excludes.javadoc.packagenames}" @@ -828,14 +705,14 @@ <classpath refid="nativewindow_gluegen_jogl.classpath"/> </javadoc> </target> - - <target name="javadoc.dev" depends="load.user.properties,init"> + + <target name="javadoc.dev" depends="init"> <!-- Build the internal developer Javadoc --> <javadoc packagenames="${javadoc.dev.packagenames}" excludepackagenames="${java.excludes.javadoc.packagenames}" - sourcepath="${src.java};${src.generated.java}" + sourcepath="${src.java};${src.generated.java}" destdir="${javadoc.dev}" windowtitle="${javadoc.windowtitle}" - overview="${javadoc.overview}" + overview="${javadoc.overview}" source="1.4" linkoffline="${javadoc.link} 142-packages" bottom="${javadoc.bottom}" > @@ -851,7 +728,7 @@ --> <target name="clean" description="Remove all build products" depends="declare.common"> <delete includeEmptyDirs="true" quiet="true"> - <fileset dir="${build}" /> + <fileset dir="${build.newt}" /> <fileset dir="${javadoc}" /> <fileset dir="${javadoc.spec}" /> <fileset dir="${javadoc.dev}" /> @@ -862,22 +739,11 @@ <!-- - Build everything. --> - <target name="all" description="Build NEWT JAR file(s) and native libraries." depends="load.user.properties,init,jar,c.build.newt,generate.version.txt" /> - - <target name="setup-version-RI" if="newt.ri"> - <property name="tmp.version" value="${newt_base_version}" /> - </target> - - <target name="setup-version-non-RI" unless="newt.ri"> - <tstamp> - <format property="version.timestamp" pattern="yyyyMMdd"/> - </tstamp> - <property name="tmp.version" value="${newt_base_version}-pre-${version.timestamp}" /> - </target> + <target name="all" description="Build NEWT JAR file(s) and native libraries." depends="init,jar,c.build.newt,generate.version.txt" /> - <target name="generate.version.txt" depends="setup-version-RI,setup-version-non-RI"> + <target name="generate.version.txt" depends="init"> <!-- Create a version.txt file indicating which version we just built --> - <echo message="${tmp.version}" file="${build}/version.txt" /> + <echo message="${newt.version}" file="${build.newt}/version.txt" /> </target> <!-- ================================================================== --> diff --git a/make/build-staticglgen.xml b/make/build-staticglgen.xml index 9ef1147a3..3d5fb2d12 100644 --- a/make/build-staticglgen.xml +++ b/make/build-staticglgen.xml @@ -17,7 +17,7 @@ --> <target name="declare" description="Declare properties"> <!-- The location of the BuildStaticGLInfo source. --> - <property name="static.gl.src" value="${src.java}/com/sun/gluegen/opengl" /> + <property name="static.gl.src" value="${src.java}/com/jogamp/gluegen/opengl" /> </target> <!-- ================================================================== --> @@ -29,7 +29,8 @@ <mkdir dir="${classes}" /> <!-- Compile BuildStaticGLInfo --> - <javac srcdir="${src.java}" destdir="${classes}" includes="**/BuildStaticGLInfo.java" source="1.4" debug="true" debuglevel="source,lines"> + <javac srcdir="${src.java}" destdir="${classes}" includes="**/BuildStaticGLInfo.java" source="1.4" debug="true" debuglevel="source,lines" + includeAntRuntime="false"> <classpath refid="antlr.classpath" /> </javac> @@ -49,8 +50,9 @@ <!-- Build the BuildStaticGLInfo ANT task. - NOTE: ONLY the StaticGLGen is built at this time. BuildStaticGLInfo - itself is built in a separate task. --> - <javac destdir="${classes}" includes="**/StaticGLGenTask.java" source="1.4" debug="true" debuglevel="source,lines"> - <src path="${src.java}" /> + <javac destdir="${classes}" includes="**/StaticGLGenTask.java" source="1.4" debug="true" debuglevel="source,lines" + includeAntRuntime="false"> + <src path="${src.java}" /> <classpath refid="classpath" /> </javac> @@ -88,4 +90,4 @@ <antcall target="build.static.gl.task" /> </target> -</project>
\ No newline at end of file +</project> diff --git a/make/build.xml b/make/build.xml index 28936ef52..8d2c9765a 100644 --- a/make/build.xml +++ b/make/build.xml @@ -1,33 +1,9 @@ <project name="JOGL_ALL" basedir="." default="all"> - <import file="versions.xml" /> - - <!-- Pull in GlueGen cpptasks build file to pick up os.and.arch --> - <property name="gluegen.root" value="../../gluegen" /> - <import file="${gluegen.root}/make/gluegen-cpptasks.xml" /> - - <target name="init"> - <property name="project.root" value=".." /> - <condition property="rootrel.build" value="build"> - <not> - <isset property="rootrel.build"/> - </not> - </condition> - <property name="build" value="${project.root}/${rootrel.build}" /> - <property name="src" value="${project.root}/src" /> - - <property name="nativewindow.make.dir" value="." /> - <property name="nativewindow.build.xml" value="${nativewindow.make.dir}/build-nativewindow.xml" /> - <property name="jogl.make.dir" value="." /> - <property name="jogl.build.xml" value="${jogl.make.dir}/build-jogl.xml" /> - <property name="newt.make.dir" value="." /> - <property name="newt.build.xml" value="${newt.make.dir}/build-newt.xml" /> - - <property name="all.srcj.path" value="${src}/nativewindow/classes;${src}/jogl/classes;${src}/newt/classes" /> - <!-- No generated classes for Newt at the present time --> - <property name="all.genj.path" value="${build}/nativewindow/gensrc/classes;${build}/jogl/gensrc/classes" /> + <import file="build-common.xml"/> + <target name="init" depends="common.init"> <!-- The javadoc dirs. --> <property name="javadoc" value="${project.root}/javadoc_public" /> <property name="javadoc.link" value="http://java.sun.com/j2se/1.4.2/docs/api/" /> @@ -43,47 +19,33 @@ <property name="javadoc.spec.packagenames" value="javax.media.opengl.*" /> <property name="javadoc.windowtitle" value="JOGL, NativeWindow and NEWT APIs" /> - <property name="javadoc.packagenames" value="${javadoc.nw.spec.packagenames},${javadoc.spec.packagenames},com.sun.opengl.util.*,com.sun.javafx.newt, com.sun.javafx.newt.opengl" /> + <property name="javadoc.packagenames" value="${javadoc.nw.spec.packagenames},${javadoc.spec.packagenames},com.jogamp.opengl.util.*,com.jogamp.newt, com.jogamp.newt.opengl" /> <property name="javadoc.dev" value="${project.root}/javadoc_dev" /> - <property name="javadoc.dev.packagenames" value="${javadoc.packagenames},com.sun.opengl.impl.*,com.sun.nativewindow.impl.*,com.sun.javafx.newt.*,com.sun.gluegen,com.sun.gluegen.runtime" /> + <property name="javadoc.dev.packagenames" value="${javadoc.packagenames},com.jogamp.opengl.impl.*,com.jogamp.nativewindow.impl.*,com.jogamp.newt.*,com.sun.gluegen,com.jogamp.gluegen.runtime" /> - <property name="java.excludes.javadoc.packagenames" value="com.sun.opengl.impl.gl2.fixme.*,com.sun.javafx.audio.windows.waveout.TestSpatialization"/> + <property name="java.excludes.javadoc.packagenames" value="com.jogamp.opengl.impl.gl2.fixme.*,com.jogamp.audio.windows.waveout.TestSpatialization"/> <property name="javadoc.bottom" value="Copyright 2005 Sun Microsystems, Inc. All rights reserved. Use is subject to <a href="http://jcp.org/en/jsr/detail?id=231">license terms</a>." /> - <property name="gluegen.jar" value="../../gluegen/${rootrel.build}/gluegen.jar" /> - <property name="gluegen-rt.jar" value="../../gluegen/${rootrel.build}/gluegen-rt.jar" /> - <property name="nativewindow.all.jar" value="../${rootrel.build}/nativewindow/nativewindow.all.jar" /> - <property name="jogl.all.jar" value="../${rootrel.build}/jogl/jogl.all.jar" /> - <property name="newt.all.jar" value="../${rootrel.build}/newt/newt.all.jar" /> - - <path id="all.classpath"> - <pathelement location="${nativewindow.all.jar}" /> - <pathelement location="${gluegen-rt.jar}" /> - <pathelement location="${jogl.all.jar}" /> - <pathelement location="${newt.all.jar}" /> - </path> - </target> <target name="build.nativewindow" depends="init"> - <ant antfile="${nativewindow.build.xml}" dir="${nativewindow.make.dir}" target="all" inheritAll="false"/> + <ant antfile="${nativewindow.build.xml}" dir="${nativewindow.make}" target="all" inheritRefs="true" inheritAll="true"/> </target> <target name="build.jogl" depends="init"> - <ant antfile="${jogl.build.xml}" dir="${jogl.make.dir}" target="all" inheritAll="false"/> + <ant antfile="${jogl.build.xml}" dir="${jogl.make}" target="all" inheritRefs="true" inheritAll="true"/> </target> <target name="build.newt" depends="init"> - <ant antfile="${newt.build.xml}" dir="${newt.make.dir}" target="all" inheritAll="false"/> + <ant antfile="${newt.build.xml}" dir="${newt.make}" target="all" inheritRefs="true" inheritAll="true"/> </target> <target name="one-lib-dir" depends="init,gluegen.cpptasks.detect.os"> - <property name="lib.dir" value="${build}/lib" /> - <delete includeEmptyDirs="true" quiet="true" dir="${lib.dir}" failonerror="false" /> - <mkdir dir="${lib.dir}" /> - <copy todir="${lib.dir}"> - <fileset dir="${project.root}/../gluegen/${rootrel.build}/obj" includes="*.${native.library.suffix} *.${native.library.suffix-cdc}" /> + <delete includeEmptyDirs="true" quiet="true" dir="${lib}" failonerror="false" /> + <mkdir dir="${lib}" /> + <copy todir="${lib}"> + <fileset dir="${gluegen.root}/${rootrel.build}/obj" includes="*.${native.library.suffix} *.${native.library.suffix-cdc}" /> <fileset dir="${build}/jogl/obj" includes="*.${native.library.suffix} *.${native.library.suffix-cdc}" /> <fileset dir="${build}/nativewindow/obj" includes="*.${native.library.suffix} *.${native.library.suffix-cdc}" /> <fileset dir="${build}/newt/obj" includes="*.${native.library.suffix} *.${native.library.suffix-cdc}" /> @@ -96,38 +58,25 @@ - This must be called after all of the build targets complete. --> - <target name="setup-version-RI" if="jogl.ri"> - <property name="tmp.version" value="${jogl_base_version}" /> - </target> - - <target name="setup-version-non-RI" unless="jogl.ri"> - <tstamp> - <format property="timestamp" pattern="yyyyMMdd"/> - </tstamp> - <property name="tmp.version" value="${jogl_base_version}-pre-${timestamp}" /> - </target> - - <target name="developer-zip-archive" depends="gluegen.cpptasks.detect.os,setup-version-RI,setup-version-non-RI" unless="build.noarchives"> - <property name="archive.name" value="jogl-${tmp.version}-${os.and.arch}" /> - <property name="archive.dir" value="${build}/${archive.name}" /> - <delete includeEmptyDirs="true" quiet="true" dir="${archive.dir}" failonerror="false" /> - <mkdir dir="${archive.dir}" /> + <target name="developer-zip-archive" depends="init" unless="build.noarchives"> + <delete includeEmptyDirs="true" quiet="true" dir="${archive}" failonerror="false" /> + <mkdir dir="${archive}" /> <!-- Copy the appropriate pieces into the archive directory --> - <copy file="../CHANGELOG.txt" todir="${archive.dir}" /> - <copy file="../COPYRIGHT.txt" todir="${archive.dir}" /> - <copy file="../LICENSE.txt" todir="${archive.dir}" /> - <copy file="../doc/userguide/index.html" tofile="${archive.dir}/Userguide.html" /> + <copy file="../CHANGELOG.txt" todir="${archive}" /> + <copy file="../COPYRIGHT.txt" todir="${archive}" /> + <copy file="../LICENSE.txt" todir="${archive}" /> + <copy file="../doc/userguide/index.html" tofile="${archive}/Userguide.html" /> <copy file="README-zip-bundles.txt" - tofile="${archive.dir}/README.txt" + tofile="${archive}/README.txt" overwrite="true"> <filterset> - <filter token="VERSION" value="${tmp.version}"/> + <filter token="VERSION" value="${jogl.version}"/> </filterset> </copy> - <mkdir dir="${archive.dir}/lib" /> - <copy todir="${archive.dir}/lib"> - <fileset dir="${project.root}/../gluegen/${rootrel.build}" includes="gluegen-rt.jar gluegen-rt-cdc.jar" /> - <fileset dir="${project.root}/../gluegen/${rootrel.build}/obj" includes="*.${native.library.suffix} *.${native.library.suffix-cdc}" /> + <mkdir dir="${archive}/lib" /> + <copy todir="${archive}/lib"> + <fileset dir="${gluegen.root}/${rootrel.build}" includes="gluegen-rt.jar gluegen-rt-cdc.jar" /> + <fileset dir="${gluegen.root}/${rootrel.build}/obj" includes="*.${native.library.suffix} *.${native.library.suffix-cdc}" /> <fileset dir="${build}/jogl" includes="*.jar" excludes="*natives*.jar" /> <fileset dir="${build}/jogl/obj" includes="*.${native.library.suffix} *.${native.library.suffix-cdc}" /> <fileset dir="${build}/nativewindow" includes="*.jar" excludes="*natives*.jar" /> @@ -135,8 +84,8 @@ <fileset dir="${build}/newt" includes="*.jar" excludes="*natives*.jar" /> <fileset dir="${build}/newt/obj" includes="*.${native.library.suffix} *.${native.library.suffix-cdc}" /> </copy> - <mkdir dir="${archive.dir}/etc" /> - <copy todir="${archive.dir}/etc"> + <mkdir dir="${archive}/etc" /> + <copy todir="${archive}/etc"> <fileset dir="${project.root}/etc" includes="*" /> </copy> <delete quiet="true" file="${build}/${archive.name}.zip"/> @@ -144,7 +93,7 @@ basedir="${build}" includes="${archive.name}/**" /> <!-- Clean up after ourselves --> - <delete includeEmptyDirs="true" quiet="true" dir="${archive.dir}" failonerror="false" /> + <delete includeEmptyDirs="true" quiet="true" dir="${archive}" failonerror="false" /> </target> <!-- ================================================================== --> @@ -153,20 +102,20 @@ - This must be called after all of the build targets complete. --> - <target name="source-archive" depends="setup-version-RI,setup-version-non-RI" unless="build.noarchives"> + <target name="source-archive" depends="init" unless="build.noarchives"> <!-- NOTE that if you are using multiple rootrel.build directories within the same repository, the exclude lists here won't work well enough and you will wind up archiving binary bits from other rootrel.build settings in the source archive. This is inevitable given that we don't want to specialize this target to explicitly include top level files and directories, to make it future-proof. --> - <delete quiet="true" file="${build}/jogl-${tmp.version}-src.zip"/> - <zip destfile="${build}/jogl-${tmp.version}-src.zip" + <delete quiet="true" file="${build}/jogl-${jogl.version}-src.zip"/> + <zip destfile="${build}/jogl-${jogl.version}-src.zip" basedir="${project.root}/.." - excludes="gluegen/${rootrel.build}/**,gluegen/build/**gluegen/build-temp/**,jogl/${rootrel.build}/**,jogl/build/**,jogl/build-temp/**,jogl/www/**" - includes="gluegen/**, jogl/**" /> + excludes="${gluegen.root}/${rootrel.build}/**,${gluegen.root}/build/**${gluegen.root}/build-temp/**,jogl/${rootrel.build}/**,jogl/build/**,jogl/build-temp/**,jogl/www/**" + includes="${gluegen.root}/**, jogl/**" /> <!-- Now add in certain portions of the generated source code for developers --> <zip update="true" - destfile="${build}/jogl-${tmp.version}-src.zip" + destfile="${build}/jogl-${jogl.version}-src.zip" basedir="${project.root}/.." includes="jogl/${rootrel.build}/jogl/gensrc/classes/javax/media/opengl/**" /> </target> @@ -176,12 +125,21 @@ - Main build target. --> - <target name="all" description="Build nativewindow, jogl and newt projects" depends="init,build.nativewindow,build.jogl,build.newt,one-lib-dir,developer-zip-archive,source-archive" /> + <target name="all" description="Build nativewindow, jogl and newt projects, incl. all junit tests " depends="init,build.nativewindow,build.jogl,build.newt,junit.compile,one-lib-dir,developer-zip-archive,source-archive" /> + + <target name="junit.compile"> + <ant antfile="build-junit.xml" target="junit.compile" inheritRefs="true" inheritAll="true"/> + </target> + + <target name="test" depends="junit.run"/> + <target name="junit.run" description="Run JUNIT tests in nativewindow, jogl and newt projects"> + <ant antfile="build-junit.xml" target="junit.run" inheritRefs="true" inheritAll="true"/> + </target> <target name="clean" depends="init"> - <ant antfile="${nativewindow.build.xml}" dir="${nativewindow.make.dir}" target="clean" inheritAll="false"/> - <ant antfile="${jogl.build.xml}" dir="${jogl.make.dir}" target="clean" inheritAll="false"/> - <ant antfile="${newt.build.xml}" dir="${newt.make.dir}" target="clean" inheritAll="false"/> + <ant antfile="${nativewindow.build.xml}" dir="${nativewindow.make}" target="clean" inheritRefs="true" inheritAll="true"/> + <ant antfile="${jogl.build.xml}" dir="${jogl.make}" target="clean" inheritRefs="true" inheritAll="true"/> + <ant antfile="${newt.build.xml}" dir="${newt.make}" target="clean" inheritRefs="true" inheritAll="true"/> <delete includeEmptyDirs="true" quiet="true"> <fileset dir="${build}" /> </delete> @@ -196,10 +154,11 @@ overview="${javadoc.overview}" source="1.4" maxmemory="512m" - bottom="${javadoc.bottom}" > - <classpath refid="all.classpath"/> - <link offline="true" href="${javadoc.link}" packagelistLoc="142-packages" /> - <taglet name="net.highteq.nativetaglet.NativeTaglet" path="${gluegen.jar}" /> + bottom="${javadoc.bottom}" > + <classpath refid="jogl_newt_all.classpath"/> + <link offline="true" href="${javadoc.link}" packagelistLoc="142-packages" /> + <arg line="-J-Dnativetaglet.mapping=${basedir}/native-taglet.properties"/> + <taglet name="net.highteq.nativetaglet.NativeTaglet" path="${gluegen.jar}" /> </javadoc> </target> @@ -213,10 +172,11 @@ source="1.4" maxmemory="512m" bottom="${javadoc.bottom}" > - <classpath refid="all.classpath"/> - <link offline="true" href="${javadoc.link}" packagelistLoc="142-packages" /> - <link offline="false" href="${javadoc.nw.spec}" /> - <taglet name="net.highteq.nativetaglet.NativeTaglet" path="${gluegen.jar}" /> + <classpath refid="jogl_newt_all.classpath"/> + <link offline="true" href="${javadoc.link}" packagelistLoc="142-packages" /> + <arg line="-J-Dnativetaglet.mapping=${basedir}/native-taglet.properties"/> + <link offline="false" href="${javadoc.nw.spec}" /> + <taglet name="net.highteq.nativetaglet.NativeTaglet" path="${gluegen.jar}" /> </javadoc> </target> @@ -229,10 +189,11 @@ overview="${javadoc.overview}" source="1.4" maxmemory="512m" - bottom="${javadoc.bottom}" > - <classpath refid="all.classpath"/> - <link offline="true" href="${javadoc.link}" packagelistLoc="142-packages" /> - <taglet name="net.highteq.nativetaglet.NativeTaglet" path="${gluegen.jar}" /> + bottom="${javadoc.bottom}" > + <classpath refid="jogl_newt_all.classpath"/> + <link offline="true" href="${javadoc.link}" packagelistLoc="142-packages" /> + <arg line="-J-Dnativetaglet.mapping=${basedir}/native-taglet.properties"/> + <taglet name="net.highteq.nativetaglet.NativeTaglet" path="${gluegen.jar}" /> </javadoc> </target> @@ -246,9 +207,10 @@ source="1.4" maxmemory="512m" bottom="${javadoc.bottom}" > - <classpath refid="all.classpath"/> - <link offline="true" href="${javadoc.link}" packagelistLoc="142-packages" /> - <taglet name="net.highteq.nativetaglet.NativeTaglet" path="${gluegen.jar}" /> + <classpath refid="jogl_newt_all.classpath"/> + <link offline="true" href="${javadoc.link}" packagelistLoc="142-packages" /> + <arg line="-J-Dnativetaglet.mapping=${basedir}/native-taglet.properties"/> + <taglet name="net.highteq.nativetaglet.NativeTaglet" path="${gluegen.jar}" /> </javadoc> </target> diff --git a/make/config/jogl/cg-common-CustomJavaCode.java b/make/config/jogl/cg-common-CustomJavaCode.java index 1f109d9f6..d1e4f8bf5 100755 --- a/make/config/jogl/cg-common-CustomJavaCode.java +++ b/make/config/jogl/cg-common-CustomJavaCode.java @@ -1,5 +1,5 @@ static { - com.sun.opengl.impl.NativeLibLoader.loadCgImpl(); + com.jogamp.opengl.impl.GLJNILibLoader.loadCgImpl(); } /** A convenience method which reads all available data from the InputStream and then calls cgCreateProgram. */ diff --git a/make/config/jogl/cg-common.cfg b/make/config/jogl/cg-common.cfg index 9b8dba079..927d233a8 100644 --- a/make/config/jogl/cg-common.cfg +++ b/make/config/jogl/cg-common.cfg @@ -1,6 +1,6 @@ # This .cfg file provides common options used among all Cg glue code # generated for Jogl on all platforms. -Package com.sun.opengl.cg +Package com.jogamp.opengl.cg JavaClass CgGL Style AllStatic JavaOutputDir gensrc/classes @@ -92,12 +92,8 @@ Ignore cgGetIntStateAssignmentValues Ignore cgGetParameterValues Ignore cgGetProgramOptions -# -# Need to import New IO for Buffer classes -# -Import java.nio.* # And NativeLibLoader for help loading the native libraries -Import com.sun.opengl.impl.* +Import com.jogamp.opengl.impl.* # # NIODirectOnly directives for routines requiring them for semantic reasons diff --git a/make/config/jogl/cgl-macosx.cfg b/make/config/jogl/cgl-macosx.cfg index 54b4be171..f2af29e00 100644 --- a/make/config/jogl/cgl-macosx.cfg +++ b/make/config/jogl/cgl-macosx.cfg @@ -3,7 +3,7 @@ JavaOutputDir gensrc/classes NativeOutputDir gensrc/native/jogl/MacOSX -Package com.sun.opengl.impl.macosx.cgl +Package com.jogamp.opengl.impl.macosx.cgl JavaClass CGL Style allstatic Include gl-common.cfg diff --git a/make/config/jogl/cglext.cfg b/make/config/jogl/cglext.cfg index 3bd027c84..404a852b0 100755 --- a/make/config/jogl/cglext.cfg +++ b/make/config/jogl/cglext.cfg @@ -6,10 +6,10 @@ JavaOutputDir gensrc/classes NativeOutputDir gensrc/native/jogl/MacOSX -Package com.sun.opengl.impl.macosx.cgl +Package com.jogamp.opengl.impl.macosx.cgl Style InterfaceAndImpl JavaClass CGLExt -ImplPackage com.sun.opengl.impl.macosx.cgl +ImplPackage com.jogamp.opengl.impl.macosx.cgl ImplJavaClass CGLExtImpl Include gl-common.cfg Include gl-desktop.cfg diff --git a/make/config/jogl/egl-common.cfg b/make/config/jogl/egl-common.cfg index bcda00b07..fd65d5c10 100644 --- a/make/config/jogl/egl-common.cfg +++ b/make/config/jogl/egl-common.cfg @@ -4,11 +4,10 @@ GLHeader EGL/egl.h GLHeader EGL/eglext.h # Imports needed by all glue code -Import java.nio.* Import java.util.* Import javax.media.opengl.* Import javax.media.opengl.fixedfunc.* -Import com.sun.opengl.impl.* +Import com.jogamp.opengl.impl.* # Treat all of the EGL types as opaque longs # Opaque long EGLConfig diff --git a/make/config/jogl/egl.cfg b/make/config/jogl/egl.cfg index 26979fb6d..74047072b 100755 --- a/make/config/jogl/egl.cfg +++ b/make/config/jogl/egl.cfg @@ -3,7 +3,7 @@ JavaOutputDir gensrc/classes NativeOutputDir gensrc/native/jogl/egl -Package com.sun.opengl.impl.egl +Package com.jogamp.opengl.impl.egl JavaClass EGL Style allstatic # Shouldn't matter which one of these we pick up @@ -43,8 +43,8 @@ CustomJavaCode EGL { CustomJavaCode EGL if (eglGetProcAddressHandle == 0) { CustomJavaCode EGL throw new GLException("Passed null pointer for method \"eglGetProcAddress\""); CustomJavaCode EGL } -CustomJavaCode EGL return dispatch_eglGetProcAddress0(procname, eglGetProcAddressHandle); +CustomJavaCode EGL return dispatch_eglGetProcAddress1(procname, eglGetProcAddressHandle); CustomJavaCode EGL } -Import com.sun.gluegen.runtime.opengl.GLProcAddressHelper +Import com.jogamp.gluegen.runtime.opengl.GLProcAddressHelper diff --git a/make/config/jogl/eglext.cfg b/make/config/jogl/eglext.cfg index fedff35e9..40239371d 100755 --- a/make/config/jogl/eglext.cfg +++ b/make/config/jogl/eglext.cfg @@ -3,15 +3,15 @@ JavaOutputDir gensrc/classes NativeOutputDir gensrc/native/jogl/egl -Package com.sun.opengl.impl.egl +Package com.jogamp.opengl.impl.egl Style InterfaceAndImpl JavaClass EGLExt -ImplPackage com.sun.opengl.impl.egl +ImplPackage com.jogamp.opengl.impl.egl ImplJavaClass EGLExtImpl # Shouldn't matter which one of these we pick up Include egl-common.cfg -ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/sun/opengl/impl/egl/EGL.java +ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/impl/egl/EGL.java HierarchicalNativeOutput false diff --git a/make/config/jogl/gl-common.cfg b/make/config/jogl/gl-common.cfg index d9d66323a..8d726c4bf 100644 --- a/make/config/jogl/gl-common.cfg +++ b/make/config/jogl/gl-common.cfg @@ -8,11 +8,10 @@ RuntimeExceptionType GLException UnsupportedExceptionType GLException # Imports needed by all glue code -Import java.nio.* Import java.util.* Import javax.media.opengl.* Import javax.media.opengl.fixedfunc.* -Import com.sun.opengl.impl.* +Import com.jogamp.opengl.impl.* ##################################################################### # Mostly desktop OpenGL stuff below @@ -389,8 +388,12 @@ ArgumentIsString glTransformFeedbackVaryings 2 # Use cached GL_EXTENSION if possible, # which also allows GL3 compatibility. # -JavaPrologue glGetString if(GL.GL_EXTENSIONS==name && _context.isExtensionCacheInitialized()) { -JavaPrologue glGetString return _context.getGLExtensions(); +JavaPrologue glGetString if(_context.isExtensionCacheInitialized()) { +JavaPrologue glGetString if(GL.GL_EXTENSIONS==name) { +JavaPrologue glGetString return _context.getGLExtensions(); +JavaPrologue glGetString } /* else if(GL.GL_VERSION==name) { +JavaPrologue glGetString return _context.getGLVersion(); +JavaPrologue glGetString } */ JavaPrologue glGetString } # diff --git a/make/config/jogl/gl-desktop.cfg b/make/config/jogl/gl-desktop.cfg index 7e500a4f0..f35ed254b 100755 --- a/make/config/jogl/gl-desktop.cfg +++ b/make/config/jogl/gl-desktop.cfg @@ -65,6 +65,6 @@ TemporaryCVariableDeclaration glXChooseFBConfigSGIX int count; TemporaryCVariableAssignment glXChooseFBConfigSGIX count = _ptr3[0]; ReturnValueCapacity glXChooseFBConfigSGIX count * sizeof(GLXFBConfig) TemporaryCVariableDeclaration glXGetFBConfigs int count; -TemporaryCVariableAssignment glXGetFBConfigs count = _ptr2[0]; +TemporaryCVariableAssignment glXGetFBConfigs count = _nelements_ptr[0]; ReturnValueCapacity glXGetFBConfigs count * sizeof(GLXFBConfig) diff --git a/make/config/jogl/gl-es1.cfg b/make/config/jogl/gl-es1.cfg index 867ef8a83..da2267186 100755 --- a/make/config/jogl/gl-es1.cfg +++ b/make/config/jogl/gl-es1.cfg @@ -17,7 +17,7 @@ JavaClass GLES1 Extends GLES1 GLBase Extends GLES1 GL Extends GLES1 GL2ES1 -ImplPackage com.sun.opengl.impl.es1 +ImplPackage com.jogamp.opengl.impl.es1 ImplJavaClass GLES1Impl Implements GLES1Impl GLBase Implements GLES1Impl GL @@ -97,4 +97,4 @@ IncludeAs CustomCCode gl-impl-CustomCCode-gles1.c Import javax.media.opengl.GLES1 Import javax.media.opengl.GLES2 Import javax.media.opengl.GL2 -Import com.sun.opengl.impl.InternalBufferUtil +Import com.jogamp.opengl.impl.InternalBufferUtil diff --git a/make/config/jogl/gl-es2.cfg b/make/config/jogl/gl-es2.cfg index f78001dee..fd11ffcf0 100755 --- a/make/config/jogl/gl-es2.cfg +++ b/make/config/jogl/gl-es2.cfg @@ -12,7 +12,7 @@ JavaClass GLES2 Extends GLES2 GLBase Extends GLES2 GL Extends GLES2 GL2ES2 -ImplPackage com.sun.opengl.impl.es2 +ImplPackage com.jogamp.opengl.impl.es2 ImplJavaClass GLES2Impl Implements GLES2Impl GLBase Implements GLES2Impl GL @@ -79,6 +79,6 @@ Import javax.media.opengl.GLES2 Import javax.media.opengl.GL2 Import javax.media.opengl.GLArrayData Import javax.media.opengl.GLUniformData -Import com.sun.opengl.impl.InternalBufferUtil +Import com.jogamp.opengl.impl.InternalBufferUtil Import java.io.PrintStream diff --git a/make/config/jogl/gl-gl2.cfg b/make/config/jogl/gl-gl2.cfg index 820243ff5..48dd8eda6 100644 --- a/make/config/jogl/gl-gl2.cfg +++ b/make/config/jogl/gl-gl2.cfg @@ -12,72 +12,32 @@ ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/fixedfunc/ ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/fixedfunc/GLLightingFunc.java Package javax.media.opengl -Style InterfaceAndImpl +Style InterfaceOnly JavaClass GL2 Extends GL2 GLBase Extends GL2 GL Extends GL2 GL2ES1 Extends GL2 GL2ES2 Extends GL2 GL2GL3 -ImplPackage com.sun.opengl.impl.gl2 -ImplJavaClass GL2Impl -Implements GL2Impl GLBase -Implements GL2Impl GL -Implements GL2Impl GL2ES1 -Implements GL2Impl GL2ES2 -Implements GL2Impl GL2GL3 Include gl-common.cfg Include gl-common-extensions.cfg Include gl-desktop.cfg -EmitProcAddressTable true -ProcAddressTableClassName GL2ProcAddressTable -GetProcAddressTableExpr ((GL2ProcAddressTable)_context.getGLProcAddressTable()) - # Pick up on-line OpenGL javadoc thanks to user cylab on javagaming.org forums TagNativeBinding true # Ignore extensions that are already picked up via the GL2ES1 interface IgnoreExtension GL_EXT_point_parameters -# Add PixelStorei StateTracker -# -CustomJavaCode GL2Impl private static final int params_offset = 0; // just a helper for JavaPrologue .. - -JavaPrologue glPixelStorei glStateTracker.setInt(pname, param); - -JavaPrologue glGetIntegerv if ( glStateTracker.getInt(pname, params, params_offset) ) { return; } - CustomJavaCode GL2 public boolean glIsPBOPackEnabled(); CustomJavaCode GL2 public boolean glIsPBOUnpackEnabled(); IncludeAs CustomJavaCode GL2 gl-if-CustomJavaCode-gl2.java -CustomJavaCode GL2Impl public void glFrustumf(float left, float right, float bottom, float top, float zNear, float zFar) { -CustomJavaCode GL2Impl glFrustum((double)left, (double)right, (double)bottom, (double)top, (double)zNear, (double)zFar); } - -CustomJavaCode GL2Impl public void glOrthof(float left, float right, float bottom, float top, float zNear, float zFar) { -CustomJavaCode GL2Impl glOrtho((double)left, (double)right, (double)bottom, (double)top, (double)zNear, (double)zFar); } - -CustomJavaCode GL2Impl public void glClearDepthf(float depth) { -CustomJavaCode GL2Impl glClearDepth((double)depth); } - -CustomJavaCode GL2Impl public void glDepthRangef(float zNear, float zFar) { -CustomJavaCode GL2Impl glDepthRange((double)zNear, (double)zFar); } - Include gl-headers.cfg Include ../intptr.cfg -IncludeAs CustomJavaCode GL2Impl gl-impl-CustomJavaCode-common.java -IncludeAs CustomJavaCode GL2Impl gl-impl-CustomJavaCode-gl2.java -IncludeAs CustomJavaCode GL2Impl gl-impl-CustomJavaCode-desktop.java -IncludeAs CustomJavaCode GL2Impl gl-impl-CustomJavaCode-gl2_es2.java -IncludeAs CustomCCode gl-impl-CustomCCode-gl2.c +EmitProcAddressTable false +ProcAddressTableClassName DontGenerateProcAddressTableStuff +GetProcAddressTableExpr DontGenerateProcAddressTableStuff -Import javax.media.opengl.GLES1 -Import javax.media.opengl.GLES2 -Import javax.media.opengl.GL2 -Import javax.media.opengl.GLArrayData -Import javax.media.opengl.GLUniformData -Import com.sun.opengl.impl.InternalBufferUtil -Import java.io.PrintStream diff --git a/make/config/jogl/gl-gl2es12.cfg b/make/config/jogl/gl-gl2es12.cfg index 232116a61..3942b1419 100644 --- a/make/config/jogl/gl-gl2es12.cfg +++ b/make/config/jogl/gl-gl2es12.cfg @@ -11,7 +11,7 @@ ExtendedInterfaceSymbolsOnly ../src/jogl/classes/javax/media/opengl/fixedfunc/GL ExtendedInterfaceSymbolsOnly ../src/jogl/classes/javax/media/opengl/fixedfunc/GLLightingFunc.java Style ImplOnly -ImplPackage com.sun.opengl.impl.gl2es12 +ImplPackage com.jogamp.opengl.impl.gl2es12 ImplJavaClass GL2ES12Impl Implements GL2ES12Impl GLBase Implements GL2ES12Impl GL @@ -86,5 +86,5 @@ IncludeAs CustomCCode gl-impl-CustomCCode-gl2es12.c Import javax.media.opengl.GLES1 Import javax.media.opengl.GLES2 -Import com.sun.opengl.impl.InternalBufferUtil +Import com.jogamp.opengl.impl.InternalBufferUtil Import java.io.PrintStream diff --git a/make/config/jogl/gl-gl3.cfg b/make/config/jogl/gl-gl3.cfg index 9f0ea05a8..d5e0003d4 100644 --- a/make/config/jogl/gl-gl3.cfg +++ b/make/config/jogl/gl-gl3.cfg @@ -8,13 +8,13 @@ ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/G ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/GLBase.java Package javax.media.opengl -Style InterfaceAndImpl +Style InterfaceOnly JavaClass GL3 Extends GL3 GLBase Extends GL3 GL Extends GL3 GL2ES2 Extends GL3 GL2GL3 -ImplPackage com.sun.opengl.impl.gl3 +ImplPackage com.jogamp.opengl.impl.gl3 ImplJavaClass GL3Impl Implements GL3Impl GLBase Implements GL3Impl GL @@ -27,48 +27,15 @@ Include gl3-desktop.cfg IncludeAs CustomJavaCode GL3 gl-if-CustomJavaCode-gl3.java -EmitProcAddressTable true -ProcAddressTableClassName GL3ProcAddressTable -GetProcAddressTableExpr ((GL3ProcAddressTable)_context.getGLProcAddressTable()) - -# Force all of the methods to be emitted using dynamic linking so we -# don't need to link against any emulation library on the desktop or -# depend on the presence of an import library for a particular device -ForceProcAddressGen __ALL__ - -# Also force the calling conventions of the locally generated function -# pointer typedefs for these routines to APIENTRY -LocalProcAddressCallingConvention __ALL__ APIENTRY +EmitProcAddressTable false # Pick up on-line OpenGL javadoc thanks to user cylab on javagaming.org forums TagNativeBinding true -# Add PixelStorei StateTracker -# -CustomJavaCode GL3Impl private static final int params_offset = 0; // just a helper for JavaPrologue .. - -JavaPrologue glPixelStorei glStateTracker.setInt(pname, param); - -JavaPrologue glGetIntegerv if ( glStateTracker.getInt(pname, params, params_offset) ) { return; } - -CustomJavaCode GL3Impl public void glClearDepthf(float depth) { -CustomJavaCode GL3Impl glClearDepth((double)depth); } - -CustomJavaCode GL3Impl public void glDepthRangef(float zNear, float zFar) { -CustomJavaCode GL3Impl glDepthRange((double)zNear, (double)zFar); } - Include gl3-headers.cfg Include ../intptr.cfg -IncludeAs CustomJavaCode GL3Impl gl-impl-CustomJavaCode-common.java -IncludeAs CustomJavaCode GL3Impl gl-impl-CustomJavaCode-gl3.java -IncludeAs CustomJavaCode GL3Impl gl-impl-CustomJavaCode-desktop.java -IncludeAs CustomJavaCode GL3Impl gl-impl-CustomJavaCode-gl2_es2.java -IncludeAs CustomCCode gl-impl-CustomCCode-gl3.c +EmitProcAddressTable false +ProcAddressTableClassName DontGenerateProcAddressTableStuff +GetProcAddressTableExpr DontGenerateProcAddressTableStuff -Import javax.media.opengl.GLES2 -Import javax.media.opengl.GL3 -Import javax.media.opengl.GLArrayData -Import javax.media.opengl.GLUniformData -Import com.sun.opengl.impl.InternalBufferUtil -Import java.io.PrintStream diff --git a/make/config/jogl/gl-gl3bc.cfg b/make/config/jogl/gl-gl3bc.cfg index d2525735e..7c53ea8d6 100644 --- a/make/config/jogl/gl-gl3bc.cfg +++ b/make/config/jogl/gl-gl3bc.cfg @@ -14,7 +14,7 @@ ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/fixedfunc/ ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/fixedfunc/GLLightingFunc.java Package javax.media.opengl -Style InterfaceAndImpl +Style InterfaceOnly JavaClass GL3bc Extends GL3bc GLBase Extends GL3bc GL @@ -23,15 +23,6 @@ Extends GL3bc GL2ES2 Extends GL3bc GL2GL3 Extends GL3bc GL2 Extends GL3bc GL3 -ImplPackage com.sun.opengl.impl.gl3 -ImplJavaClass GL3bcImpl -Implements GL3bcImpl GLBase -Implements GL3bcImpl GL -Implements GL3bcImpl GL2ES1 -Implements GL3bcImpl GL2ES2 -Implements GL3bcImpl GL2GL3 -Implements GL3bcImpl GL2 -Implements GL3bcImpl GL3 Include gl-common.cfg Include gl-common-extensions.cfg @@ -39,63 +30,17 @@ Include gl-desktop.cfg Include gl3-common.cfg Include gl3-desktop.cfg -# Because we're manually implementing glMapBuffer but only producing -# the implementing class, GlueGen doesn't notice that it has to emit a -# proc address table entry for it. Force it to here. -ForceProcAddressGen glMapBuffer - -# Force all of the methods to be emitted using dynamic linking so we -# don't need to link against any emulation library on the desktop or -# depend on the presence of an import library for a particular device -ForceProcAddressGen __ALL__ - -# Also force the calling conventions of the locally generated function -# pointer typedefs for these routines to APIENTRY -LocalProcAddressCallingConvention __ALL__ APIENTRY - -EmitProcAddressTable true -ProcAddressTableClassName GL3bcProcAddressTable -GetProcAddressTableExpr ((GL3bcProcAddressTable)_context.getGLProcAddressTable()) - # Pick up on-line OpenGL javadoc thanks to user cylab on javagaming.org forums TagNativeBinding true # Ignore extensions that are already picked up via the GL2ES1 interface IgnoreExtension GL_EXT_point_parameters -# Add PixelStorei StateTracker -CustomJavaCode GL3bcImpl private static final int params_offset = 0; // just a helper for JavaPrologue .. - -JavaPrologue glPixelStorei glStateTracker.setInt(pname, param); - -JavaPrologue glGetIntegerv if ( glStateTracker.getInt(pname, params, params_offset) ) { return; } - -CustomJavaCode GL3bcImpl public void glFrustumf(float left, float right, float bottom, float top, float zNear, float zFar) { -CustomJavaCode GL3bcImpl glFrustum((double)left, (double)right, (double)bottom, (double)top, (double)zNear, (double)zFar); } - -CustomJavaCode GL3bcImpl public void glOrthof(float left, float right, float bottom, float top, float zNear, float zFar) { -CustomJavaCode GL3bcImpl glOrtho((double)left, (double)right, (double)bottom, (double)top, (double)zNear, (double)zFar); } - -CustomJavaCode GL3bcImpl public void glClearDepthf(float depth) { -CustomJavaCode GL3bcImpl glClearDepth((double)depth); } - -CustomJavaCode GL3bcImpl public void glDepthRangef(float zNear, float zFar) { -CustomJavaCode GL3bcImpl glDepthRange((double)zNear, (double)zFar); } - Include gl-headers.cfg +Include gl3ext-headers.cfg Include ../intptr.cfg -IncludeAs CustomJavaCode GL3bcImpl gl-impl-CustomJavaCode-common.java -IncludeAs CustomJavaCode GL3bcImpl gl-impl-CustomJavaCode-gl3bc.java -IncludeAs CustomJavaCode GL3bcImpl gl-impl-CustomJavaCode-desktop.java -IncludeAs CustomJavaCode GL3bcImpl gl-impl-CustomJavaCode-gl2_es2.java -IncludeAs CustomCCode gl-impl-CustomCCode-gl3bc.c +EmitProcAddressTable false +ProcAddressTableClassName DontGenerateProcAddressTableStuff +GetProcAddressTableExpr DontGenerateProcAddressTableStuff -Import javax.media.opengl.GLES1 -Import javax.media.opengl.GLES2 -Import javax.media.opengl.GL2GL3 -Import javax.media.opengl.GL2 -Import javax.media.opengl.GL3 -Import javax.media.opengl.GL3bc -Import com.sun.opengl.impl.InternalBufferUtil -Import java.io.PrintStream diff --git a/make/config/jogl/gl-gl4.cfg b/make/config/jogl/gl-gl4.cfg new file mode 100644 index 000000000..1d4392899 --- /dev/null +++ b/make/config/jogl/gl-gl4.cfg @@ -0,0 +1,37 @@ +# This .cfg file is used to generate the GL interface and implementing class. +JavaOutputDir gensrc/classes +NativeOutputDir gensrc/native/jogl/gl4 + +ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL.java +ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL2ES2.java +ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL2GL3.java +ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL3.java +ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/GLBase.java + +Package javax.media.opengl +Style InterfaceOnly +JavaClass GL4 +Extends GL4 GLBase +Extends GL4 GL +Extends GL4 GL2ES2 +Extends GL4 GL2GL3 +Extends GL4 GL3 +Include gl-common.cfg +Include gl-common-extensions.cfg +Include gl3-common.cfg +Include gl4-common.cfg +Include gl3-desktop.cfg + +IncludeAs CustomJavaCode GL4 gl-if-CustomJavaCode-gl3.java + +EmitProcAddressTable false +ProcAddressTableClassName DontGenerateProcAddressTableStuff +GetProcAddressTableExpr DontGenerateProcAddressTableStuff + + +# Pick up on-line OpenGL javadoc thanks to user cylab on javagaming.org forums +TagNativeBinding true + +Include gl3-headers.cfg +Include ../intptr.cfg + diff --git a/make/config/jogl/gl-gl4bc.cfg b/make/config/jogl/gl-gl4bc.cfg new file mode 100644 index 000000000..3a3e02041 --- /dev/null +++ b/make/config/jogl/gl-gl4bc.cfg @@ -0,0 +1,110 @@ +# This .cfg file is used to generate the GL interface and implementing class. +JavaOutputDir gensrc/classes +NativeOutputDir gensrc/native/jogl/gl4 + +ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL.java +ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL2ES1.java +ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL2ES2.java +ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL2GL3.java +ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL2.java +ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL3.java +ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL4.java +ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL3bc.java +ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/GLBase.java +ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/fixedfunc/GLMatrixFunc.java +ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/fixedfunc/GLPointerFunc.java +ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/fixedfunc/GLLightingFunc.java + +Package javax.media.opengl +Style InterfaceAndImpl +JavaClass GL4bc +Extends GL4bc GLBase +Extends GL4bc GL +Extends GL4bc GL2ES1 +Extends GL4bc GL2ES2 +Extends GL4bc GL2GL3 +Extends GL4bc GL2 +Extends GL4bc GL3 +Extends GL4bc GL3bc +Extends GL4bc GL4 +ImplPackage com.jogamp.opengl.impl.gl4 +ImplJavaClass GL4bcImpl +Implements GL4bcImpl GLBase +Implements GL4bcImpl GL +Implements GL4bcImpl GL2ES1 +Implements GL4bcImpl GL2ES2 +Implements GL4bcImpl GL2GL3 +Implements GL4bcImpl GL2 +Implements GL4bcImpl GL3 +Implements GL4bcImpl GL3bc +Implements GL4bcImpl GL4 + +Include gl-common.cfg +Include gl-common-extensions.cfg +Include gl-desktop.cfg +Include gl3-common.cfg +Include gl4-common.cfg +Include gl3-desktop.cfg + +# Because we're manually implementing glMapBuffer but only producing +# the implementing class, GlueGen doesn't notice that it has to emit a +# proc address table entry for it. Force it to here. +ForceProcAddressGen glMapBuffer + +# Force all of the methods to be emitted using dynamic linking so we +# don't need to link against any emulation library on the desktop or +# depend on the presence of an import library for a particular device +ForceProcAddressGen __ALL__ + +# Also force the calling conventions of the locally generated function +# pointer typedefs for these routines to APIENTRY +LocalProcAddressCallingConvention __ALL__ APIENTRY + +EmitProcAddressTable true +ProcAddressTableClassName GL4bcProcAddressTable +GetProcAddressTableExpr ((GL4bcProcAddressTable)_context.getGLProcAddressTable()) + +# Pick up on-line OpenGL javadoc thanks to user cylab on javagaming.org forums +TagNativeBinding true + +# Ignore extensions that are already picked up via the GL2ES1 interface +IgnoreExtension GL_EXT_point_parameters + +# Add PixelStorei StateTracker +CustomJavaCode GL4bcImpl private static final int params_offset = 0; // just a helper for JavaPrologue .. + +JavaPrologue glPixelStorei glStateTracker.setInt(pname, param); + +JavaPrologue glGetIntegerv if ( glStateTracker.getInt(pname, params, params_offset) ) { return; } + +CustomJavaCode GL4bcImpl public void glFrustumf(float left, float right, float bottom, float top, float zNear, float zFar) { +CustomJavaCode GL4bcImpl glFrustum((double)left, (double)right, (double)bottom, (double)top, (double)zNear, (double)zFar); } + +CustomJavaCode GL4bcImpl public void glOrthof(float left, float right, float bottom, float top, float zNear, float zFar) { +CustomJavaCode GL4bcImpl glOrtho((double)left, (double)right, (double)bottom, (double)top, (double)zNear, (double)zFar); } + +CustomJavaCode GL4bcImpl public void glClearDepthf(float depth) { +CustomJavaCode GL4bcImpl glClearDepth((double)depth); } + +CustomJavaCode GL4bcImpl public void glDepthRangef(float zNear, float zFar) { +CustomJavaCode GL4bcImpl glDepthRange((double)zNear, (double)zFar); } + +Include gl-headers.cfg +Include gl3ext-headers.cfg +Include ../intptr.cfg + +IncludeAs CustomJavaCode GL4bcImpl gl-impl-CustomJavaCode-common.java +IncludeAs CustomJavaCode GL4bcImpl gl-impl-CustomJavaCode-gl4bc.java +IncludeAs CustomJavaCode GL4bcImpl gl-impl-CustomJavaCode-desktop.java +IncludeAs CustomJavaCode GL4bcImpl gl-impl-CustomJavaCode-gl2_es2.java +IncludeAs CustomCCode gl-impl-CustomCCode-gl4bc.c + +Import javax.media.opengl.GLES1 +Import javax.media.opengl.GLES2 +Import javax.media.opengl.GL2GL3 +Import javax.media.opengl.GL2 +Import javax.media.opengl.GL3 +Import javax.media.opengl.GL3bc +Import javax.media.opengl.GL4 +Import com.jogamp.opengl.impl.InternalBufferUtil +Import java.io.PrintStream diff --git a/make/config/jogl/gl-impl-CustomCCode-gl2es12.c b/make/config/jogl/gl-impl-CustomCCode-gl2es12.c index e2d5cb58d..07b821802 100644 --- a/make/config/jogl/gl-impl-CustomCCode-gl2es12.c +++ b/make/config/jogl/gl-impl-CustomCCode-gl2es12.c @@ -1,10 +1,10 @@ /* Java->C glue code: - * Java package: com.sun.opengl.impl.gl2es12.GL2ES12Impl + * Java package: com.jogamp.opengl.impl.gl2es12.GL2ES12Impl * Java method: long dispatch_glMapBuffer(int target, int access) * C function: void * glMapBuffer(GLenum target, GLenum access); */ JNIEXPORT jlong JNICALL -Java_com_sun_opengl_impl_gl2es12_GL2ES12Impl_dispatch_1glMapBuffer(JNIEnv *env, jobject _unused, jint target, jint access, jlong glProcAddress) { +Java_com_jogamp_opengl_impl_gl2es12_GL2ES12Impl_dispatch_1glMapBuffer(JNIEnv *env, jobject _unused, jint target, jint access, jlong glProcAddress) { PFNGLMAPBUFFERPROC ptr_glMapBuffer; void * _res; ptr_glMapBuffer = (PFNGLMAPBUFFERPROC) (intptr_t) glProcAddress; @@ -14,11 +14,11 @@ Java_com_sun_opengl_impl_gl2es12_GL2ES12Impl_dispatch_1glMapBuffer(JNIEnv *env, } /* Java->C glue code: - * Java package: com.sun.opengl.impl.gl2es12.GL2ES12Impl + * Java package: com.jogamp.opengl.impl.gl2es12.GL2ES12Impl * Java method: ByteBuffer newDirectByteBuffer(long addr, int capacity); * C function: jobject newDirectByteBuffer(jlong addr, jint capacity); */ JNIEXPORT jobject JNICALL -Java_com_sun_opengl_impl_gl2es12_GL2ES12Impl_newDirectByteBuffer(JNIEnv *env, jobject _unused, jlong addr, jint capacity) { +Java_com_jogamp_opengl_impl_gl2es12_GL2ES12Impl_newDirectByteBuffer(JNIEnv *env, jobject _unused, jlong addr, jint capacity) { return (*env)->NewDirectByteBuffer(env, (void*) (intptr_t) addr, capacity); } diff --git a/make/config/jogl/gl-impl-CustomCCode-gl3.c b/make/config/jogl/gl-impl-CustomCCode-gl3.c deleted file mode 100644 index a5f78a460..000000000 --- a/make/config/jogl/gl-impl-CustomCCode-gl3.c +++ /dev/null @@ -1,24 +0,0 @@ -/* Java->C glue code: - * Java package: com.sun.opengl.impl.gl3.GL3Impl - * Java method: long dispatch_glMapBuffer(int target, int access) - * C function: void * glMapBuffer(GLenum target, GLenum access); - */ -JNIEXPORT jlong JNICALL -Java_com_sun_opengl_impl_gl3_GL3Impl_dispatch_1glMapBuffer(JNIEnv *env, jobject _unused, jint target, jint access, jlong glProcAddress) { - PFNGLMAPBUFFERPROC ptr_glMapBuffer; - void * _res; - ptr_glMapBuffer = (PFNGLMAPBUFFERPROC) (intptr_t) glProcAddress; - assert(ptr_glMapBuffer != NULL); - _res = (* ptr_glMapBuffer) ((GLenum) target, (GLenum) access); - return (jlong) (intptr_t) _res; -} - -/* Java->C glue code: - * Java package: com.sun.opengl.impl.gl3.GL3Impl - * Java method: ByteBuffer newDirectByteBuffer(long addr, int capacity); - * C function: jobject newDirectByteBuffer(jlong addr, jint capacity); - */ -JNIEXPORT jobject JNICALL -Java_com_sun_opengl_impl_gl3_GL3Impl_newDirectByteBuffer(JNIEnv *env, jobject _unused, jlong addr, jint capacity) { - return (*env)->NewDirectByteBuffer(env, (void*) (intptr_t) addr, capacity); -} diff --git a/make/config/jogl/gl-impl-CustomCCode-gl3bc.c b/make/config/jogl/gl-impl-CustomCCode-gl3bc.c deleted file mode 100644 index a69204198..000000000 --- a/make/config/jogl/gl-impl-CustomCCode-gl3bc.c +++ /dev/null @@ -1,24 +0,0 @@ -/* Java->C glue code: - * Java package: com.sun.opengl.impl.gl3.GL3bcImpl - * Java method: long dispatch_glMapBuffer(int target, int access) - * C function: void * glMapBuffer(GLenum target, GLenum access); - */ -JNIEXPORT jlong JNICALL -Java_com_sun_opengl_impl_gl3_GL3bcImpl_dispatch_1glMapBuffer(JNIEnv *env, jobject _unused, jint target, jint access, jlong glProcAddress) { - PFNGLMAPBUFFERPROC ptr_glMapBuffer; - void * _res; - ptr_glMapBuffer = (PFNGLMAPBUFFERPROC) (intptr_t) glProcAddress; - assert(ptr_glMapBuffer != NULL); - _res = (* ptr_glMapBuffer) ((GLenum) target, (GLenum) access); - return (jlong) (intptr_t) _res; -} - -/* Java->C glue code: - * Java package: com.sun.opengl.impl.gl3.GL3bcImpl - * Java method: ByteBuffer newDirectByteBuffer(long addr, int capacity); - * C function: jobject newDirectByteBuffer(jlong addr, jint capacity); - */ -JNIEXPORT jobject JNICALL -Java_com_sun_opengl_impl_gl3_GL3bcImpl_newDirectByteBuffer(JNIEnv *env, jobject _unused, jlong addr, jint capacity) { - return (*env)->NewDirectByteBuffer(env, (void*) (intptr_t) addr, capacity); -} diff --git a/make/config/jogl/gl-impl-CustomCCode-gl2.c b/make/config/jogl/gl-impl-CustomCCode-gl4bc.c index f97b8eaff..bcda20fa4 100644 --- a/make/config/jogl/gl-impl-CustomCCode-gl2.c +++ b/make/config/jogl/gl-impl-CustomCCode-gl4bc.c @@ -1,10 +1,10 @@ /* Java->C glue code: - * Java package: com.sun.opengl.impl.gl2.GL2Impl + * Java package: com.jogamp.opengl.impl.gl4.GL4bcImpl * Java method: long dispatch_glMapBuffer(int target, int access) * C function: void * glMapBuffer(GLenum target, GLenum access); */ JNIEXPORT jlong JNICALL -Java_com_sun_opengl_impl_gl2_GL2Impl_dispatch_1glMapBuffer(JNIEnv *env, jobject _unused, jint target, jint access, jlong glProcAddress) { +Java_com_jogamp_opengl_impl_gl4_GL4bcImpl_dispatch_1glMapBuffer(JNIEnv *env, jobject _unused, jint target, jint access, jlong glProcAddress) { PFNGLMAPBUFFERPROC ptr_glMapBuffer; void * _res; ptr_glMapBuffer = (PFNGLMAPBUFFERPROC) (intptr_t) glProcAddress; @@ -14,11 +14,11 @@ Java_com_sun_opengl_impl_gl2_GL2Impl_dispatch_1glMapBuffer(JNIEnv *env, jobject } /* Java->C glue code: - * Java package: com.sun.opengl.impl.gl2.GL2Impl + * Java package: com.jogamp.opengl.impl.gl4.GL4bcImpl * Java method: ByteBuffer newDirectByteBuffer(long addr, int capacity); * C function: jobject newDirectByteBuffer(jlong addr, jint capacity); */ JNIEXPORT jobject JNICALL -Java_com_sun_opengl_impl_gl2_GL2Impl_newDirectByteBuffer(JNIEnv *env, jobject _unused, jlong addr, jint capacity) { +Java_com_jogamp_opengl_impl_gl4_GL4bcImpl_newDirectByteBuffer(JNIEnv *env, jobject _unused, jlong addr, jint capacity) { return (*env)->NewDirectByteBuffer(env, (void*) (intptr_t) addr, capacity); } diff --git a/make/config/jogl/gl-impl-CustomCCode-gles1.c b/make/config/jogl/gl-impl-CustomCCode-gles1.c index efc614e64..a71ca4aae 100644 --- a/make/config/jogl/gl-impl-CustomCCode-gles1.c +++ b/make/config/jogl/gl-impl-CustomCCode-gles1.c @@ -1,11 +1,11 @@ typedef GLvoid* (GL_APIENTRY* PFNGLMAPBUFFERPROC) (GLenum target, GLenum access); /* Java->C glue code: - * Java package: com.sun.opengl.impl.es1.GLES1Impl + * Java package: com.jogamp.opengl.impl.es1.GLES1Impl * Java method: long dispatch_glMapBuffer(int target, int access) * C function: void * glMapBuffer(GLenum target, GLenum access); */ JNIEXPORT jlong JNICALL -Java_com_sun_opengl_impl_es1_GLES1Impl_dispatch_1glMapBuffer(JNIEnv *env, jobject _unused, jint target, jint access, jlong glProcAddress) { +Java_com_jogamp_opengl_impl_es1_GLES1Impl_dispatch_1glMapBuffer(JNIEnv *env, jobject _unused, jint target, jint access, jlong glProcAddress) { PFNGLMAPBUFFERPROC ptr_glMapBuffer; void * _res; ptr_glMapBuffer = (PFNGLMAPBUFFERPROC) (intptr_t) glProcAddress; @@ -15,11 +15,11 @@ Java_com_sun_opengl_impl_es1_GLES1Impl_dispatch_1glMapBuffer(JNIEnv *env, jobjec } /* Java->C glue code: - * Java package: com.sun.opengl.impl.es1.GLES1Impl + * Java package: com.jogamp.opengl.impl.es1.GLES1Impl * Java method: ByteBuffer newDirectByteBuffer(long addr, int capacity); * C function: jobject newDirectByteBuffer(jlong addr, jint capacity); */ JNIEXPORT jobject JNICALL -Java_com_sun_opengl_impl_es1_GLES1Impl_newDirectByteBuffer(JNIEnv *env, jobject _unused, jlong addr, jint capacity) { +Java_com_jogamp_opengl_impl_es1_GLES1Impl_newDirectByteBuffer(JNIEnv *env, jobject _unused, jlong addr, jint capacity) { return (*env)->NewDirectByteBuffer(env, (void*) (intptr_t) addr, capacity); } diff --git a/make/config/jogl/gl-impl-CustomCCode-gles2.c b/make/config/jogl/gl-impl-CustomCCode-gles2.c index 27be04749..f99822d65 100644 --- a/make/config/jogl/gl-impl-CustomCCode-gles2.c +++ b/make/config/jogl/gl-impl-CustomCCode-gles2.c @@ -1,11 +1,11 @@ typedef GLvoid* (GL_APIENTRY* PFNGLMAPBUFFERPROC) (GLenum target, GLenum access); /* Java->C glue code: - * Java package: com.sun.opengl.impl.es2.GLES2Impl + * Java package: com.jogamp.opengl.impl.es2.GLES2Impl * Java method: long dispatch_glMapBuffer(int target, int access) * C function: void * glMapBuffer(GLenum target, GLenum access); */ JNIEXPORT jlong JNICALL -Java_com_sun_opengl_impl_es2_GLES2Impl_dispatch_1glMapBuffer(JNIEnv *env, jobject _unused, jint target, jint access, jlong glProcAddress) { +Java_com_jogamp_opengl_impl_es2_GLES2Impl_dispatch_1glMapBuffer(JNIEnv *env, jobject _unused, jint target, jint access, jlong glProcAddress) { PFNGLMAPBUFFERPROC ptr_glMapBuffer; void * _res; ptr_glMapBuffer = (PFNGLMAPBUFFERPROC) (intptr_t) glProcAddress; @@ -15,11 +15,11 @@ Java_com_sun_opengl_impl_es2_GLES2Impl_dispatch_1glMapBuffer(JNIEnv *env, jobjec } /* Java->C glue code: - * Java package: com.sun.opengl.impl.es2.GLES2Impl + * Java package: com.jogamp.opengl.impl.es2.GLES2Impl * Java method: ByteBuffer newDirectByteBuffer(long addr, int capacity); * C function: jobject newDirectByteBuffer(jlong addr, jint capacity); */ JNIEXPORT jobject JNICALL -Java_com_sun_opengl_impl_es2_GLES2Impl_newDirectByteBuffer(JNIEnv *env, jobject _unused, jlong addr, jint capacity) { +Java_com_jogamp_opengl_impl_es2_GLES2Impl_newDirectByteBuffer(JNIEnv *env, jobject _unused, jlong addr, jint capacity) { return (*env)->NewDirectByteBuffer(env, (void*) (intptr_t) addr, capacity); } diff --git a/make/config/jogl/gl-impl-CustomJavaCode-common.java b/make/config/jogl/gl-impl-CustomJavaCode-common.java index 564606799..4872490b0 100644 --- a/make/config/jogl/gl-impl-CustomJavaCode-common.java +++ b/make/config/jogl/gl-impl-CustomJavaCode-common.java @@ -1,16 +1,58 @@ - public GLProfile getGLProfile() { - return this.glProfile; - } - private GLProfile glProfile; - - public int glGetBoundBuffer(int target) { - return bufferStateTracker.getBoundBufferObject(target, this); - } - - public boolean glIsVBOArrayEnabled() { - return checkArrayVBOEnabled(false); - } - - public boolean glIsVBOElementEnabled() { - return checkElementVBOEnabled(false); - } + public GLProfile getGLProfile() { + return this.glProfile; + } + private GLProfile glProfile; + + public int glGetBoundBuffer(int target) { + return bufferStateTracker.getBoundBufferObject(target, this); + } + + public boolean glIsVBOArrayEnabled() { + return checkArrayVBOEnabled(false); + } + + public boolean glIsVBOElementEnabled() { + return checkElementVBOEnabled(false); + } + + public final boolean isGL() { + return true; + } + + public final GL getGL() throws GLException { + return this; + } + + public boolean isFunctionAvailable(String glFunctionName) { + return _context.isFunctionAvailable(glFunctionName); + } + + public boolean isExtensionAvailable(String glExtensionName) { + return _context.isExtensionAvailable(glExtensionName); + } + + public Object getExtension(String extensionName) { + // At this point we don't expose any extensions using this mechanism + return null; + } + + /** Returns the context this GL object is associated with for better + error checking by DebugGL. */ + public GLContext getContext() { + return _context; + } + + private GLContextImpl _context; + + public void setSwapInterval(int interval) { + _context.setSwapInterval(interval); + } + + public int getSwapInterval() { + return _context.getSwapInterval(); + } + + public Object getPlatformGLExtensions() { + return _context.getPlatformGLExtensions(); + } + diff --git a/make/config/jogl/gl-impl-CustomJavaCode-desktop.java b/make/config/jogl/gl-impl-CustomJavaCode-desktop.java index 04ba39c3d..93a275269 100644 --- a/make/config/jogl/gl-impl-CustomJavaCode-desktop.java +++ b/make/config/jogl/gl-impl-CustomJavaCode-desktop.java @@ -1,79 +1,191 @@ -private int[] imageSizeTemp = new int[1]; - -/** Helper for more precise computation of number of bytes that will - be touched by a pixel pack or unpack operation. */ -private int imageSizeInBytes(int bytesPerElement, - int width, int height, int depth, boolean pack) { - int rowLength = 0; - int skipRows = 0; - int skipPixels = 0; - int alignment = 1; - int imageHeight = 0; - int skipImages = 0; - - if (pack) { - glGetIntegerv(GL_PACK_ROW_LENGTH, imageSizeTemp, 0); - rowLength = imageSizeTemp[0]; - glGetIntegerv(GL_PACK_SKIP_ROWS, imageSizeTemp, 0); - skipRows = imageSizeTemp[0]; - glGetIntegerv(GL_PACK_SKIP_PIXELS, imageSizeTemp, 0); - skipPixels = imageSizeTemp[0]; - glGetIntegerv(GL_PACK_ALIGNMENT, imageSizeTemp, 0); - alignment = imageSizeTemp[0]; - if (depth > 1) { - glGetIntegerv(GL_PACK_IMAGE_HEIGHT, imageSizeTemp, 0); - imageHeight = imageSizeTemp[0]; - glGetIntegerv(GL_PACK_SKIP_IMAGES, imageSizeTemp, 0); - skipImages = imageSizeTemp[0]; + private int[] imageSizeTemp = new int[1]; + + /** Helper for more precise computation of number of bytes that will + be touched by a pixel pack or unpack operation. */ + private int imageSizeInBytes(int bytesPerElement, + int width, int height, int depth, boolean pack) { + int rowLength = 0; + int skipRows = 0; + int skipPixels = 0; + int alignment = 1; + int imageHeight = 0; + int skipImages = 0; + + if (pack) { + glGetIntegerv(GL_PACK_ROW_LENGTH, imageSizeTemp, 0); + rowLength = imageSizeTemp[0]; + glGetIntegerv(GL_PACK_SKIP_ROWS, imageSizeTemp, 0); + skipRows = imageSizeTemp[0]; + glGetIntegerv(GL_PACK_SKIP_PIXELS, imageSizeTemp, 0); + skipPixels = imageSizeTemp[0]; + glGetIntegerv(GL_PACK_ALIGNMENT, imageSizeTemp, 0); + alignment = imageSizeTemp[0]; + if (depth > 1) { + glGetIntegerv(GL_PACK_IMAGE_HEIGHT, imageSizeTemp, 0); + imageHeight = imageSizeTemp[0]; + glGetIntegerv(GL_PACK_SKIP_IMAGES, imageSizeTemp, 0); + skipImages = imageSizeTemp[0]; + } + } else { + glGetIntegerv(GL_UNPACK_ROW_LENGTH, imageSizeTemp, 0); + rowLength = imageSizeTemp[0]; + glGetIntegerv(GL_UNPACK_SKIP_ROWS, imageSizeTemp, 0); + skipRows = imageSizeTemp[0]; + glGetIntegerv(GL_UNPACK_SKIP_PIXELS, imageSizeTemp, 0); + skipPixels = imageSizeTemp[0]; + glGetIntegerv(GL_UNPACK_ALIGNMENT, imageSizeTemp, 0); + alignment = imageSizeTemp[0]; + if (depth > 1) { + glGetIntegerv(GL_UNPACK_IMAGE_HEIGHT, imageSizeTemp, 0); + imageHeight = imageSizeTemp[0]; + glGetIntegerv(GL_UNPACK_SKIP_IMAGES, imageSizeTemp, 0); + skipImages = imageSizeTemp[0]; + } } - } else { - glGetIntegerv(GL_UNPACK_ROW_LENGTH, imageSizeTemp, 0); - rowLength = imageSizeTemp[0]; - glGetIntegerv(GL_UNPACK_SKIP_ROWS, imageSizeTemp, 0); - skipRows = imageSizeTemp[0]; - glGetIntegerv(GL_UNPACK_SKIP_PIXELS, imageSizeTemp, 0); - skipPixels = imageSizeTemp[0]; - glGetIntegerv(GL_UNPACK_ALIGNMENT, imageSizeTemp, 0); - alignment = imageSizeTemp[0]; - if (depth > 1) { - glGetIntegerv(GL_UNPACK_IMAGE_HEIGHT, imageSizeTemp, 0); - imageHeight = imageSizeTemp[0]; - glGetIntegerv(GL_UNPACK_SKIP_IMAGES, imageSizeTemp, 0); - skipImages = imageSizeTemp[0]; + // Try to deal somewhat correctly with potentially invalid values + width = Math.max(0, width ); + height = Math.max(1, height); // min 1D + depth = Math.max(1, depth ); // min 1 * imageSize + skipRows = Math.max(0, skipRows); + skipPixels = Math.max(0, skipPixels); + alignment = Math.max(1, alignment); + skipImages = Math.max(0, skipImages); + + imageHeight = ( imageHeight > 0 ) ? imageHeight : height; + rowLength = ( rowLength > 0 ) ? rowLength : width; + + int rowLengthInBytes = rowLength * bytesPerElement; + + if (alignment > 1) { + int padding = rowLengthInBytes % alignment; + if (padding > 0) { + rowLengthInBytes += alignment - padding; + } } + + /** + * skipPixels and skipRows is a static one time offset. + * + * skipImages and depth are in multiples of image size. + * + * rowlenght is the actual repeating offset + * to go from line n to line n+1 at the same x-axis position. + */ + return + ( skipImages + depth - 1 ) * imageHeight * rowLengthInBytes + // whole images + ( skipRows + height - 1 ) * rowLengthInBytes + // lines with padding + ( skipPixels + width ) * bytesPerElement; // last line + } + + public final boolean isGL4bc() { + return _context.isGL4bc(); + } + + public final boolean isGL4() { + return _context.isGL4(); + } + + public final boolean isGL3bc() { + return _context.isGL3bc(); + } + + public final boolean isGL3() { + return _context.isGL3(); } - // Try to deal somewhat correctly with potentially invalid values - width = Math.max(0, width ); - height = Math.max(1, height); // min 1D - depth = Math.max(1, depth ); // min 1 * imageSize - skipRows = Math.max(0, skipRows); - skipPixels = Math.max(0, skipPixels); - alignment = Math.max(1, alignment); - skipImages = Math.max(0, skipImages); - imageHeight = ( imageHeight > 0 ) ? imageHeight : height; - rowLength = ( rowLength > 0 ) ? rowLength : width; + public final boolean isGL2() { + return _context.isGL2(); + } + + public final boolean isGL2ES1() { + return _context.isGL2ES1(); + } - int rowLengthInBytes = rowLength * bytesPerElement; + public final boolean isGL2ES2() { + return _context.isGL2ES2(); + } - if (alignment > 1) { - int padding = rowLengthInBytes % alignment; - if (padding > 0) { - rowLengthInBytes += alignment - padding; + public final boolean isGL2GL3() { + return _context.isGL2GL3(); + } + + public final boolean hasGLSL() { + return _context.hasGLSL(); + } + + public final GL4bc getGL4bc() throws GLException { + if(!isGL4bc()) { + throw new GLException("Not a GL4bc implementation"); + } + return this; + } + + public final GL4 getGL4() throws GLException { + if(!isGL4bc()) { + throw new GLException("Not a GL4 implementation"); } + return this; } - /** - * skipPixels and skipRows is a static one time offset. - * - * skipImages and depth are in multiples of image size. - * - * rowlenght is the actual repeating offset - * to go from line n to line n+1 at the same x-axis position. - */ - return - ( skipImages + depth - 1 ) * imageHeight * rowLengthInBytes + // whole images - ( skipRows + height - 1 ) * rowLengthInBytes + // lines with padding - ( skipPixels + width ) * bytesPerElement; // last line -} + public final GL3bc getGL3bc() throws GLException { + if(!isGL3bc()) { + throw new GLException("Not a GL3bc implementation"); + } + return this; + } + + public final GL3 getGL3() throws GLException { + if(!isGL3()) { + throw new GLException("Not a GL3 implementation"); + } + return this; + } + + public final GL2 getGL2() throws GLException { + if(!isGL2()) { + throw new GLException("Not a GL2 implementation"); + } + return this; + } + + public final GL2ES1 getGL2ES1() throws GLException { + if(!isGL2ES1()) { + throw new GLException("Not a GL2ES1 implementation"); + } + return this; + } + + public final GL2ES2 getGL2ES2() throws GLException { + if(!isGL2ES2()) { + throw new GLException("Not a GL2ES2 implementation"); + } + return this; + } + + public final GL2GL3 getGL2GL3() throws GLException { + if(!isGL2GL3()) { + throw new GLException("Not a GL2GL3 implementation"); + } + return this; + } + + public final boolean isGLES1() { + return false; + } + + public final boolean isGLES2() { + return false; + } + + public final boolean isGLES() { + return false; + } + + public final GLES1 getGLES1() throws GLException { + throw new GLException("Not a GLES1 implementation"); + } + + public final GLES2 getGLES2() throws GLException { + throw new GLException("Not a GLES2 implementation"); + } diff --git a/make/config/jogl/gl-impl-CustomJavaCode-gl2.java b/make/config/jogl/gl-impl-CustomJavaCode-gl2.java deleted file mode 100644 index cd1a24459..000000000 --- a/make/config/jogl/gl-impl-CustomJavaCode-gl2.java +++ /dev/null @@ -1,498 +0,0 @@ -// Tracks glBegin/glEnd calls to determine whether it is legal to -// query Vertex Buffer Object state -private boolean inBeginEndPair; - -/* FIXME: refactor dependence on Java 2D / JOGL bridge - -// Tracks creation and destruction of server-side OpenGL objects when -// the Java2D/OpenGL pipeline is enabled and it is using frame buffer -// objects (FBOs) to do its rendering -private GLObjectTracker tracker; - -public void setObjectTracker(GLObjectTracker tracker) { - this.tracker = tracker; -} - -*/ - - -public GL2Impl(GLProfile glp, GLContextImpl context) { - this._context = context; - this.bufferSizeTracker = context.getBufferSizeTracker(); - this.bufferStateTracker = context.getBufferStateTracker(); - this.glStateTracker = context.getGLStateTracker(); - this.glProfile = glp; -} - -public final boolean isGL() { - return true; -} - -public final boolean isGL3bc() { - return false; -} - -public final boolean isGL3() { - return false; -} - -public final boolean isGL2() { - return true; -} - -public final boolean isGLES1() { - return false; -} - -public final boolean isGLES2() { - return false; -} - -public final boolean isGLES() { - return false; -} - -public final boolean isGL2ES1() { - return true; -} - -public final boolean isGL2ES2() { - return true; -} - -public final boolean isGL2GL3() { - return true; -} - -public final boolean hasGLSL() { - return true; -} - -public final GL getGL() throws GLException { - return this; -} - -public final GL3bc getGL3bc() throws GLException { - throw new GLException("Not a GL3bc implementation"); -} - -public final GL3 getGL3() throws GLException { - throw new GLException("Not a GL3 implementation"); -} - -public final GL2 getGL2() throws GLException { - return this; -} - -public final GLES1 getGLES1() throws GLException { - throw new GLException("Not a GLES1 implementation"); -} - -public final GLES2 getGLES2() throws GLException { - throw new GLException("Not a GLES2 implementation"); -} - -public final GL2ES1 getGL2ES1() throws GLException { - return this; -} - -public final GL2ES2 getGL2ES2() throws GLException { - return this; -} - -public final GL2GL3 getGL2GL3() throws GLException { - return this; -} - -public boolean isFunctionAvailable(String glFunctionName) { - return _context.isFunctionAvailable(glFunctionName); -} - -public boolean isExtensionAvailable(String glExtensionName) { - return _context.isExtensionAvailable(glExtensionName); -} - -public Object getExtension(String extensionName) { - // At this point we don't expose any extensions using this mechanism - return null; -} - -/** Returns the context this GL object is associated with for better - error checking by DebugGL. */ -public GLContext getContext() { - return _context; -} - -private GLContextImpl _context; - -/** - * Provides platform-independent access to the wglAllocateMemoryNV / - * glXAllocateMemoryNV extension. - */ -public java.nio.ByteBuffer glAllocateMemoryNV(int arg0, float arg1, float arg2, float arg3) { - return _context.glAllocateMemoryNV(arg0, arg1, arg2, arg3); -} - -public void setSwapInterval(int interval) { - _context.setSwapInterval(interval); -} - -public int getSwapInterval() { - return _context.getSwapInterval(); -} - -public Object getPlatformGLExtensions() { - return _context.getPlatformGLExtensions(); -} - -// -// Helpers for ensuring the correct amount of texture data -// - -/** Returns the number of bytes required to fill in the appropriate - texture. This is computed as closely as possible based on the - pixel pack or unpack parameters. The logic in this routine is - based on code in the SGI OpenGL sample implementation. */ - -private int imageSizeInBytes(int format, int type, int w, int h, int d, - boolean pack) { - int elements = 0; - int esize = 0; - - if (w < 0) return 0; - if (h < 0) return 0; - if (d < 0) return 0; - switch (format) { - case GL_COLOR_INDEX: - case GL_STENCIL_INDEX: - elements = 1; - break; - case GL_RED: - case GL_GREEN: - case GL_BLUE: - case GL_ALPHA: - case GL_LUMINANCE: - case GL_DEPTH_COMPONENT: - elements = 1; - break; - case GL_LUMINANCE_ALPHA: - elements = 2; - break; - case GL_RGB: - case GL_BGR: - elements = 3; - break; - case GL_RGBA: - case GL_BGRA: - case GL_ABGR_EXT: - elements = 4; - break; - /* FIXME ?? - case GL_HILO_NV: - elements = 2; - break; */ - default: - return 0; - } - switch (type) { - case GL_BITMAP: - if (format == GL_COLOR_INDEX) { - return (d * (h * ((w+7)/8))); - } else { - return 0; - } - case GL_BYTE: - case GL_UNSIGNED_BYTE: - esize = 1; - break; - case GL_UNSIGNED_BYTE_3_3_2: - case GL_UNSIGNED_BYTE_2_3_3_REV: - esize = 1; - elements = 1; - break; - case GL_SHORT: - case GL_UNSIGNED_SHORT: - esize = 2; - break; - case GL_UNSIGNED_SHORT_5_6_5: - case GL_UNSIGNED_SHORT_5_6_5_REV: - case GL_UNSIGNED_SHORT_4_4_4_4: - case GL_UNSIGNED_SHORT_4_4_4_4_REV: - case GL_UNSIGNED_SHORT_5_5_5_1: - case GL_UNSIGNED_SHORT_1_5_5_5_REV: - esize = 2; - elements = 1; - break; - case GL_INT: - case GL_UNSIGNED_INT: - case GL_FLOAT: - esize = 4; - break; - case GL_UNSIGNED_INT_8_8_8_8: - case GL_UNSIGNED_INT_8_8_8_8_REV: - case GL_UNSIGNED_INT_10_10_10_2: - case GL_UNSIGNED_INT_2_10_10_10_REV: - esize = 4; - elements = 1; - break; - default: - return 0; - } - return imageSizeInBytes(elements * esize, w, h, d, pack); -} - -private GLBufferSizeTracker bufferSizeTracker; -private GLBufferStateTracker bufferStateTracker; -private GLStateTracker glStateTracker; - -private boolean bufferObjectExtensionsInitialized = false; -private boolean haveARBPixelBufferObject; -private boolean haveEXTPixelBufferObject; -private boolean haveGL15; -private boolean haveGL21; -private boolean haveARBVertexBufferObject; - -private void initBufferObjectExtensionChecks() { - if (bufferObjectExtensionsInitialized) - return; - bufferObjectExtensionsInitialized = true; - haveARBPixelBufferObject = isExtensionAvailable("GL_ARB_pixel_buffer_object"); - haveEXTPixelBufferObject = isExtensionAvailable("GL_EXT_pixel_buffer_object"); - haveGL15 = isExtensionAvailable("GL_VERSION_1_5"); - haveGL21 = isExtensionAvailable("GL_VERSION_2_1"); - haveARBVertexBufferObject = isExtensionAvailable("GL_ARB_vertex_buffer_object"); -} - -private boolean checkBufferObject(boolean extension1, - boolean extension2, - boolean extension3, - boolean enabled, - int state, - String kind, boolean throwException) { - if (inBeginEndPair) { - throw new GLException("May not call this between glBegin and glEnd"); - } - boolean avail = (extension1 || extension2 || extension3); - if (!avail) { - if (!enabled) - return true; - if(throwException) { - throw new GLException("Required extensions not available to call this function"); - } - return false; - } - int buffer = bufferStateTracker.getBoundBufferObject(state, this); - if (enabled) { - if (buffer == 0) { - if(throwException) { - throw new GLException(kind + " must be enabled to call this method"); - } - return false; - } - } else { - if (buffer != 0) { - if(throwException) { - throw new GLException(kind + " must be disabled to call this method"); - } - return false; - } - } - return true; -} - -private boolean checkArrayVBODisabled(boolean throwException) { - initBufferObjectExtensionChecks(); - return checkBufferObject(haveGL15, - haveARBVertexBufferObject, - false, - false, - GL.GL_ARRAY_BUFFER, - "array vertex_buffer_object", throwException); -} - -private boolean checkArrayVBOEnabled(boolean throwException) { - initBufferObjectExtensionChecks(); - return checkBufferObject(haveGL15, - haveARBVertexBufferObject, - false, - true, - GL.GL_ARRAY_BUFFER, - "array vertex_buffer_object", throwException); -} - -private boolean checkElementVBODisabled(boolean throwException) { - initBufferObjectExtensionChecks(); - return checkBufferObject(haveGL15, - haveARBVertexBufferObject, - false, - false, - GL.GL_ELEMENT_ARRAY_BUFFER, - "element vertex_buffer_object", throwException); -} - -private boolean checkElementVBOEnabled(boolean throwException) { - initBufferObjectExtensionChecks(); - return checkBufferObject(haveGL15, - haveARBVertexBufferObject, - false, - true, - GL.GL_ELEMENT_ARRAY_BUFFER, - "element vertex_buffer_object", throwException); -} - -private boolean checkUnpackPBODisabled(boolean throwException) { - initBufferObjectExtensionChecks(); - return checkBufferObject(haveARBPixelBufferObject, - haveEXTPixelBufferObject, - haveGL21, - false, - GL2.GL_PIXEL_UNPACK_BUFFER, - "unpack pixel_buffer_object", throwException); -} - -private boolean checkUnpackPBOEnabled(boolean throwException) { - initBufferObjectExtensionChecks(); - return checkBufferObject(haveARBPixelBufferObject, - haveEXTPixelBufferObject, - haveGL21, - true, - GL2.GL_PIXEL_UNPACK_BUFFER, - "unpack pixel_buffer_object", throwException); -} - -private boolean checkPackPBODisabled(boolean throwException) { - initBufferObjectExtensionChecks(); - return checkBufferObject(haveARBPixelBufferObject, - haveEXTPixelBufferObject, - haveGL21, - false, - GL2.GL_PIXEL_PACK_BUFFER, - "pack pixel_buffer_object", throwException); -} - -private boolean checkPackPBOEnabled(boolean throwException) { - initBufferObjectExtensionChecks(); - return checkBufferObject(haveARBPixelBufferObject, - haveEXTPixelBufferObject, - haveGL21, - true, - GL2.GL_PIXEL_PACK_BUFFER, - "pack pixel_buffer_object", throwException); -} - -public boolean glIsPBOPackEnabled() { - return checkPackPBOEnabled(false); -} - -public boolean glIsPBOUnpackEnabled() { - return checkUnpackPBOEnabled(false); -} - -// Attempt to return the same ByteBuffer object from glMapBuffer if -// the vertex buffer object's base address and size haven't changed -private static class ARBVBOKey { - private long addr; - private int capacity; - - ARBVBOKey(long addr, int capacity) { - this.addr = addr; - this.capacity = capacity; - } - - public int hashCode() { - return (int) addr; - } - - public boolean equals(Object o) { - if ((o == null) || (!(o instanceof ARBVBOKey))) { - return false; - } - - ARBVBOKey other = (ARBVBOKey) o; - return ((addr == other.addr) && (capacity == other.capacity)); - } -} - -private Map/*<ARBVBOKey, ByteBuffer>*/ arbVBOCache = new HashMap(); - -/** Entry point to C language function: <br> <code> LPVOID glMapBuffer(GLenum target, GLenum access); </code> */ -public java.nio.ByteBuffer glMapBuffer(int target, int access) { - final long __addr_ = ((GL2ProcAddressTable)_context.getGLProcAddressTable())._addressof_glMapBuffer; - if (__addr_ == 0) { - throw new GLException("Method \"glMapBuffer\" not available"); - } - int sz = bufferSizeTracker.getBufferSize(bufferStateTracker, - target, - this); - long addr; - addr = dispatch_glMapBuffer(target, access, __addr_); - if (addr == 0 || sz == 0) { - return null; - } - ARBVBOKey key = new ARBVBOKey(addr, sz); - ByteBuffer _res = (ByteBuffer) arbVBOCache.get(key); - if (_res == null) { - _res = newDirectByteBuffer(addr, sz); - InternalBufferUtil.nativeOrder(_res); - arbVBOCache.put(key, _res); - } - _res.position(0); - return _res; -} - -/** Encapsulates function pointer for OpenGL function <br>: <code> LPVOID glMapBuffer(GLenum target, GLenum access); </code> */ -native private long dispatch_glMapBuffer(int target, int access, long glProcAddress); - -native private ByteBuffer newDirectByteBuffer(long addr, int capacity); - - /** Dummy implementation for the ES 2.0 function: <br> <code> void {@native glShaderBinary}(GLint n, const GLuint * shaders, GLenum binaryformat, const void * binary, GLint length); </code> <br> Always throws a GLException! */ - public void glShaderBinary(int n, java.nio.IntBuffer shaders, int binaryformat, java.nio.Buffer binary, int length) { - throw new GLException("Method \"glShaderBinary\" not available"); - } - - /** Dummy implementation for the ES 2.0 function: <br> <code> void {@native glShaderBinary}(GLint n, const GLuint * shaders, GLenum binaryformat, const void * binary, GLint length); </code> <br> Always throws a GLException! */ - public void glShaderBinary(int n, int[] shaders, int shaders_offset, int binaryformat, java.nio.Buffer binary, int length) { - throw new GLException("Method \"glShaderBinary\" not available"); - } - - public void glReleaseShaderCompiler() { - // nothing to do - } - - public void glVertexPointer(GLArrayData array) { - if(array.getComponentNumber()==0) return; - if(array.isVBO()) { - glVertexPointer(array.getComponentNumber(), array.getComponentType(), array.getStride(), array.getOffset()); - } else { - glVertexPointer(array.getComponentNumber(), array.getComponentType(), array.getStride(), array.getBuffer()); - } - } - public void glColorPointer(GLArrayData array) { - if(array.getComponentNumber()==0) return; - if(array.isVBO()) { - glColorPointer(array.getComponentNumber(), array.getComponentType(), array.getStride(), array.getOffset()); - } else { - glColorPointer(array.getComponentNumber(), array.getComponentType(), array.getStride(), array.getBuffer()); - } - - } - public void glNormalPointer(GLArrayData array) { - if(array.getComponentNumber()==0) return; - if(array.getComponentNumber()!=3) { - throw new GLException("Only 3 components per normal allowed"); - } - if(array.isVBO()) { - glNormalPointer(array.getComponentType(), array.getStride(), array.getOffset()); - } else { - glNormalPointer(array.getComponentType(), array.getStride(), array.getBuffer()); - } - } - public void glTexCoordPointer(GLArrayData array) { - if(array.getComponentNumber()==0) return; - if(array.isVBO()) { - glTexCoordPointer(array.getComponentNumber(), array.getComponentType(), array.getStride(), array.getOffset()); - } else { - glTexCoordPointer(array.getComponentNumber(), array.getComponentType(), array.getStride(), array.getBuffer()); - } - } - diff --git a/make/config/jogl/gl-impl-CustomJavaCode-gl2es12.java b/make/config/jogl/gl-impl-CustomJavaCode-gl2es12.java index 2eca2b6ab..4bc39b076 100644 --- a/make/config/jogl/gl-impl-CustomJavaCode-gl2es12.java +++ b/make/config/jogl/gl-impl-CustomJavaCode-gl2es12.java @@ -26,8 +26,12 @@ public GL2ES12Impl(GLProfile glp, GLContextImpl context) { private boolean isGL2ES2; -public final boolean isGL() { - return true; +public final boolean isGL4bc() { + return false; +} + +public final boolean isGL4() { + return false; } public final boolean isGL3bc() { @@ -70,8 +74,12 @@ public final boolean hasGLSL() { return isGL2ES2; } -public final GL getGL() throws GLException { - return this; +public final GL4bc getGL4bc() throws GLException { + throw new GLException("Not a GL4bc implementation"); +} + +public final GL4 getGL4() throws GLException { + throw new GLException("Not a GL4 implementation"); } public final GL3bc getGL3bc() throws GLException { @@ -112,39 +120,6 @@ public final GL2GL3 getGL2GL3() throws GLException { throw new GLException("Not a GL2GL3 implementation"); } -public boolean isFunctionAvailable(String glFunctionName) { - return _context.isFunctionAvailable(glFunctionName); -} - -public boolean isExtensionAvailable(String glExtensionName) { - return _context.isExtensionAvailable(glExtensionName); -} - -public Object getExtension(String extensionName) { - // At this point we don't expose any extensions using this mechanism - return null; -} - -/** Returns the context this GL object is associated with for better - error checking by DebugGL. */ -public GLContext getContext() { - return _context; -} - -private GLContextImpl _context; - -public void setSwapInterval(int interval) { - _context.setSwapInterval(interval); -} - -public int getSwapInterval() { - return _context.getSwapInterval(); -} - -public Object getPlatformGLExtensions() { - return _context.getPlatformGLExtensions(); -} - // // Helpers for ensuring the correct amount of texture data // diff --git a/make/config/jogl/gl-impl-CustomJavaCode-gl3.java b/make/config/jogl/gl-impl-CustomJavaCode-gl4.java index 16ff008cf..a2c70eeee 100644 --- a/make/config/jogl/gl-impl-CustomJavaCode-gl3.java +++ b/make/config/jogl/gl-impl-CustomJavaCode-gl4.java @@ -23,107 +23,6 @@ public GL3Impl(GLProfile glp, GLContextImpl context) { this.glProfile = glp; } -public final boolean isGL() { - return true; -} - -public final boolean isGL3bc() { - return false; -} - -public final boolean isGL3() { - return true; -} - -public final boolean isGL2() { - return false; -} - -public final boolean isGLES1() { - return false; -} - -public final boolean isGLES2() { - return false; -} - -public final boolean isGLES() { - return false; -} - -public final boolean isGL2ES1() { - return false; -} - -public final boolean isGL2ES2() { - return true; -} - -public final boolean isGL2GL3() { - return true; -} - -public final boolean hasGLSL() { - return true; -} - -public final GL getGL() throws GLException { - return this; -} - -public final GL3bc getGL3bc() throws GLException { - throw new GLException("Not a GL3bc implementation"); -} - -public final GL3 getGL3() throws GLException { - return this; -} - -public final GL2 getGL2() throws GLException { - throw new GLException("Not a GL2 implementation"); -} - -public final GLES1 getGLES1() throws GLException { - throw new GLException("Not a GLES1 implementation"); -} - -public final GLES2 getGLES2() throws GLException { - throw new GLException("Not a GLES2 implementation"); -} - -public final GL2ES1 getGL2ES1() throws GLException { - throw new GLException("Not a GLES2ES1 implementation"); -} - -public final GL2ES2 getGL2ES2() throws GLException { - return this; -} - -public final GL2GL3 getGL2GL3() throws GLException { - return this; -} - -public boolean isFunctionAvailable(String glFunctionName) { - return _context.isFunctionAvailable(glFunctionName); -} - -public boolean isExtensionAvailable(String glExtensionName) { - return _context.isExtensionAvailable(glExtensionName); -} - -public Object getExtension(String extensionName) { - // At this point we don't expose any extensions using this mechanism - return null; -} - -/** Returns the context this GL object is associated with for better - error checking by DebugGL. */ -public GLContext getContext() { - return _context; -} - -private GLContextImpl _context; - /** * Provides platform-independent access to the wglAllocateMemoryNV / * glXAllocateMemoryNV extension. @@ -132,18 +31,6 @@ public java.nio.ByteBuffer glAllocateMemoryNV(int arg0, float arg1, float arg2, return _context.glAllocateMemoryNV(arg0, arg1, arg2, arg3); } -public void setSwapInterval(int interval) { - _context.setSwapInterval(interval); -} - -public int getSwapInterval() { - return _context.getSwapInterval(); -} - -public Object getPlatformGLExtensions() { - return _context.getPlatformGLExtensions(); -} - // // Helpers for ensuring the correct amount of texture data // diff --git a/make/config/jogl/gl-impl-CustomJavaCode-gl3bc.java b/make/config/jogl/gl-impl-CustomJavaCode-gl4bc.java index 2b7f14918..bceb12fe5 100644 --- a/make/config/jogl/gl-impl-CustomJavaCode-gl3bc.java +++ b/make/config/jogl/gl-impl-CustomJavaCode-gl4bc.java @@ -16,7 +16,7 @@ public void setObjectTracker(GLObjectTracker tracker) { */ -public GL3bcImpl(GLProfile glp, GLContextImpl context) { +public GL4bcImpl(GLProfile glp, GLContextImpl context) { this._context = context; this.bufferSizeTracker = context.getBufferSizeTracker(); this.bufferStateTracker = context.getBufferStateTracker(); @@ -24,107 +24,6 @@ public GL3bcImpl(GLProfile glp, GLContextImpl context) { this.glProfile = glp; } -public final boolean isGL() { - return true; -} - -public final boolean isGL3bc() { - return true; -} - -public final boolean isGL3() { - return true; -} - -public final boolean isGL2() { - return true; -} - -public final boolean isGLES1() { - return false; -} - -public final boolean isGLES2() { - return false; -} - -public final boolean isGLES() { - return false; -} - -public final boolean isGL2ES1() { - return true; -} - -public final boolean isGL2ES2() { - return true; -} - -public final boolean isGL2GL3() { - return true; -} - -public final boolean hasGLSL() { - return true; -} - -public final GL getGL() throws GLException { - return this; -} - -public final GL3bc getGL3bc() throws GLException { - return this; -} - -public final GL3 getGL3() throws GLException { - return this; -} - -public final GL2 getGL2() throws GLException { - return this; -} - -public final GLES1 getGLES1() throws GLException { - throw new GLException("Not a GLES1 implementation"); -} - -public final GLES2 getGLES2() throws GLException { - throw new GLException("Not a GLES2 implementation"); -} - -public final GL2ES1 getGL2ES1() throws GLException { - return this; -} - -public final GL2ES2 getGL2ES2() throws GLException { - return this; -} - -public final GL2GL3 getGL2GL3() throws GLException { - return this; -} - -public boolean isFunctionAvailable(String glFunctionName) { - return _context.isFunctionAvailable(glFunctionName); -} - -public boolean isExtensionAvailable(String glExtensionName) { - return _context.isExtensionAvailable(glExtensionName); -} - -public Object getExtension(String extensionName) { - // At this point we don't expose any extensions using this mechanism - return null; -} - -/** Returns the context this GL object is associated with for better - error checking by DebugGL. */ -public GLContext getContext() { - return _context; -} - -private GLContextImpl _context; - /** * Provides platform-independent access to the wglAllocateMemoryNV / * glXAllocateMemoryNV extension. @@ -133,18 +32,6 @@ public java.nio.ByteBuffer glAllocateMemoryNV(int arg0, float arg1, float arg2, return _context.glAllocateMemoryNV(arg0, arg1, arg2, arg3); } -public void setSwapInterval(int interval) { - _context.setSwapInterval(interval); -} - -public int getSwapInterval() { - return _context.getSwapInterval(); -} - -public Object getPlatformGLExtensions() { - return _context.getPlatformGLExtensions(); -} - // // Helpers for ensuring the correct amount of texture data // @@ -417,7 +304,7 @@ private Map/*<ARBVBOKey, ByteBuffer>*/ arbVBOCache = new HashMap(); /** Entry point to C language function: <br> <code> LPVOID glMapBuffer(GLenum target, GLenum access); </code> */ public java.nio.ByteBuffer glMapBuffer(int target, int access) { - final long __addr_ = ((GL3bcProcAddressTable)_context.getGLProcAddressTable())._addressof_glMapBuffer; + final long __addr_ = ((GL4bcProcAddressTable)_context.getGLProcAddressTable())._addressof_glMapBuffer; if (__addr_ == 0) { throw new GLException("Method \"glMapBuffer\" not available"); } diff --git a/make/config/jogl/gl-impl-CustomJavaCode-gles1.java b/make/config/jogl/gl-impl-CustomJavaCode-gles1.java index dfef10ec9..b4efac8a1 100755 --- a/make/config/jogl/gl-impl-CustomJavaCode-gles1.java +++ b/make/config/jogl/gl-impl-CustomJavaCode-gles1.java @@ -6,10 +6,14 @@ public GLES1Impl(GLProfile glp, GLContextImpl context) { this.glProfile = glp; } -public final boolean isGL() { - return true; +public final boolean isGL4bc() { + return false; } - + +public final boolean isGL4() { + return false; +} + public final boolean isGL3bc() { return false; } @@ -50,8 +54,12 @@ public final boolean hasGLSL() { return false; } -public final GL getGL() throws GLException { - return this; +public final GL4bc getGL4bc() throws GLException { + throw new GLException("Not a GL4bc implementation"); +} + +public final GL4 getGL4() throws GLException { + throw new GLException("Not a GL4 implementation"); } public final GL3bc getGL3bc() throws GLException { @@ -86,39 +94,6 @@ public final GL2GL3 getGL2GL3() throws GLException { throw new GLException("Not a GL2GL3 implementation"); } -public boolean isFunctionAvailable(String glFunctionName) { - return _context.isFunctionAvailable(glFunctionName); -} - -public boolean isExtensionAvailable(String glExtensionName) { - return _context.isExtensionAvailable(glExtensionName); -} - -public Object getExtension(String extensionName) { - // At this point we don't expose any extensions using this mechanism - return null; -} - -/** Returns the context this GL object is associated with for better - error checking by DebugGL. */ -public GLContext getContext() { - return _context; -} - -private GLContextImpl _context; - -public void setSwapInterval(int interval) { - _context.setSwapInterval(interval); -} - -public int getSwapInterval() { - return _context.getSwapInterval(); -} - -public Object getPlatformGLExtensions() { - return _context.getPlatformGLExtensions(); -} - // // Helpers for ensuring the correct amount of texture data // diff --git a/make/config/jogl/gl-impl-CustomJavaCode-gles2.java b/make/config/jogl/gl-impl-CustomJavaCode-gles2.java index 7287408a0..bb8ddb7ef 100755 --- a/make/config/jogl/gl-impl-CustomJavaCode-gles2.java +++ b/make/config/jogl/gl-impl-CustomJavaCode-gles2.java @@ -10,10 +10,14 @@ public GLES2Impl(GLProfile glp, GLContextImpl context) { this.glProfile = glp; } -public final boolean isGL() { - return true; +public final boolean isGL4bc() { + return false; } - + +public final boolean isGL4() { + return false; +} + public final boolean isGL3bc() { return false; } @@ -54,8 +58,12 @@ public final boolean hasGLSL() { return true; } -public final GL getGL() throws GLException { - return this; +public final GL4bc getGL4bc() throws GLException { + throw new GLException("Not a GL4bc implementation"); +} + +public final GL4 getGL4() throws GLException { + throw new GLException("Not a GL4 implementation"); } public final GL3bc getGL3bc() throws GLException { @@ -90,39 +98,6 @@ public final GL2GL3 getGL2GL3() throws GLException { throw new GLException("Not a GL2GL3 implementation"); } -public boolean isFunctionAvailable(String glFunctionName) { - return _context.isFunctionAvailable(glFunctionName); -} - -public boolean isExtensionAvailable(String glExtensionName) { - return _context.isExtensionAvailable(glExtensionName); -} - -public Object getExtension(String extensionName) { - // At this point we don't expose any extensions using this mechanism - return null; -} - -/** Returns the context this GL object is associated with for better - error checking by DebugGL. */ -public GLContext getContext() { - return _context; -} - -private GLContextImpl _context; - -public void setSwapInterval(int interval) { - _context.setSwapInterval(interval); -} - -public int getSwapInterval() { - return _context.getSwapInterval(); -} - -public Object getPlatformGLExtensions() { - return _context.getPlatformGLExtensions(); -} - // // Helpers for ensuring the correct amount of texture data // diff --git a/make/config/jogl/gl3-common.cfg b/make/config/jogl/gl3-common.cfg index fac8323bb..c2cc2968e 100644 --- a/make/config/jogl/gl3-common.cfg +++ b/make/config/jogl/gl3-common.cfg @@ -16,6 +16,9 @@ RenameExtensionIntoCore GL_ARB_geometry_shader4 RenameExtensionIntoCore GL_ARB_sync # <<< OpenGL 3.2 +# >>> OpenGL 3.3 +# <<< OpenGL 3.3 + # Ignore GL functions that deal with explicit pointer values in such a # way that we cannot implement the functionality in Java Ignore glMultiDrawElementsBaseVertex diff --git a/make/config/jogl/gl3-desktop.cfg b/make/config/jogl/gl3-desktop.cfg index c3dd180bb..ee741089e 100755 --- a/make/config/jogl/gl3-desktop.cfg +++ b/make/config/jogl/gl3-desktop.cfg @@ -61,6 +61,6 @@ TemporaryCVariableDeclaration glXChooseFBConfigSGIX int count; TemporaryCVariableAssignment glXChooseFBConfigSGIX count = _ptr3[0]; ReturnValueCapacity glXChooseFBConfigSGIX count * sizeof(GLXFBConfig) TemporaryCVariableDeclaration glXGetFBConfigs int count; -TemporaryCVariableAssignment glXGetFBConfigs count = _ptr2[0]; +TemporaryCVariableAssignment glXGetFBConfigs count = _nelements_ptr[0]; ReturnValueCapacity glXGetFBConfigs count * sizeof(GLXFBConfig) diff --git a/make/config/jogl/gl3ext-headers.cfg b/make/config/jogl/gl3ext-headers.cfg new file mode 100755 index 000000000..dfc4ea796 --- /dev/null +++ b/make/config/jogl/gl3ext-headers.cfg @@ -0,0 +1,5 @@ +CustomCCode /* Define GL_GL3EXT_PROTOTYPES so that the OpenGL extension prototypes in +CustomCCode "gl3ext.h" are parsed. */ +CustomCCode #define GL_GL3EXT_PROTOTYPES +CustomCCode #include <GL3/gl3ext.h> +CustomCCode #include <GL3/gl3ext.h> diff --git a/make/config/jogl/gl4-common.cfg b/make/config/jogl/gl4-common.cfg new file mode 100644 index 000000000..2c119da30 --- /dev/null +++ b/make/config/jogl/gl4-common.cfg @@ -0,0 +1,5 @@ + +# >>> OpenGL 4.0 +# <<< OpenGL 4.0 + + diff --git a/make/config/jogl/gl3-desktop-tracker.cfg b/make/config/jogl/gl4-desktop-tracker.cfg index 4b9a7edb7..4b9a7edb7 100644 --- a/make/config/jogl/gl3-desktop-tracker.cfg +++ b/make/config/jogl/gl4-desktop-tracker.cfg diff --git a/make/config/jogl/glu-CustomJavaCode-base.java b/make/config/jogl/glu-CustomJavaCode-base.java index 78c067606..480f5d117 100755 --- a/make/config/jogl/glu-CustomJavaCode-base.java +++ b/make/config/jogl/glu-CustomJavaCode-base.java @@ -169,7 +169,7 @@ protected static boolean checkedGLUtessellatorImpl = false; protected static final void validateGLUtessellatorImpl() { if(!checkedGLUtessellatorImpl) { - availableGLUtessellatorImpl = NWReflection.isClassAvailable("com.sun.opengl.impl.glu.tessellator.GLUtessellatorImpl"); + availableGLUtessellatorImpl = ReflectionUtil.isClassAvailable("com.jogamp.opengl.impl.glu.tessellator.GLUtessellatorImpl"); checkedGLUtessellatorImpl = true; } if(!availableGLUtessellatorImpl) { @@ -1220,7 +1220,7 @@ protected static final void validateGLUquadricImpl() { if(!checkedGLUquadricImpl) { synchronized (syncObject) { if(!checkedGLUquadricImpl) { - availableGLUquadricImpl = NWReflection.isClassAvailable("com.sun.opengl.impl.glu.GLUquadricImpl"); + availableGLUquadricImpl = ReflectionUtil.isClassAvailable("com.jogamp.opengl.impl.glu.GLUquadricImpl"); checkedGLUquadricImpl = true; } } diff --git a/make/config/jogl/glu-CustomJavaCode-gl2es1.java b/make/config/jogl/glu-CustomJavaCode-gl2es1.java index 8afc28c15..f3b4322d9 100755 --- a/make/config/jogl/glu-CustomJavaCode-gl2es1.java +++ b/make/config/jogl/glu-CustomJavaCode-gl2es1.java @@ -86,7 +86,7 @@ protected static boolean checkedMipmap = false; protected static final void validateMipmap() { if(!checkedMipmap) { - availableMipmap = NWReflection.isClassAvailable("com.sun.opengl.impl.glu.mipmap.Mipmap"); + availableMipmap = ReflectionUtil.isClassAvailable("com.jogamp.opengl.impl.glu.mipmap.Mipmap"); checkedMipmap = true; } if(!availableMipmap) { diff --git a/make/config/jogl/glu-base.cfg b/make/config/jogl/glu-base.cfg index f67673a78..d859225ec 100755 --- a/make/config/jogl/glu-base.cfg +++ b/make/config/jogl/glu-base.cfg @@ -20,8 +20,8 @@ Ignore gluScaleImage IncludeAs CustomJavaCode GLU glu-CustomJavaCode-base.java # Imports for the Error and Registry classes -Import com.sun.opengl.impl.glu.error.Error -Import com.sun.opengl.impl.glu.registry.Registry +Import com.jogamp.opengl.impl.glu.error.Error +Import com.jogamp.opengl.impl.glu.registry.Registry Include glu-common.cfg diff --git a/make/config/jogl/glu-common.cfg b/make/config/jogl/glu-common.cfg index df59175bb..f5fc7c1b3 100644 --- a/make/config/jogl/glu-common.cfg +++ b/make/config/jogl/glu-common.cfg @@ -9,13 +9,12 @@ TagNativeBinding true # # Imports needed by all glue code # -Import java.nio.* Import javax.media.opengl.* Import javax.media.opengl.glu.* -Import com.sun.opengl.impl.* -Import com.sun.opengl.impl.glu.* -Import com.sun.opengl.impl.glu.tessellator.GLUtessellatorImpl -Import com.sun.nativewindow.impl.NWReflection +Import com.jogamp.opengl.impl.* +Import com.jogamp.opengl.impl.glu.* +Import com.jogamp.opengl.impl.glu.tessellator.GLUtessellatorImpl +Import com.jogamp.common.util.ReflectionUtil # Raise GLException instead of RuntimeException in glue code RuntimeExceptionType GLException diff --git a/make/config/jogl/glu-gl2.cfg b/make/config/jogl/glu-gl2.cfg index 712f9a305..cc5b16f0f 100755 --- a/make/config/jogl/glu-gl2.cfg +++ b/make/config/jogl/glu-gl2.cfg @@ -25,7 +25,7 @@ CustomCCode #endif Include ../intptr.cfg EmitProcAddressTable true -ProcAddressTablePackage com.sun.opengl.impl.glu.gl2 +ProcAddressTablePackage com.jogamp.opengl.impl.glu.gl2 ProcAddressTableClassName GLUgl2ProcAddressTable GetProcAddressTableExpr getGLUProcAddressTable() @@ -38,14 +38,14 @@ IncludeAs CustomJavaCode GLUgl2 glu-CustomJavaCode-gl2.java # GLU needs access to the GLUtesselatorImpl class for GLUtesselator, # to the Mipmap class for scaling and mipmap generation, # and to the nurbs.* package for the NURBS functionality -Import com.sun.opengl.impl.glu.nurbs.* +Import com.jogamp.opengl.impl.glu.nurbs.* Import java.security.* -Import com.sun.gluegen.runtime.opengl.GLProcAddressHelper -Import com.sun.opengl.impl.glu.gl2.nurbs.* -Import com.sun.opengl.impl.glu.mipmap.Mipmap -Import com.sun.opengl.impl.glu.gl2.* +Import com.jogamp.gluegen.runtime.opengl.GLProcAddressHelper +Import com.jogamp.opengl.impl.glu.gl2.nurbs.* +Import com.jogamp.opengl.impl.glu.mipmap.Mipmap +Import com.jogamp.opengl.impl.glu.gl2.* Import javax.media.opengl.GL2 -Import com.sun.opengl.impl.gl2.ProjectDouble +Import com.jogamp.opengl.impl.gl2.ProjectDouble # # ------------------------ diff --git a/make/config/jogl/glu-gl2es1.cfg b/make/config/jogl/glu-gl2es1.cfg index 8927f96b9..af89014f4 100755 --- a/make/config/jogl/glu-gl2es1.cfg +++ b/make/config/jogl/glu-gl2es1.cfg @@ -20,7 +20,7 @@ Ignore gluScaleImage IncludeAs CustomJavaCode GLUgl2es1 glu-CustomJavaCode-gl2es1.java Import javax.media.opengl.GLES1 -Import com.sun.opengl.impl.glu.mipmap.Mipmap +Import com.jogamp.opengl.impl.glu.mipmap.Mipmap Include glu-common.cfg diff --git a/make/config/jogl/glx-CustomCCode.c b/make/config/jogl/glx-CustomCCode.c index a075c4852..1b30a7da6 100755 --- a/make/config/jogl/glx-CustomCCode.c +++ b/make/config/jogl/glx-CustomCCode.c @@ -15,7 +15,7 @@ /* We expect glXGetProcAddressARB to be defined */ extern void (*glXGetProcAddressARB(const GLubyte *procname))(); -static const char * clazzNameInternalBufferUtil = "com/sun/opengl/impl/InternalBufferUtil"; +static const char * clazzNameInternalBufferUtil = "com/jogamp/opengl/impl/InternalBufferUtil"; static const char * clazzNameInternalBufferUtilStaticCstrName = "copyByteBuffer"; static const char * clazzNameInternalBufferUtilStaticCstrSignature = "(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;"; static const char * clazzNameByteBuffer = "java/nio/ByteBuffer"; @@ -30,29 +30,29 @@ static void _initClazzAccess(JNIEnv *env) { c = (*env)->FindClass(env, clazzNameInternalBufferUtil); if(NULL==c) { - fprintf(stderr, "FatalError: Java_com_sun_opengl_impl_x11_glx_GLX: can't find %s\n", clazzNameInternalBufferUtil); + fprintf(stderr, "FatalError: Java_com_jogamp_opengl_impl_x11_glx_GLX: can't find %s\n", clazzNameInternalBufferUtil); (*env)->FatalError(env, clazzNameInternalBufferUtil); } clazzInternalBufferUtil = (jclass)(*env)->NewGlobalRef(env, c); if(NULL==clazzInternalBufferUtil) { - fprintf(stderr, "FatalError: Java_com_sun_opengl_impl_x11_glx_GLX: can't use %s\n", clazzNameInternalBufferUtil); + fprintf(stderr, "FatalError: Java_com_jogamp_opengl_impl_x11_glx_GLX: can't use %s\n", clazzNameInternalBufferUtil); (*env)->FatalError(env, clazzNameInternalBufferUtil); } c = (*env)->FindClass(env, clazzNameByteBuffer); if(NULL==c) { - fprintf(stderr, "FatalError: Java_com_sun_opengl_impl_x11_glx_GLX: can't find %s\n", clazzNameByteBuffer); + fprintf(stderr, "FatalError: Java_com_jogamp_opengl_impl_x11_glx_GLX: can't find %s\n", clazzNameByteBuffer); (*env)->FatalError(env, clazzNameByteBuffer); } clazzByteBuffer = (jclass)(*env)->NewGlobalRef(env, c); if(NULL==c) { - fprintf(stderr, "FatalError: Java_com_sun_opengl_impl_x11_glx_GLX: can't use %s\n", clazzNameByteBuffer); + fprintf(stderr, "FatalError: Java_com_jogamp_opengl_impl_x11_glx_GLX: can't use %s\n", clazzNameByteBuffer); (*env)->FatalError(env, clazzNameByteBuffer); } cstrInternalBufferUtil = (*env)->GetStaticMethodID(env, clazzInternalBufferUtil, clazzNameInternalBufferUtilStaticCstrName, clazzNameInternalBufferUtilStaticCstrSignature); if(NULL==cstrInternalBufferUtil) { - fprintf(stderr, "FatalError: Java_com_sun_opengl_impl_x11_glx_GLX:: can't create %s.%s %s\n", + fprintf(stderr, "FatalError: Java_com_jogamp_opengl_impl_x11_glx_GLX:: can't create %s.%s %s\n", clazzNameInternalBufferUtil, clazzNameInternalBufferUtilStaticCstrName, clazzNameInternalBufferUtilStaticCstrSignature); (*env)->FatalError(env, clazzNameInternalBufferUtilStaticCstrName); @@ -60,12 +60,12 @@ static void _initClazzAccess(JNIEnv *env) { } /* Java->C glue code: - * Java package: com.sun.opengl.impl.x11.glx.GLX + * Java package: com.jogamp.opengl.impl.x11.glx.GLX * Java method: XVisualInfo glXGetVisualFromFBConfig(long dpy, long config) * C function: XVisualInfo * glXGetVisualFromFBConfig(Display * dpy, GLXFBConfig config); */ JNIEXPORT jobject JNICALL -Java_com_sun_opengl_impl_x11_glx_GLX_glXGetVisualFromFBConfigCopied0__JJ(JNIEnv *env, jclass _unused, jlong dpy, jlong config) { +Java_com_jogamp_opengl_impl_x11_glx_GLX_glXGetVisualFromFBConfigCopied0__JJ(JNIEnv *env, jclass _unused, jlong dpy, jlong config) { XVisualInfo * _res; jobject jbyteSource; jobject jbyteCopy; @@ -78,19 +78,19 @@ Java_com_sun_opengl_impl_x11_glx_GLX_glXGetVisualFromFBConfigCopied0__JJ(JNIEnv jbyteCopy = (*env)->CallStaticObjectMethod(env, clazzInternalBufferUtil, cstrInternalBufferUtil, jbyteSource); - // FIXME: remove reference/gc jbyteSource ?? + (*env)->DeleteLocalRef(env, jbyteSource); XFree(_res); return jbyteCopy; } /* Java->C glue code: - * Java package: com.sun.opengl.impl.x11.glx.GLX + * Java package: com.jogamp.opengl.impl.x11.glx.GLX * Java method: java.nio.LongBuffer glXChooseFBConfig(long dpy, int screen, java.nio.IntBuffer attribList, java.nio.IntBuffer nitems) * C function: GLXFBConfig * glXChooseFBConfig(Display * dpy, int screen, const int * attribList, int * nitems); */ JNIEXPORT jobject JNICALL -Java_com_sun_opengl_impl_x11_glx_GLX_glXChooseFBConfigCopied1__JILjava_lang_Object_2ILjava_lang_Object_2I(JNIEnv *env, jclass _unused, jlong dpy, jint screen, jobject attribList, jint attribList_byte_offset, jobject nitems, jint nitems_byte_offset) { +Java_com_jogamp_opengl_impl_x11_glx_GLX_glXChooseFBConfigCopied1__JILjava_lang_Object_2ILjava_lang_Object_2I(JNIEnv *env, jclass _unused, jlong dpy, jint screen, jobject attribList, jint attribList_byte_offset, jobject nitems, jint nitems_byte_offset) { int * _ptr2 = NULL; int * _ptr3 = NULL; GLXFBConfig * _res; @@ -118,20 +118,19 @@ Java_com_sun_opengl_impl_x11_glx_GLX_glXChooseFBConfigCopied1__JILjava_lang_Obje jbyteSource = (*env)->NewDirectByteBuffer(env, _res, count * sizeof(GLXFBConfig)); jbyteCopy = (*env)->CallStaticObjectMethod(env, clazzInternalBufferUtil, cstrInternalBufferUtil, jbyteSource); - - // FIXME: remove reference/gc jbyteSource ?? + (*env)->DeleteLocalRef(env, jbyteSource); XFree(_res); return jbyteCopy; } /* Java->C glue code: - * Java package: com.sun.opengl.impl.x11.glx.GLX + * Java package: com.jogamp.opengl.impl.x11.glx.GLX * Java method: XVisualInfo glXChooseVisual(long dpy, int screen, java.nio.IntBuffer attribList) * C function: XVisualInfo * glXChooseVisual(Display * dpy, int screen, int * attribList); */ JNIEXPORT jobject JNICALL -Java_com_sun_opengl_impl_x11_glx_GLX_glXChooseVisualCopied1__JILjava_lang_Object_2I(JNIEnv *env, jclass _unused, jlong dpy, jint screen, jobject attribList, jint attribList_byte_offset) { +Java_com_jogamp_opengl_impl_x11_glx_GLX_glXChooseVisualCopied1__JILjava_lang_Object_2I(JNIEnv *env, jclass _unused, jlong dpy, jint screen, jobject attribList, jint attribList_byte_offset) { int * _ptr2 = NULL; XVisualInfo * _res; jobject jbyteSource; @@ -151,7 +150,7 @@ Java_com_sun_opengl_impl_x11_glx_GLX_glXChooseVisualCopied1__JILjava_lang_Object jbyteCopy = (*env)->CallStaticObjectMethod(env, clazzInternalBufferUtil, cstrInternalBufferUtil, jbyteSource); - // FIXME: remove reference/gc jbyteSource ?? + (*env)->DeleteLocalRef(env, jbyteSource); XFree(_res); return jbyteCopy; diff --git a/make/config/jogl/glx-CustomJavaCode.java b/make/config/jogl/glx-CustomJavaCode.java index 25a6156b7..fe81cd64a 100644 --- a/make/config/jogl/glx-CustomJavaCode.java +++ b/make/config/jogl/glx-CustomJavaCode.java @@ -13,17 +13,17 @@ /** Interface to C language function: <br> - Alias for: <br> <code> GLXFBConfig * glXChooseFBConfigSGIX, glXChooseFBConfig(Display * dpy, int screen, const int * attribList, int * nitems); </code> */ - public static com.sun.gluegen.runtime.PointerBuffer glXChooseFBConfigCopied(long dpy, int screen, int[] attribList, int attribList_offset, int[] nitems, int nitems_offset) + public static com.jogamp.common.nio.PointerBuffer glXChooseFBConfigCopied(long dpy, int screen, int[] attribList, int attribList_offset, int[] nitems, int nitems_offset) { if(attribList != null && attribList.length <= attribList_offset) throw new GLException("array offset argument \"attribList_offset\" (" + attribList_offset + ") equals or exceeds array length (" + attribList.length + ")"); if(nitems != null && nitems.length <= nitems_offset) throw new GLException("array offset argument \"nitems_offset\" (" + nitems_offset + ") equals or exceeds array length (" + nitems.length + ")"); java.nio.ByteBuffer _res; - _res = glXChooseFBConfigCopied1(dpy, screen, attribList, BufferFactory.SIZEOF_INT * attribList_offset, nitems, BufferFactory.SIZEOF_INT * nitems_offset); + _res = glXChooseFBConfigCopied1(dpy, screen, attribList, Buffers.SIZEOF_INT * attribList_offset, nitems, Buffers.SIZEOF_INT * nitems_offset); if (_res == null) return null; - return PointerBuffer.wrapNative2Java(_res, false); + return PointerBuffer.wrap(_res); } /** Entry point to C language function: - Alias for: <br> <code> GLXFBConfig * glXChooseFBConfigSGIX, glXChooseFBConfig(Display * dpy, int screen, const int * attribList, int * nitems); </code> */ @@ -35,7 +35,7 @@ if(attribList != null && attribList.length <= attribList_offset) throw new GLException("array offset argument \"attribList_offset\" (" + attribList_offset + ") equals or exceeds array length (" + attribList.length + ")"); java.nio.ByteBuffer _res; - _res = glXChooseVisualCopied1(dpy, screen, attribList, BufferFactory.SIZEOF_INT * attribList_offset); + _res = glXChooseVisualCopied1(dpy, screen, attribList, Buffers.SIZEOF_INT * attribList_offset); if (_res == null) return null; return XVisualInfo.create(_res); diff --git a/make/config/jogl/glx-x11.cfg b/make/config/jogl/glx-x11.cfg index c9079b84f..bbe805a04 100644 --- a/make/config/jogl/glx-x11.cfg +++ b/make/config/jogl/glx-x11.cfg @@ -3,7 +3,7 @@ JavaOutputDir gensrc/classes NativeOutputDir gensrc/native/jogl/X11 -Package com.sun.opengl.impl.x11.glx +Package com.jogamp.opengl.impl.x11.glx JavaClass GLX Style allstatic Include gl-common.cfg @@ -19,7 +19,7 @@ GetProcAddressTableExpr glxProcAddressTable # This must be present for bootstrapping SkipProcAddressGen glXGetProcAddressARB -Import com.sun.nativewindow.impl.x11.* +Import com.jogamp.nativewindow.impl.x11.* CustomJavaCode GLX private static GLXProcAddressTable glxProcAddressTable = new GLXProcAddressTable(); diff --git a/make/config/jogl/glxext.cfg b/make/config/jogl/glxext.cfg index 39ba379c4..1dfc8fccd 100755 --- a/make/config/jogl/glxext.cfg +++ b/make/config/jogl/glxext.cfg @@ -3,13 +3,13 @@ JavaOutputDir gensrc/classes NativeOutputDir gensrc/native/jogl/X11 -Package com.sun.opengl.impl.x11.glx +Package com.jogamp.opengl.impl.x11.glx Style InterfaceAndImpl JavaClass GLXExt -ImplPackage com.sun.opengl.impl.x11.glx +ImplPackage com.jogamp.opengl.impl.x11.glx ImplJavaClass GLXExtImpl -ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/sun/opengl/impl/x11/glx/GLX.java +ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/impl/x11/glx/GLX.java Include gl-common.cfg Include gl-desktop.cfg @@ -20,7 +20,7 @@ EmitProcAddressTable true ProcAddressTableClassName GLXExtProcAddressTable GetProcAddressTableExpr _context.getGLXExtProcAddressTable() -Import com.sun.nativewindow.impl.x11.* +Import com.jogamp.nativewindow.impl.x11.* # Ignore everything that doesn't start with glX or GLX IgnoreNot ^(glX|GLX).+ diff --git a/make/config/jogl/wgl-win32.cfg b/make/config/jogl/wgl-win32.cfg index 6cd4fd412..2a69290a4 100644 --- a/make/config/jogl/wgl-win32.cfg +++ b/make/config/jogl/wgl-win32.cfg @@ -3,7 +3,7 @@ JavaOutputDir gensrc/classes NativeOutputDir gensrc/native/jogl/Windows -Package com.sun.opengl.impl.windows.wgl +Package com.jogamp.opengl.impl.windows.wgl JavaClass WGL Style allstatic Include gl-common.cfg diff --git a/make/config/jogl/wglext.cfg b/make/config/jogl/wglext.cfg index ea9a0257e..35c43cb86 100644 --- a/make/config/jogl/wglext.cfg +++ b/make/config/jogl/wglext.cfg @@ -3,10 +3,10 @@ JavaOutputDir gensrc/classes NativeOutputDir gensrc/native/jogl/Windows -Package com.sun.opengl.impl.windows.wgl +Package com.jogamp.opengl.impl.windows.wgl Style InterfaceAndImpl JavaClass WGLExt -ImplPackage com.sun.opengl.impl.windows.wgl +ImplPackage com.jogamp.opengl.impl.windows.wgl ImplJavaClass WGLExtImpl Include gl-common.cfg Include gl-desktop.cfg diff --git a/make/config/nativewindow/jawt-DrawingSurfaceInfo-CustomJavaCode.java b/make/config/nativewindow/jawt-DrawingSurfaceInfo-CustomJavaCode.java index dab377ad4..aad0ab261 100755 --- a/make/config/nativewindow/jawt-DrawingSurfaceInfo-CustomJavaCode.java +++ b/make/config/nativewindow/jawt-DrawingSurfaceInfo-CustomJavaCode.java @@ -16,12 +16,12 @@ private static JAWT_PlatformInfo newPlatformInfo(ByteBuffer buf) { try { Class factoryClass; if (osName.startsWith("wind")) { - factoryClass = Class.forName("com.sun.nativewindow.impl.jawt.windows.JAWT_Win32DrawingSurfaceInfo"); + factoryClass = Class.forName("com.jogamp.nativewindow.impl.jawt.windows.JAWT_Win32DrawingSurfaceInfo"); } else if (osName.startsWith("mac os x")) { - factoryClass = Class.forName("com.sun.nativewindow.impl.jawt.macosx.JAWT_MacOSXDrawingSurfaceInfo"); + factoryClass = Class.forName("com.jogamp.nativewindow.impl.jawt.macosx.JAWT_MacOSXDrawingSurfaceInfo"); } else { // Assume Linux, Solaris, etc. Should probably test for these explicitly. - factoryClass = Class.forName("com.sun.nativewindow.impl.jawt.x11.JAWT_X11DrawingSurfaceInfo"); + factoryClass = Class.forName("com.jogamp.nativewindow.impl.jawt.x11.JAWT_X11DrawingSurfaceInfo"); } platformInfoFactoryMethod = factoryClass.getMethod("create", new Class[] { ByteBuffer.class }); diff --git a/make/config/nativewindow/jawt-macosx.cfg b/make/config/nativewindow/jawt-macosx.cfg index b047ecdff..dea1a27b7 100644 --- a/make/config/nativewindow/jawt-macosx.cfg +++ b/make/config/nativewindow/jawt-macosx.cfg @@ -1,7 +1,7 @@ # This .cfg file is used to generate the interface to the JAWT, which # is used by the MacOSXOnscreenGLContext. Style AllStatic -Package com.sun.nativewindow.impl.jawt +Package com.jogamp.nativewindow.impl.jawt JavaClass JAWTFactory JavaOutputDir gensrc/classes NativeOutputDir gensrc/native/MacOSX @@ -22,8 +22,8 @@ CustomCCode #include <jawt.h> CustomCCode #include </usr/include/machine/types.h> import java.security.* -import com.sun.nativewindow.impl.jawt.* -StructPackage JAWT_MacOSXDrawingSurfaceInfo com.sun.nativewindow.impl.jawt.macosx +import com.jogamp.nativewindow.impl.jawt.* +StructPackage JAWT_MacOSXDrawingSurfaceInfo com.jogamp.nativewindow.impl.jawt.macosx EmitStruct JAWT_MacOSXDrawingSurfaceInfo Implements JAWT_MacOSXDrawingSurfaceInfo JAWT_PlatformInfo diff --git a/make/config/nativewindow/jawt-win32.cfg b/make/config/nativewindow/jawt-win32.cfg index e7754843e..af0c7ce29 100644 --- a/make/config/nativewindow/jawt-win32.cfg +++ b/make/config/nativewindow/jawt-win32.cfg @@ -1,7 +1,7 @@ # This .cfg file is used to generate the interface to the JAWT, which # is used by the WindowsOnscreenGLContext. Style AllStatic -Package com.sun.nativewindow.impl.jawt +Package com.jogamp.nativewindow.impl.jawt JavaClass JAWTFactory JavaOutputDir gensrc/classes NativeOutputDir gensrc/native/Windows @@ -22,8 +22,8 @@ CustomCCode #include <jawt.h> Include ../intptr.cfg import java.security.* -import com.sun.nativewindow.impl.jawt.* -StructPackage JAWT_Win32DrawingSurfaceInfo com.sun.nativewindow.impl.jawt.windows +import com.jogamp.nativewindow.impl.jawt.* +StructPackage JAWT_Win32DrawingSurfaceInfo com.jogamp.nativewindow.impl.jawt.windows EmitStruct JAWT_Win32DrawingSurfaceInfo Implements JAWT_Win32DrawingSurfaceInfo JAWT_PlatformInfo diff --git a/make/config/nativewindow/jawt-x11.cfg b/make/config/nativewindow/jawt-x11.cfg index 25df57a1f..ccfe009dd 100644 --- a/make/config/nativewindow/jawt-x11.cfg +++ b/make/config/nativewindow/jawt-x11.cfg @@ -1,7 +1,7 @@ # This .cfg file is used to generate the interface to the JAWT, which # is used by the X11OnscreenGLContext. Style AllStatic -Package com.sun.nativewindow.impl.jawt +Package com.jogamp.nativewindow.impl.jawt JavaClass JAWTFactory JavaOutputDir gensrc/classes NativeOutputDir gensrc/native/X11 @@ -22,8 +22,8 @@ CustomCCode #include <inttypes.h> CustomCCode #include <jawt.h> import java.security.* -import com.sun.nativewindow.impl.jawt.* -StructPackage JAWT_X11DrawingSurfaceInfo com.sun.nativewindow.impl.jawt.x11 +import com.jogamp.nativewindow.impl.jawt.* +StructPackage JAWT_X11DrawingSurfaceInfo com.jogamp.nativewindow.impl.jawt.x11 EmitStruct JAWT_X11DrawingSurfaceInfo Implements JAWT_X11DrawingSurfaceInfo JAWT_PlatformInfo diff --git a/make/config/nativewindow/x11-CustomCCode.c b/make/config/nativewindow/x11-CustomCCode.c deleted file mode 100755 index c1f66fee1..000000000 --- a/make/config/nativewindow/x11-CustomCCode.c +++ /dev/null @@ -1,169 +0,0 @@ -#include <inttypes.h> -#include <X11/Xlib.h> -#include <X11/Xutil.h> -/* Linux headers don't work properly */ -#define __USE_GNU -#include <dlfcn.h> -#undef __USE_GNU - -/* Current versions of Solaris don't expose the XF86 extensions, - although with the recent transition to Xorg this will probably - happen in an upcoming release */ -#if !defined(__sun) && !defined(_HPUX) -#include <X11/extensions/xf86vmode.h> -#else -/* Need to provide stubs for these */ -Bool XF86VidModeGetGammaRampSize( - Display *display, - int screen, - int* size) -{ - return False; -} - -Bool XF86VidModeGetGammaRamp( - Display *display, - int screen, - int size, - unsigned short *red_array, - unsigned short *green_array, - unsigned short *blue_array) { - return False; -} -Bool XF86VidModeSetGammaRamp( - Display *display, - int screen, - int size, - unsigned short *red_array, - unsigned short *green_array, - unsigned short *blue_array) { - return False; -} -#endif - -/* HP-UX doesn't define RTLD_DEFAULT. */ -#if defined(_HPUX) && !defined(RTLD_DEFAULT) -#define RTLD_DEFAULT NULL -#endif - -/* Need to expose DefaultScreen and RootWindow macros to Java */ -JNIEXPORT jlong JNICALL -Java_com_sun_nativewindow_impl_x11_X11Lib_DefaultScreen(JNIEnv *env, jclass _unused, jlong display) { - return DefaultScreen((Display*) (intptr_t) display); -} - -JNIEXPORT jlong JNICALL -Java_com_sun_nativewindow_impl_x11_X11Lib_DefaultVisualID(JNIEnv *env, jclass _unused, jlong display, jint screen) { - return (jlong) XVisualIDFromVisual( DefaultVisual( (Display*) (intptr_t) display, screen ) ); -} - -JNIEXPORT jlong JNICALL -Java_com_sun_nativewindow_impl_x11_X11Lib_RootWindow(JNIEnv *env, jclass _unused, jlong display, jint screen) { - return RootWindow((Display*) (intptr_t) display, screen); -} - -JNIEXPORT jlong JNICALL -Java_com_sun_nativewindow_impl_x11_X11Lib_dlopen(JNIEnv *env, jclass _unused, jstring name) { - const jbyte* chars; - void* res; - chars = (*env)->GetStringUTFChars(env, name, NULL); - res = dlopen(chars, RTLD_LAZY | RTLD_GLOBAL); - (*env)->ReleaseStringUTFChars(env, name, chars); - return (jlong) ((intptr_t) res); -} - -JNIEXPORT jlong JNICALL -Java_com_sun_nativewindow_impl_x11_X11Lib_dlsym(JNIEnv *env, jclass _unused, jstring name) { - const jbyte* chars; - void* res; - chars = (*env)->GetStringUTFChars(env, name, NULL); - res = dlsym(RTLD_DEFAULT, chars); - (*env)->ReleaseStringUTFChars(env, name, chars); - return (jlong) ((intptr_t) res); -} - -/* Need to pull this in as we don't have a stub header for it */ -extern Bool XineramaEnabled(Display* display); - -static const char * clazzNameInternalBufferUtil = "com/sun/nativewindow/impl/InternalBufferUtil"; -static const char * clazzNameInternalBufferUtilStaticCstrName = "copyByteBuffer"; -static const char * clazzNameInternalBufferUtilStaticCstrSignature = "(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;"; -static const char * clazzNameByteBuffer = "java/nio/ByteBuffer"; -static jclass clazzInternalBufferUtil = NULL; -static jmethodID cstrInternalBufferUtil = NULL; -static jclass clazzByteBuffer = NULL; - -static void _initClazzAccess(JNIEnv *env) { - jclass c; - - if(NULL!=cstrInternalBufferUtil) return ; - - c = (*env)->FindClass(env, clazzNameInternalBufferUtil); - if(NULL==c) { - fprintf(stderr, "FatalError: Java_com_sun_nativewindow_impl_x11_X11Lib: can't find %s\n", clazzNameInternalBufferUtil); - (*env)->FatalError(env, clazzNameInternalBufferUtil); - } - clazzInternalBufferUtil = (jclass)(*env)->NewGlobalRef(env, c); - if(NULL==clazzInternalBufferUtil) { - fprintf(stderr, "FatalError: Java_com_sun_nativewindow_impl_x11_X11Lib: can't use %s\n", clazzNameInternalBufferUtil); - (*env)->FatalError(env, clazzNameInternalBufferUtil); - } - c = (*env)->FindClass(env, clazzNameByteBuffer); - if(NULL==c) { - fprintf(stderr, "FatalError: Java_com_sun_nativewindow_impl_x11_X11Lib: can't find %s\n", clazzNameByteBuffer); - (*env)->FatalError(env, clazzNameByteBuffer); - } - clazzByteBuffer = (jclass)(*env)->NewGlobalRef(env, c); - if(NULL==c) { - fprintf(stderr, "FatalError: Java_com_sun_nativewindow_impl_x11_X11Lib: can't use %s\n", clazzNameByteBuffer); - (*env)->FatalError(env, clazzNameByteBuffer); - } - - cstrInternalBufferUtil = (*env)->GetStaticMethodID(env, clazzInternalBufferUtil, - clazzNameInternalBufferUtilStaticCstrName, clazzNameInternalBufferUtilStaticCstrSignature); - if(NULL==cstrInternalBufferUtil) { - fprintf(stderr, "FatalError: Java_com_sun_nativewindow_impl_x11_X11Lib:: can't create %s.%s %s\n", - clazzNameInternalBufferUtil, - clazzNameInternalBufferUtilStaticCstrName, clazzNameInternalBufferUtilStaticCstrSignature); - (*env)->FatalError(env, clazzNameInternalBufferUtilStaticCstrName); - } -} - -/* Java->C glue code: - * Java package: com.sun.nativewindow.impl.x11.X11Lib - * Java method: XVisualInfo XGetVisualInfo(long arg0, long arg1, XVisualInfo arg2, java.nio.IntBuffer arg3) - * C function: XVisualInfo * XGetVisualInfo(Display * , long, XVisualInfo * , int * ); - */ -JNIEXPORT jobject JNICALL -Java_com_sun_nativewindow_impl_x11_X11Lib_XGetVisualInfoCopied1__JJLjava_nio_ByteBuffer_2Ljava_lang_Object_2I(JNIEnv *env, jclass _unused, jlong arg0, jlong arg1, jobject arg2, jobject arg3, jint arg3_byte_offset) { - XVisualInfo * _ptr2 = NULL; - int * _ptr3 = NULL; - XVisualInfo * _res; - int count; - jobject jbyteSource; - jobject jbyteCopy; - if (arg2 != NULL) { - _ptr2 = (XVisualInfo *) (((char*) (*env)->GetDirectBufferAddress(env, arg2)) + 0); - } - if (arg3 != NULL) { - _ptr3 = (int *) (((char*) (*env)->GetPrimitiveArrayCritical(env, arg3, NULL)) + arg3_byte_offset); - } - _res = XGetVisualInfo((Display *) (intptr_t) arg0, (long) arg1, (XVisualInfo *) _ptr2, (int *) _ptr3); - count = _ptr3[0]; - if (arg3 != NULL) { - (*env)->ReleasePrimitiveArrayCritical(env, arg3, _ptr3, 0); - } - if (_res == NULL) return NULL; - - _initClazzAccess(env); - - jbyteSource = (*env)->NewDirectByteBuffer(env, _res, count * sizeof(XVisualInfo)); - jbyteCopy = (*env)->CallStaticObjectMethod(env, - clazzInternalBufferUtil, cstrInternalBufferUtil, jbyteSource); - - // FIXME: remove reference/gc jbyteSource ?? - XFree(_res); - - return jbyteCopy; -} - diff --git a/make/config/nativewindow/x11-CustomJavaCode.java b/make/config/nativewindow/x11-CustomJavaCode.java index b1ee3a6c3..44bb1e8d0 100644 --- a/make/config/nativewindow/x11-CustomJavaCode.java +++ b/make/config/nativewindow/x11-CustomJavaCode.java @@ -5,10 +5,10 @@ if(arg3 != null && arg3.length <= arg3_offset) throw new RuntimeException("array offset argument \"arg3_offset\" (" + arg3_offset + ") equals or exceeds array length (" + arg3.length + ")"); java.nio.ByteBuffer _res; - _res = XGetVisualInfoCopied1(arg0, arg1, ((arg2 == null) ? null : arg2.getBuffer()), arg3, BufferFactory.SIZEOF_INT * arg3_offset); + _res = XGetVisualInfoCopied1(arg0, arg1, ((arg2 == null) ? null : arg2.getBuffer()), arg3, Buffers.SIZEOF_INT * arg3_offset); if (_res == null) return null; - BufferFactory.nativeOrder(_res); + Buffers.nativeOrder(_res); XVisualInfo[] _retarray = new XVisualInfo[getFirstElement(arg3, arg3_offset)]; for (int _count = 0; _count < getFirstElement(arg3, arg3_offset); _count++) { _res.position(_count * XVisualInfo.size()); @@ -24,3 +24,15 @@ /** Entry point to C language function: <code> XVisualInfo * XGetVisualInfo(Display * , long, XVisualInfo * , int * ); </code> */ private static native java.nio.ByteBuffer XGetVisualInfoCopied1(long arg0, long arg1, java.nio.ByteBuffer arg2, Object arg3, int arg3_byte_offset); + public static native long DefaultVisualID(long display, int screen); + + public static native long CreateDummyWindow(long display, int screen_index, long visualID); + public static native void DestroyDummyWindow(long display, long window); + + public static native long dlopen(String name); + public static native long dlsym(String name); + + public static native int XCloseDisplay(long display); + public static native void XUnlockDisplay(long display); + public static native void XLockDisplay(long display); + diff --git a/make/config/nativewindow/x11-lib.cfg b/make/config/nativewindow/x11-lib.cfg index 321444725..cf9642398 100644 --- a/make/config/nativewindow/x11-lib.cfg +++ b/make/config/nativewindow/x11-lib.cfg @@ -1,6 +1,6 @@ # This .cfg file is used to generate the interface to the GLX routines # used internally by the X11GLContext implementation. -Package com.sun.nativewindow.impl.x11 +Package com.jogamp.nativewindow.impl.x11 JavaClass X11Lib Style allstatic @@ -20,24 +20,25 @@ Opaque long Display * Opaque boolean Bool Opaque long GLXFBConfig -CustomJavaCode X11Lib public static native long dlopen(String name); -CustomJavaCode X11Lib public static native long dlsym(String name); - IncludeAs CustomJavaCode X11Lib x11-CustomJavaCode.java -IncludeAs CustomCCode x11-CustomCCode.c +# Now resides in x11/Xmisc.c: IncludeAs CustomCCode x11-CustomCCode.c ArgumentIsString XOpenDisplay 0 -# Need to expose DefaultScreen and RootWindow macros to Java -CustomJavaCode X11Lib public static native int DefaultScreen(long display); -CustomJavaCode X11Lib public static native long DefaultVisualID(long display, int screen); -CustomJavaCode X11Lib public static native long RootWindow(long display, int screen); - # We have Custom code for the following Ignore XGetVisualInfo +ManuallyImplement XCloseDisplay +ManuallyImplement XUnlockDisplay +ManuallyImplement XLockDisplay + # Helper routine to make the ReturnedArrayLength expression below work correctly CustomJavaCode X11Lib private static int getFirstElement(IntBuffer buf) { return buf.get(buf.position()); } CustomJavaCode X11Lib private static int getFirstElement(int[] arr, int offset) { return arr[offset]; } CustomJavaCode XVisualInfo public static XVisualInfo create(XVisualInfo s) { XVisualInfo d = XVisualInfo.create(); d.getBuffer().put(s.getBuffer()); d.getBuffer().rewind(); s.getBuffer().rewind(); return d; } + +CustomCCode #include <inttypes.h> +CustomCCode #include <X11/Xlib.h> +CustomCCode #include <X11/Xutil.h> + diff --git a/make/java-run-newt.sh b/make/java-run-newt.sh new file mode 100755 index 000000000..384cf24c8 --- /dev/null +++ b/make/java-run-newt.sh @@ -0,0 +1,28 @@ +#! /bin/sh + +function print_usage() { + echo "Usage: $0 jogl-build-dir ..." +} + +if [ -z "$1" ] ; then + echo JOGL BUILD DIR missing + print_usage + exit +fi + +. ./setenv-jogl.sh $1 +shift + +MOSX=0 +uname -a | grep -i Darwin && MOSX=1 + +if [ $MOSX -eq 1 ] ; then + X_ARGS="-XstartOnFirstThread" +fi + +# D_ARGS="-Dgluegen.debug.ProcAddressHelper=true -Dgluegen.debug.NativeLibrary=true -Dnativewindow.debug=all -Djogl.debug=all -Dnewt.debug=all" +D_ARGS="-Dnativewindow.debug=all -Djogl.debug=all -Dnewt.debug=all -Djogl.debug.GLSLState" +# D_ARGS="-Dnativewindow.debug.X11Util=true -Djogl.debug.GLDrawableFactory=true" +# D_ARGS="-Dnativewindow.debug.X11Util=true" + +java $X_ARGS -Djava.awt.headless=true $D_ARGS com.jogamp.newt.util.MainThread $* 2>&1 | tee java-run-newt.log diff --git a/make/java-run.sh b/make/java-run.sh new file mode 100755 index 000000000..5e48cef3a --- /dev/null +++ b/make/java-run.sh @@ -0,0 +1,19 @@ +#! /bin/sh + +function print_usage() { + echo "Usage: $0 jogl-build-dir ..." +} + +if [ -z "$1" ] ; then + echo JOGL BUILD DIR missing + print_usage + exit +fi + +. ./setenv-jogl.sh $1 +shift + +MOSX=0 +uname -a | grep -i Darwin && MOSX=1 + +java $X_ARGS $* 2>&1 | tee java-run.log diff --git a/make/java-win32-dbg.bat b/make/java-win32-dbg.bat new file mode 100644 index 000000000..69287f8e9 --- /dev/null +++ b/make/java-win32-dbg.bat @@ -0,0 +1,16 @@ +
+set BLD_SUB=build-win32
+set J2RE_HOME=c:\jre1.6.0_19
+set JAVA_HOME=c:\jdk1.6.0_19
+set ANT_PATH=C:\apache-ant-1.8.0
+
+set PATH=%JAVA_HOME%\bin;%ANT_PATH%\bin;c:\mingw\bin;%PATH%
+
+set BLD_DIR=..\%BLD_SUB%
+set LIB_DIR=%BLD_DIR%\lib;..\..\gluegen\%BLD_SUB%\obj
+
+set CP_ALL=.;%BLD_DIR%\jogl\jogl.all.jar;%BLD_DIR%\nativewindow\nativewindow.all.jar;%BLD_DIR%\newt\newt.all.jar;%BLD_DIR%\jogl\jogl.test.jar;..\..\gluegen\%BLD_SUB%\gluegen-rt.jar;..\..\gluegen\make\lib\junit-4.5.jar;%ANT_PATH%\lib\ant.jar;%ANT_PATH%\lib\ant-junit.jar
+
+echo CP_ALL %CP_ALL%
+
+%J2RE_HOME%\bin\java -classpath %CP_ALL% "-Djava.library.path=%LIB_DIR%" "-Dnativewindow.debug=all" "-Djogl.debug=all" "-Dnewt.debug=all" "-Dsun.java2d.noddraw=true" "-Dsun.awt.noerasebackground=true" %1 %2 %3 %4 %5 %6 %7 %8 %9 > java-win32-dbg.log 2>&1
diff --git a/make/java-win32.bat b/make/java-win32.bat new file mode 100644 index 000000000..5f731a14d --- /dev/null +++ b/make/java-win32.bat @@ -0,0 +1,16 @@ +
+set BLD_SUB=build-win32
+set J2RE_HOME=c:\jre1.6.0_19
+set JAVA_HOME=c:\jdk1.6.0_19
+set ANT_PATH=C:\apache-ant-1.8.0
+
+set PATH=%JAVA_HOME%\bin;%ANT_PATH%\bin;c:\mingw\bin;%PATH%
+
+set BLD_DIR=..\%BLD_SUB%
+set LIB_DIR=%BLD_DIR%\lib;..\..\gluegen\%BLD_SUB%\obj
+
+set CP_ALL=.;%BLD_DIR%\jogl\jogl.all.jar;%BLD_DIR%\nativewindow\nativewindow.all.jar;%BLD_DIR%\newt\newt.all.jar;%BLD_DIR%\jogl\jogl.test.jar;..\..\gluegen\%BLD_SUB%\gluegen-rt.jar;..\..\gluegen\make\lib\junit-4.5.jar;%ANT_PATH%\lib\ant.jar;%ANT_PATH%\lib\ant-junit.jar
+
+echo CP_ALL %CP_ALL%
+
+%J2RE_HOME%\bin\java -classpath %CP_ALL% "-Djava.library.path=%LIB_DIR%" "-Dsun.java2d.noddraw=true" "-Dsun.awt.noerasebackground=true" %1 %2 %3 %4 %5 %6 %7 %8 %9 > java-win32.log 2>&1
diff --git a/make/jogl.properties b/make/jogl.properties index 4f5f4d44b..34a593dac 100644 --- a/make/jogl.properties +++ b/make/jogl.properties @@ -16,5 +16,5 @@ # default location, modify the appropriate variable to point to the # absolute path of the lib directory # -windows.cg.lib=C:/Program Files/Nvidia Corporation/Cg/lib +windows.cg.lib=C:/Cg-2.2/lib x11.cg.lib=/usr/lib diff --git a/make/joglversion b/make/joglversion index d013d0967..b65b6e3b6 100644 --- a/make/joglversion +++ b/make/joglversion @@ -3,6 +3,6 @@ Specification-Version: @BASEVERSION@ Specification-Vendor: Sun Microsystems, Inc. Implementation-Title: Java Bindings for OpenGL Runtime Environment Implementation-Version: @VERSION@ -Implementation-Vendor: java.net JOGL community +Implementation-Vendor: JogAmp community Extension-Name: javax.media.opengl -Implementation-Vendor-Id: com.sun +Implementation-Vendor-Id: com.jogamp diff --git a/make/joglversion-cdc b/make/joglversion-cdc index 5a2950b55..5056fbaf3 100644 --- a/make/joglversion-cdc +++ b/make/joglversion-cdc @@ -3,6 +3,6 @@ Specification-Version: @BASEVERSION@ Specification-Vendor: Sun Microsystems, Inc. Implementation-Title: Java Bindings for OpenGL Runtime Environment CDC Implementation-Version: @VERSION@ -Implementation-Vendor: java.net JOGL community +Implementation-Vendor: JogAmp community Extension-Name: javax.media.opengl -Implementation-Vendor-Id: com.sun +Implementation-Vendor-Id: com.jogamp diff --git a/make/lib/gluegen.compiler.intelgdl.xml b/make/lib/gluegen.compiler.intelgdl.xml index d0a1c50e2..9691a39d5 100644 --- a/make/lib/gluegen.compiler.intelgdl.xml +++ b/make/lib/gluegen.compiler.intelgdl.xml @@ -4,17 +4,18 @@ This is an example of how to add custom compiler/linker arguments for a crosscompiler and a custom NEWT windowing implementation. - You can use such files with setting the property 'gluegen.user.compiler.file', ie: + You can use such files with setting the property 'gluegen-cpptasks.file', ie: - -Dgluegen.user.compiler.file=`pwd`/lib/gluegen.compiler.intelgdl.xml + -Dgluegen-cpptasks.file=`pwd`/lib/gluegen.compiler.intelgdl.xml - or by having such file in your home directory, ie: - - ~/gluegen.compiler.xml --> <project name="GlueGen-cpptasks" basedir="."> + + <import file="../gluegen-cpptasks-base.xml" optional="false" /> + <target name="gluegen.cpptasks.configure.compiler" depends="setup.java.home.dir"> + <echo message="Custom forced linker.cfg.linux, linker.cfg.linux.amd64" /> <linker id="linker.cfg.linux" name="gcc"> <linkerarg value="-m32" /> <linkerarg value="-L/usr/lib" /> diff --git a/make/lstjars.sh b/make/lstjars.sh index 5357cde11..3837be5e3 100644 --- a/make/lstjars.sh +++ b/make/lstjars.sh @@ -1,17 +1,18 @@ #! /bin/sh THISDIR=$(pwd) -STATDIR=$THISDIR/../stats BUILDDIR=$1 shift BUILDDIR_GLUEGEN=$1 shift if [ -z "$BUILDDIR" -o -z "$BUILDDIR_GLUEGEN" ] ; then - echo "usage $0 <BUILDDIR-JOGL> <BUILDDIR-GLUEGEN>" + echo "usage $0 <BUILDDIR-JOGL> <BUILDDIR-GLUEGEN> [-skippack200]" exit 1 fi +STATDIR=$BUILDDIR-stats + skippack200=0 if [ "$1" = "-skippack200" ] ; then skippack200=1 @@ -23,6 +24,69 @@ function report() { du -ksc $* } +OSS=x11 +ARCH=linux-amd64 + +function listdeployment() { + JAR_SUFFIX=$1 + shift + + echo JOGL Deployment Payload for $JAR_SUFFIX + echo + + echo JOGL ES1 NEWT CORE + report gluegen-rt.$JAR_SUFFIX nativewindow.all-noawt.$JAR_SUFFIX jogl.core.$JAR_SUFFIX jogl.util.$JAR_SUFFIX jogl.egl.$JAR_SUFFIX jogl.gles1.$JAR_SUFFIX newt.all-noawt.$JAR_SUFFIX libgluegen-rt.so.gz libjogl_es1.so.gz libnewt.so.gz + echo + + echo JOGL ES2 NEWT CORE + report gluegen-rt.$JAR_SUFFIX nativewindow.all-noawt.$JAR_SUFFIX jogl.core.$JAR_SUFFIX jogl.util.$JAR_SUFFIX jogl.egl.$JAR_SUFFIX jogl.gles2.$JAR_SUFFIX newt.all-noawt.$JAR_SUFFIX libgluegen-rt.so.gz libjogl_es2.so.gz libnewt.so.gz + echo + + echo JOGL ES2 NEWT CORE FIXED + report gluegen-rt.$JAR_SUFFIX nativewindow.all-noawt.$JAR_SUFFIX jogl.core.$JAR_SUFFIX jogl.util.$JAR_SUFFIX jogl.egl.$JAR_SUFFIX jogl.gles2.$JAR_SUFFIX jogl.util.fixedfuncemu.$JAR_SUFFIX newt.all-noawt.$JAR_SUFFIX libgluegen-rt.so.gz libjogl_es2.so.gz libnewt.so.gz + echo + + echo JOGL GL2ES12 NEWT + report gluegen-rt.$JAR_SUFFIX nativewindow.all-noawt.$JAR_SUFFIX jogl.core.$JAR_SUFFIX jogl.util.$JAR_SUFFIX jogl.os.$OSS.$JAR_SUFFIX jogl.gl2es12.$JAR_SUFFIX newt.all-noawt.$JAR_SUFFIX libgluegen-rt.so.gz libjogl_gl2es12.so.gz libnewt.so.gz libnativewindow_$OSS.so.gz + echo + + echo JOGL GL2 NEWT + report gluegen-rt.$JAR_SUFFIX nativewindow.all-noawt.$JAR_SUFFIX jogl.core.$JAR_SUFFIX jogl.util.$JAR_SUFFIX jogl.os.$OSS.$JAR_SUFFIX jogl.gldesktop.$JAR_SUFFIX newt.all-noawt.$JAR_SUFFIX libgluegen-rt.so.gz libjogl_desktop.so.gz libnewt.so.gz libnativewindow_$OSS.so.gz + echo + + echo JOGL GL2 AWT + report gluegen-rt.$JAR_SUFFIX nativewindow.all.$JAR_SUFFIX jogl.core.$JAR_SUFFIX jogl.util.$JAR_SUFFIX jogl.os.$OSS.$JAR_SUFFIX jogl.gldesktop.$JAR_SUFFIX jogl.awt.$JAR_SUFFIX libgluegen-rt.so.gz libjogl_desktop.so.gz libnativewindow_$OSS.so.gz libnativewindow_awt.so.gz + echo + + echo JOGL ALL AWT + report gluegen-rt.$JAR_SUFFIX nativewindow.all.$JAR_SUFFIX jogl.all.$JAR_SUFFIX libgluegen-rt.so.gz libjogl_desktop.so.gz libnativewindow_$OSS.so.gz libnativewindow_awt.so.gz + echo + + echo JOGL ALL No AWT + report gluegen-rt.$JAR_SUFFIX nativewindow.all-noawt.$JAR_SUFFIX jogl.all-noawt.$JAR_SUFFIX newt.all-noawt.$JAR_SUFFIX libgluegen-rt.so.gz libjogl_desktop.so.gz libnativewindow_$OSS.so.gz libnewt.so.gz + echo + + echo JOGL CDCFP DESKTOP + report gluegen-rt-cdc.$JAR_SUFFIX nativewindow.all.$JAR_SUFFIX jogl.all.cdc.$JAR_SUFFIX newt.all.cdc.$JAR_SUFFIX libgluegen-rt.so.gz libnativewindow_$OSS.so.gz libnewt.so.gz + echo + + echo JOGL CDCFP ES1 MOBILE + report gluegen-rt-cdc.$JAR_SUFFIX jogl.core.cdc.$JAR_SUFFIX jogl.egl.cdc.$JAR_SUFFIX jogl.gles1.cdc.$JAR_SUFFIX jogl.util.cdc.$JAR_SUFFIX nativewindow.all.cdc.$JAR_SUFFIX newt.all.cdc.$JAR_SUFFIX libgluegen-rt.so.gz libjogl_es1.so.gz libnewt.so.gz + echo + + echo JOGL CDCFP ES2 MOBILE + report gluegen-rt-cdc.$JAR_SUFFIX jogl.core.cdc.$JAR_SUFFIX jogl.egl.cdc.$JAR_SUFFIX jogl.gles2.cdc.$JAR_SUFFIX jogl.util.cdc.$JAR_SUFFIX nativewindow.all.cdc.$JAR_SUFFIX newt.all.cdc.$JAR_SUFFIX libgluegen-rt.so.gz libjogl_es2.so.gz libnewt.so.gz + echo + + echo JOGL GLU + report jogl.glu.*$JAR_SUFFIX + echo + + echo JOGL EVERYTHING + report *.all.$JAR_SUFFIX libgluegen-rt.so.gz libnativewindow_$OSS.so.gz libnativewindow_awt.so.gz libjogl_desktop.so.gz libjogl_es1.so.gz libjogl_es2.so.gz libnewt.so.gz + echo +} + rm -rf $STATDIR mkdir -p $STATDIR cp -a $BUILDDIR/nativewindow/obj/*.so $STATDIR @@ -59,24 +123,26 @@ done rm -rf nope mkdir -p nope -mv *.cdc.lst *.all.lst nope/ +mv *.cdc.lst *.all*.lst nope/ -mv jogl.gl2es12.*.lst jogl.gl2.*.lst nope/ -echo duplicates - w/o gl2es12.* gl2.* +mv jogl.gl2es12.*.lst jogl.gldesktop.*.lst nope/ +echo duplicates - w/o gl2es12.* gldesktop.* echo sort jogl*.lst | uniq -d mv nope/* . -mv *.cdc.lst *.all.lst nope/ +mv *.cdc.lst *.all*.lst nope/ cat *.lst | sort -u > allparts.lst mv nope/* . -cat *.all.lst | sort -u > allall.lst +cat *.all.lst gluegen-rt.lst | sort -u > allall.lst cat jogl.all.cdc.lst newt.all.cdc.lst nativewindow.core.lst | sort -u > allcdc.lst echo all vs allparts delta echo diff -Nur allparts.lst allall.lst +listdeployment jar + if [ $skippack200 -eq 0 ] ; then for i in *.jar ; do fname=$i @@ -84,57 +150,6 @@ if [ $skippack200 -eq 0 ] ; then echo pack200 $bname.pack.gz $fname pack200 $bname.pack.gz $fname done - JAR_SUFFIX=pack.gz -else - JAR_SUFFIX=jar + listdeployment pack.gz fi -OSS=x11 - -echo JOGL ES1 NEWT CORE -report gluegen-rt.$JAR_SUFFIX nativewindow.core.$JAR_SUFFIX jogl.core.$JAR_SUFFIX jogl.util.$JAR_SUFFIX jogl.egl.$JAR_SUFFIX jogl.gles1.$JAR_SUFFIX newt.core.$JAR_SUFFIX newt.ogl.$JAR_SUFFIX libgluegen-rt.so.gz libnativewindow_jvm.so.gz libjogl_es1.so.gz libnewt.so.gz -echo - -echo JOGL ES2 NEWT CORE -report gluegen-rt.$JAR_SUFFIX nativewindow.core.$JAR_SUFFIX jogl.core.$JAR_SUFFIX jogl.util.$JAR_SUFFIX jogl.egl.$JAR_SUFFIX jogl.gles2.$JAR_SUFFIX newt.core.$JAR_SUFFIX newt.ogl.$JAR_SUFFIX libgluegen-rt.so.gz libnativewindow_jvm.so.gz libjogl_es2.so.gz libnewt.so.gz -echo - -echo JOGL ES2 NEWT CORE FIXED -report gluegen-rt.$JAR_SUFFIX nativewindow.core.$JAR_SUFFIX jogl.core.$JAR_SUFFIX jogl.util.$JAR_SUFFIX jogl.egl.$JAR_SUFFIX jogl.gles2.$JAR_SUFFIX jogl.util.fixedfuncemu.$JAR_SUFFIX newt.core.$JAR_SUFFIX newt.ogl.$JAR_SUFFIX libgluegen-rt.so.gz libnativewindow_jvm.so.gz libjogl_es2.so.gz libnewt.so.gz -echo - -echo JOGL GL2ES12 NEWT -report gluegen-rt.$JAR_SUFFIX nativewindow.core.$JAR_SUFFIX jogl.core.$JAR_SUFFIX jogl.util.$JAR_SUFFIX jogl.gl2es12.$OSS.$JAR_SUFFIX newt.core.$JAR_SUFFIX newt.ogl.$JAR_SUFFIX libgluegen-rt.so.gz libjogl_gl2es12.so.gz libnewt.so.gz libnativewindow_$OSS.so.gz libnativewindow_jvm.so.gz -echo - -echo JOGL GL2 NEWT -report gluegen-rt.$JAR_SUFFIX nativewindow.core.$JAR_SUFFIX jogl.core.$JAR_SUFFIX jogl.util.$JAR_SUFFIX jogl.gl2.$OSS.$JAR_SUFFIX newt.core.$JAR_SUFFIX newt.ogl.$JAR_SUFFIX libgluegen-rt.so.gz libjogl_gl2.so.gz libnewt.so.gz libnativewindow_$OSS.so.gz libnativewindow_jvm.so.gz -echo - -echo JOGL GL2 AWT -report gluegen-rt.$JAR_SUFFIX nativewindow.core.$JAR_SUFFIX nativewindow.awt.$JAR_SUFFIX jogl.core.$JAR_SUFFIX jogl.util.$JAR_SUFFIX jogl.gl2.$OSS.$JAR_SUFFIX jogl.awt.$JAR_SUFFIX libgluegen-rt.so.gz libjogl_gl2.so.gz libnativewindow_$OSS.so.gz libnativewindow_awt.so.gz libnativewindow_jvm.so.gz -echo - -echo JOGL ALL -report gluegen-rt.$JAR_SUFFIX nativewindow.all.$JAR_SUFFIX jogl.all.$JAR_SUFFIX newt.all.$JAR_SUFFIX libgluegen-rt.so.gz libjogl_gl2.so.gz libnativewindow_$OSS.so.gz libnativewindow_awt.so.gz libnativewindow_jvm.so.gz libnewt.so.gz -echo - -echo JOGL CDCFP DESKTOP -report gluegen-rt-cdc.$JAR_SUFFIX nativewindow.core.$JAR_SUFFIX jogl.all.cdc.$JAR_SUFFIX newt.all.cdc.$JAR_SUFFIX libgluegen-rt.so.gz libjogl_gl2es12.so.gz libnativewindow_$OSS.so.gz libnativewindow_jvm.so.gz libnewt.so.gz -echo - -echo JOGL CDCFP ES1 MOBILE -report gluegen-rt-cdc.$JAR_SUFFIX jogl.core.cdc.$JAR_SUFFIX jogl.egl.cdc.$JAR_SUFFIX jogl.gles1.cdc.$JAR_SUFFIX jogl.util.cdc.$JAR_SUFFIX nativewindow.core.cdc.$JAR_SUFFIX newt.broadcomegl.cdc.$JAR_SUFFIX newt.core.cdc.$JAR_SUFFIX newt.ogl.cdc.$JAR_SUFFIX libgluegen-rt.so.gz libjogl_es1.so.gz libnativewindow_jvm.so.gz libnewt.so.gz -echo - -echo JOGL CDCFP ES2 MOBILE -report gluegen-rt-cdc.$JAR_SUFFIX jogl.core.cdc.$JAR_SUFFIX jogl.egl.cdc.$JAR_SUFFIX jogl.gles2.cdc.$JAR_SUFFIX jogl.util.cdc.$JAR_SUFFIX nativewindow.core.cdc.$JAR_SUFFIX newt.broadcomegl.cdc.$JAR_SUFFIX newt.core.cdc.$JAR_SUFFIX newt.ogl.cdc.$JAR_SUFFIX libgluegen-rt.so.gz libjogl_es2.so.gz libnativewindow_jvm.so.gz libnewt.so.gz -echo - -echo JOGL GLU -report jogl.glu.*pack.gz -echo - -echo JOGL EVERYTHING -report *.all.pack.gz -echo diff --git a/make/make.jogl.all.linux-x86.sh b/make/make.jogl.all.linux-x86.sh index 081d8328b..32f48a80f 100644 --- a/make/make.jogl.all.linux-x86.sh +++ b/make/make.jogl.all.linux-x86.sh @@ -17,6 +17,7 @@ fi # -Djogl.cg=1 -Dx11.cg.lib=../../lib-linux-x86 \ ant \ + -Dgluegen-cpptasks.file=`pwd`/../../gluegen/make/lib/gluegen-cpptasks-linux-32bit.xml \ -Dbuild.noarchives=true \ -Djogl.cg=1 -Dx11.cg.lib=../../lib-linux-x86 \ -Drootrel.build=build-x86 \ diff --git a/make/make.jogl.all.linux-x86_64.sh b/make/make.jogl.all.linux-x86_64.sh index b5f860bd4..b6c5e9d63 100644 --- a/make/make.jogl.all.linux-x86_64.sh +++ b/make/make.jogl.all.linux-x86_64.sh @@ -5,8 +5,8 @@ if [ -e ../../setenv-build-jogl-x86_64.sh ] ; then fi # -Djogl.cg=1 -Dx11.cg.lib=../../lib-linux-x86_64 -# -Dc.compiler.debug=true -# -Dbuild.noarchives=true +# -Dc.compiler.debug=true \ +# -Dbuild.noarchives=true \ # -Dgluegen.cpptasks.detected.os=true \ # -DisUnix=true \ @@ -18,7 +18,6 @@ fi ant \ -Dbuild.noarchives=true \ -Djogl.cg=1 -Dx11.cg.lib=../../lib-linux-x86_64 \ - -Dc.compiler.debug=true \ -Drootrel.build=build-x86_64 \ -DuseKD=true \ -DuseOpenMAX=true \ diff --git a/make/make.jogl.all.win32.bat b/make/make.jogl.all.win32.bat index 8525b5a45..fe6a8aff0 100644 --- a/make/make.jogl.all.win32.bat +++ b/make/make.jogl.all.win32.bat @@ -1,12 +1,17 @@ -set THISDIR="C:\SUN\JOGL2"
-set J2RE_HOME=c:\jre6
-set JAVA_HOME=c:\jdk6
-set PATH=%JAVA_HOME%\bin;%PATH%
+set THISDIR="C:\JOGL"
+
+set J2RE_HOME=c:\jre1.6.0_19
+set JAVA_HOME=c:\jdk1.6.0_19
+set ANT_PATH=C:\apache-ant-1.8.0
+
+set PATH=%JAVA_HOME%\bin;%ANT_PATH%\bin;c:\mingw\bin;%PATH%
+
set LIB_GEN=%THISDIR%\lib
set CLASSPATH=.;%THISDIR%\build-win32\classes
REM -Dc.compiler.debug=true
REM -DuseOpenMAX=true
REM -DuseKD=true
REM -Djogl.cg=1 -D-Dwindows.cg.lib=C:\Cg-2.2
+REM -Dbuild.noarchives=true
-ant -Dbuild.noarchives=true -Dc.compiler.debug=true -Drootrel.build=build-win32 -Djogl.cg=1 -Dwindows.cg.lib=C:\Cg-2.2\lib %1 %2 %3 %4 %5 %6 %7 %8 %9 > make.jogl.all.win32.log 2>&1
+ant -Drootrel.build=build-win32 -Djogl.cg=1 -Dwindows.cg.lib=C:\Cg-2.2\lib %1 %2 %3 %4 %5 %6 %7 %8 %9 > make.jogl.all.win32.log 2>&1
diff --git a/make/make.jogl.all.win64.bat b/make/make.jogl.all.win64.bat new file mode 100644 index 000000000..508067d57 --- /dev/null +++ b/make/make.jogl.all.win64.bat @@ -0,0 +1,17 @@ +set THISDIR="C:\JOGL"
+
+set J2RE_HOME=c:\jre1.6.0_19
+set JAVA_HOME=c:\jdk1.6.0_19
+set ANT_PATH=C:\apache-ant-1.8.0
+
+set PATH=%JAVA_HOME%\bin;%ANT_PATH%\bin;c:\mingw-w64\bin;c:\mingw\bin;%PATH%
+
+set LIB_GEN=%THISDIR%\lib
+set CLASSPATH=.;%THISDIR%\build-win64\classes
+REM -Dc.compiler.debug=true
+REM -DuseOpenMAX=true
+REM -DuseKD=true
+REM -Djogl.cg=1 -D-Dwindows.cg.lib=C:\Cg-2.2
+REM -Dbuild.noarchives=true
+
+ant -Drootrel.build=build-win64 -Djogl.cg=1 -Dwindows.cg.lib=C:\Cg-2.2\lib %1 %2 %3 %4 %5 %6 %7 %8 %9 > make.jogl.all.win64.log 2>&1
diff --git a/make/make.jogl.cdcfp.linux-x86.sh b/make/make.jogl.cdcfp.linux-x86.sh index 4a2241669..ad80f194d 100644 --- a/make/make.jogl.cdcfp.linux-x86.sh +++ b/make/make.jogl.cdcfp.linux-x86.sh @@ -15,6 +15,7 @@ fi BUILD_SUBDIR=build-cdcfp-x86 ant -v \ + -Dgluegen-cpptasks.file=`pwd`/../../gluegen/make/lib/gluegen-cpptasks-linux-32bit.xml \ -Dbuild.noarchives=true \ -Drootrel.build=$BUILD_SUBDIR \ -Dsetup.cdcfp=true \ diff --git a/make/newtRIversion b/make/newtRIversion index 7b8608290..82cc0c0e9 100644 --- a/make/newtRIversion +++ b/make/newtRIversion @@ -4,5 +4,5 @@ Specification-Vendor: Sun Microsystems, Inc. Implementation-Title: NEWT Runtime Environment Implementation-Version: @BASEVERSION@ Implementation-Vendor: Sun Microsystems, Inc. -Extension-Name: com.sun.javafx.newt +Extension-Name: com.sun.newt Implementation-Vendor-Id: com.sun diff --git a/make/newtRIversion-cdc b/make/newtRIversion-cdc index 0dd17ee93..5dcfecad8 100644 --- a/make/newtRIversion-cdc +++ b/make/newtRIversion-cdc @@ -4,5 +4,5 @@ Specification-Vendor: Sun Microsystems, Inc. Implementation-Title: NEWT Runtime Environment CDC Implementation-Version: @BASEVERSION@ Implementation-Vendor: Sun Microsystems, Inc. -Extension-Name: com.sun.javafx.newt +Extension-Name: com.sun.newt Implementation-Vendor-Id: com.sun diff --git a/make/newtversion b/make/newtversion index 3c9335cf5..d1734f756 100644 --- a/make/newtversion +++ b/make/newtversion @@ -4,5 +4,5 @@ Specification-Vendor: Sun Microsystems, Inc. Implementation-Title: NEWT Runtime Environment Implementation-Version: @VERSION@ Implementation-Vendor: java.net JOGL community -Extension-Name: com.sun.javafx.newt +Extension-Name: com.sun.newt Implementation-Vendor-Id: com.sun diff --git a/make/newtversion-cdc b/make/newtversion-cdc index 624111760..8227a4d42 100644 --- a/make/newtversion-cdc +++ b/make/newtversion-cdc @@ -4,5 +4,5 @@ Specification-Vendor: Sun Microsystems, Inc. Implementation-Title: NEWT Runtime Environment CDC Implementation-Version: @VERSION@ Implementation-Vendor: java.net JOGL community -Extension-Name: com.sun.javafx.newt +Extension-Name: com.sun.newt Implementation-Vendor-Id: com.sun diff --git a/make/scripts/all-deploy-webstarttest.sh b/make/scripts/all-deploy-webstarttest.sh new file mode 100755 index 000000000..e3ee24a6d --- /dev/null +++ b/make/scripts/all-deploy-webstarttest.sh @@ -0,0 +1,38 @@ +#! /bin/sh + +if [ ! -e scripts -o ! -e ../make ] ; then + echo start this script from JOGL/jogl/make + exit 1 +fi + +url=$1 +shift + +joglbuilddir=$1 +shift + +wsdir=$1 +shift + +if [ -z "$url" -o -z "$joglbuilddir" -o -z "$wsdir" ] ; then + echo Usage $0 codebase-url jogl-builddir webstartdir + echo Examples + echo sh $0 file:////usr/local/projects/JOGL/webstart ../build-x86_64 ../../webstart + echo sh $0 http://domain.org/jogl/webstart ../build-win32 ../../webstart + exit 1 +fi + +if [ ! -e $joglbuilddir ] ; then + echo $joglbuilddir does not exist + exit 1 +fi + +if [ ! -e $wsdir ] ; then + echo $wsdir does not exist + exit 1 +fi + +sh scripts/deploy-jars-webstarttest.sh $joglbuilddir $wsdir +# sh scripts/deploy-jars-webstarttest_pack200.sh $wsdir +sh scripts/deploy-jnlp-webstarttest.sh $url $joglbuilddir $wsdir +sh scripts/deploy-jnlp-webstarttest-filter.sh $wsdir diff --git a/make/scripts/deploy-jars_external-webstarttest.sh b/make/scripts/deploy-jars_external-webstarttest.sh new file mode 100755 index 000000000..3fc1daa51 --- /dev/null +++ b/make/scripts/deploy-jars_external-webstarttest.sh @@ -0,0 +1,26 @@ +#! /bin/sh + +if [ ! -e scripts -o ! -e ../make ] ; then + echo start this script from JOGL/jogl/make + exit 1 +fi + +SOURCE=$1 +shift + +wsdir=$1 +shift + +if [ -z "$SOURCE" -o -z "$wsdir" ] ; then + echo usage $0 source webstartdir + echo source might be [email protected]:webstart/ + exit 1 +fi + +if [ ! -e $wsdir ] ; then + echo $wsdir does not exist + exit 1 +fi + +echo scp -v $SOURCE*natives* $wsdir +scp -v $SOURCE*natives* $wsdir diff --git a/make/scripts/deploy-jnlp-webstarttest.sh b/make/scripts/deploy-jnlp-webstarttest.sh index 26a0f8b35..8f3b0d216 100755 --- a/make/scripts/deploy-jnlp-webstarttest.sh +++ b/make/scripts/deploy-jnlp-webstarttest.sh @@ -11,6 +11,9 @@ shift if [ -z "$url" -o -z "$joglbuilddir" -o -z "$wsdir" ] ; then echo usage $0 codebase-url jogl-builddir webstartdir + echo Examples + echo sh $0 file:////usr/local/projects/JOGL/webstart ../build-x86_64 ../../webstart + echo sh $0 http://domain.org/jogl/webstart ../build-win32 ../../webstart exit 1 fi diff --git a/make/setenv-jogl.sh b/make/setenv-jogl.sh new file mode 100644 index 000000000..49c584459 --- /dev/null +++ b/make/setenv-jogl.sh @@ -0,0 +1,92 @@ +#! /bin/sh + +function print_usage() { + echo "Usage: $0 jogl-build-dir" +} + +if [ -z "$1" ] ; then + echo JOGL BUILD DIR missing + print_usage + return +fi + +if [ -e /devtools/etc/profile.ant ] ; then + . /devtools/etc/profile.ant +fi + +JOGL_PROFILE=JOGL_ALL + +JOGL_BUILDDIR=$1 +shift + +THISDIR=`pwd` + +if [ -e "$JOGL_BUILDDIR" ] ; then + JOGL_DIR=$JOGL_BUILDDIR/.. + JOGL_BUILDDIR_BASE=`basename $JOGL_BUILDDIR` +else + echo JOGL_BUILDDIR $JOGL_BUILDDIR not exist or not given + print_usage + return +fi + +gpf=`find ../../gluegen/make -name dynlink-unix.cfg` +if [ -z "$gpf" ] ; then + gpf=`find .. -name dynlink-unix.cfg` +fi +if [ -z "$gpf" ] ; then + echo GLUEGEN_BUILDDIR not found + print_usage + return +fi + +GLUEGEN_DIR=`dirname $gpf`/.. +GLUEGEN_BUILDDIR=$GLUEGEN_DIR/$JOGL_BUILDDIR_BASE +if [ ! -e "$GLUEGEN_BUILDDIR" ] ; then + echo GLUEGEN_BUILDDIR $GLUEGEN_BUILDDIR does not exist + print_usage + return +fi +GLUEGEN_JAR=$GLUEGEN_BUILDDIR/gluegen-rt.jar +GLUEGEN_OS=$GLUEGEN_BUILDDIR/obj +JUNIT_JAR=$GLUEGEN_DIR/make/lib/junit-4.5.jar + +if [ -z "$ANT_PATH" ] ; then + echo ANT_PATH does not exist, set it + print_usage + return +else + ANT_JARS=$ANT_PATH/lib/ant.jar:$ANT_PATH/lib/ant-junit.jar +fi + +echo GLUEGEN BUILDDIR: $GLUEGEN_BUILDDIR +echo JOGL DIR: $JOGL_DIR +echo JOGL BUILDDIR: $JOGL_BUILDDIR +echo JOGL BUILDDIR BASE: $JOGL_BUILDDIR_BASE +echo JOGL PROFILE: $JOGL_PROFILE + +J2RE_HOME=$(which java) +JAVA_HOME=$(which javac) +CP_SEP=: + +. $JOGL_DIR/etc/profile.jogl $JOGL_PROFILE $JOGL_BUILDDIR + +SWT_CLASSPATH=$HOME/.java/swt.jar +LIB=$THISDIR/lib + +CLASSPATH=.:$GLUEGEN_JAR:$JOGL_CLASSPATH:$SWT_CLASSPATH:$JUNIT_JAR:$ANT_JARS +for i in $LIB/*jar ; do + CLASSPATH=$CLASSPATH:$i +done +export CLASSPATH +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GLUEGEN_OS:$JOGL_LIB_DIR +export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$GLUEGEN_OS:$JOGL_LIB_DIR + +echo CLASSPATH: $CLASSPATH +echo +echo MacOSX REMEMBER to add the JVM arguments "-XstartOnFirstThread -Djava.awt.headless=true" for running demos without AWT, e.g. NEWT +echo MacOSX REMEMBER to add the JVM arguments "-XstartOnFirstThread -Djava.awt.headless=true com.jogamp.newt.util.MainThread" for running demos with NEWT + +PATH=$J2RE_HOME/bin:$JAVA_HOME/bin:$PATH +export PATH + diff --git a/make/setvc9-jogl.bat b/make/setvc9-jogl.bat index be6f039ad..2e8338374 100755 --- a/make/setvc9-jogl.bat +++ b/make/setvc9-jogl.bat @@ -1,7 +1,7 @@ -set PATH=C:\cygwin\devtools\share\apache-ant-1.7.0\bin;%PATH%
-set ANT_PATH=C:\cygwin\devtools\share\apache-ant-1.7.0
+set PATH=C:\cygwin\devtools\share\apache-ant-1.8.0\bin;%PATH%
+set ANT_PATH=C:\cygwin\devtools\share\apache-ant-1.8.0
c:
cd C:\SUN\JOGL2\jogl\make
diff --git a/make/stub_includes/egl/EGL/egl.h b/make/stub_includes/egl/EGL/egl.h index fc6cc4c87..a384bab48 100755 --- a/make/stub_includes/egl/EGL/egl.h +++ b/make/stub_includes/egl/EGL/egl.h @@ -20,13 +20,7 @@ extern "C" { typedef int32_t EGLint; typedef unsigned int EGLBoolean; typedef unsigned int EGLenum; -#ifdef USE_GLUEGEN - /* GlueGen currently needs this form of typedef to produce distinct - types for each of these pointer types */ - typedef struct {} _EGLConfig, *EGLConfig; -#else - typedef void *EGLConfig; -#endif +typedef void *EGLConfig; typedef void *EGLContext; typedef void *EGLDisplay; typedef void *EGLSurface; diff --git a/make/stub_includes/opengl/gl3-64bit-types.h b/make/stub_includes/opengl/gl3-64bit-types.h index fc8b4ce05..64f12398a 100644 --- a/make/stub_includes/opengl/gl3-64bit-types.h +++ b/make/stub_includes/opengl/gl3-64bit-types.h @@ -25,12 +25,14 @@ #include <stdint.h> #elif defined(__UNIXOS2__) || defined(__SOL64__) typedef long int int32_t; + typedef unsigned long int uint32_t; typedef long long int int64_t; typedef unsigned long long int uint64_t; #elif defined(WIN32) && defined(__GNUC__) #include <stdint.h> #elif defined(_WIN32) typedef __int32 int32_t; + typedef unsigned __int32 uint32_t; typedef __int64 int64_t; typedef unsigned __int64 uint64_t; #else diff --git a/make/stub_includes/opengl/gl4.c b/make/stub_includes/opengl/gl4.c new file mode 100644 index 000000000..5e9d87ccd --- /dev/null +++ b/make/stub_includes/opengl/gl4.c @@ -0,0 +1,11 @@ +#define GLAPI + +// Define GL3_PROTOTYPES so that the OpenGL prototypes in +// "gl3.h" are parsed. +#define GL3_PROTOTYPES + +// Define GL_GL3EXT_PROTOTYPES so that the OpenGL extension prototypes in +// "gl3ext.h" are parsed. +#define GL_GL3EXT_PROTOTYPES + +#include <GL3/gl3.h> diff --git a/make/stub_includes/opengl/gl4bc.c b/make/stub_includes/opengl/gl4bc.c new file mode 100644 index 000000000..262e005f7 --- /dev/null +++ b/make/stub_includes/opengl/gl4bc.c @@ -0,0 +1,18 @@ +#define GLAPI + +// Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in +// "glext.h" are parsed. +#define GL_GLEXT_PROTOTYPES + +#include <GL/gl.h> + +// Define GL3_PROTOTYPES so that the OpenGL prototypes in +// "gl3.h" are parsed. +#define GL3_PROTOTYPES + +// Define GL_GL3EXT_PROTOTYPES so that the OpenGL extension prototypes in +// "gl3ext.h" are parsed. +#define GL_GL3EXT_PROTOTYPES + +#include <GL3/gl3ext.h> + diff --git a/make/stub_includes/win32/wingdi.h b/make/stub_includes/win32/wingdi.h index 46aeec2b6..fbf2ec5ec 100644 --- a/make/stub_includes/win32/wingdi.h +++ b/make/stub_includes/win32/wingdi.h @@ -212,7 +212,7 @@ WINGDIAPI HGDIOBJ WINAPI SelectObject(HDC, HGDIOBJ); // Routines for creation of a dummy window, device context and OpenGL // context for the purposes of getting wglChoosePixelFormatARB and // associated routines -HDC CreateDummyWindow(int,int,int,int); +HWND CreateDummyWindow( int x, int y, int width, int height ) ; WINUSERAPI BOOL WINAPI ShowWindow(HWND hWnd, int nCmdShow); WINUSERAPI HDC WINAPI GetDC(HWND); WINUSERAPI int WINAPI ReleaseDC(HWND hWnd, HDC hDC); diff --git a/make/stub_includes/x11/window-lib.c b/make/stub_includes/x11/window-lib.c index 3096cde4c..8fca86263 100644 --- a/make/stub_includes/x11/window-lib.c +++ b/make/stub_includes/x11/window-lib.c @@ -17,6 +17,9 @@ extern void XLockDisplay(Display *display); extern void XUnlockDisplay(Display *display); +extern Window RootWindow(Display *display, int screen_number); +extern int DefaultScreen(Display *display); + extern XVisualInfo *XGetVisualInfo( Display* /* display */, long /* vinfo_mask */, diff --git a/make/versions.xml b/make/versions.xml index 0ee07bfe0..75c035f5a 100644 --- a/make/versions.xml +++ b/make/versions.xml @@ -19,7 +19,6 @@ official release builds and intermediate release builds, but commented out for nightly builds. --> <!-- <property name="jogl.ri" value="true" /> --> - <property name="jogl.ri" value="true" /> <!-- Base version of the NativeWindow interface, following the same rules as above --> @@ -31,7 +30,6 @@ official release builds and intermediate release builds, but commented out for nightly builds. --> <!-- <property name="nativewindow.ri" value="true" /> --> - <property name="nativewindow.ri" value="true" /> <!-- Base version of the Newt library, following the same rules as above --> @@ -44,6 +42,5 @@ official release builds and intermediate release builds, but commented out for nightly builds. --> <!-- <property name="newt.ri" value="true" /> --> - <property name="newt.ri" value="true" /> </project> |