summaryrefslogtreecommitdiff
path: root/build.xml
diff options
context:
space:
mode:
authorIulian Dragos <jaguarul@gmail.com>2008-10-30 13:23:59 +0000
committerIulian Dragos <jaguarul@gmail.com>2008-10-30 13:23:59 +0000
commit6eba78c75160790cb7d44a35b9ce0cf22b2b5b49 (patch)
tree11a22b01b0bf0ba5c17637fd42a738ce7bedb520 /build.xml
parent6ae2c86f2f10964586eba23c4e9af0097716520f (diff)
downloadscala-6eba78c75160790cb7d44a35b9ce0cf22b2b5b49.tar.gz
scala-6eba78c75160790cb7d44a35b9ce0cf22b2b5b49.tar.bz2
scala-6eba78c75160790cb7d44a35b9ce0cf22b2b5b49.zip
Improved 'optimised' target.
Diffstat (limited to 'build.xml')
-rw-r--r--build.xml93
1 files changed, 91 insertions, 2 deletions
diff --git a/build.xml b/build.xml
index bf5032505c..9f9391e95a 100644
--- a/build.xml
+++ b/build.xml
@@ -84,7 +84,7 @@ END-USER TARGETS
<target name="optimised"
description="Build the compiler and standard library using optimisations, running 'quick'">
- <antcall target="optimised.comp"/>
+ <antcall target="optimised.bin"/>
</target>
<!-- ===========================================================================
@@ -555,7 +555,6 @@ QUICK BUILD (QUICK)
</target>
<target name="quick.done" depends="quick.bin">
- <touch file="${build-quick.dir}/all.complete" verbose="no"/>
<path id="quick.classpath">
<pathelement location="${build-quick.dir}/classes/library"/>
<pathelement location="${build-quick.dir}/classes/compiler"/>
@@ -1032,6 +1031,96 @@ OPTIMISED COMPILER
<stopwatch name="optimised.comp.timer" action="total"/>
</target>
+ <target name="optimised.pre-partest" depends="optimised.comp">
+ <uptodate property="optimised.partest.available" targetfile="${build-optimised.dir}/partest.complete">
+ <srcfiles dir="${src.dir}/partest"/>
+ </uptodate>
+ </target>
+
+ <target name="optimised.partest" depends="optimised.pre-partest" unless="optimised.partest.available">
+ <stopwatch name="optimised.partest.timer"/>
+ <mkdir dir="${build-optimised.dir}/classes/partest"/>
+ <javac
+ srcdir="${src.dir}/partest"
+ destdir="${build-optimised.dir}/classes/partest"
+ target="1.5" source="1.5">
+ <classpath>
+ <pathelement location="${build-optimised.dir}/classes/library"/>
+ <pathelement location="${build-optimised.dir}/classes/compiler"/>
+ <pathelement location="${build-optimised.dir}/classes/partest"/>
+ </classpath>
+ <include name="**/*.java"/>
+ <compilerarg line="${javac.args}"/>
+ </javac>
+ <scalacfork
+ destdir="${build-optimised.dir}/classes/partest"
+ compilerpathref="locker.classpath"
+ srcpath="${src.dir}/partest"
+ params="${scalac.args}"
+ srcdir="${src.dir}/partest"
+ maxmemory="${scalacfork.maxmemory}">
+ <include name="**/*.scala"/>
+ <compilationpath>
+ <pathelement location="${build-optimised.dir}/classes/library"/>
+ <pathelement location="${build-optimised.dir}/classes/compiler"/>
+ <pathelement location="${build-optimised.dir}/classes/partest"/>
+ <pathelement location="${ant.jar}"/>
+ </compilationpath>
+ </scalacfork>
+ <copy todir="${build-optimised.dir}/classes/partest">
+ <fileset dir="${src.dir}/partest">
+ <include name="**/*.xml"/>
+ </fileset>
+ </copy>
+ <touch file="${build-optimised.dir}/partest.complete" verbose="no"/>
+ <stopwatch name="optimised.partest.timer" action="total"/>
+ </target>
+
+
+ <target name="optimised.pre-bin" depends="optimised.partest">
+ <condition property="optimised.bin.available">
+ <isset property="optimised.comp.available"/>
+ </condition>
+ </target>
+
+ <target name="optimised.bin" depends="optimised.pre-bin" unless="optimised.bin.available">
+ <path id="optimised.bin.classpath">
+ <pathelement location="${build-optimised.dir}/classes/library"/>
+ <pathelement location="${build-optimised.dir}/classes/compiler"/>
+ <pathelement location="${fjbg.jar}"/>
+ <pathelement location="${jline.jar}"/>
+ </path>
+ <taskdef name="optimised-bin" classname="scala.tools.ant.ScalaTool" classpathref="optimised.bin.classpath"/>
+ <mkdir dir="${build-optimised.dir}/bin"/>
+ <optimised-bin
+ file="${build-optimised.dir}/bin/scala"
+ class="scala.tools.nsc.MainGenericRunner"
+ javaFlags="${java.flags}"
+ classpathref="optimised.bin.classpath"/>
+ <optimised-bin
+ file="${build-optimised.dir}/bin/scalac"
+ class="scala.tools.nsc.Main"
+ javaFlags="${java.flags}"
+ classpathref="optimised.bin.classpath"/>
+ <optimised-bin
+ file="${build-optimised.dir}/bin/scaladoc"
+ class="scala.tools.nsc.ScalaDoc"
+ javaFlags="${java.flags}"
+ classpathref="optimised.bin.classpath"/>
+ <optimised-bin
+ file="${build-optimised.dir}/bin/fsc"
+ class="scala.tools.nsc.CompileClient"
+ javaFlags="${java.flags}"
+ classpathref="optimised.bin.classpath"/>
+ <chmod perm="ugo+rx" file="${build-optimised.dir}/bin/scala"/>
+ <chmod perm="ugo+rx" file="${build-optimised.dir}/bin/scalac"/>
+ <chmod perm="ugo+rx" file="${build-optimised.dir}/bin/scaladoc"/>
+ <chmod perm="ugo+rx" file="${build-optimised.dir}/bin/fsc"/>
+ <touch file="${build-optimised.dir}/bin.complete" verbose="no"/>
+ </target>
+
+ <target name="optimised.done" depends="optimised.bin"/>
+
<target name="optimised.clean">
<delete dir="${build-optimised.dir}" includeemptydirs="yes" quiet="yes" failonerror="no"/>
</target>