aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2011-02-25 04:58:06 +0100
committerSven Gothel <[email protected]>2011-02-25 04:58:06 +0100
commit6ed203e605cd08af14f4649bd91c3e2a35e68634 (patch)
treefd58b6da6e37c4b9bd77dacc41421d25e9b29728
parent6188d6a385056adade49fcb6d8247f94f96d402e (diff)
parente5777ec9e6ea79e0aface29fa679ccea4035f0e2 (diff)
Merge remote-tracking branch 'wwalker/2010_02_18_Eclipse_build_improvements'
-rw-r--r--.classpath18
-rw-r--r--.externalToolBuilders/jogl builder.launch5
-rw-r--r--.externalToolBuilders/org.eclipse.jdt.core.javabuilder.launch7
-rw-r--r--.project8
-rw-r--r--make/build-jogl.xml133
-rw-r--r--make/build-nativewindow.xml123
-rw-r--r--make/build-newt.xml133
-rw-r--r--make/build-test.xml3
-rw-r--r--make/build.xml2
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>
diff --git a/.project b/.project
index 649341e48..db143f40e 100644
--- a/.project
+++ b/.project
@@ -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>&lt;project&gt;/.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>