summaryrefslogtreecommitdiff
path: root/src/build/four.xml
diff options
context:
space:
mode:
Diffstat (limited to 'src/build/four.xml')
-rw-r--r--src/build/four.xml32
1 files changed, 26 insertions, 6 deletions
diff --git a/src/build/four.xml b/src/build/four.xml
index 6e31124203..6dd92f34f4 100644
--- a/src/build/four.xml
+++ b/src/build/four.xml
@@ -21,17 +21,37 @@ PROPERTIES
<!-- ===========================================================================
JAVA 1.4 LIBRARY AND COMPILER BUILD (FOUR)
============================================================================ -->
-
+
<target name="four.start"/>
-
+
<target name="four.src" depends="four.start">
+ <!-- simple sync & copy overwrite is not very nice, because overwritten files
+ will then have a new timestamp, and be recompiled -->
<mkdir dir="${build-four-src.dir}"/>
- <sync todir="${build-four-src.dir}">
- <fileset dir="${src.dir}/library"/>
- </sync>
<copy todir="${build-four-src.dir}" overwrite="true">
- <fileset dir="${src.dir}/jvm14-library"/>
+ <fileset dir="${src.dir}/library">
+ <and>
+ <present present="srconly" targetdir="${src.dir}/jvm14-library"/>
+ <different targetdir="${build-four-src.dir}" ignoreFileTimes="true"/>
+ </and>
+ </fileset>
+ <fileset dir="${src.dir}/jvm14-library">
+ <different targetdir="${build-four-src.dir}" ignoreFileTimes="true"/>
+ </fileset>
</copy>
+ <delete verbose="true">
+ <difference>
+ <fileset dir="${build-four-src.dir}"/>
+ <union>
+ <fileset dir="${build-four-src.dir}">
+ <present targetdir="${src.dir}/jvm14-library"/>
+ </fileset>
+ <fileset dir="${build-four-src.dir}">
+ <present targetdir="${src.dir}/library"/>
+ </fileset>
+ </union>
+ </difference>
+ </delete>
</target>
<target name="four.lib" depends="four.src">