diff options
Diffstat (limited to 'make')
55 files changed, 819 insertions, 587 deletions
diff --git a/make/build-common.xml b/make/build-common.xml index b0759f3a4..040e9e5e7 100644 --- a/make/build-common.xml +++ b/make/build-common.xml @@ -16,6 +16,7 @@ <property name="gluegen.root" value="../../gluegen" /> <import file="${gluegen.root}/make/gluegen-cpptasks.xml" /> <import file="${gluegen.root}/make/jogamp-archivetasks.xml" /> + <import file="${gluegen.root}/make/jogamp-androidtasks.xml" /> <import file="${gluegen.root}/make/jogamp-env.xml" /> <property name="ant-contrib.jar" value="${gluegen.root}/make/lib/ant-contrib-1.0b3.jar" /> @@ -87,20 +88,27 @@ <property name="nativewindow.version" value="${nativewindow_base_version}-b${jogl.build.number}-${version.timestamp}" /> <property name="jogl.version" value="${jogl_base_version}-b${jogl.build.number}-${version.timestamp}" /> <property name="newt.version" value="${newt_base_version}-b${jogl.build.number}-${version.timestamp}" /> + <property name="jogl.version.plus" value="${jogl_base_version}-${jogl.build.branch}-b${jogl.build.number}-${jogl.build.commit}-${version.timestamp}" /> <property name="archive.name" value="jogl-${jogl.version}-${os.and.arch}" /> <property name="archive" value="${build}/${archive.name}" /> - <condition property="setup.nodesktop"> - <and> - <isfalse value="${isWindows}" /> - <isfalse value="${isOSX}" /> - <isfalse value="${isX11}" /> - </and> + <condition property="setup.noNativeAWT"> + <or> + <isset property="setup.noAWT"/> + <isset property="isAndroid"/> + </or> + </condition> + + <condition property="setup.noNativeDesktop"> + <or> + <isset property="isAndroid"/> + </or> </condition> - <echo message="setup.nodesktop: ${setup.nodesktop}" /> <echo message="setup.noAWT: ${setup.noAWT}" /> + <echo message="setup.noNativeAWT: ${setup.noNativeAWT}" /> + <echo message="setup.noNativeDesktop: ${setup.noNativeDesktop}" /> <!-- Load the user specified properties file that defines various host - specific paths. The user will be notified if this is does not @@ -112,6 +120,7 @@ <echo message="Loaded ${user.home}/gluegen.properties." /> <echo message="antlr.jar=${antlr.jar}" /> <echo message="junit.jar=${junit.jar}" /> + <echo message="android.jar=${android.jar}" /> <!-- Set swt.jar to the correct file for this platform. We point to the debug JARs to allow stepping into SWT calls using the accompanying source code zip archives. --> @@ -130,6 +139,9 @@ <condition property="swt.jar" value="${project.root}/make/lib/swt/gtk-linux-x86/swt-debug.jar"> <istrue value="${isLinuxARMv7}" /> <!-- FIXME JAU .. hack --> </condition> + <condition property="swt.jar" value="${project.root}/make/lib/swt/gtk-linux-x86/swt-debug.jar"> + <istrue value="${isAndroid}" /> <!-- FIXME JAU .. hack --> + </condition> <condition property="swt.jar" value="${project.root}/make/lib/swt/cocoa-macosx-x86_64/swt-debug.jar"> <and> <istrue value="${isOSX}" /> @@ -227,161 +239,242 @@ <pathelement location="${gluegen-gl.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="nativewindow.os.win.jar" value="${build.nativewindow}/nativewindow.os.win.jar" /> + <path id="nativewindow_all_atoms.classpath"> + <pathelement location="${nativewindow.core.jar}" /> + <pathelement location="${nativewindow.awt.jar}" /> + <pathelement location="${nativewindow.os.x11.jar}" /> + <pathelement location="${nativewindow.os.win.jar}" /> + </path> + <path id="nativewindow_all-noawt_atoms.classpath"> + <pathelement location="${nativewindow.core.jar}" /> + <pathelement location="${nativewindow.os.x11.jar}" /> + <pathelement location="${nativewindow.os.win.jar}" /> + </path> + <path id="nativewindow_all-mobile_atoms.classpath"> + <pathelement location="${nativewindow.core.jar}" /> + </path> + + <property name="jogl.core.jar" value="${build.jogl}/jogl.core.jar" /> + <property name="jogl.sdk.jar" value="${build.jogl}/jogl.sdk.jar" /> + <property name="jogl.glmobile.jar" value="${build.jogl}/jogl.glmobile.jar" /> + <property name="jogl.glmobile.dbg.jar" value="${build.jogl}/jogl.glmobile.dbg.jar" /> + <property name="jogl.util.jar" value="${build.jogl}/jogl.util.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.util.fixedfuncemu.jar" value="${build.jogl}/jogl.util.fixedfuncemu.jar" /> + <property name="jogl.awt.jar" value="${build.jogl}/jogl.awt.jar" /> + <property name="jogl.util.awt.jar" value="${build.jogl}/jogl.util.awt.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.gldesktop.jar" value="${build.jogl}/jogl.gldesktop.jar" /> + <property name="jogl.gldesktop.dbg.jar" value="${build.jogl}/jogl.gldesktop.dbg.jar" /> + <property name="jogl.glugldesktop.jar" value="${build.jogl}/jogl.glu.gldesktop.jar" /> + <property name="jogl.util.gldesktop.jar" value="${build.jogl}/jogl.util.gldesktop.jar" /> + <property name="jogl.omx.jar" value="${build.jogl}/jogl.omx.jar" /> + <property name="jogl.cg.jar" value="${build.jogl}/jogl.cg.jar" /> + <path id="jogl_all_atoms.classpath"> + <pathelement location="${jogl.core.jar}" /> + <pathelement location="${jogl.sdk.jar}" /> + <pathelement location="${jogl.glmobile.jar}" /> + <pathelement location="${jogl.glmobile.dbg.jar}" /> + <pathelement location="${jogl.util.jar}" /> + <pathelement location="${jogl.glutess.jar}" /> + <pathelement location="${jogl.glumipmap.jar}" /> + <pathelement location="${jogl.util.fixedfuncemu.jar}" /> + <pathelement location="${jogl.awt.jar}" /> + <pathelement location="${jogl.util.awt.jar}" /> + <pathelement location="${jogl.os.x11.jar}" /> + <pathelement location="${jogl.os.win.jar}" /> + <pathelement location="${jogl.os.osx.jar}" /> + <pathelement location="${jogl.gldesktop.jar}" /> + <pathelement location="${jogl.gldesktop.dbg.jar}" /> + <pathelement location="${jogl.glugldesktop.jar}" /> + <pathelement location="${jogl.util.gldesktop.jar}" /> + <pathelement location="${jogl.omx.jar}" /> + <pathelement location="${jogl.cg.jar}" /> + </path> + <path id="jogl_all-noawt_atoms.classpath"> + <pathelement location="${jogl.core.jar}" /> + <pathelement location="${jogl.sdk.jar}" /> + <pathelement location="${jogl.glmobile.jar}" /> + <pathelement location="${jogl.glmobile.dbg.jar}" /> + <pathelement location="${jogl.util.jar}" /> + <pathelement location="${jogl.glutess.jar}" /> + <pathelement location="${jogl.glumipmap.jar}" /> + <pathelement location="${jogl.util.fixedfuncemu.jar}" /> + <pathelement location="${jogl.os.x11.jar}" /> + <pathelement location="${jogl.os.win.jar}" /> + <pathelement location="${jogl.os.osx.jar}" /> + <pathelement location="${jogl.gldesktop.jar}" /> + <pathelement location="${jogl.gldesktop.dbg.jar}" /> + <pathelement location="${jogl.glugldesktop.jar}" /> + <pathelement location="${jogl.util.gldesktop.jar}" /> + <pathelement location="${jogl.omx.jar}" /> + <pathelement location="${jogl.cg.jar}" /> + </path> + <path id="jogl_all-mobile_atoms.classpath"> + <pathelement location="${jogl.core.jar}" /> + <pathelement location="${jogl.glmobile.jar}" /> + <pathelement location="${jogl.glmobile.dbg.jar}" /> + <pathelement location="${jogl.util.jar}" /> + <pathelement location="${jogl.glutess.jar}" /> + <pathelement location="${jogl.glumipmap.jar}" /> + <pathelement location="${jogl.util.fixedfuncemu.jar}" /> + <pathelement location="${jogl.omx.jar}" /> + </path> + <!-- + ${jogl.core.jar} ${jogl.cg.jar} ${jogl.glutess.jar} ${jogl.glumipmap.jar} ${jogl.glugldesktop.jar} ${jogl.os.x11.jar} ${jogl.os.win.jar} ${jogl.os.osx.jar} ${jogl.gldesktop.jar} ${jogl.gldesktop.dbg.jar} ${jogl.glmobile.jar} ${jogl.glmobile.dbg.jar} ${jogl.omx.jar} ${jogl.util.jar} ${jogl.util.gldesktop.jar} ${jogl.util.awt.jar} ${jogl.util.fixedfuncemu.jar} ${jogl.sdk.jar} --> + + <property name="newt.core.jar" value="${build.newt}/newt.core.jar" /> + <property name="newt.ogl.jar" value="${build.newt}/newt.ogl.jar" /> + <property name="newt.awt.jar" value="${build.newt}/newt.awt.jar" /> + <property name="newt.driver.x11.jar" value="${build.newt}/newt.driver.x11.jar" /> + <property name="newt.driver.win.jar" value="${build.newt}/newt.driver.win.jar" /> + <property name="newt.driver.macosx.jar" value="${build.newt}/newt.driver.macosx.jar" /> + <property name="newt.driver.android.jar" value="${build.newt}/newt.driver.android.jar" /> <!-- excluded from all --> + <property name="newt.driver.kd.jar" value="${build.newt}/newt.driver.kd.jar" /> <!-- excluded from all --> + <property name="newt.driver.intelgdl.jar" value="${build.newt}/newt.driver.intelgdl.jar" /> <!-- excluded from all --> + <property name="newt.driver.broadcomegl.jar" value="${build.newt}/newt.driver.broadcomegl.jar" /> <!-- excluded from all --> + <path id="newt_all_atoms.classpath"> + <pathelement location="${newt.core.jar}" /> + <pathelement location="${newt.ogl.jar}" /> + <pathelement location="${newt.awt.jar}" /> + <pathelement location="${newt.driver.x11.jar}" /> + <pathelement location="${newt.driver.win.jar}" /> + <pathelement location="${newt.driver.macosx.jar}" /> + </path> + <path id="newt_all-noawt_atoms.classpath"> + <pathelement location="${newt.core.jar}" /> + <pathelement location="${newt.ogl.jar}" /> + <pathelement location="${newt.driver.x11.jar}" /> + <pathelement location="${newt.driver.win.jar}" /> + <pathelement location="${newt.driver.macosx.jar}" /> + </path> + <path id="newt_all-mobile_atoms.classpath"> + <pathelement location="${newt.core.jar}" /> + <pathelement location="${newt.ogl.jar}" /> + <pathelement location="${newt.driver.x11.jar}" /> + <pathelement location="${newt.driver.win.jar}" /> + </path> + <path id="newt_all-android_atoms.classpath"> + <pathelement location="${newt.core.jar}" /> + <pathelement location="${newt.ogl.jar}" /> + <pathelement location="${newt.driver.android.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"/> + <property name="gluegen-rt.jar" value="${build.gluegen}/gluegen-rt.jar" /> + <property name="jogl.test.jar" value="${build.test}/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" /> - <property name="newt.event.jar" value="${build.newt}/newt.event.jar" /> + <property name="jogl.all.jar" value="${jar}/jogl.all.jar" /> + <property name="newt.event.jar" value="${jar}/newt.event.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" /> + <property name="jogl.all-noawt.jar" value="${jar}/jogl.all-noawt.jar" /> + <property name="jogl.all-mobile.jar" value="${jar}/jogl.all-mobile.jar" /> + <property name="jogl.all-android.jar" value="${jar}/jogl.all-android.jar" /> <path id="swt_gluegen.classpath"> <pathelement location="${gluegen-rt.jar}" /> <pathelement location="${swt.jar}" /> </path> + <!-- JOGL Compilation .. --> <path id="nativewindow_gluegen.classpath"> <pathelement location="${gluegen-rt.jar}" /> <pathelement location="${swt.jar}" /> - <pathelement location="${nativewindow.all.jar}" /> + <path refid="nativewindow_all_atoms.classpath" /> </path> - <path id="nativewindow_gluegen_jogl.classpath"> + <!-- NEWT Compilation .. --> + <path id="jogl_nativewindow_gluegen.classpath"> + <pathelement location="${android.jar}" /> <pathelement location="${gluegen-rt.jar}" /> <pathelement location="${swt.jar}" /> - <pathelement location="${nativewindow.all.jar}" /> - <pathelement location="${jogl.all.jar}" /> + <path refid="nativewindow_all_atoms.classpath" /> + <path refid="jogl_all_atoms.classpath" /> </path> - <path id="jogl_newt_all.classpath"> + <!-- Test Compilation .. --> + <path id="junit_jogl_newt_android.compile.classpath"> + <pathelement location="${android.jar}" /> + <pathelement location="${junit.jar}" /> + <pathelement location="${ant.jar}" /> + <pathelement location="${ant-junit.jar}" /> <pathelement location="${gluegen-rt.jar}" /> <pathelement location="${swt.jar}" /> - <pathelement location="${nativewindow.all.jar}" /> - <pathelement location="${jogl.all.jar}" /> - <pathelement location="${newt.all.jar}" /> + <path refid="nativewindow_all_atoms.classpath" /> + <path refid="jogl_all_atoms.classpath" /> + <path refid="newt_all_atoms.classpath" /> + <pathelement location="${newt.driver.android.jar}" /> </path> - <path id="jogl_newt_all-noawt.classpath"> + <!-- Postbuild: javadoc .. --> + <path id="jogl_all.classpath"> + <pathelement location="${android.jar}" /> <pathelement location="${gluegen-rt.jar}" /> <pathelement location="${swt.jar}" /> - <pathelement location="${nativewindow.all-noawt.jar}" /> - <pathelement location="${jogl.all-noawt.jar}" /> - <pathelement location="${newt.all-noawt.jar}" /> + <pathelement location="${jogl.all.jar}" /> </path> - <path id="junit_jogl_newt.compile.classpath"> + <!-- Test Run w/ AWT .. --> + <path id="junit_jogl_awt.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="${swt.jar}" /> + <pathelement location="${jogl.test.jar}" /> </path> + <property name="junit_jogl_awt.run.jars" + value="${junit.jar}${path.separator}${ant.jar}${path.separator}${ant-junit.jar}${path.separator}${gluegen-rt.jar}${path.separator}${jogl.all.jar}${path.separator}${jogl.test.jar}"/> - <path id="junit_jogl_awt.run.classpath"> + <!-- Test Run w/o AWT .. --> + <path id="junit_jogl_noawt.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.event.jar}" /> + <pathelement location="${jogl.all-noawt.jar}" /> <pathelement location="${jogl.test.jar}" /> </path> + <property name="junit_jogl_noawt.run.jars" + value="${junit.jar}${path.separator}${ant.jar}${path.separator}${ant-junit.jar}${path.separator}${gluegen-rt.jar}${path.separator}${jogl.all-noawt.jar}${path.separator}${jogl.test.jar}"/> - <!-- classpath used when running SWT tests --> + <!-- Test Run w/ SWT .. --> <path id="junit_jogl_swt.run.classpath"> <pathelement location="${junit.jar}" /> <pathelement location="${ant.jar}" /> <pathelement location="${ant-junit.jar}" /> <pathelement location="${gluegen-rt.jar}" /> <pathelement location="${swt.jar}" /> - <pathelement location="${nativewindow.all.jar}" /> <pathelement location="${jogl.all.jar}" /> - <pathelement location="${newt.event.jar}" /> <pathelement location="${jogl.test.jar}" /> </path> <property name="junit_jogl_swt.run.jars" - value="${junit.jar}${path.separator}${ant.jar}${path.separator}${ant-junit.jar}${path.separator}${gluegen-rt.jar}${path.separator}${swt.jar}${path.separator}${nativewindow.all.jar}${path.separator}${jogl.all.jar}${path.separator}${newt.all.jar}${path.separator}${jogl.test.jar}"/> + value="${junit.jar}${path.separator}${ant.jar}${path.separator}${ant-junit.jar}${path.separator}${gluegen-rt.jar}${path.separator}${swt.jar}${path.separator}${jogl.all.jar}${path.separator}${jogl.test.jar}"/> - <path id="junit_jogl_newt.run.classpath"> + <!-- Test Run w/ Android [w/o AWT] .. --> + <path id="junit_jogl_android.run.classpath"> <pathelement location="${junit.jar}" /> <pathelement location="${ant.jar}" /> <pathelement location="${ant-junit.jar}" /> + <pathelement location="${android.jar}" /> <pathelement location="${gluegen-rt.jar}" /> - <pathelement location="${nativewindow.all-noawt.jar}" /> - <pathelement location="${jogl.all-noawt.jar}" /> - <pathelement location="${newt.all-noawt.jar}" /> + <pathelement location="${jogl.all-android.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-noawt.jar}${path.separator}${jogl.all-noawt.jar}${path.separator}${newt.all-noawt.jar}${path.separator}${jogl.test.jar}"/> + <property name="junit_jogl_android.run.jars" + value="${junit.jar}${path.separator}${ant.jar}${path.separator}${ant-junit.jar}${path.separator}${gluegen-rt.jar}${path.separator}${jogl.all-android.jar}${path.separator}${jogl.test.jar}"/> - <path id="junit_jogl_newt_awt.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_awt.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}"/> - - - <!-- 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="nativewindow.os.win.jar" value="${build.nativewindow}/nativewindow.os.win.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.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.awt.jar" value="${build.newt}/newt.awt.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.hw.broadcomegl.jar" value="${build.newt}/newt.hw.broadcomegl.jar" /> - <property name="newt.hw.intelgdl.jar" value="${build.newt}/newt.hw.intelgdl.jar" /> <!-- The location and name of the configuration ANT file that will - validate to ensure that all user-define variables are set. --> diff --git a/make/build-jogl.xml b/make/build-jogl.xml index 9747c67cf..a6aa04e5a 100644 --- a/make/build-jogl.xml +++ b/make/build-jogl.xml @@ -35,10 +35,6 @@ - property in gluegen.properties; again see the example file in this - directory. - - - Optional properties: - - -Djogl.cg=1 when combined with the build or javadoc targets will cause - - the experimental binding to NVidia's Cg language to be built. - - - 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 @@ -46,10 +42,13 @@ - port to the ant-contrib CPPTask framework. Thanks to Athomas Goldberg for - the original OS detection code. - - - Some environment defs affecting compilation + - Some environment defs affecting native compilation (only) + setup.noNativeDesktop - drop native desktop bindings (glx, wgl, ..) + + setup.addNativeOpenMAX - add experimental binding to Khrono's OpenMAX - - setup.nodesktop is set iff: - !isWindows && !isOSX && !isX11 + setup.addNativeNVidiaCG - add experimental binding to NVidia's Cg language + (enabled for windows, osx and X11 per default) - Internal settings, may not be necessary to set them manually, since all JAR archives are orthogonal. @@ -66,6 +65,14 @@ <classpath> <pathelement location="${ant-contrib.jar}"/> </classpath> </taskdef> + <condition property="setup.addNativeNVidiaCG"> + <or> + <isset property="${isWindows}" /> + <isset property="${isOSX}" /> + <isset property="${isX11}" /> + </or> + </condition> + <!-- ================================================================== --> <!-- - Base initialization and detection of operating system. @@ -150,20 +157,19 @@ <property name="java.part.util.graph.shadercode" value="jogamp/graph/curve/opengl/shader/* jogamp/graph/curve/opengl/shader/bin/**"/> + <property name="java.part.nonjava" + value="${java.part.util.fixedfuncemu.shadercode} ${java.part.util.graph.shadercode} ${java.part.util.graph.fonts}"/> + <property name="java.part.util.fixedfuncemu" value="jogamp/opengl/util/glsl/fixedfunc/**"/> <property name="java.part.util.fixedfuncemu.shadercode" value="jogamp/opengl/util/glsl/fixedfunc/shaders/* jogamp/opengl/util/glsl/fixedfunc/shaders/bin/**"/> - <!-- condition excludes --> + <property name="java.part.all-desktop" + value="${java.part.sdk} ${java.part.glx} ${java.part.wgl} ${java.part.cgl} ${java.part.gldesktop} ${java.part.glugldesktop} ${java.part.util.gldesktop}"/> - <condition property="java.excludes.nv-cg" - value="${java.part.nv-cg}"> - <not> - <isset property="jogl.cg"/> - </not> - </condition> + <!-- condition excludes --> <condition property="java.excludes.awt" value="${java.part.awt} ${java.part.util.awt}"> @@ -176,15 +182,7 @@ <property name="java.excludes.fixme" value="jogamp/opengl/gl2/fixme/** com/jogamp/audio/windows/waveout/TestSpatialization.java" /> - <property name="java.part.desktop" - value="${java.part.glx} ${java.part.wgl} ${java.part.cgl} ${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.desktop}"> - <isset property="setup.nodesktop"/> - </condition> - - <property name="java.excludes.all" value="${java.excludes.fixme} ${java.excludes.nv-cg} ${java.excludes.awt} ${java.excludes.desktop}" /> + <property name="java.excludes.all" value="${java.excludes.fixme} ${java.excludes.awt}" /> <echo message="java.excludes.all: ${java.excludes.all}" /> </target> @@ -691,7 +689,7 @@ <src path="${src.java}" /> </javac> - <jar manifest="${build.jogl}/tempversion" destfile="${gluegen-gl.jar}" filesonly="true"> + <jar manifest="${build.jogl}/manifest.mf" destfile="${gluegen-gl.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.gluegen-gl}"/> </jar> @@ -781,7 +779,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.cg" depends="build.gluegen-gl.jar,java.generate.cg.check" if="jogl.cg" unless="java.generate.cg.skip"> + <target name="java.generate.cg" depends="build.gluegen-gl.jar,java.generate.cg.check" unless="java.generate.cg.skip"> <!-- Add the GlueGen and BuildStaticGLInfo tasks to ANT --> <taskdef name="gluegen" classname="com.jogamp.gluegen.ant.GlueGenTask" classpathref="gluegen.classpath" /> @@ -1039,7 +1037,7 @@ <!-- make shadercode and fonts available in classpath --> <copy todir="${classes}"> <fileset dir="${src.java}" - includes="${java.part.util.fixedfuncemu.shadercode} ${java.part.util.graph.shadercode} ${java.part.util.graph.fonts}" + includes="${java.part.nonjava}" excludes="**/*.java"/> </copy> </target> @@ -1189,6 +1187,12 @@ <target name="c.configure.linux" depends="c.configure.linux.armv7,c.configure.linux.x86,c.configure.linux.amd64,c.configure.linux.ia64,c.configure.x11" if="isLinux" /> + <target name="c.configure.android" if="isAndroid"> + <echo message="Android" /> + <property name="compiler.cfg.id" value="compiler.cfg.android" /> + <property name="linker.cfg.id.os" value="linker.cfg.android" /> + </target> + <target name="c.configure.solaris32" depends="c.configure.x11" if="isSolaris32Bit"> <echo message="Solaris" /> <property name="compiler.cfg.id" value="compiler.cfg.solaris" /> @@ -1238,7 +1242,7 @@ <property name="linker.cfg.id.os" value="linker.cfg.macosx.jogl" /> </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.2" depends="c.configure.win32,c.configure.linux,c.configure.android,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" /> @@ -1275,8 +1279,8 @@ <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_jogamp_openmax_OMXInstance.c" if="useOpenMAX"/> + <include name="${rootrel.src.c.openmax}/omx_tool.c" if="setup.addNativeOpenMAX"/> + <include name="${rootrel.src.c.openmax}/com_jogamp_openmax_OMXInstance.c" if="setup.addNativeOpenMAX"/> <include name="${rootrel.generated.c.jogl}/gl4/GL4bcImpl_JNI.c"/> <!--include name="${rootrel.generated.c.jogl}/GLU_JNI.c"/ EMPTY --> @@ -1287,27 +1291,16 @@ <include name="${rootrel.generated.c.jogl}/Windows/WGL*.c" if="isWindows"/> </patternset> - <patternset id="c.src.files.jogl.es2"> + <patternset id="c.src.files.jogl.mobile"> <include name="${rootrel.src.c}/JoglCommon.c"/> <include name="${rootrel.src.c}/GLDebugMessageHandler.c"/> <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_jogamp_openmax_OMXInstance.c" if="useOpenMAX"/> + <include name="${rootrel.src.c.openmax}/omx_tool.c" if="setup.addNativeOpenMAX"/> + <include name="${rootrel.src.c.openmax}/com_jogamp_openmax_OMXInstance.c" if="setup.addNativeOpenMAX"/> <include name="${rootrel.generated.c.jogl}/egl/EGL_JNI.c"/> <include name="${rootrel.generated.c.jogl}/egl/EGLExtImpl_JNI.c"/> <include name="${rootrel.generated.c.jogl}/es2/GLES2Impl_JNI.c"/> - </patternset> - - <patternset id="c.src.files.jogl.es1"> - <include name="${rootrel.src.c}/JoglCommon.c"/> - <include name="${rootrel.src.c}/GLDebugMessageHandler.c"/> - <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_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"/> <include name="${rootrel.generated.c.jogl}/es1/GLES1Impl_JNI.c"/> <!--include name="${rootrel.generated.c.jogl}/GLU_JNI.c"/ EMPTY --> <!--include name="${rootrel.generated.c.jogl}/es1/GLUes1_JNI.c" EMPTY /--> @@ -1349,15 +1342,15 @@ <includepath path="stub_includes/khr"/> <includepath path="stub_includes/egl"/> <includepath path="stub_includes/opengl"/> - <includepath path="stub_includes/openmax" if="useOpenMAX"/> - <includepath path="stub_includes/cg" if="jogl.cg"/> + <includepath path="stub_includes/openmax" if="setup.addNativeOpenMAX"/> + <includepath path="stub_includes/cg" if="setup.addNativeNVidiaCG"/> <!-- This is for the generated headers for handwritten C code --> <includepath path="${src.generated.c}" /> <includepath path="${src.generated.c}/X11" if="isX11"/> <includepath path="${src.generated.c}/MacOSX" if="isOSX"/> <includepath path="${src.generated.c}/Windows" if="isWindows"/> - <includepath path="${src.generated.c.openmax}" if="useOpenMAX"/> + <includepath path="${src.generated.c.openmax}" if="setup.addNativeOpenMAX"/> <!-- This must come last to not override real include paths --> <!-- includepath path="stub_includes/macosx" if="isOSX" / --> @@ -1395,7 +1388,7 @@ </sequential> </macrodef> - <target name="c.build.jogl.prepare.openMAX" if="useOpenMAX"> + <target name="c.build.jogl.prepare.openMAX" if="setup.addNativeOpenMAX"> <javah destdir="${src.generated.c.openmax}" classpath="${classes}" class="com.jogamp.openmax.OMXInstance" /> </target> @@ -1406,35 +1399,28 @@ <!--javah destdir="${build.jogl}/gensrc/native/jogl" classpath="${classes}" class="com.jogamp.audio.windows.waveout.Mixer" /--> </target> - <target name="c.build.jogl.desktop" unless="setup.nodesktop"> + <target name="c.build.jogl.desktop" unless="setup.noNativeDesktop"> <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.os}"/> </target> - <target name="c.build.jogl.es2"> - <c.build c.compiler.src.files="c.src.files.jogl.es2" - output.lib.name="jogl_es2" - compiler.cfg.id="${compiler.cfg.id}" - linker.cfg.id="${linker.cfg.id.base}"/> - </target> - - <target name="c.build.jogl.es1"> - <c.build c.compiler.src.files="c.src.files.jogl.es1" - output.lib.name="jogl_es1" + <target name="c.build.jogl.mobile"> + <c.build c.compiler.src.files="c.src.files.jogl.mobile" + output.lib.name="jogl_mobile" compiler.cfg.id="${compiler.cfg.id}" linker.cfg.id="${linker.cfg.id.base}"/> </target> - <target name="c.build.jogl.cg" if="jogl.cg"> + <target name="c.build.jogl.cg" if="setup.addNativeNVidiaCG"> <c.build c.compiler.src.files="c.src.files.cg" output.lib.name="jogl_cg" compiler.cfg.id="${compiler.cfg.id}" linker.cfg.id="${linker.cfg.id.os}"/> </target> - <target name="c.manifest.cg" if="jogl.cg"> + <target name="c.manifest.cg" if="setup.addNativeNVidiaCG"> <msvc.manifest objdir="${obj.jogl}" dllname="jogl_cg" /> </target> @@ -1446,7 +1432,7 @@ <antcall target="c.manifest.cg" inheritRefs="true" /> </target> - <target name="c.build.jogl" depends="c.configure,c.build.jogl.prepare,c.build.jogl.desktop,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.desktop,c.build.jogl.mobile,c.build.jogl.cg"> <antcall target="c.manifest" inheritRefs="true" /> </target> @@ -1457,9 +1443,9 @@ <target name="build-jars-dependset" depends="init,gluegen.cpptasks.detect.os" > <dependset> <srcfileset dir="${src.java}" - includes="${java.part.util.fixedfuncemu.shadercode} ${java.part.util.graph.shadercode} ${java.part.util.graph.fonts}"/> + includes="${java.part.nonjava}"/> <targetfileset dir="." - includes="${jogl.all.jar} ${jogl.all-noawt.jar} ${jogl.util.jar} ${jogl.util.fixedfuncemu.jar}" /> + includes="${jogl.util.jar} ${jogl.util.fixedfuncemu.jar}" /> </dependset> </target> <target name="build-jars" depends="build-jars-dependset,build-jars-javase" /> @@ -1467,7 +1453,7 @@ <target name="setup-manifestfile" depends="common.init"> <property name="manifestfile" value="joglversion"/> <copy file="${manifestfile}" - tofile="${build.jogl}/tempversion" + tofile="${build.jogl}/manifest.mf" overwrite="true"> <filterset> <filter token="VERSION" value="${jogl.version}"/> @@ -1478,148 +1464,105 @@ </copy> </target> - <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-os-desktop-javase" depends="setup-manifestfile" unless="setup.nodesktop"> - <jar manifest="${build.jogl}/tempversion" destfile="${jogl.os.x11.jar}" filesonly="true"> + <target name="build-jars-os-desktop-javase" depends="setup-manifestfile"> + <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.os.x11.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.glx}"/> </jar> - <jar manifest="${build.jogl}/tempversion" destfile="${jogl.os.win.jar}" filesonly="true"> + <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.os.win.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.wgl}" /> </jar> - <jar manifest="${build.jogl}/tempversion" destfile="${jogl.os.osx.jar}" filesonly="true"> + <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.os.osx.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.cgl}"/> </jar> </target> - <target name="build-jars-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.jogl}/tempversion" destfile="${jogl.gles1.jar}" filesonly="true"> - <fileset dir="${classes}" - includes="${java.part.es1}" - excludes="${java.part.es1.dbg}"/> - </jar> - <jar manifest="${build.jogl}/tempversion" destfile="${jogl.gles1.dbg.jar}" filesonly="true"> + <target name="build-jars-mobile-javase" depends="setup-manifestfile"> + <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.glmobile.jar}" filesonly="true"> <fileset dir="${classes}" - includes="${java.part.es1.dbg}"/> + includes="${java.part.egl} ${java.part.es1} ${java.part.es2}" + excludes="${java.part.awt} ${java.part.es1.dbg} ${java.part.es2.dbg}"/> </jar> - <jar manifest="${build.jogl}/tempversion" destfile="${jogl.gles2.jar}" filesonly="true"> + <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.glmobile.dbg.jar}" filesonly="true"> <fileset dir="${classes}" - includes="${java.part.es2} ${java.part.openmax}" - excludes="${java.part.es2.dbg}"/> - </jar> - <jar manifest="${build.jogl}/tempversion" destfile="${jogl.gles2.dbg.jar}" filesonly="true"> - <fileset dir="${classes}" - includes="${java.part.es2.dbg}"/> + includes="${java.part.es1.dbg} ${java.part.es2.dbg}"/> </jar> </target> <target name="build-jars-awt-javase" depends="setup-manifestfile" unless="setup.noAWT"> - <jar manifest="${build.jogl}/tempversion" destfile="${jogl.awt.jar}" filesonly="true"> + <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.awt.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.awt}" /> </jar> - <jar manifest="${build.jogl}/tempversion" destfile="${jogl.util.awt.jar}" filesonly="true"> + <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.util.awt.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.util.awt}"/> </jar> </target> - <target name="build-jars-all-awt-javase" depends="setup-manifestfile" unless="setup.noAWT"> - <jar manifest="${build.jogl}/tempversion" destfile="${jogl.all.jar}" filesonly="true"> - <fileset dir="${classes}" - includes="${java.part.openmax}"> - <include name="javax/media/opengl/**" /> - <include name="com/jogamp/gluegen/runtime/**" /> - <include name="com/jogamp/opengl/**" /> - <include name="com/jogamp/graph/**" /> - <include name="jogamp/opengl/**" /> - <include name="jogamp/graph/**" /> - </fileset> - </jar> - </target> - <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="${java.part.openmax}" - excludes="${java.part.awt} ${java.part.util.awt}"> - <include name="javax/media/opengl/**" /> - <include name="com/jogamp/gluegen/runtime/**" /> - <include name="com/jogamp/opengl/**" /> - <include name="com/jogamp/graph/**" /> - <include name="jogamp/opengl/**" /> - <include name="jogamp/graph/**" /> - </fileset> - <fileset dir="${src.java}" - includes="${java.part.util.fixedfuncemu.shadercode} ${java.part.util.graph.shadercode} ${java.part.util.graph.fonts}"/> - </jar> - </target> - - <target name="build-jars-desktop-javase" depends="setup-manifestfile,build-jars-os-desktop-javase" unless="setup.nodesktop"> + <target name="build-jars-desktop-javase" depends="setup-manifestfile,build-jars-os-desktop-javase"> <!--os specific gldesktop--> - <jar manifest="${build.jogl}/tempversion" destfile="${jogl.gldesktop.jar}" filesonly="true"> + <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.gldesktop.jar}" filesonly="true"> <fileset dir="${classes}" - includes="${java.part.gldesktop} ${java.part.openmax}" + includes="${java.part.gldesktop}" excludes="${java.part.gldesktop.dbg} ${java.part.glugldesktop}"/> </jar> <!-- misc --> - <jar manifest="${build.jogl}/tempversion" destfile="${jogl.gldesktop.dbg.jar}" filesonly="true"> + <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.gldesktop.dbg.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.gldesktop.dbg}"/> </jar> - <jar manifest="${build.jogl}/tempversion" destfile="${jogl.glugldesktop.jar}" filesonly="true"> + <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.glugldesktop.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.glugldesktop}"/> </jar> - <jar manifest="${build.jogl}/tempversion" destfile="${jogl.util.gldesktop.jar}" filesonly="true"> + <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.util.gldesktop.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.util.gldesktop}" excludes="${java.part.awt} ${java.part.util.awt}"/> </jar> </target> - <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"> + <target name="build-jars-javase" depends="setup-manifestfile, build-jars-mobile-javase, build-jars-desktop-javase, build-jars-awt-javase"> + <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.core.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.core}" excludes="${java.part.core.exclude}"/> </jar> - <jar manifest="${build.jogl}/tempversion" destfile="${jogl.sdk.jar}" filesonly="true"> + <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.sdk.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.sdk}"/> </jar> - <jar manifest="${build.jogl}/tempversion" destfile="${jogl.glutess.jar}" filesonly="true"> + <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.glutess.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.glutess}"/> </jar> - <jar manifest="${build.jogl}/tempversion" destfile="${jogl.glumipmap.jar}" filesonly="true"> + <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.glumipmap.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.glumipmap}"/> </jar> - <jar manifest="${build.jogl}/tempversion" destfile="${jogl.util.jar}" filesonly="true"> + <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.util.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.util} ${java.part.util.glsl} ${java.part.util.graph}" excludes="${java.part.util.awt} ${java.part.util.gldesktop} ${java.part.util.fixedfuncemu}"/> <fileset dir="${src.java}" includes="${java.part.util.graph.shadercode} ${java.part.util.graph.fonts}"/> </jar> - <jar manifest="${build.jogl}/tempversion" destfile="${jogl.util.fixedfuncemu.jar}" filesonly="true"> + <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.util.fixedfuncemu.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.util.fixedfuncemu}"/> <fileset dir="${src.java}" includes="${java.part.util.fixedfuncemu.shadercode}"/> </jar> - <jar manifest="${build.jogl}/tempversion" destfile="${build.jogl}/jogl-natives-${os.and.arch}.jar" filesonly="true"> + <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.omx.jar}" filesonly="true"> + <fileset dir="${classes}" + includes="${java.part.openmax}"/> + </jar> + <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.cg.jar}" filesonly="true"> + <fileset dir="${classes}" + includes="${java.part.nv-cg}"/> + </jar> + <jar manifest="${build.jogl}/manifest.mf" destfile="${build.jogl}/jogl-natives-${os.and.arch}.jar" filesonly="true"> <fileset dir="${obj.jogl}"> <include name="*.${native.library.suffix}" /> </fileset> @@ -1633,24 +1576,8 @@ - on the platform specific build targets. To circumvent any - errors, ensure that the source is built first. --> - <target name="javadoc.nocg" depends="init" unless="jogl.cg"> - <!-- Build the general public Javadoc --> - <javadoc packagenames="${javadoc.packagenames}" - excludepackagenames="${java.excludes.javadoc.packagenames}" - sourcepath="${src.java};${src.generated.java}" - destdir="${javadoc}" windowtitle="${javadoc.windowtitle}" - overview="${javadoc.overview}" - source="${target.sourcelevel}" - maxmemory="512m" - linkoffline="${javadoc.link} 142-packages" - bottom="${javadoc.bottom}" > - <classpath refid="nativewindow_gluegen.classpath"/> - <taglet name="net.highteq.nativetaglet.NativeTaglet" path="${gluegen.jar}" /> - </javadoc> - </target> - <!-- Same as above but with Cg directories added --> - <target name="javadoc.cg" depends="init" if="jogl.cg"> + <target name="javadoc" depends="init"> <!-- Build the general public Javadoc with CG --> <javadoc packagenames="${javadoc.packagenames},com.jogamp.opengl.cg" excludepackagenames="${java.excludes.javadoc.packagenames}" @@ -1666,27 +1593,7 @@ </javadoc> </target> - <target name="javadoc" depends="javadoc.nocg,javadoc.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}" - sourcepath="${src.java};${src.generated.java}" - destdir="${javadoc.spec}" windowtitle="${javadoc.windowtitle}" - overview="${javadoc.overview}" - source="${target.sourcelevel}" - maxmemory="512m" - linkoffline="${javadoc.link} 142-packages" - bottom="${javadoc.bottom}" > - <classpath refid="nativewindow_gluegen.classpath"/> - <taglet name="net.highteq.nativetaglet.NativeTaglet" path="${gluegen.jar}" /> - </javadoc> - </target> - - <!-- Same as above since Cg directories are not part of spec --> - <target name="javadoc.spec.cg" depends="init" if="jogl.cg"> - <!-- Build the specification Javadoc with CG --> + <target name="javadoc.spec" depends="init"> <javadoc packagenames="${javadoc.spec.packagenames}" excludepackagenames="${java.excludes.javadoc.packagenames}" sourcepath="${src.java};${src.generated.java}" @@ -1701,27 +1608,7 @@ </javadoc> </target> - <target name="javadoc.spec" depends="javadoc.spec.nocg,javadoc.spec.cg" /> - - <target name="javadoc.dev.nocg" unless="jogl.cg"> - <!-- Build the internal developer Javadoc --> - <javadoc packagenames="${javadoc.dev.packagenames}" - excludepackagenames="${java.excludes.javadoc.packagenames}" - sourcepath="${src.java};${src.generated.java}" - destdir="${javadoc.dev}" windowtitle="${javadoc.windowtitle}" - overview="${javadoc.overview}" - source="${target.sourcelevel}" - maxmemory="512m" - linkoffline="${javadoc.link} 142-packages" - bottom="${javadoc.bottom}" > - <classpath refid="nativewindow_gluegen.classpath"/> - <taglet name="net.highteq.nativetaglet.NativeTaglet" path="${gluegen.jar}" /> - </javadoc> - </target> - - <!-- Same as above but with Cg directories added --> - <target name="javadoc.dev.cg" if="jogl.cg"> - <!-- Build the internal developer Javadoc --> + <target name="javadoc.dev.all" depends="init"> <javadoc packagenames="${javadoc.dev.packagenames},com.jogamp.opengl.cg" excludepackagenames="${java.excludes.javadoc.packagenames}" sourcepath="${src.java};${src.generated.java}" @@ -1736,8 +1623,6 @@ </javadoc> </target> - <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" /> <!-- ================================================================== --> diff --git a/make/build-nativewindow.xml b/make/build-nativewindow.xml index 2353fd3d8..e3fcdb5e2 100644 --- a/make/build-nativewindow.xml +++ b/make/build-nativewindow.xml @@ -42,10 +42,8 @@ - port to the ant-contrib CPPTask framework. Thanks to Athomas Goldberg for - the original OS detection code. - - - Some environment defs affecting compilation - - - setup.nodesktop is set iff: - !isWindows && !isOSX && !isX11 + - Some environment defs affecting native compilation + setup.noNativeAWT - Internal settings, may not be necessary to set them manually, since all JAR archives are orthogonal. @@ -66,15 +64,6 @@ --> <target name="base.init" depends="common.init"> - <condition property="setup.noNativeAWT"> - <or> - <isset property="setup.noAWT"/> - <isset property="setup.nodesktop"/> - </or> - </condition> - - <echo message="setup.noNativeAWT: ${setup.noNativeAWT}" /> - <!-- partitioning --> <property name="java.part.swt" @@ -465,6 +454,12 @@ <target name="c.configure.linux" depends="c.configure.linux.armv7,c.configure.linux.x86,c.configure.linux.amd64,c.configure.linux.ia64,c.configure.x11" if="isLinux" /> + <target name="c.configure.android" if="isAndroid"> + <echo message="Android" /> + <property name="compiler.cfg.id" value="compiler.cfg.android" /> + <property name="linker.cfg.id.oswin" value="linker.cfg.android" /> + </target> + <target name="c.configure.solaris32" depends="c.configure.x11" if="isSolaris32Bit"> <echo message="Solaris" /> <property name="compiler.cfg.id" value="compiler.cfg.solaris" /> @@ -514,7 +509,7 @@ <property name="linker.cfg.id.oswin" value="linker.cfg.macosx.nativewindow" /> </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.2" depends="c.configure.win32,c.configure.linux,c.configure.android,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" /> @@ -709,7 +704,7 @@ <target name="setup-manifestfile"> <property name="manifestfile" value="nativewindowversion"/> <copy file="${manifestfile}" - tofile="tempversion" + tofile="${build.nativewindow}/manifest.mf" overwrite="true"> <filterset> <filter token="VERSION" value="${nativewindow.version}"/> @@ -721,7 +716,7 @@ </target> <target name="build-jars-awt" depends="setup-manifestfile" unless="setup.noAWT"> - <jar manifest="tempversion" destfile="${nativewindow.awt.jar}" filesonly="true"> + <jar manifest="${build.nativewindow}/manifest.mf" destfile="${nativewindow.awt.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.awt}" excludes="${java.excludes.awt}"/> @@ -729,45 +724,30 @@ </target> <target name="build-jars-x11" depends="setup-manifestfile"> - <jar manifest="tempversion" destfile="${nativewindow.os.x11.jar}" filesonly="true"> + <jar manifest="${build.nativewindow}/manifest.mf" destfile="${nativewindow.os.x11.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.x11}" /> </jar> </target> <target name="build-jars-windows" depends="setup-manifestfile"> - <jar manifest="tempversion" destfile="${nativewindow.os.win.jar}" filesonly="true"> + <jar manifest="${build.nativewindow}/manifest.mf" destfile="${nativewindow.os.win.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.windows}" /> </jar> </target> - <target name="build-jars-all" depends="setup-manifestfile" unless="setup.noAWT"> - <jar manifest="tempversion" destfile="${nativewindow.all.jar}" filesonly="true"> - <fileset dir="${classes}" - includes="javax/media/nativewindow/** com/jogamp/nativewindow/** 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/** jogamp/nativewindow/**" - excludes="${java.part.awt}"/> - </jar> - </target> - - <target name="build-jars-javase" depends="setup-manifestfile,build-jars-awt,build-jars-x11,build-jars-windows,build-jars-all,build-jars-all-noawt"> - <jar manifest="tempversion" destfile="${nativewindow.core.jar}" filesonly="true"> + <target name="build-jars-javase" depends="setup-manifestfile,build-jars-awt,build-jars-x11,build-jars-windows"> + <jar manifest="${build.nativewindow}/manifest.mf" destfile="${nativewindow.core.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.core}" excludes="${java.part.awt} ${java.part.x11} ${java.part.windows}"/> </jar> - <jar manifest="tempversion" destfile="${build.nativewindow}/nativewindow-natives-${os.and.arch}.jar" filesonly="true"> + <jar manifest="${build.nativewindow}/manifest.mf" destfile="${build.nativewindow}/nativewindow-natives-${os.and.arch}.jar" filesonly="true"> <fileset dir="${obj.nativewindow}"> <include name="*.${native.library.suffix}" /> </fileset> </jar> - <delete file="tempversion"/> </target> <!-- ================================================================== --> diff --git a/make/build-newt.xml b/make/build-newt.xml index c6bd9c861..c5c05386a 100644 --- a/make/build-newt.xml +++ b/make/build-newt.xml @@ -44,14 +44,17 @@ - - Some environment defs affecting compilation + - Some environment defs affecting native compilation + setup.noNativeDesktop + setup.addNativeKD + setup.addNativeIntelGDL + setup.addNativeBroadcomEGL + - Internal settings, may not be necessary to set them manually, since all JAR archives are orthogonal. setup.noAWT setup.noOpenGL - - setup.nodesktop is set iff: - !isWindows && !isOSX && !isX11 - --> <project name="NEWT" basedir="." default="all"> @@ -73,9 +76,10 @@ <isfalse value="${isWindows}" /> <isfalse value="${isOSX}" /> <isfalse value="${isX11}" /> - <isfalse value="${useKD}" /> - <isfalse value="${useIntelGDL}" /> - <isfalse value="${useBroadcomEGL}" /> + <isfalse value="${isAndroid}" /> + <isfalse value="${setup.addNativeKD}" /> + <isfalse value="${setup.addNativeIntelGDL}" /> + <isfalse value="${setup.addNativeBroadcomEGL}" /> </and> </condition> @@ -83,9 +87,10 @@ <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="isAndroid: ${isAndroid}" /> + <echo message="setup.addNativeKD: ${setup.addNativeKD}" /> + <echo message="setup.addNativeIntelGDL: ${setup.addNativeIntelGDL}" /> + <echo message="setup.addNativeBroadcomEGL: ${setup.addNativeBroadcomEGL}" /> <echo message="setup.nonatives: ${setup.nonatives}" /> <!-- partitioning --> @@ -93,26 +98,35 @@ <property name="java.part.core" value="com/jogamp/newt/* com/jogamp/newt/event/* com/jogamp/newt/util/* jogamp/newt/* jogamp/newt/event/*"/> + <property name="java.part.opengl" + value="com/jogamp/newt/opengl/**"/> + + <property name="java.part.driver.awt" + value="jogamp/newt/driver/awt/**"/> + <property name="java.part.awt" - value="com/jogamp/newt/awt/* com/jogamp/newt/event/awt/* jogamp/newt/awt/**"/> + value="com/jogamp/newt/awt/** com/jogamp/newt/event/awt/** jogamp/newt/awt/** ${java.part.driver.awt}"/> - <property name="java.part.x11" - value="jogamp/newt/x11/*"/> + <property name="java.part.driver.x11" + value="jogamp/newt/driver/x11/**"/> - <property name="java.part.windows" - value="jogamp/newt/windows/*"/> + <property name="java.part.driver.windows" + value="jogamp/newt/driver/windows/**"/> - <property name="java.part.macosx" - value="jogamp/newt/macosx/*"/> + <property name="java.part.driver.macosx" + value="jogamp/newt/driver/macosx/**"/> - <property name="java.part.egl" - value="jogamp/newt/egl/**"/> + <property name="java.part.driver.kd" + value="jogamp/newt/driver/kd/**"/> - <property name="java.part.opengl" - value="com/jogamp/newt/opengl/** ${java.part.egl}"/> + <property name="java.part.driver.intelgdl" + value="jogamp/newt/driver/intel/gdl/**"/> + + <property name="java.part.driver.broadcomegl" + value="jogamp/newt/driver/broadcom/egl/**"/> - <property name="java.part.intelgdl" - value="jogamp/newt/intel/gdl/*"/> + <property name="java.part.driver.android" + value="jogamp/newt/driver/android/**"/> <!-- condition excludes --> @@ -125,12 +139,7 @@ <isset property="setup.noOpenGL"/> </condition> - <condition property="java.excludes.desktop" - value="${java.part.x11} ${java.part.windows}, ${java.part.macosx}, ${java.part.awt}"> - <isset property="setup.nodesktop"/> - </condition> - - <property name="java.excludes.all" value="${java.excludes.awt}, ${java.excludes.opengl} ${java.excludes.desktop}" /> + <property name="java.excludes.all" value="${java.excludes.awt}, ${java.excludes.opengl}" /> <echo message="java.excludes.all: ${java.excludes.all}" /> </target> @@ -193,14 +202,14 @@ <target name="java.compile.javase"> <!-- Perform the second pass Java compile; everything. --> <javac destdir="${classes}" - excludes="${java.excludes.all},**/android/**" + excludes="${java.excludes.all}" source="${target.sourcelevel}" fork="yes" includeAntRuntime="false" memoryMaximumSize="${javac.memorymax}" debug="${javacdebug}" debuglevel="${javacdebuglevel}"> <src path="${src.java}" /> - <classpath refid="nativewindow_gluegen_jogl.classpath"/> + <classpath refid="jogl_nativewindow_gluegen.classpath"/> </javac> </target> @@ -366,6 +375,13 @@ <target name="c.configure.linux" depends="c.configure.linux.x86,c.configure.linux.amd64,c.configure.linux.armv7,c.configure.linux.ia64,c.configure.x11" if="isLinux"/> + <target name="c.configure.android" if="isAndroid"> + <echo message="Android" /> + <property name="compiler.cfg.id" value="compiler.cfg.android" /> + <property name="linker.cfg.id.core" value="linker.cfg.android" /> + <property name="linker.cfg.id.oswin" value="linker.cfg.android" /> + </target> + <target name="c.configure.solaris32" depends="c.configure.x11" if="isSolaris32Bit"> <echo message="Solaris" /> <property name="compiler.cfg.id" value="compiler.cfg.solaris" /> @@ -430,7 +446,7 @@ <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.2" depends="c.configure.win32,c.configure.linux,c.configure.android,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" /> @@ -463,9 +479,9 @@ <include name="${rootrel.src.c}/WindowsWindow.c" if="isWindows"/> <include name="${rootrel.src.c}/*.m" if="isOSX"/> <include name="${rootrel.src.c}/X11Window.c" if="isX11"/> - <include name="${rootrel.src.c}/KDWindow.c" if="useKD"/> - <include name="${rootrel.src.c}/IntelGDL.c" if="useIntelGDL"/> - <include name="${rootrel.src.c}/BroadcomEGL.c" if="useBroadcomEGL"/> + <include name="${rootrel.src.c}/KDWindow.c" if="setup.addNativeKD"/> + <include name="${rootrel.src.c}/IntelGDL.c" if="setup.addNativeIntelGDL"/> + <include name="${rootrel.src.c}/BroadcomEGL.c" if="setup.addNativeBroadcomEGL"/> </patternset> <echo message="Compiling @{output.lib.name}" /> @@ -506,10 +522,10 @@ <includepath path="${src.generated.c}/X11" if="isX11"/> <includepath path="${src.generated.c}/MacOSX" if="isOSX"/> <includepath path="${src.generated.c}/Windows" if="isWindows"/> - <includepath path="${src.generated.c}/KD" if="useKD" /> - <includepath path="${src.generated.c}/IntelGDL" if="useIntelGDL" /> - <includepath path="stub_includes/embedded/IntelGDL" if="useIntelGDL" /> - <includepath path="${src.generated.c}/BroadcomEGL" if="useBroadcomEGL" /> + <includepath path="${src.generated.c}/KD" if="setup.addNativeKD" /> + <includepath path="${src.generated.c}/IntelGDL" if="setup.addNativeIntelGDL" /> + <includepath path="stub_includes/embedded/IntelGDL" if="setup.addNativeIntelGDL" /> + <includepath path="${src.generated.c}/BroadcomEGL" if="setup.addNativeBroadcomEGL" /> <!-- This must come last to not override real include paths --> <!-- includepath path="stub_includes/macosx" if="isOSX" / --> @@ -547,34 +563,26 @@ </sequential> </macrodef> - <target name="c.build.newt.prepare.KD" if="useKD"> - <javah destdir="${src.generated.c}/KD" classpath="${classes}" class="jogamp.newt.egl.kd.KDWindow" /> - </target> + <target name="c.build.newt.prepare"> + <javah destdir="${src.generated.c}/KD" classpath="${classes}" class="jogamp.newt.driver.kd.KDWindow" /> - <target name="c.build.newt.prepare.IntelGDL" if="useIntelGDL"> - <javah destdir="${src.generated.c}/IntelGDL" classpath="${classes}" class="jogamp.newt.intel.gdl.Display" /> - <javah destdir="${src.generated.c}/IntelGDL" classpath="${classes}" class="jogamp.newt.intel.gdl.Screen" /> - <javah destdir="${src.generated.c}/IntelGDL" classpath="${classes}" class="jogamp.newt.intel.gdl.Window" /> - </target> + <javah destdir="${src.generated.c}/IntelGDL" classpath="${classes}" class="jogamp.newt.driver.intel.gdl.Display" /> + <javah destdir="${src.generated.c}/IntelGDL" classpath="${classes}" class="jogamp.newt.driver.intel.gdl.Screen" /> + <javah destdir="${src.generated.c}/IntelGDL" classpath="${classes}" class="jogamp.newt.driver.intel.gdl.Window" /> - <target name="c.build.newt.prepare.BroadcomEGL" if="useBroadcomEGL"> - <javah destdir="${src.generated.c}/BroadcomEGL" classpath="${classes}" class="jogamp.newt.egl.broadcom.Window" /> - </target> + <javah destdir="${src.generated.c}/BroadcomEGL" classpath="${classes}" class="jogamp.newt.driver.broadcom.egl.Window" /> - <target name="c.build.newt.prepare.desktop" unless="setup.nodesktop"> - <javah destdir="${src.generated.c}/Windows" classpath="${classes}" class="jogamp.newt.windows.WindowsWindow" /> - <javah destdir="${src.generated.c}/Windows" classpath="${classes}" class="jogamp.newt.windows.WindowsScreen" /> - <javah destdir="${src.generated.c}/Windows" classpath="${classes}" class="jogamp.newt.windows.WindowsDisplay" /> - <javah destdir="${src.generated.c}/MacOSX" classpath="${classes}" class="jogamp.newt.macosx.MacWindow" /> - <javah destdir="${src.generated.c}/MacOSX" classpath="${classes}" class="jogamp.newt.macosx.MacScreen" /> - <javah destdir="${src.generated.c}/MacOSX" classpath="${classes}" class="jogamp.newt.macosx.MacDisplay" /> - <javah destdir="${src.generated.c}/X11" classpath="${classes}" class="jogamp.newt.x11.X11Window" /> - <javah destdir="${src.generated.c}/X11" classpath="${classes}" class="jogamp.newt.x11.X11Screen" /> - <javah destdir="${src.generated.c}/X11" classpath="${classes}" class="jogamp.newt.x11.X11Display" /> + <javah destdir="${src.generated.c}/Windows" classpath="${classes}" class="jogamp.newt.driver.windows.WindowsWindow" /> + <javah destdir="${src.generated.c}/Windows" classpath="${classes}" class="jogamp.newt.driver.windows.WindowsScreen" /> + <javah destdir="${src.generated.c}/Windows" classpath="${classes}" class="jogamp.newt.driver.windows.WindowsDisplay" /> + <javah destdir="${src.generated.c}/MacOSX" classpath="${classes}" class="jogamp.newt.driver.macosx.MacWindow" /> + <javah destdir="${src.generated.c}/MacOSX" classpath="${classes}" class="jogamp.newt.driver.macosx.MacScreen" /> + <javah destdir="${src.generated.c}/MacOSX" classpath="${classes}" class="jogamp.newt.driver.macosx.MacDisplay" /> + <javah destdir="${src.generated.c}/X11" classpath="${classes}" class="jogamp.newt.driver.x11.X11Window" /> + <javah destdir="${src.generated.c}/X11" classpath="${classes}" class="jogamp.newt.driver.x11.X11Screen" /> + <javah destdir="${src.generated.c}/X11" classpath="${classes}" class="jogamp.newt.driver.x11.X11Display" /> </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" /> - <target name="c.build.newt.windowlib" unless="setup.nonatives"> <c.build c.compiler.src.files="c.src.files.newt" output.lib.name="newt" @@ -603,7 +611,7 @@ <target name="setup-manifestfile"> <property name="manifestfile" value="newtversion"/> <copy file="${manifestfile}" - tofile="tempversion" + tofile="${build.newt}/manifest.mf" overwrite="true"> <filterset> <filter token="VERSION" value="${newt.version}"/> @@ -615,49 +623,56 @@ </target> <target name="build-jars-awt" depends="setup-manifestfile" unless="setup.noAWT"> - <jar manifest="tempversion" destfile="${newt.awt.jar}" filesonly="true"> + <jar manifest="${build.newt}/manifest.mf" destfile="${newt.awt.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.awt}"/> </jar> </target> <target name="build-jars-opengl" depends="setup-manifestfile" unless="setup.noOpenGL"> - <jar manifest="tempversion" destfile="${newt.ogl.jar}" filesonly="true"> + <jar manifest="${build.newt}/manifest.mf" destfile="${newt.ogl.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.opengl}"/> </jar> </target> <target name="build-jars-driver" depends="setup-manifestfile"> - <jar manifest="tempversion" destfile="${newt.hw.intelgdl.jar}" filesonly="true"> + <jar manifest="${build.newt}/manifest.mf" destfile="${newt.driver.x11.jar}" filesonly="true"> <fileset dir="${classes}" - includes="${java.part.intelgdl}"/> + includes="${java.part.driver.x11}"/> </jar> - </target> - - <target name="build-jars-desktop" depends="setup-manifestfile" unless="setup.nodesktop"> - <jar manifest="tempversion" destfile="${newt.os.x11.jar}" filesonly="true"> + <jar manifest="${build.newt}/manifest.mf" destfile="${newt.driver.win.jar}" filesonly="true"> + <fileset dir="${classes}" + includes="${java.part.driver.windows}"/> + </jar> + <jar manifest="${build.newt}/manifest.mf" destfile="${newt.driver.macosx.jar}" filesonly="true"> <fileset dir="${classes}" - includes="${java.part.x11}"/> + includes="${java.part.driver.macosx}"/> </jar> - <jar manifest="tempversion" destfile="${newt.os.win.jar}" filesonly="true"> + <jar manifest="${build.newt}/manifest.mf" destfile="${newt.driver.android.jar}" filesonly="true"> <fileset dir="${classes}" - includes="${java.part.windows}"/> + includes="${java.part.driver.android}"/> </jar> - <jar manifest="tempversion" destfile="${newt.os.osx.jar}" filesonly="true"> + <jar manifest="${build.newt}/manifest.mf" destfile="${newt.driver.kd.jar}" filesonly="true"> <fileset dir="${classes}" - includes="${java.part.macosx}"/> + includes="${java.part.driver.kd}"/> + </jar> + <jar manifest="${build.newt}/manifest.mf" destfile="${newt.driver.broadcomegl.jar}" filesonly="true"> + <fileset dir="${classes}" + includes="${java.part.driver.broadcomegl}"/> + </jar> + <jar manifest="${build.newt}/manifest.mf" destfile="${newt.driver.intelgdl.jar}" filesonly="true"> + <fileset dir="${classes}" + includes="${java.part.driver.intelgdl}"/> </jar> </target> - <target name="build-jars-all-awt" depends="setup-manifestfile" unless="setup.noAWT"> - <jar manifest="tempversion" destfile="${newt.all.jar}" filesonly="true"> - <fileset dir="${classes}"> - <include name="com/jogamp/newt/**" /> - <include name="jogamp/newt/**" /> - </fileset> + <target name="build-jars-javase" depends="setup-manifestfile,build-jars-opengl,build-jars-awt,build-jars-driver"> + <jar manifest="${build.newt}/manifest.mf" destfile="${newt.core.jar}" filesonly="true"> + <fileset dir="${classes}" + includes="${java.part.core}"/> </jar> - <jar manifest="tempversion" destfile="${newt.event.jar}" filesonly="true"> + <jar manifest="${build.newt}/manifest.mf" destfile="${newt.event.jar}" filesonly="true"> <fileset dir="${classes}"> <include name="com/jogamp/newt/Display*" /> <include name="com/jogamp/newt/Screen*" /> @@ -667,29 +682,11 @@ <include name="jogamp/newt/Debug*" /> </fileset> </jar> - </target> - - <target name="build-jars-all-noawt" depends="setup-manifestfile"> - <jar manifest="tempversion" destfile="${newt.all-noawt.jar}" filesonly="true"> - <fileset dir="${classes}" - excludes="${java.part.awt}"> - <include name="com/jogamp/newt/**" /> - <include name="jogamp/newt/**" /> - </fileset> - </jar> - </target> - - <target name="build-jars-javase" depends="setup-manifestfile,build-jars-awt,build-jars-opengl,build-jars-all-noawt,build-jars-all-awt,build-jars-desktop,build-jars-driver"> - <jar manifest="tempversion" destfile="${newt.core.jar}" filesonly="true"> - <fileset dir="${classes}" - includes="${java.part.core}"/> - </jar> - <jar manifest="tempversion" destfile="${build.newt}/newt-natives-${os.and.arch}.jar" filesonly="true"> + <jar manifest="${build.newt}/manifest.mf" destfile="${build.newt}/newt-natives-${os.and.arch}.jar" filesonly="true"> <fileset dir="${obj.newt}"> <include name="*.${native.library.suffix}" /> </fileset> </jar> - <delete file="tempversion"/> </target> <!-- ================================================================== --> @@ -709,7 +706,7 @@ source="${target.sourcelevel}" linkoffline="${javadoc.link} 142-packages" bottom="${javadoc.bottom}" > - <classpath refid="nativewindow_gluegen_jogl.classpath"/> + <classpath refid="jogl_nativewindow_gluegen.classpath"/> </javadoc> </target> @@ -723,7 +720,7 @@ source="${target.sourcelevel}" linkoffline="${javadoc.link} 142-packages" bottom="${javadoc.bottom}" > - <classpath refid="nativewindow_gluegen_jogl.classpath"/> + <classpath refid="jogl_nativewindow_gluegen.classpath"/> </javadoc> </target> @@ -737,7 +734,7 @@ source="${target.sourcelevel}" linkoffline="${javadoc.link} 142-packages" bottom="${javadoc.bottom}" > - <classpath refid="nativewindow_gluegen_jogl.classpath"/> + <classpath refid="jogl_nativewindow_gluegen.classpath"/> </javadoc> </target> diff --git a/make/build-test.xml b/make/build-test.xml index 9dfc526c9..ed7584feb 100644 --- a/make/build-test.xml +++ b/make/build-test.xml @@ -71,10 +71,10 @@ <uptodate property="test.compile.skip"> <srcfiles dir= "." includes="*.xml"/> <srcfiles dir= "${src.test}" includes="**"/> - <srcfiles file="${nativewindow.all.jar}" /> - <srcfiles file="${jogl.all.jar}" /> - <srcfiles file="${newt.all.jar}" /> <srcfiles file="${gluegen.jar}" /> + <srcfiles dir="${src}/nativewindow" /> + <srcfiles dir="${src}/jogl" /> + <srcfiles dir="${src}/newt" /> <mapper type="merge" to="${jogl.test.jar.path}"/> </uptodate> </target> @@ -87,7 +87,7 @@ memoryMaximumSize="${javac.memorymax}" includeAntRuntime="false" debug="${javacdebug}" debuglevel="${javacdebuglevel}"> - <classpath refid="junit_jogl_newt.compile.classpath"/> + <classpath refid="junit_jogl_newt_android.compile.classpath"/> <src path="${src.test}" /> </javac> <jar destfile="${jogl.test.jar}" filesonly="true"> @@ -135,7 +135,7 @@ failonerror="false" output="${test.class.result.file}"> <env key="${system.env.library.path}" path="${obj.all.paths}"/> - <env key="CLASSPATH" value="${junit_jogl_newt_awt.run.jars}"/> + <env key="CLASSPATH" value="${junit_jogl_awt.run.jars}"/> <arg value="-Djava.library.path=${obj.all.paths}"/> <!-- <arg line="-Dnewt.debug.EDT"/> @@ -218,7 +218,7 @@ relative="true" failonerror="false"> <env key="${system.env.library.path}" path="${obj.all.paths}"/> - <env key="CLASSPATH" value="${junit_jogl_newt.run.jars}"/> + <env key="CLASSPATH" value="${junit_jogl_noawt.run.jars}"/> <arg value="-Djava.library.path=${obj.all.paths}"/> <arg line="${jvmarg.headless}"/> <!-- @@ -271,7 +271,7 @@ <formatter usefile="false" type="plain"/> <formatter usefile="true" type="xml"/> - <classpath refid="junit_jogl_newt.run.classpath"/> + <classpath refid="junit_jogl_noawt.run.classpath"/> <batchtest todir="${results.test}"> <fileset dir="${classes}"> @@ -337,7 +337,7 @@ <formatter usefile="false" type="plain"/> <formatter usefile="true" type="xml"/> - <classpath refid="junit_jogl_newt_awt.run.classpath"/> + <classpath refid="junit_jogl_awt.run.classpath"/> <test name="${testclass}"/> </junit> @@ -462,7 +462,7 @@ <formatter usefile="false" type="plain"/> <formatter usefile="true" type="xml"/> - <classpath refid="junit_jogl_newt_awt.run.classpath"/> + <classpath refid="junit_jogl_awt.run.classpath"/> <batchtest todir="${results.test}"> <fileset dir="${classes}"> diff --git a/make/build.xml b/make/build.xml index ea8c949ca..72d230942 100644 --- a/make/build.xml +++ b/make/build.xml @@ -77,29 +77,141 @@ <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"> + <target name="one.lib.dir" depends="init,gluegen.cpptasks.detect.os" unless="one.dir.skip"> <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}" /> <fileset dir="${build}/jogl/obj" includes="*.${native.library.suffix}" /> <fileset dir="${build}/nativewindow/obj" includes="*.${native.library.suffix}" /> <fileset dir="${build}/newt/obj" includes="*.${native.library.suffix}" /> </copy> </target> - <target name="one.jar.dir" depends="init,gluegen.cpptasks.detect.os"> + <target name="one.jar.dir" depends="one.lib.dir" unless="one.dir.skip"> <delete includeEmptyDirs="true" quiet="true" dir="${jar}" failonerror="false" /> <mkdir dir="${jar}" /> - <copy todir="${jar}"> - <fileset dir="${gluegen.root}/${rootrel.build}" includes="gluegen-rt*.jar" /> - <fileset dir="${build}/jogl" includes="*.jar" /> - <fileset dir="${build}/nativewindow" includes="*.jar" /> - <fileset dir="${build}/newt" includes="*.jar" /> + <mkdir dir="${jar}/atomic" /> + <copy todir="${jar}/atomic"> + <fileset dir="${build.jogl}" includes="*.jar" /> + <fileset dir="${build.nativewindow}" includes="*.jar" /> + <fileset dir="${build.newt}" includes="*.jar" /> </copy> + <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.all.jar}" filesonly="true" excludes="META-INF/*"> + <archives> + <zips> + <path refid="nativewindow_all_atoms.classpath"/> + <path refid="jogl_all_atoms.classpath"/> + <path refid="newt_all_atoms.classpath"/> + </zips> + </archives> + </jar> + <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.all-noawt.jar}" filesonly="true" excludes="META-INF/*"> + <archives> + <zips> + <path refid="nativewindow_all-noawt_atoms.classpath"/> + <path refid="jogl_all-noawt_atoms.classpath"/> + <path refid="newt_all-noawt_atoms.classpath"/> + </zips> + </archives> + </jar> + <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.all-mobile.jar}" filesonly="true" excludes="META-INF/*"> + <archives> + <zips> + <path refid="nativewindow_all-mobile_atoms.classpath"/> + <path refid="jogl_all-mobile_atoms.classpath"/> + <path refid="newt_all-mobile_atoms.classpath"/> + </zips> + </archives> + </jar> + <jar manifest="${build.jogl}/manifest.mf" destfile="${jogl.all-android.jar}" filesonly="true" excludes="META-INF/*"> + <archives> + <zips> + <path refid="nativewindow_all-mobile_atoms.classpath"/> + <path refid="jogl_all-mobile_atoms.classpath"/> + <path refid="newt_all-android_atoms.classpath"/> + </zips> + </archives> + </jar> + <jar manifest="${build.jogl}/manifest.mf" destfile="${jar}/jogl-all-natives-${os.and.arch}.jar" filesonly="true"> + <fileset dir="${lib}"> + <include name="*.${native.library.suffix}" /> + </fileset> + </jar> + </target> + + <target name="android.package.skip.check" depends="init,gluegen.cpptasks.detect.os"> + <uptodate property="android.package.skip" targetfile="${jar}/jogl.all-android.apk"> + <srcfiles dir="${jar}" includes="jogl.all-android.jar" /> + <srcfiles dir="resources/android" includes="**" /> + </uptodate> + </target> + + <target name="android.package" depends="init,gluegen.cpptasks.detect.os,android.package.skip.check" if="isAndroid" unless="android.package.skip"> + <aapt.signed + jarbuilddir="${jar}" + jarbasename="jogl.all-android" + nativebuilddir="${lib}" + nativebasename="" + androidmanifest.path="resources/android/AndroidManifest-jogl.xml" + androidresources.path="resources/android/res-jogl" + jarmanifest.path="${build.jogl}/manifest.mf" + version.code="${jogl_int_version}" + version.name="${jogl.version.plus}" /> + </target> + + <target name="android.launcher" depends="init,gluegen.cpptasks.detect.os" if="isAndroid"> + <mkdir dir="${build}/android/classes" /> + <mkdir dir="${build}/android/jar" /> + <mkdir dir="${build}/android/lib" /> + <javac destdir="${build}/android/classes" + includes="com/jogamp/android/launcher/**" + source="${target.sourcelevel}" + fork="yes" + includeAntRuntime="false" + memoryMaximumSize="${javac.memorymax}" + debug="${javacdebug}" debuglevel="${javacdebuglevel}"> + <src path="${project.root}/src/android" /> + <classpath location="${android.jar}"/> + </javac> + <jar destfile="${build}/android/jar/jogllauncher.jar" filesonly="true"> + <fileset dir="${build}/android/classes" + includes="com/jogamp/android/launcher/**"/> + </jar> + <aapt.signed + jarbuilddir="${build}/android/jar" + jarbasename="jogllauncher" + nativebuilddir="${build}/android/lib" + nativebasename="non-existing" + androidmanifest.path="resources/android/AndroidManifest-launcher.xml" + androidresources.path="resources/android/res-launcher" + version.code="1" + version.name="version 1" /> + </target> + + <target name="one.dir.skip.check" depends="init,gluegen.cpptasks.detect.os"> + <uptodate property="one.dir.skip.native" targetfile="${jar}/jogl-all-natives-${os.and.arch}.jar"> + <srcfiles dir="${lib}" includes="*.${native.library.suffix}" /> + </uptodate> + <uptodate property="one.dir.skip.all" targetfile="${jogl.all.jar}"> + <srcfiles dir="${build.nativewindow}" includes="*.jar"/> + <srcfiles dir="${build.jogl}" includes="*.jar"/> + <srcfiles dir="${build.newt}" includes="*.jar"/> + </uptodate> + <uptodate property="one.dir.skip.android" targetfile="${jogl.all-android.jar}"> + <srcfiles dir="${build.nativewindow}" includes="*.jar"/> + <srcfiles dir="${build.jogl}" includes="*.jar"/> + <srcfiles dir="${build.newt}" includes="*.jar"/> + </uptodate> + <condition property="one.dir.skip"> + <and> + <isset property="one.dir.skip.native"/> + <isset property="one.dir.skip.all"/> + <isset property="one.dir.skip.android"/> + </and> + </condition> </target> - <target name="one.dir" depends="one.lib.dir,one.jar.dir"/> + <target name="one.dir" depends="one.dir.skip.check, one.jar.dir, android.package, android.launcher"/> <target name="repack-jars" depends="one.jar.dir"> <!-- Re-pack jars we have the intent to compress later, after signing --> @@ -286,7 +398,7 @@ source="${target.sourcelevel}" maxmemory="1024m" bottom="${javadoc.bottom}" > - <classpath refid="jogl_newt_all.classpath"/> + <classpath refid="jogl_all.classpath"/> <link offline="true" href="${javadoc.link}" packagelistLoc="${gluegen.root}/make/142-packages" /> <link offline="false" href="${gluegen.link}" /> <arg line="-J-Dnativetaglet.mapping=${basedir}/native-taglet.properties"/> @@ -307,7 +419,7 @@ source="${target.sourcelevel}" maxmemory="1024m" bottom="${javadoc.bottom}" > - <classpath refid="jogl_newt_all.classpath"/> + <classpath refid="jogl_all.classpath"/> <link offline="true" href="${javadoc.link}" packagelistLoc="${gluegen.root}/make/142-packages" /> <link offline="false" href="${gluegen.link}" /> <arg line="-J-Dnativetaglet.mapping=${basedir}/native-taglet.properties"/> @@ -329,7 +441,7 @@ source="${target.sourcelevel}" maxmemory="1024m" bottom="${javadoc.bottom}" > - <classpath refid="jogl_newt_all.classpath"/> + <classpath refid="jogl_all.classpath"/> <link offline="true" href="${javadoc.link}" packagelistLoc="${gluegen.root}/make/142-packages" /> <link offline="false" href="${gluegen.link}" /> <arg line="-J-Dnativetaglet.mapping=${basedir}/native-taglet.properties"/> @@ -350,7 +462,7 @@ source="${target.sourcelevel}" maxmemory="1024m" bottom="${javadoc.bottom}" > - <classpath refid="jogl_newt_all.classpath"/> + <classpath refid="jogl_all.classpath"/> <link offline="true" href="${javadoc.link}" packagelistLoc="${gluegen.root}/make/142-packages" /> <link offline="false" href="${gluegen.link}" /> <arg line="-J-Dnativetaglet.mapping=${basedir}/native-taglet.properties"/> diff --git a/make/config/intptr.cfg b/make/config/intptr.cfg deleted file mode 100644 index c946e4851..000000000 --- a/make/config/intptr.cfg +++ /dev/null @@ -1,17 +0,0 @@ -CustomCCode #ifdef _WIN32 -CustomCCode #ifdef _MSC_VER -CustomCCode /* This typedef is apparently needed for Microsoft compilers before VC8, -CustomCCode and on Windows CE */ -CustomCCode #if (_MSC_VER < 1400) || defined(UNDER_CE) -CustomCCode #ifdef _WIN64 -CustomCCode typedef long long intptr_t; -CustomCCode #else -CustomCCode typedef int intptr_t; -CustomCCode #endif -CustomCCode #endif -CustomCCode #else -CustomCCode #include <inttypes.h> -CustomCCode #endif -CustomCCode #else -CustomCCode #include <inttypes.h> -CustomCCode #endif diff --git a/make/config/jogl/cg-common.cfg b/make/config/jogl/cg-common.cfg index 7ec47390f..606f86b9d 100644 --- a/make/config/jogl/cg-common.cfg +++ b/make/config/jogl/cg-common.cfg @@ -119,6 +119,7 @@ RuntimeExceptionType CgException # generated C code # +CustomCCode #include <stdio.h> /* android */ CustomCCode #include <stdlib.h> CustomCCode #include <Cg/cgGL.h> CustomCCode diff --git a/make/config/jogl/cglext.cfg b/make/config/jogl/cglext.cfg index 721fe911b..34a59dda3 100644 --- a/make/config/jogl/cglext.cfg +++ b/make/config/jogl/cglext.cfg @@ -23,8 +23,9 @@ GetProcAddressTableExpr _context.getCGLExtProcAddressTable() # Ignore everything that doesn't start with cgl or CGL IgnoreNot ^(cgl|CGL).+ +CustomCCode #include <gluegen_stdint.h> +CustomCCode #include <gluegen_stddef.h> Include gl-headers.cfg -Include ../intptr.cfg CustomJavaCode CGLExt public boolean isFunctionAvailable(String glFunctionName); CustomJavaCode CGLExt public boolean isExtensionAvailable(String glExtensionName); diff --git a/make/config/jogl/egl.cfg b/make/config/jogl/egl.cfg index ea299bfcc..ee74b46e6 100644 --- a/make/config/jogl/egl.cfg +++ b/make/config/jogl/egl.cfg @@ -21,10 +21,11 @@ GetProcAddressTableExpr _table ArgumentIsString eglGetProcAddress 0 ReturnsString eglQueryString +CustomCCode #include <stdio.h> /* android */ +CustomCCode #include <gluegen_stdint.h> +CustomCCode #include <gluegen_stddef.h> CustomCCode #include <EGL/egl.h> -Include ../intptr.cfg - CustomJavaCode EGL private static EGLProcAddressTable _table = new EGLProcAddressTable(new GLProcAddressResolver()); CustomJavaCode EGL public static void resetProcAddressTable(DynamicLookupHelper lookup) { CustomJavaCode EGL _table.reset(lookup); diff --git a/make/config/jogl/eglext.cfg b/make/config/jogl/eglext.cfg index 3af90d3af..2e422ff72 100644 --- a/make/config/jogl/eglext.cfg +++ b/make/config/jogl/eglext.cfg @@ -20,6 +20,9 @@ EmitProcAddressTable true ProcAddressTableClassName EGLExtProcAddressTable GetProcAddressTableExpr _context.getEGLExtProcAddressTable() +CustomCCode #include <stdio.h> /* android */ +CustomCCode #include <gluegen_stdint.h> +CustomCCode #include <gluegen_stddef.h> CustomCCode /* Define EGL_EGLEXT_PROTOTYPES so that the EGL extension prototypes in CustomCCode "eglext.h" are parsed. */ CustomCCode #define EGL_EGLEXT_PROTOTYPES @@ -27,8 +30,6 @@ CustomCCode CustomCCode #include <EGL/egl.h> CustomCCode #include <EGL/eglext.h> -Include ../intptr.cfg - # There are some #defines in eglext.h that GlueGen and PCPP don't currently handle CustomJavaCode EGLExt /** Part of <code>EGL_KHR_image</code> */ CustomJavaCode EGLExt public static final long EGL_NO_IMAGE = 0; diff --git a/make/config/jogl/gl-es1.cfg b/make/config/jogl/gl-es1.cfg index 88ce09569..518dc07b5 100644 --- a/make/config/jogl/gl-es1.cfg +++ b/make/config/jogl/gl-es1.cfg @@ -78,6 +78,7 @@ CustomJavaCode GLES1Impl glClearDepthf((float)depth); } CustomJavaCode GLES1Impl public void glDepthRange(double zNear, double zFar) { CustomJavaCode GLES1Impl glDepthRangef((float)zNear, (float)zFar); } +CustomCCode #include <stdio.h> /* android */ CustomCCode /* Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in CustomCCode "glext.h" are parsed. */ CustomCCode #define GL_GLEXT_PROTOTYPES @@ -87,7 +88,6 @@ CustomCCode /* #define GL_APICALL __declspec(dllimport) */ CustomCCode #include <GLES/gl.h> CustomCCode #include <GLES/glext.h> CustomCCode #include <stdlib.h> -Include ../intptr.cfg IncludeAs CustomJavaCode GLES1Impl gl-impl-CustomJavaCode-common.java IncludeAs CustomJavaCode GLES1Impl gl-impl-CustomJavaCode-gles1.java diff --git a/make/config/jogl/gl-es2.cfg b/make/config/jogl/gl-es2.cfg index f529ddbf7..614904aa0 100644 --- a/make/config/jogl/gl-es2.cfg +++ b/make/config/jogl/gl-es2.cfg @@ -62,6 +62,7 @@ JavaPrologue glGetIntegerv if ( glStateTracker.getInt(pname, params, params_offs IncludeAs CustomJavaCode GLES2 gl-if-CustomJavaCode-gles2.java +CustomCCode #include <stdio.h> /* android */ CustomCCode /* Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in CustomCCode "glext.h" are parsed. */ CustomCCode #define GL_GLEXT_PROTOTYPES @@ -71,7 +72,6 @@ CustomCCode /* #define GL_APICALL __declspec(dllimport) */ CustomCCode #include <GLES2/gl2.h> CustomCCode #include <GLES2/gl2ext.h> CustomCCode #include <stdlib.h> -Include ../intptr.cfg IncludeAs CustomJavaCode GLES2Impl gl-impl-CustomJavaCode-common.java IncludeAs CustomJavaCode GLES2Impl gl-impl-CustomJavaCode-gles2.java diff --git a/make/config/jogl/gl-gl4bc.cfg b/make/config/jogl/gl-gl4bc.cfg index 6833d24d5..67582af91 100644 --- a/make/config/jogl/gl-gl4bc.cfg +++ b/make/config/jogl/gl-gl4bc.cfg @@ -89,7 +89,6 @@ CustomJavaCode GL4bcImpl glOrtho((double)left, (double)right, (double)bottom, 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 diff --git a/make/config/jogl/gl-headers.cfg b/make/config/jogl/gl-headers.cfg index a23d09dc1..b80630c63 100644 --- a/make/config/jogl/gl-headers.cfg +++ b/make/config/jogl/gl-headers.cfg @@ -1,3 +1,5 @@ +CustomCCode #include <gluegen_stdint.h> +CustomCCode #include <stdio.h> /* android */ CustomCCode /* Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in CustomCCode "glext.h" are parsed. */ CustomCCode #define GL_GLEXT_PROTOTYPES diff --git a/make/config/jogl/gl-if-gl2.cfg b/make/config/jogl/gl-if-gl2.cfg index 6063bba7e..da6ca1647 100644 --- a/make/config/jogl/gl-if-gl2.cfg +++ b/make/config/jogl/gl-if-gl2.cfg @@ -35,7 +35,6 @@ CustomJavaCode GL2 public boolean glIsPBOPackEnabled(); CustomJavaCode GL2 public boolean glIsPBOUnpackEnabled(); Include gl-headers.cfg -Include ../intptr.cfg EmitProcAddressTable false ProcAddressTableClassName DontGenerateProcAddressTableStuff diff --git a/make/config/jogl/gl-if-gl3.cfg b/make/config/jogl/gl-if-gl3.cfg index 3ccc2c58c..fc08eccfd 100644 --- a/make/config/jogl/gl-if-gl3.cfg +++ b/make/config/jogl/gl-if-gl3.cfg @@ -31,7 +31,6 @@ EmitProcAddressTable false TagNativeBinding true Include gl3-headers.cfg -Include ../intptr.cfg EmitProcAddressTable false ProcAddressTableClassName DontGenerateProcAddressTableStuff diff --git a/make/config/jogl/gl-if-gl3bc.cfg b/make/config/jogl/gl-if-gl3bc.cfg index f23d3710d..6765e099f 100644 --- a/make/config/jogl/gl-if-gl3bc.cfg +++ b/make/config/jogl/gl-if-gl3bc.cfg @@ -38,7 +38,6 @@ IgnoreExtension GL_EXT_point_parameters Include gl-headers.cfg Include gl3ext-headers.cfg -Include ../intptr.cfg EmitProcAddressTable false ProcAddressTableClassName DontGenerateProcAddressTableStuff diff --git a/make/config/jogl/gl-if-gl4.cfg b/make/config/jogl/gl-if-gl4.cfg index b660bfaac..dbcf633b2 100644 --- a/make/config/jogl/gl-if-gl4.cfg +++ b/make/config/jogl/gl-if-gl4.cfg @@ -29,5 +29,4 @@ GetProcAddressTableExpr DontGenerateProcAddressTableStuff TagNativeBinding true Include gl3-headers.cfg -Include ../intptr.cfg diff --git a/make/config/jogl/gl3-headers.cfg b/make/config/jogl/gl3-headers.cfg index 3cab4a4e9..8b35a07b4 100644 --- a/make/config/jogl/gl3-headers.cfg +++ b/make/config/jogl/gl3-headers.cfg @@ -1,3 +1,4 @@ +CustomCCode #include <stdio.h> /* android */ CustomCCode /* Define GL3_PROTOTYPES so that the OpenGL extension prototypes in CustomCCode "gl3.h" are parsed. */ CustomCCode #define GL3_PROTOTYPES diff --git a/make/config/jogl/gl3ext-headers.cfg b/make/config/jogl/gl3ext-headers.cfg index dfc4ea796..5e2c7aa37 100644 --- a/make/config/jogl/gl3ext-headers.cfg +++ b/make/config/jogl/gl3ext-headers.cfg @@ -1,3 +1,4 @@ +CustomCCode #include <stdio.h> /* android */ CustomCCode /* Define GL_GL3EXT_PROTOTYPES so that the OpenGL extension prototypes in CustomCCode "gl3ext.h" are parsed. */ CustomCCode #define GL_GL3EXT_PROTOTYPES diff --git a/make/config/jogl/glu-gl2.cfg b/make/config/jogl/glu-gl2.cfg index 5909c8743..9387b4c4a 100644 --- a/make/config/jogl/glu-gl2.cfg +++ b/make/config/jogl/glu-gl2.cfg @@ -8,6 +8,7 @@ ImplPackage javax.media.opengl.glu.gl2 ImplJavaClass GLUgl2 ParentClass GLUgl2 GLU +CustomCCode #include <stdio.h> /* android */ CustomCCode #if defined(WIN32) CustomCCode #define WIN32_LEAN_AND_MEAN CustomCCode #include <windows.h> @@ -22,8 +23,6 @@ CustomCCode #elif defined(__unix__) CustomCCode #include <inttypes.h> CustomCCode #endif -Include ../intptr.cfg - EmitProcAddressTable true ProcAddressTablePackage jogamp.opengl.glu.gl2 ProcAddressTableClassName GLUgl2ProcAddressTable diff --git a/make/config/jogl/glxext.cfg b/make/config/jogl/glxext.cfg index 82490a2e8..de23b9f17 100644 --- a/make/config/jogl/glxext.cfg +++ b/make/config/jogl/glxext.cfg @@ -26,7 +26,6 @@ Import jogamp.nativewindow.x11.* IgnoreNot ^(glX|GLX).+ Include gl-headers.cfg -Include ../intptr.cfg CustomCCode /* Provide Windows typedefs */ CustomCCode typedef void* LPVOID; diff --git a/make/config/jogl/wgl-win32.cfg b/make/config/jogl/wgl-win32.cfg index a86834531..c7adffa7b 100644 --- a/make/config/jogl/wgl-win32.cfg +++ b/make/config/jogl/wgl-win32.cfg @@ -34,11 +34,10 @@ CustomCCode #define WIN32_LEAN_AND_MEAN CustomCCode #include <windows.h> CustomCCode #undef WIN32_LEAN_AND_MEAN +CustomCCode #include <gluegen_stdint.h> CustomCCode #include <wingdi.h> CustomCCode #include <stddef.h> -Include ../intptr.cfg - DropUniqVendorExtensions AMD # We need GL_APPLE_float_pixels for our pbuffer implementation # DropUniqVendorExtensions APPLE diff --git a/make/config/jogl/wglext.cfg b/make/config/jogl/wglext.cfg index d37a861b7..15986b6cf 100644 --- a/make/config/jogl/wglext.cfg +++ b/make/config/jogl/wglext.cfg @@ -25,7 +25,6 @@ Ignore GL_.+ Ignore gl.+ Include gl-headers.cfg -Include ../intptr.cfg # FIXME: for the time being, ignore all extensions requiring the # presence of java.nio.LongBuffer because it doesn't exist on CDC/FP + diff --git a/make/config/nativewindow/jawt-win32.cfg b/make/config/nativewindow/jawt-win32.cfg index d1fa7020a..5b571f719 100644 --- a/make/config/nativewindow/jawt-win32.cfg +++ b/make/config/nativewindow/jawt-win32.cfg @@ -8,7 +8,8 @@ Opaque long HDC IgnoreField JAWT_Win32DrawingSurfaceInfo null IgnoreField JAWT_Win32DrawingSurfaceInfo hpalette -Include ../intptr.cfg +CustomCCode #include <gluegen_stdint.h> +CustomCCode #include <gluegen_stddef.h> StructPackage JAWT_Win32DrawingSurfaceInfo jogamp.nativewindow.jawt.windows EmitStruct JAWT_Win32DrawingSurfaceInfo diff --git a/make/config/nativewindow/jawt-x11.cfg b/make/config/nativewindow/jawt-x11.cfg index ac9d1aa9a..05db2aa0c 100644 --- a/make/config/nativewindow/jawt-x11.cfg +++ b/make/config/nativewindow/jawt-x11.cfg @@ -8,7 +8,8 @@ Opaque long Display * IgnoreField JAWT_X11DrawingSurfaceInfo GetAWTColor -CustomCCode #include <inttypes.h> +CustomCCode #include <gluegen_stdint.h> +CustomCCode #include <gluegen_stddef.h> StructPackage JAWT_X11DrawingSurfaceInfo jogamp.nativewindow.jawt.x11 EmitStruct JAWT_X11DrawingSurfaceInfo diff --git a/make/config/nativewindow/win32-lib.cfg b/make/config/nativewindow/win32-lib.cfg index 894211182..b8886bdac 100644 --- a/make/config/nativewindow/win32-lib.cfg +++ b/make/config/nativewindow/win32-lib.cfg @@ -29,10 +29,9 @@ CustomCCode #define WIN32_LEAN_AND_MEAN CustomCCode #include <windows.h> CustomCCode #undef WIN32_LEAN_AND_MEAN +CustomCCode #include <gluegen_stdint.h> +CustomCCode #include <gluegen_stddef.h> CustomCCode #include <wingdi.h> -CustomCCode #include <stddef.h> - -Include ../intptr.cfg CustomCCode extern HINSTANCE GetApplicationHandle(); diff --git a/make/config/nativewindow/x11-lib.cfg b/make/config/nativewindow/x11-lib.cfg index 8848980ea..d9e4ccd0a 100644 --- a/make/config/nativewindow/x11-lib.cfg +++ b/make/config/nativewindow/x11-lib.cfg @@ -39,7 +39,8 @@ CustomJavaCode X11Lib private static int getFirstElement(int[] arr, int 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 <gluegen_stdint.h> +CustomCCode #include <gluegen_stddef.h> CustomCCode #include <X11/Xlib.h> CustomCCode #include <X11/Xutil.h> diff --git a/make/joglversion b/make/joglversion index c7d7f48ca..bf0220fa0 100644 --- a/make/joglversion +++ b/make/joglversion @@ -1,3 +1,4 @@ +Manifest-Version: 1.0 Specification-Title: Java Bindings for OpenGL API Specification Specification-Version: @BASEVERSION@ Specification-Vendor: JogAmp Community diff --git a/make/nativewindowversion b/make/nativewindowversion index 462ffdba5..3eb3bc2c2 100644 --- a/make/nativewindowversion +++ b/make/nativewindowversion @@ -1,3 +1,4 @@ +Manifest-Version: 1.0 Specification-Title: Native Window Interface API Specification Specification-Version: @BASEVERSION@ Specification-Vendor: JogAmp Community diff --git a/make/newtversion b/make/newtversion index 84847fb65..e8aa60caa 100644 --- a/make/newtversion +++ b/make/newtversion @@ -1,3 +1,4 @@ +Manifest-Version: 1.0 Specification-Title: NEWT API Specification Specification-Version: @BASEVERSION@ Specification-Vendor: JogAmp Community diff --git a/make/resources/android/AndroidManifest-jogl.xml b/make/resources/android/AndroidManifest-jogl.xml new file mode 100644 index 000000000..24e7a7b78 --- /dev/null +++ b/make/resources/android/AndroidManifest-jogl.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + sharedUserId="com.jogamp.Community" + package="javax.media.opengl"> + + <uses-sdk android:minSdkVersion="9" /> + <uses-library android:name="com.jogamp.common" android:required="true" /> + + <application android:icon="@drawable/icon" + android:label="@string/app_name" + android:description="@string/app_descr" + android:persistent="false" + > + <activity android:name="jogamp.newt.driver.android.NewtVersionActivity" + android:finishOnTaskLaunch="true" + android:launchMode="singleTop" + android:label="@string/activity_v_name" + android:description="@string/activity_v_descr" + > + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> + +</manifest> diff --git a/make/resources/android/AndroidManifest-launcher.xml b/make/resources/android/AndroidManifest-launcher.xml new file mode 100644 index 000000000..7ce9693f1 --- /dev/null +++ b/make/resources/android/AndroidManifest-launcher.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + sharedUserId="com.jogamp.Community" + package="com.jogamp.android.launcher"> + + <uses-sdk android:minSdkVersion="9" /> + <uses-library android:name="com.jogamp.common" android:required="true" /> + <uses-library android:name="javax.media.opengl" android:required="true" /> + + <application android:icon="@drawable/icon" + android:label="@string/app_name" + android:description="@string/app_descr" + android:persistent="false" + > + <activity android:name="com.jogamp.android.launcher.NEWTLauncherVersionActivity" + android:finishOnTaskLaunch="true" + android:launchMode="singleTop" + android:label="@string/activity_v_name" + android:description="@string/activity_v_descr" + > + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + <activity android:name="com.jogamp.android.launcher.NEWTLauncherGearsActivity" + android:finishOnTaskLaunch="true" + android:launchMode="singleTop" + android:label="@string/activity_gears1_name" + android:description="@string/activity_gears1_descr" + > + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> + +</manifest> diff --git a/make/resources/android/res-jogl/drawable-hdpi/icon.png b/make/resources/android/res-jogl/drawable-hdpi/icon.png Binary files differnew file mode 100644 index 000000000..2148232c9 --- /dev/null +++ b/make/resources/android/res-jogl/drawable-hdpi/icon.png diff --git a/make/resources/android/res-jogl/drawable-ldpi/icon.png b/make/resources/android/res-jogl/drawable-ldpi/icon.png Binary files differnew file mode 100644 index 000000000..c16211f36 --- /dev/null +++ b/make/resources/android/res-jogl/drawable-ldpi/icon.png diff --git a/make/resources/android/res-jogl/drawable-mdpi/icon.png b/make/resources/android/res-jogl/drawable-mdpi/icon.png Binary files differnew file mode 100644 index 000000000..1c26e3f83 --- /dev/null +++ b/make/resources/android/res-jogl/drawable-mdpi/icon.png diff --git a/make/resources/android/res-jogl/layout/main.xml b/make/resources/android/res-jogl/layout/main.xml new file mode 100644 index 000000000..3a5f117d3 --- /dev/null +++ b/make/resources/android/res-jogl/layout/main.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + > +<TextView + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="@string/hello" + /> +</LinearLayout> diff --git a/make/resources/android/res-jogl/values/strings.xml b/make/resources/android/res-jogl/values/strings.xml new file mode 100644 index 000000000..6c0a469e0 --- /dev/null +++ b/make/resources/android/res-jogl/values/strings.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <string name="hello">Jogl Library</string> + <string name="app_name">JogAmp\'s Jogl Library</string> + <string name="app_descr">Contains Dalvik and native code, supporting native bindings.</string> + <string name="activity_v_name">Jogl</string> + <string name="activity_v_descr">The Jogl Library.</string> +</resources> diff --git a/make/resources/android/res-launcher/drawable-hdpi/icon.png b/make/resources/android/res-launcher/drawable-hdpi/icon.png Binary files differnew file mode 100644 index 000000000..2148232c9 --- /dev/null +++ b/make/resources/android/res-launcher/drawable-hdpi/icon.png diff --git a/make/resources/android/res-launcher/drawable-ldpi/icon.png b/make/resources/android/res-launcher/drawable-ldpi/icon.png Binary files differnew file mode 100644 index 000000000..c16211f36 --- /dev/null +++ b/make/resources/android/res-launcher/drawable-ldpi/icon.png diff --git a/make/resources/android/res-launcher/drawable-mdpi/icon.png b/make/resources/android/res-launcher/drawable-mdpi/icon.png Binary files differnew file mode 100644 index 000000000..1c26e3f83 --- /dev/null +++ b/make/resources/android/res-launcher/drawable-mdpi/icon.png diff --git a/make/resources/android/res-launcher/layout/main.xml b/make/resources/android/res-launcher/layout/main.xml new file mode 100644 index 000000000..3a5f117d3 --- /dev/null +++ b/make/resources/android/res-launcher/layout/main.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + > +<TextView + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="@string/hello" + /> +</LinearLayout> diff --git a/make/resources/android/res-launcher/values/strings.xml b/make/resources/android/res-launcher/values/strings.xml new file mode 100644 index 000000000..23b0248bd --- /dev/null +++ b/make/resources/android/res-launcher/values/strings.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <string name="hello">Jogl Launcher</string> + <string name="app_name">JogAmp\'s Jogl Launcher</string> + <string name="app_descr">Launches Jogl Applications.</string> + <string name="activity_v_name">Jogl\'s Version</string> + <string name="activity_v_descr">Shows the version of the Jogl Library.</string> + <string name="activity_gears1_name">Gears ES1</string> + <string name="activity_gears1_descr">Gears ES1</string> +</resources> diff --git a/make/scripts/lstjars.sh b/make/scripts/lstjars.sh index c72a48a9b..82e378e20 100755 --- a/make/scripts/lstjars.sh +++ b/make/scripts/lstjars.sh @@ -34,61 +34,33 @@ function listdeployment() { 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 JOGL ALL + report gluegen-rt.$JAR_SUFFIX jogl.all.$JAR_SUFFIX libgluegen-rt.so.gz libnativewindow_awt.so.gz libnativewindow_x11.so.gz libjogl_desktop.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 JOGL ALL no AWT + report gluegen-rt.$JAR_SUFFIX jogl.all-noawt.$JAR_SUFFIX libgluegen-rt.so.gz libnativewindow_x11.so.gz libjogl_desktop.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 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 JOGL Android - mobile egl es1 es2 + report gluegen-rt.$JAR_SUFFIX jogl.all-android.$JAR_SUFFIX libgluegen-rt.so.gz libjogl_mobile.so.gz echo } rm -rf $STATDIR mkdir -p $STATDIR -cp -a $BUILDDIR/nativewindow/obj/*.so $STATDIR -cp -a $BUILDDIR/jogl/obj/*.so $STATDIR -cp -a $BUILDDIR/newt/obj/*.so $STATDIR -cp -a $BUILDDIR/nativewindow/*.jar $STATDIR -cp -a $BUILDDIR/jogl/*.jar $STATDIR -cp -a $BUILDDIR/newt/*.jar $STATDIR +cp -a $BUILDDIR/lib/*.so $STATDIR +cp -a $BUILDDIR/jar/* $STATDIR cp -a $BUILDDIR_GLUEGEN/gluegen-rt.jar $STATDIR -cp -a $BUILDDIR_GLUEGEN/gluegen-rt-natives-linux-i586.jar $STATDIR cp -a $BUILDDIR_GLUEGEN/obj/libgluegen-rt.so $STATDIR cd $STATDIR +rm -rf nope +mkdir -p nope/atomic +mv gluegen*jar *-natives*.jar nope/ +mv atomic/gluegen-gl.jar nope/atomic + for i in *.so ; do gzip $i done @@ -99,33 +71,27 @@ echo rm -f *.lst -for i in *.jar ; do +for i in *.jar atomic/*.jar ; do fname=$i - bname=$(basename $fname .jar) + bname=$(dirname $fname)/$(basename $fname .jar) echo list $fname to $bname.lst jar tf $fname | grep class | sort > $bname.lst done -rm -rf nope -mkdir -p nope - -mv jogl.test.lst *-noawt.lst *.all*.lst nope/ - -mv jogl.gl2es12.*.lst jogl.gldesktop.*.lst nope/ -echo duplicates - w/o gl2es12.* gldesktop.* +echo duplicates in atomics echo -sort jogl*.lst | uniq -d -mv nope/* . +sort atomic/jogl*.lst | uniq -d -mv jogl.test.lst *.all*.lst gluegen-gl.lst nope/ -cat *.lst | sort -u > allparts.lst -mv nope/* . -cat *.all.lst gluegen-rt.lst | sort -u > allall.lst +cat atomic/*.lst | sort -u > allparts.lst +mv nope/*jar . +cat jogl.all.lst gluegen-rt.lst | sort -u > allall.lst echo all vs allparts delta echo diff -Nur allparts.lst allall.lst +mv nope/* . + listdeployment jar if [ $pack200 -eq 1 ] ; then diff --git a/make/scripts/make.jogl.all.android-armv7-cross.sh b/make/scripts/make.jogl.all.android-armv7-cross.sh new file mode 100755 index 000000000..cbc5bda29 --- /dev/null +++ b/make/scripts/make.jogl.all.android-armv7-cross.sh @@ -0,0 +1,111 @@ +#! /bin/sh + +export HOST_UID=sven +export HOST_IP=192.168.0.52 +export HOST_RSYNC_ROOT=PROJECTS/JOGL + +export TARGET_UID=jogamp +export TARGET_IP=beagle01 +export TARGET_ROOT=/projects +export TARGET_ANT_HOME=/usr/share/ant + +export ANDROID_VERSION=9 + +echo ANDROID_SDK_HOME $ANDROID_SDK_HOME +echo NDK_ROOT $NDK_ROOT + +if [ -z "$NDK_ROOT" ] ; then + if [ -e /usr/local/android-ndk-r6 ] ; then + NDK_ROOT=/usr/local/android-ndk-r6 + elif [ -e /opt-linux-x86/android-ndk-r6 ] ; then + NDK_ROOT=/opt-linux-x86/android-ndk-r6 + elif [ -e /opt/android-ndk-r6 ] ; then + NDK_ROOT=/opt/android-ndk-r6 + else + echo NDK_ROOT is not specified and does not exist in default locations + exit 1 + fi +elif [ ! -e $NDK_ROOT ] ; then + echo NDK_ROOT $NDK_ROOT does not exist + exit 1 +fi +export NDK_ROOT +NDK_TOOLCHAIN=$NDK_ROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/arm-linux-androideabi + +if [ -z "$ANDROID_SDK_HOME" ] ; then + if [ -e /usr/local/android-sdk-linux_x86 ] ; then + ANDROID_SDK_HOME=/usr/local/android-sdk-linux_x86 + elif [ -e /opt-linux-x86/android-sdk-linux_x86 ] ; then + ANDROID_SDK_HOME=/opt-linux-x86/android-sdk-linux_x86 + elif [ -e /opt/android-sdk-linux_x86 ] ; then + ANDROID_SDK_HOME=/opt/android-sdk-linux_x86 + else + echo ANDROID_SDK_HOME is not specified and does not exist in default locations + exit 1 + fi +elif [ ! -e $ANDROID_SDK_HOME ] ; then + echo ANDROID_SDK_HOME $ANDROID_SDK_HOME does not exist + exit 1 +fi +export ANDROID_SDK_HOME + +export PATH="$NDK_TOOLCHAIN/bin:$ANDROID_SDK_HOME/platform-tools:$PATH" + +export GCC_VERSION=4.4.3 +HOST_ARCH=linux-x86 +export TARGET_ARCH=arm-linux-androideabi +# mcpu: cortex-a8', `cortex-a9', `cortex-r4', `cortex-r4f', `cortex-m3', `cortex-m1', `xscale', `iwmmxt', `iwmmxt2', `ep9312'. +export TARGET_CPU_NAME=armv7-a +TARGET_CPU_TUNE=armv7-a +# mfpu: `vfp', `vfpv3', `vfpv3-d16' and `neon' +TARGET_FPU_NAME=vfpv3 +TARGET_FPU_ABI=softfp + +export TARGET_TOOL_PATH=${NDK_ROOT}/toolchains/${TARGET_ARCH}-${GCC_VERSION}/prebuilt/${HOST_ARCH} + +export TARGET_OS_PATH=${NDK_ROOT}/platforms/android-${ANDROID_VERSION}/arch-arm/usr +export HOST_OS_PATH=${NDK_ROOT}/platforms/android-${ANDROID_VERSION}/arch-x86/usr + +export NDK_XBIN_PATH=${TARGET_TOOL_PATH}/bin +export NDK_BIN_PATH=${TARGET_TOOL_PATH}/${TARGET_ARCH}/bin + +export NDK_GCC=${NDK_XBIN_PATH}/${TARGET_ARCH}-gcc +export NDK_AR=${NDK_XBIN_PATH}/${TARGET_ARCH}-ar +export NDK_STRIP=${NDK_XBIN_PATH}/${TARGET_ARCH}-strip +export NDK_READELF=${NDK_XBIN_PATH}/${TARGET_ARCH}-readelf + +export PATH=${NDK_XBIN_PATH}:$PATH + +export NDK_CFLAGS="\ +-march=${TARGET_CPU_NAME} \ +-fpic \ +-DANDROID \ +" + +export NDK_LDFLAGS="\ +-Wl,--demangle \ +-nostdlib -Bdynamic -Wl,-dynamic-linker,/system/bin/linker -Wl,--gc-sections -Wl,-z,nocopyreloc \ +${TARGET_OS_PATH}/lib/libc.so \ +${TARGET_OS_PATH}/lib/libstdc++.so \ +${TARGET_OS_PATH}/lib/libm.so \ +${TARGET_OS_PATH}/lib/crtbegin_dynamic.o \ +-Wl,--no-undefined -Wl,-rpath-link=${TARGET_OS_PATH}/lib \ +${TARGET_TOOL_PATH}/lib/gcc/${TARGET_ARCH}/${GCC_VERSION}/${TARGET_CPU_NAME}/libgcc.a \ +${TARGET_OS_PATH}/lib/crtend_android.o \ +" + + +which gcc 2>&1 | tee make.jogl.all.android-armv7-cross.log + +ant \ + -Dgluegen-cpptasks.file=`pwd`/../../gluegen/make/lib/gluegen-cpptasks-android-armv7.xml \ + -Drootrel.build=build-android-armv7 \ + -Dgluegen.cpptasks.detected.os=true \ + -DisUnix=true \ + -DisAndroid=true \ + -DisAndroidARMv7=true \ + -DisCrosscompilation=true \ + \ + $* 2>&1 | tee -a make.jogl.all.android-armv7-cross.log + + diff --git a/make/scripts/make.jogl.all.linux-armv7-cross.sh b/make/scripts/make.jogl.all.linux-armv7-cross.sh index bbde79949..9a6b00a4a 100755 --- a/make/scripts/make.jogl.all.linux-armv7-cross.sh +++ b/make/scripts/make.jogl.all.linux-armv7-cross.sh @@ -31,9 +31,9 @@ ant \ -DisX11=true \ -DisCrosscompilation=true \ \ - -DuseKD=true \ - -DuseOpenMAX=true \ - -DuseBroadcomEGL=true \ + -Dsetup.addNativeKD=true \ + -Dsetup.addNativeOpenMAX=true \ + -Dsetup.addNativeBroadcomEGL=true \ $* 2>&1 | tee make.jogl.all.linux-armv7-cross.log diff --git a/make/scripts/make.jogl.all.linux-x86.sh b/make/scripts/make.jogl.all.linux-x86.sh index f1f521203..b81cf79f6 100755 --- a/make/scripts/make.jogl.all.linux-x86.sh +++ b/make/scripts/make.jogl.all.linux-x86.sh @@ -28,15 +28,13 @@ if [ "$1" = "-libdir" ] ; then fi -# -Djogl.cg=1 # -Dc.compiler.debug=true -# -DuseOpenMAX=true \ +# -Dsetup.addNativeOpenMAX=true \ # -Dgluegen.cpptasks.detected.os=true \ # -DisUnix=true \ # -DisLinux=true \ # -DisLinuxX86=true \ # -DisX11=true \ -# -Djogl.cg=1 \ #LD_LIBRARY_PATH=/opt-linux-x86_64/mesa-7.8.1/lib64 #export LD_LIBRARY_PATH @@ -55,10 +53,9 @@ echo LIBGL_DEBUG: $LIBGL_DEBUG 2>&1 | tee -a $LOGF ant \ $CUSTOMLIBDIR \ - -Djogl.cg=1 \ -Drootrel.build=build-x86 \ -Dos.arch=x86 \ - -DuseKD=true \ - -DuseOpenMAX=true \ + -Dsetup.addNativeOpenMAX=true \ + -Dsetup.addNativeKD=true \ $* 2>&1 | tee -a $LOGF diff --git a/make/scripts/make.jogl.all.linux-x86_64.sh b/make/scripts/make.jogl.all.linux-x86_64.sh index aab3eecae..e57f0a9ad 100755 --- a/make/scripts/make.jogl.all.linux-x86_64.sh +++ b/make/scripts/make.jogl.all.linux-x86_64.sh @@ -27,7 +27,6 @@ if [ "$1" = "-libdir" ] ; then shift fi -# -Djogl.cg=1 # -Dc.compiler.debug=true \ # -Dgluegen.cpptasks.detected.os=true \ @@ -56,9 +55,8 @@ echo LIBGL_DEBUG: $LIBGL_DEBUG 2>&1 | tee -a $LOGF ant \ $CUSTOMLIBDIR \ -Djavacdebuglevel="source,lines,vars" \ - -Djogl.cg=1 \ -Drootrel.build=build-x86_64 \ - -DuseKD=true \ - -DuseOpenMAX=true \ + -Dsetup.addNativeOpenMAX=true \ + -Dsetup.addNativeKD=true \ $* 2>&1 | tee -a $LOGF diff --git a/make/scripts/make.jogl.all.macosx.sh b/make/scripts/make.jogl.all.macosx.sh index 967790b6e..0eaaa1c71 100755 --- a/make/scripts/make.jogl.all.macosx.sh +++ b/make/scripts/make.jogl.all.macosx.sh @@ -8,6 +8,5 @@ fi # -Dc.compiler.debug=true ant \ - -Djogl.cg=1 \ -Drootrel.build=build-macosx \ $* 2>&1 | tee make.jogl.all.macosx.log diff --git a/make/scripts/make.jogl.all.win32.bat b/make/scripts/make.jogl.all.win32.bat index 09cbfbe4e..c9aac8331 100755 --- a/make/scripts/make.jogl.all.win32.bat +++ b/make/scripts/make.jogl.all.win32.bat @@ -9,8 +9,7 @@ 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
+REM -Dsetup.addNativeOpenMAX=true
+REM -Dsetup.addNativeKD=true
-ant -Drootrel.build=build-win32 -Djogl.cg=1 %1 %2 %3 %4 %5 %6 %7 %8 %9 > make.jogl.all.win32.log 2>&1
+ant -Drootrel.build=build-win32 %1 %2 %3 %4 %5 %6 %7 %8 %9 > make.jogl.all.win32.log 2>&1
diff --git a/make/scripts/make.jogl.all.win64.bat b/make/scripts/make.jogl.all.win64.bat index 7b43f73c1..5b1b10a8e 100755 --- a/make/scripts/make.jogl.all.win64.bat +++ b/make/scripts/make.jogl.all.win64.bat @@ -9,8 +9,7 @@ set PATH=%JAVA_HOME%\bin;%ANT_PATH%\bin;c:\mingw64\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
+REM -Dsetup.addNativeOpenMAX=true
+REM -Dsetup.addNativeKD=true
-ant -Dc.compiler.debug=true -Drootrel.build=build-win64 -Djogl.cg=1 %1 %2 %3 %4 %5 %6 %7 %8 %9 > make.jogl.all.win64.log 2>&1
+ant -Dc.compiler.debug=true -Drootrel.build=build-win64 %1 %2 %3 %4 %5 %6 %7 %8 %9 > make.jogl.all.win64.log 2>&1
diff --git a/make/scripts/tests.sh b/make/scripts/tests.sh index e10044f47..b4f635cd5 100755 --- a/make/scripts/tests.sh +++ b/make/scripts/tests.sh @@ -55,7 +55,7 @@ function jrun() { #D_ARGS="-Dnewt.debug.Window -Dnewt.debug.Display -Dnewt.debug.EDT" #D_ARGS="-Dnewt.debug.EDT" # D_ARGS="-Dnativewindow.debug.ToolkitLock.TraceLock -Dnativewindow.debug.X11Util.TraceDisplayLifecycle=true" - D_ARGS="-Dnativewindow.x11.mt-bug=true" + #D_ARGS="-Dnativewindow.x11.mt-bug=true" #D_ARGS="-Dnativewindow.x11.mt-bug=true -Djogl.debug.DebugGL" #D_ARGS="-Dnativewindow.x11.mt-bug=true -Djogl.debug=all" #D_ARGS="-Dnativewindow.x11.mt-bug=true -Dnativewindow.debug.NativeWindow -Dnativewindow.debug.X11Util -Dnativewindow.debug.ToolkitLock.TraceLock -Dnativewindow.debug.X11Util.TraceDisplayLifecycle=true" diff --git a/make/stub_includes/egl/EGL/eglplatform.h b/make/stub_includes/egl/EGL/eglplatform.h index 0a05f16f5..a661736c1 100644 --- a/make/stub_includes/egl/EGL/eglplatform.h +++ b/make/stub_includes/egl/EGL/eglplatform.h @@ -83,7 +83,7 @@ typedef int EGLNativeDisplayType; typedef void *EGLNativeWindowType; typedef void *EGLNativePixmapType; -#elif defined(__unix__) +#elif defined(__X11__) /* X11 (tentative) */ #include <X11/Xlib.h> diff --git a/make/versions.xml b/make/versions.xml index 66e81d8c6..6cb59b978 100644 --- a/make/versions.xml +++ b/make/versions.xml @@ -12,6 +12,7 @@ betas before release candidates to give the Community time to react.--> <property name="jogl_base_version" value="2.0" /> + <property name="jogl_int_version" value="2" /> <!-- Uncomment this property in order to produce a JOGL release build without running the "RI" (Reference Implementation) |