summaryrefslogtreecommitdiff
path: root/build.xml
diff options
context:
space:
mode:
authorGilles Dubochet <gilles.dubochet@epfl.ch>2006-01-09 13:07:02 +0000
committerGilles Dubochet <gilles.dubochet@epfl.ch>2006-01-09 13:07:02 +0000
commitee5a600ff41d39cf96fc224accd82b245394d814 (patch)
treec65732611822d944138cb451ae467c129283193a /build.xml
parent5d4d8b21cec21fe23490e66182a9b4890e15a9d1 (diff)
downloadscala-ee5a600ff41d39cf96fc224accd82b245394d814.tar.gz
scala-ee5a600ff41d39cf96fc224accd82b245394d814.tar.bz2
scala-ee5a600ff41d39cf96fc224accd82b245394d814.zip
Updated the Ant build system:
1. Minor aesthetic changes to Scalac. 2. Added Ant task ScalaTool that automatically constructs wrappers for a tool. Wrapper templates are in ant/templates. 3. Modified build.xml to use ScalaTool. 4. Removed nsc/ant/NSC which is now obsolete (replaced by ant/Scalac). 5. Added a antlib.xml file that allows to load all ant tasks in one operation in an ant script.
Diffstat (limited to 'build.xml')
-rw-r--r--build.xml84
1 files changed, 61 insertions, 23 deletions
diff --git a/build.xml b/build.xml
index 4184bf0c4b..51098bf584 100644
--- a/build.xml
+++ b/build.xml
@@ -97,7 +97,7 @@ INITIALISATION
<echo level="verbose">starr.comp.jar=${starr.comp.jar}</echo>
<fail message="STARR compiler in 'lib/' is not available">
<condition><not>
- <available classname="scala.tools.nsc.ant.NSC"
+ <available classname="scala.tools.ant.Scalac"
classpath="${starr.comp.jar}:${starr.lib.jar}"/>
</not></condition>
</fail>
@@ -141,7 +141,7 @@ INITIALISATION
</path>
<!-- Creating boot-level tasks -->
<taskdef name="starr"
- classname="scala.tools.nsc.ant.NSC"
+ classname="scala.tools.ant.Scalac"
classpathref="starr.classpath"/>
<taskdef name="pico"
classname="jaco.pizza.ant.Pico"
@@ -159,7 +159,7 @@ INITIALISATION
<available classname="scala.List" classpath="${locker.lib.dir}"/>
<available classname="scala.runtime.ObjectRef"
classpath="${locker.lib.dir}"/>
- <available classname="scala.tools.nsc.ant.NSC"
+ <available classname="scala.tools.ant.Scalac"
classpath="${locker.comp.dir}:${locker.lib.dir}"/>
<available file="${locker.dir}/${exec.dir.name}/${scalac.exec.name}"/>
</and>
@@ -216,6 +216,9 @@ INITIALISATION
<taskdef name="locker"
classname="scala.tools.ant.Scalac"
classpathref="locker.classpath"/>
+ <taskdef name="lockertool"
+ classname="scala.tools.ant.ScalaTool"
+ classpathref="locker.classpath"/>
</target>
<target name="init.quick" depends="init, build">
@@ -227,6 +230,9 @@ INITIALISATION
<taskdef name="quick"
classname="scala.tools.ant.Scalac"
classpathref="quick.classpath"/>
+ <taskdef name="quicktool"
+ classname="scala.tools.ant.ScalaTool"
+ classpathref="quick.classpath"/>
</target>
<!-- ===========================================================================
@@ -297,6 +303,24 @@ BUILD SUPPORT MACROS
</copy>
</sequential>
</macrodef>
+
+ <macrodef name="build.support">
+ <attribute name="build.dir"/>
+ <sequential>
+ <copy todir="@{build.dir}/${lib.dir.name}">
+ <fileset dir="${src.dir}/${lib.dir.name}">
+ <include name="**/*.tmpl"/>
+ <include name="**/*.xml"/>
+ </fileset>
+ </copy>
+ <copy todir="@{build.dir}/${comp.dir.name}">
+ <fileset dir="${src.dir}/${comp.dir.name}">
+ <include name="**/*.tmpl"/>
+ <include name="**/*.xml"/>
+ </fileset>
+ </copy>
+ </sequential>
+ </macrodef>
<!-- ===========================================================================
BUILD LOCAL REFERENCE (LOCKER) LAYER
@@ -355,6 +379,8 @@ BUILD LOCAL REFERENCE (LOCKER) LAYER
<include name="**/*.scala"/>
<excludesfile name="${nsc.excludes}" if="excludes.avail"/>
</starr>
+ <!-- Copy support files to build folder -->
+ <build.support build.dir="${locker.dir}"/>
<!-- Link to libraries -->
<symlink link="${locker.dir}/${fjbg.name}"
resource="${fjbg.jar}"
@@ -433,6 +459,8 @@ BUILD QUICK-TEST LAYER
<include name="**/*.scala"/>
<excludesfile name="${nsc.excludes}" if="excludes.avail"/>
</locker>
+ <!-- Copy templates to build -->
+ <build.support build.dir="${quick.dir}"/>
<!-- Link to libraries -->
<symlink link="${quick.dir}/${fjbg.name}"
resource="${fjbg.jar}"
@@ -443,16 +471,20 @@ BUILD QUICK-TEST LAYER
overwrite="yes"
failonerror="no"/>
<!-- Build executable files -->
- <build.exec.unix lib.path="$$PREFIX/${lib.dir.name}"
- comp.path="$$PREFIX/${comp.dir.name}"
- fjbg.path="$$PREFIX/${fjbg.name}"
- msil.path="$$PREFIX/${msil.name}"
- exec.dir="${quick.dir}/${exec.dir.name}"/>
- <build.exec.win lib.path="%SCALA_HOME%\${lib.dir.name}"
- comp.path="%SCALA_HOME%\${comp.dir.name}"
- fjbg.path="%SCALA_HOME%\${fjbg.name}"
- msil.path="%SCALA_HOME%\${msil.name}"
- exec.dir="${quick.dir}\${exec.dir.name}"/>
+ <mkdir dir="${quick.dir}/${exec.dir.name}"/>
+ <lockertool file="${quick.dir}/${exec.dir.name}/${scalac.exec.name}"
+ genericFile="${quick.dir}/${exec.dir.name}/${scala.exec.name}"
+ name="Scala compiler"
+ class="scala.tools.nsc.Main"
+ version="${version.number}"
+ copyright="${copyright}"
+ classpath="$$PREFIX/${lib.dir.name}:$$PREFIX/${comp.dir.name}:$$PREFIX/${fjbg.name}:$$PREFIX/${msil.name}"
+ properties="scala.boot.class.path=$$CP"
+ javaFlags="-Xmx256M -Xms16M"/>
+ <chmod file="${quick.dir}/${exec.dir.name}/${scalac.exec.name}"
+ perm="ugo+rx"/>
+ <chmod file="${quick.dir}/${exec.dir.name}/${scala.exec.name}"
+ perm="ugo+rx"/>
</target>
<!-- ===========================================================================
@@ -512,6 +544,8 @@ TEST
<include name="**/*.scala"/>
<excludesfile name="${nsc.excludes}" if="excludes.avail"/>
</quick>
+ <!-- Copy templates to build -->
+ <build.support build.dir="${strap.dir}"/>
<!-- Link to libraries -->
<symlink link="${strap.dir}/${fjbg.name}"
resource="${fjbg.jar}"
@@ -522,16 +556,20 @@ TEST
overwrite="yes"
failonerror="no"/>
<!-- Build executable files -->
- <build.exec.unix lib.path="$$$PREFIX/${lib.dir.name}"
- comp.path="$$PREFIX/${comp.dir.name}"
- fjbg.path="$$PREFIX/${fjbg.name}"
- msil.path="$$PREFIX/${msil.name}"
- exec.dir="${strap.dir}/${exec.dir.name}"/>
- <build.exec.win lib.path="%SCALA_HOME%\${lib.dir.name}"
- comp.path="%SCALA_HOME%\${comp.dir.name}"
- fjbg.path="%SCALA_HOME%\${fjbg.name}"
- msil.path="%SCALA_HOME%\${msil.name}"
- exec.dir="${strap.dir}\${exec.dir.name}"/>
+ <mkdir dir="${strap.dir}/${exec.dir.name}"/>
+ <quicktool file="${strap.dir}/${exec.dir.name}/${scalac.exec.name}"
+ genericFile="${strap.dir}/${exec.dir.name}/${scala.exec.name}"
+ name="Scala compiler"
+ class="scala.tools.nsc.Main"
+ version="${version.number}"
+ copyright="${copyright}"
+ classpath="$$PREFIX/${lib.dir.name}:$$PREFIX/${comp.dir.name}:$$PREFIX/${fjbg.name}:$$PREFIX/${msil.name}"
+ properties="scala.boot.class.path=$$CP"
+ javaFlags="-Xmx256M -Xms16M"/>
+ <chmod file="${strap.dir}/${exec.dir.name}/${scalac.exec.name}"
+ perm="ugo+rx"/>
+ <chmod file="${strap.dir}/${exec.dir.name}/${scala.exec.name}"
+ perm="ugo+rx"/>
<!-- Compares quick and test level -->
<checksum totalproperty="quick.md5">
<fileset dir="${quick.dir}">