diff options
-rw-r--r-- | .classpath | 18 | ||||
-rw-r--r-- | .externalToolBuilders/jogl builder.launch | 5 | ||||
-rw-r--r-- | .externalToolBuilders/org.eclipse.jdt.core.javabuilder.launch | 7 | ||||
-rw-r--r-- | .project | 8 | ||||
-rw-r--r-- | make/build-jogl.xml | 133 | ||||
-rw-r--r-- | make/build-nativewindow.xml | 123 | ||||
-rw-r--r-- | make/build-newt.xml | 133 | ||||
-rw-r--r-- | make/build-test.xml | 3 | ||||
-rw-r--r-- | make/build.xml | 2 |
9 files changed, 255 insertions, 177 deletions
diff --git a/.classpath b/.classpath index a4ef906a2..a37a33820 100644 --- a/.classpath +++ b/.classpath @@ -2,32 +2,28 @@ <classpath> <classpathentry kind="src" output="build/nativewindow/classes" path="src/nativewindow/classes"> <attributes> - <attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="jogl/build/lib"/> + <attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="jogl/build/nativewindow/obj"/> </attributes> </classpathentry> <classpathentry kind="src" output="build/jogl/classes" path="build/jogl/gensrc/classes"> <attributes> - <attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="jogl/build/lib"/> + <attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="jogl/build/jogl/obj"/> </attributes> </classpathentry> <classpathentry kind="src" output="build/nativewindow/classes" path="build/nativewindow/gensrc/classes"> <attributes> - <attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="jogl/build/lib"/> + <attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="jogl/build/nativewindow/obj"/> </attributes> </classpathentry> - <classpathentry kind="src" output="build/test/build/classes" path="src/test"> + <classpathentry kind="src" output="build/test/build/classes" path="src/test"/> + <classpathentry excluding="com/jogamp/audio/windows/waveout/TestSpatialization.java|jogamp/opengl/gl2/fixme/" kind="src" output="build/jogl/classes" path="src/jogl/classes"> <attributes> - <attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="jogl/build/lib"/> - </attributes> - </classpathentry> - <classpathentry excluding="com/jogamp/audio/windows/waveout/TestSpatialization.java|com/jogamp/opengl/impl/gl2/fixme/" kind="src" output="build/jogl/classes" path="src/jogl/classes"> - <attributes> - <attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="jogl/build/lib"/> + <attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="jogl/build/jogl/obj"/> </attributes> </classpathentry> <classpathentry kind="src" output="build/newt/classes" path="src/newt/classes"> <attributes> - <attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="jogl/build/lib"/> + <attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="jogl/build/newt/obj"/> </attributes> </classpathentry> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> diff --git a/.externalToolBuilders/jogl builder.launch b/.externalToolBuilders/jogl builder.launch index 6123a0b0b..eab22e8ed 100644 --- a/.externalToolBuilders/jogl builder.launch +++ b/.externalToolBuilders/jogl builder.launch @@ -1,6 +1,9 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType"> +<stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_AFTER_CLEAN_TARGETS" value="all.ide,"/> +<stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_AUTO_TARGETS" value="all.ide,"/> <stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_CLEAN_TARGETS" value="clean,"/> +<stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_MANUAL_TARGETS" value="all.ide,"/> <booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/> <booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/> <stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${project}"/> @@ -9,7 +12,7 @@ <booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/> <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="jogl"/> <stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/jogl/make/build.xml}"/> -<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,clean"/> +<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,auto,clean"/> <booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/> <stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${workspace_loc:/jogl/make}"/> </launchConfiguration> diff --git a/.externalToolBuilders/org.eclipse.jdt.core.javabuilder.launch b/.externalToolBuilders/org.eclipse.jdt.core.javabuilder.launch new file mode 100644 index 000000000..7fe64afc0 --- /dev/null +++ b/.externalToolBuilders/org.eclipse.jdt.core.javabuilder.launch @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType"> +<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_BUILDER_ENABLED" value="false"/> +<stringAttribute key="org.eclipse.ui.externaltools.ATTR_DISABLED_BUILDER" value="org.eclipse.jdt.core.javabuilder"/> +<mapAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS"/> +<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/> +</launchConfiguration> @@ -7,7 +7,6 @@ <buildSpec> <buildCommand> <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name> - <triggers>clean,full,incremental,</triggers> <arguments> <dictionary> <key>LaunchConfigHandle</key> @@ -16,8 +15,13 @@ </arguments> </buildCommand> <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> + <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name> + <triggers>full,incremental,</triggers> <arguments> + <dictionary> + <key>LaunchConfigHandle</key> + <value><project>/.externalToolBuilders/org.eclipse.jdt.core.javabuilder.launch</value> + </dictionary> </arguments> </buildCommand> </buildSpec> diff --git a/make/build-jogl.xml b/make/build-jogl.xml index a0a9c70f8..f7e83a489 100644 --- a/make/build-jogl.xml +++ b/make/build-jogl.xml @@ -62,6 +62,11 @@ <import file="build-common.xml"/> + <!-- needed for outofdate task --> + <taskdef resource="net/sf/antcontrib/antlib.xml"> + <classpath> <pathelement location="${ant-contrib.jar}"/> </classpath> + </taskdef> + <!-- ================================================================== --> <!-- - Base initialization and detection of operating system. @@ -920,7 +925,7 @@ <!-- Blow away the DebugGL*.java and TraceGL*.java sources if GL*.class has changed (the uptodate element doesn't support arbitrary source and destination files) --> <dependset> - <srcfilelist dir="${classes}/com/jogamp/opengl/util/glsl/fixedfunc" files="FixedFuncHook.class" /> + <srcfilelist dir="${classes}/jogamp/opengl/util/glsl/fixedfunc" files="FixedFuncHook.class" /> <srcfilelist dir="${classes}/javax/media/opengl" files="GL2ES1.class" /> <srcfilelist dir="${classes}/javax/media/opengl" files="GL2ES2.class" /> <targetfileset dir="${src.generated.java}/jogamp/opengl/util/glsl/fixedfunc" @@ -1250,56 +1255,78 @@ <echo message="Compiling @{output.lib.name}" /> - <cc outtype="shared" - objdir="${obj.joglsub}" - outfile="${obj.jogl}/@{output.lib.name}" - optimize="${c.compiler.optimise}" - debug="${c.compiler.debug}" - multithreaded="true" - exceptions="false" - rtti="false"> - - <fileset dir="${project.root}"><patternset refid="@{c.compiler.src.files}"/></fileset> - - <compiler extends="@{compiler.cfg.id}" > - <sysincludepath path="${java.includes.dir}"/> - <sysincludepath path="${java.includes.dir.platform}"/> - <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"/> - - <!-- 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"/> - - <!-- This must come last to not override real include paths --> - <!-- includepath path="stub_includes/macosx" if="isOSX" / --> - </compiler> - - <linker extends="@{linker.cfg.id}"> - <syslibset dir="${java.lib.platform}" libs="jawt" if="@{output.lib.name}.useLibJAWT"/> - <syslibset dir="${java.lib.platform}/server" libs="jvm" if="@{output.lib.name}.useLibJVM"/> - </linker> - </cc> - - <!-- FIXME: this is a hack; the cpptask should have an option to change the - suffix or at least understand the override from dylib to jnilib --> - <antcall target="rename.dylib" inheritRefs="true"> - <param name="src" value="${build.jogl}/obj/lib@{output.lib.name}.dylib" /> - <param name="dest" value="${build.jogl}/obj/lib@{output.lib.name}.jnilib" /> - </antcall> - - <!-- FIXME: this is a hack; the cpptask should have an option to change the - suffix or at least understand the override from dylib to jnilib --> - <antcall target="rename.mingw.dll" inheritRefs="true"> - <param name="src" value="${build.jogl}/obj/lib@{output.lib.name}.so" /> - <param name="dest" value="${build.jogl}/obj/@{output.lib.name}.dll" /> - </antcall> + <!-- have to wrap cc task with outofdate, because otherwise cc links a new library + even when no files have been compiled --> + <outofdate> + <sourcefiles> + <fileset dir="${project.root}"><patternset refid="@{c.compiler.src.files}"/></fileset> + </sourcefiles> + <targetfiles> + <fileset dir="${obj.jogl}" includes="lib@{output.lib.name}.so"/> + <fileset dir="${obj.jogl}" includes="@{output.lib.name}.dll"/> + <fileset dir="${obj.jogl}" includes="lib@{output.lib.name}.jnilib"/> + </targetfiles> + <sequential> + <cc outtype="shared" + objdir="${obj.joglsub}" + outfile="${obj.jogl}/@{output.lib.name}" + optimize="${c.compiler.optimise}" + debug="${c.compiler.debug}" + multithreaded="true" + exceptions="false" + rtti="false"> + + <fileset dir="${project.root}"><patternset refid="@{c.compiler.src.files}"/></fileset> + + <compiler extends="@{compiler.cfg.id}" > + <sysincludepath path="${java.includes.dir}"/> + <sysincludepath path="${java.includes.dir.platform}"/> + <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"/> + + <!-- 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"/> + + <!-- This must come last to not override real include paths --> + <!-- includepath path="stub_includes/macosx" if="isOSX" / --> + </compiler> + + <linker extends="@{linker.cfg.id}"> + <syslibset dir="${java.lib.platform}" libs="jawt" if="@{output.lib.name}.useLibJAWT"/> + <syslibset dir="${java.lib.platform}/server" libs="jvm" if="@{output.lib.name}.useLibJVM"/> + </linker> + </cc> + + <!-- FIXME: this is a hack; the cpptask should have an option to change the + suffix or at least understand the override from dylib to jnilib --> + <antcall target="rename.dylib" inheritRefs="true"> + <param name="src" value="${obj.jogl}/lib@{output.lib.name}.dylib" /> + <param name="dest" value="${obj.jogl}/lib@{output.lib.name}.jnilib" /> + </antcall> + + <!-- FIXME: this is a hack; the cpptask should have an option to change the + suffix or at least understand the override from dylib to jnilib --> + <antcall target="rename.mingw.dll" inheritRefs="true"> + <param name="src" value="${obj.jogl}/lib@{output.lib.name}.so" /> + <param name="dest" value="${obj.jogl}/@{output.lib.name}.dll" /> + </antcall> + + <!-- this stripping may be called more than once on the same library dir, + but that should cause no harm, and doing it here inside outofdate + prevents the JARs from always being rebuilt even if no source code changes --> + <antcall target="gluegen.cpptasks.striplibs" inheritRefs="true"> + <param name="libdir" value="${obj.jogl}"/> + </antcall> + + </sequential> + </outofdate> </sequential> </macrodef> @@ -1354,10 +1381,6 @@ </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"> - <antcall target="gluegen.cpptasks.striplibs" inheritRefs="true"> - <param name="libdir" value="${obj.jogl}"/> - </antcall> - <antcall target="c.manifest" inheritRefs="true" /> </target> diff --git a/make/build-nativewindow.xml b/make/build-nativewindow.xml index 1e38a43f0..475904b06 100644 --- a/make/build-nativewindow.xml +++ b/make/build-nativewindow.xml @@ -53,9 +53,14 @@ --> <project name="NativeWindow" basedir="." default="all"> - <import file="build-common.xml"/> + <import file="build-common.xml"/> - <!-- ================================================================== --> + <!-- needed for outofdate task --> + <taskdef resource="net/sf/antcontrib/antlib.xml"> + <classpath> <pathelement location="${ant-contrib.jar}"/> </classpath> + </taskdef> + + <!-- ================================================================== --> <!-- - Base initialization and detection of operating system. --> @@ -547,50 +552,72 @@ <echo message="Compiling @{output.lib.name}" /> - <cc outtype="shared" - objdir="${obj.nativewindow}" - outfile="${obj.nativewindow}/@{output.lib.name}" - optimize="${c.compiler.optimise}" - debug="${c.compiler.debug}" - multithreaded="true" - exceptions="false" - rtti="false"> - - <fileset dir="${project.root}"><patternset refid="@{c.compiler.src.files}"/></fileset> - - <compiler extends="@{compiler.cfg.id}" > - <sysincludepath path="${java.includes.dir}"/> - <sysincludepath path="${java.includes.dir.platform}"/> - <!-- 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.c}"/> - - <!-- This must come last to not override real include paths --> - <!-- includepath path="stub_includes/macosx" if="isOSX" / --> - </compiler> - - <linker extends="@{linker.cfg.id}"> - <syslibset dir="${java.lib.dir.platform}" libs="jawt" if="@{output.lib.name}.useLibJAWT"/> - <syslibset dir="${java.lib.dir.platform}/server" libs="jvm" if="@{output.lib.name}.useLibJVM"/> - </linker> - </cc> - - <!-- FIXME: this is a hack; the cpptask should have an option to change the - suffix or at least understand the override from dylib to jnilib --> - <antcall target="rename.dylib" inheritRefs="true"> - <param name="src" value="${build.nativewindow}/obj/lib@{output.lib.name}.dylib" /> - <param name="dest" value="${build.nativewindow}/obj/lib@{output.lib.name}.jnilib" /> - </antcall> - - <!-- FIXME: this is a hack; the cpptask should have an option to change the - suffix or at least understand the override from dylib to jnilib --> - <antcall target="rename.mingw.dll" inheritRefs="true"> - <param name="src" value="${build.nativewindow}/obj/lib@{output.lib.name}.so" /> - <param name="dest" value="${build.nativewindow}/obj/@{output.lib.name}.dll" /> - </antcall> + <!-- have to wrap cc task with outofdate, because otherwise cc links a new library + even when no files have been compiled --> + <outofdate> + <sourcefiles> + <fileset dir="${project.root}"><patternset refid="@{c.compiler.src.files}"/></fileset> + </sourcefiles> + <targetfiles> + <fileset dir="${obj.nativewindow}" includes="lib@{output.lib.name}.so"/> + <fileset dir="${obj.nativewindow}" includes="@{output.lib.name}.dll"/> + <fileset dir="${obj.nativewindow}" includes="lib@{output.lib.name}.jnilib"/> + </targetfiles> + <sequential> + <cc outtype="shared" + objdir="${obj.nativewindow}" + outfile="${obj.nativewindow}/@{output.lib.name}" + optimize="${c.compiler.optimise}" + debug="${c.compiler.debug}" + multithreaded="true" + exceptions="false" + rtti="false"> + + <fileset dir="${project.root}"><patternset refid="@{c.compiler.src.files}"/></fileset> + + <compiler extends="@{compiler.cfg.id}" > + <sysincludepath path="${java.includes.dir}"/> + <sysincludepath path="${java.includes.dir.platform}"/> + <!-- 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.c}"/> + + <!-- This must come last to not override real include paths --> + <!-- includepath path="stub_includes/macosx" if="isOSX" / --> + </compiler> + + <linker extends="@{linker.cfg.id}"> + <syslibset dir="${java.lib.dir.platform}" libs="jawt" if="@{output.lib.name}.useLibJAWT"/> + <syslibset dir="${java.lib.dir.platform}/server" libs="jvm" if="@{output.lib.name}.useLibJVM"/> + </linker> + </cc> + + <!-- FIXME: this is a hack; the cpptask should have an option to change the + suffix or at least understand the override from dylib to jnilib --> + <antcall target="rename.dylib" inheritRefs="true"> + <param name="src" value="${obj.nativewindow}/lib@{output.lib.name}.dylib" /> + <param name="dest" value="${obj.nativewindow}/lib@{output.lib.name}.jnilib" /> + </antcall> + + <!-- FIXME: this is a hack; the cpptask should have an option to change the + suffix or at least understand the override from dylib to jnilib --> + <antcall target="rename.mingw.dll" inheritRefs="true"> + <param name="src" value="${obj.nativewindow}/lib@{output.lib.name}.so" /> + <param name="dest" value="${obj.nativewindow}/@{output.lib.name}.dll" /> + </antcall> + + <!-- this stripping may be called more than once on the same library dir, + but that should cause no harm, and doing it here inside outofdate + prevents the JARs from always being rebuilt even if no source code changes --> + <antcall target="gluegen.cpptasks.striplibs" inheritRefs="true"> + <param name="libdir" value="${obj.nativewindow}"/> + </antcall> + + </sequential> + </outofdate> </sequential> </macrodef> @@ -642,10 +669,6 @@ </target> <target name="c.build.nativewindow" depends="c.configure,c.build.nativewindow.windowlib,c.build.nativewindow.awt"> - <antcall target="gluegen.cpptasks.striplibs" inheritRefs="true"> - <param name="libdir" value="${obj.nativewindow}"/> - </antcall> - <antcall target="c.fixup.jawt.version.macosx" inheritrefs="true" /> <antcall target="c.manifest" inheritRefs="true" /> </target> diff --git a/make/build-newt.xml b/make/build-newt.xml index c91a2fda1..e135d2700 100644 --- a/make/build-newt.xml +++ b/make/build-newt.xml @@ -58,6 +58,11 @@ <import file="build-common.xml"/> + <!-- needed for outofdate task --> + <taskdef resource="net/sf/antcontrib/antlib.xml"> + <classpath> <pathelement location="${ant-contrib.jar}"/> </classpath> + </taskdef> + <!-- ================================================================== --> <!-- - Base initialization and detection of operating system. @@ -438,57 +443,79 @@ <echo message="Compiling @{output.lib.name}" /> - <cc outtype="shared" - objdir="${obj.newt}" - outfile="${obj.newt}/@{output.lib.name}" - optimize="${c.compiler.optimise}" - debug="${c.compiler.debug}" - multithreaded="true" - exceptions="false" - rtti="false"> - - <fileset dir="${project.root}"><patternset refid="@{c.compiler.src.files}"/></fileset> - - <compiler extends="@{compiler.cfg.id}" > - <sysincludepath path="${java.includes.dir}"/> - <sysincludepath path="${java.includes.dir.platform}"/> - <includepath path="stub_includes/khr"/> - <includepath path="stub_includes/egl"/> - <!-- This is for finding Xrandr.h on Solaris. --> - <includepath path="/usr/X11/include" /> - <!-- 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}/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" /> - - <!-- This must come last to not override real include paths --> - <!-- includepath path="stub_includes/macosx" if="isOSX" / --> - </compiler> - - <linker extends="@{linker.cfg.id}"> - <syslibset dir="${java.lib.platform}" libs="jawt" if="@{output.lib.name}.useLibJAWT"/> - <syslibset dir="${java.lib.platform}/server" libs="jvm" if="@{output.lib.name}.useLibJVM"/> - </linker> - </cc> - - <!-- FIXME: this is a hack; the cpptask should have an option to change the - suffix or at least understand the override from dylib to jnilib --> - <antcall target="rename.dylib" inheritRefs="true"> - <param name="src" value="${obj.newt}/lib@{output.lib.name}.dylib" /> - <param name="dest" value="${obj.newt}/lib@{output.lib.name}.jnilib" /> - </antcall> - - <!-- FIXME: this is a hack; the cpptask should have an option to change the - suffix or at least understand the override from dylib to jnilib --> - <antcall target="rename.mingw.dll" inheritRefs="true"> - <param name="src" value="${obj.newt}/lib@{output.lib.name}.so" /> - <param name="dest" value="${obj.newt}/@{output.lib.name}.dll" /> - </antcall> + <!-- have to wrap cc task with outofdate, because otherwise cc links a new library + even when no files have been compiled --> + <outofdate> + <sourcefiles> + <fileset dir="${project.root}"><patternset refid="@{c.compiler.src.files}"/></fileset> + </sourcefiles> + <targetfiles> + <fileset dir="${obj.newt}" includes="lib@{output.lib.name}.so"/> + <fileset dir="${obj.newt}" includes="@{output.lib.name}.dll"/> + <fileset dir="${obj.newt}" includes="lib@{output.lib.name}.jnilib"/> + </targetfiles> + <sequential> + <cc outtype="shared" + objdir="${obj.newt}" + outfile="${obj.newt}/@{output.lib.name}" + optimize="${c.compiler.optimise}" + debug="${c.compiler.debug}" + multithreaded="true" + exceptions="false" + rtti="false"> + + <fileset dir="${project.root}"><patternset refid="@{c.compiler.src.files}"/></fileset> + + <compiler extends="@{compiler.cfg.id}" > + <sysincludepath path="${java.includes.dir}"/> + <sysincludepath path="${java.includes.dir.platform}"/> + <includepath path="stub_includes/khr"/> + <includepath path="stub_includes/egl"/> + <!-- This is for finding Xrandr.h on Solaris. --> + <includepath path="/usr/X11/include" /> + <!-- 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}/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" /> + + <!-- This must come last to not override real include paths --> + <!-- includepath path="stub_includes/macosx" if="isOSX" / --> + </compiler> + + <linker extends="@{linker.cfg.id}"> + <syslibset dir="${java.lib.platform}" libs="jawt" if="@{output.lib.name}.useLibJAWT"/> + <syslibset dir="${java.lib.platform}/server" libs="jvm" if="@{output.lib.name}.useLibJVM"/> + </linker> + </cc> + + <!-- FIXME: this is a hack; the cpptask should have an option to change the + suffix or at least understand the override from dylib to jnilib --> + <antcall target="rename.dylib" inheritRefs="true"> + <param name="src" value="${obj.newt}/lib@{output.lib.name}.dylib" /> + <param name="dest" value="${obj.newt}/lib@{output.lib.name}.jnilib" /> + </antcall> + + <!-- FIXME: this is a hack; the cpptask should have an option to change the + suffix or at least understand the override from dylib to jnilib --> + <antcall target="rename.mingw.dll" inheritRefs="true"> + <param name="src" value="${obj.newt}/lib@{output.lib.name}.so" /> + <param name="dest" value="${obj.newt}/@{output.lib.name}.dll" /> + </antcall> + + <!-- this stripping may be called more than once on the same library dir, + but that should cause no harm, and doing it here inside outofdate + prevents the JARs from always being rebuilt even if no source code changes --> + <antcall target="gluegen.cpptasks.striplibs" inheritRefs="true"> + <param name="libdir" value="${obj.newt}"/> + </antcall> + + </sequential> + </outofdate> </sequential> </macrodef> @@ -536,10 +563,6 @@ </target> <target name="c.build.newt" depends="c.configure,c.build.newt.prepare,c.build.newt.natives"> - <antcall target="gluegen.cpptasks.striplibs" inheritRefs="true"> - <param name="libdir" value="${obj.newt}"/> - </antcall> - <antcall target="c.manifest" inheritRefs="true" /> </target> diff --git a/make/build-test.xml b/make/build-test.xml index ae030b0e6..ac60d09eb 100644 --- a/make/build-test.xml +++ b/make/build-test.xml @@ -83,9 +83,6 @@ <classpath refid="junit_jogl_newt.compile.classpath"/> <src path="${src.test}" /> </javac> - <delete includeEmptyDirs="true" quiet="true"> - <fileset file="${jogl.test.jar}" /> - </delete> <jar destfile="${jogl.test.jar}" filesonly="true"> <!-- get all class files, but skip any resource files that external tools might have copied into the class directory (otherwise, it's possible diff --git a/make/build.xml b/make/build.xml index 1b3107993..c9dfca0b4 100644 --- a/make/build.xml +++ b/make/build.xml @@ -12,6 +12,8 @@ <target name="all.but-archives" description="Build nativewindow, jogl and newt projects, incl. all junit tests " depends="init,build.nativewindow,build.jogl,build.newt,test.compile,one.dir,tag.build" /> + <target name="all.ide" description="Build nativewindow, jogl and newt projects, including all junit tests, but don't copy libs or JARs or tag the build" depends="init,build.nativewindow,build.jogl,build.newt,test.compile" /> + <target name="test.compile"> <ant antfile="build-test.xml" target="test.compile" inheritRefs="true" inheritAll="true"/> </target> |