summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjeberle <jeberle@epfl.ch>2008-05-06 08:25:22 +0000
committerjeberle <jeberle@epfl.ch>2008-05-06 08:25:22 +0000
commita1c8394f06bad79700265df3ad72e6429e30e1ae (patch)
tree9e00686a80e10f8da89cd3414e6c9e1a3f804872
parent37b0a629b6490061d57005d909ccd23c6f3c99ea (diff)
downloadscala-a1c8394f06bad79700265df3ad72e6429e30e1ae.tar.gz
scala-a1c8394f06bad79700265df3ad72e6429e30e1ae.tar.bz2
scala-a1c8394f06bad79700265df3ad72e6429e30e1ae.zip
added msil target to superSabbus (don't forget ...
added msil target to superSabbus (don't forget to set the .properties file)
-rw-r--r--sabbus.xml12
-rw-r--r--src/build/build-msil.properties.SAMPLE4
-rw-r--r--src/build/build-msil.xml73
3 files changed, 52 insertions, 37 deletions
diff --git a/sabbus.xml b/sabbus.xml
index b8d37d0c40..b3de48557a 100644
--- a/sabbus.xml
+++ b/sabbus.xml
@@ -987,6 +987,18 @@ FORWARDED TARGETS FOR JVM 1.4 BUILD
<target name="fourclean">
<ant antfile="${src.dir}/build/four.xml" target="four-all.clean" inheritall="yes" inheritrefs="yes"/>
</target>
+
+<!-- ===========================================================================
+FORWARDED TARGETS FOR MSIL BUILD
+============================================================================ -->
+
+ <target name="msil" depends="pack.done">
+ <ant antfile="${src.dir}/build/build-msil.xml" target="msil.build" inheritall="yes" inheritrefs="yes"/>
+ </target>
+
+ <target name="msilclean">
+ <ant antfile="${src.dir}/build/build-msil.xml" target="msil.clean" inheritall="yes" inheritrefs="yes"/>
+ </target>
<!-- ===========================================================================
FORWARDED TARGETS FOR PACKAGING
diff --git a/src/build/build-msil.properties.SAMPLE b/src/build/build-msil.properties.SAMPLE
new file mode 100644
index 0000000000..e50eb8db27
--- /dev/null
+++ b/src/build/build-msil.properties.SAMPLE
@@ -0,0 +1,4 @@
+unix.mono.home=/home/linuxsoft/apps/mono
+win.mono.home=C:/Progra~1/Mono
+
+dotnet.home=C:/Windows/Micros~1.NET/Framew~1/v2.0.50727
diff --git a/src/build/build-msil.xml b/src/build/build-msil.xml
index 8690ddb369..0c07cfc342 100644
--- a/src/build/build-msil.xml
+++ b/src/build/build-msil.xml
@@ -3,6 +3,10 @@
<project name="scala-msil" basedir="../.." default="build">
+<description>
+ SuperSabbus extension for the MSIL library targeted for the dotnet framework. THIS FILE IS NOT STAND-ALONE AND SHOULD ONLY BE USED THROUGH ENTRY POINTS IN SUPERSABBUS.
+ </description>
+
<!-- ===========================================================================
PROPERTIES
============================================================================ -->
@@ -12,7 +16,7 @@ PROPERTIES
<property name="mono.dir" value="${src.dir}/mono"/>
<!-- Loads custom properties definitions -->
- <property file="${scripts.dir}/scripts/build-msil.properties"/>
+ <property file="${src.dir}/build/build-msil.properties"/>
<!-- Sets location of build folders -->
<property name="build.dir" value="${basedir}/build"/>
@@ -20,7 +24,7 @@ PROPERTIES
<property name="dist.dir" value="${basedir}/dists"/>
<!-- ===========================================================================
-SETUP
+MSIL BUILD
============================================================================ -->
<target name="msil.init" depends="init">
@@ -77,43 +81,25 @@ SETUP
<target name="msil.sources" depends="msil.init">
<mkdir dir="${msil.dir}/src"/>
<copy todir="${msil.dir}/src">
- <fileset dir="${src.dir}/library" includes="**/*.scala">
- <not>
- <present targetdir="${src.dir}/dotnet-library"/>
- </not>
- <exclude name="scala/collection/jcl/**/*.scala"/>
- </fileset>
+ <fileset dir="${src.dir}/dotnet-library" includes="**/*.scala, **/*.cs"/>
</copy>
<copy todir="${msil.dir}/src">
- <fileset dir="${src.dir}/dotnet-library">
- <include name="**/*.scala"/>
- </fileset>
+ <fileset dir="${src.dir}/library" includes="**/*.scala"/>
</copy>
</target>
<target name="msil.libraries" depends="msil.sources">
- <antcall target="build.quick"/>
- <property name="quick.dir" value="${build.dir}/quick"/>
- <path id="quick.classpath">
- <pathelement location="${quick.dir}/lib/library"/>
- <pathelement location="${quick.dir}/lib/compiler"/>
- <pathelement location="${fjbg.jar}"/>
- <pathelement location="${msil.jar}"/>
- </path>
- <taskdef
- name="quick" classname="scala.tools.ant.Scalac"
- classpathref="quick.classpath"/>
<mkdir dir="${msil.dir}/lib"/>
- <quick srcdir="${msil.dir}/src" usepredefs="no" target="msil"
+ <scalac srcdir="${msil.dir}/src" target="msil"
assemname="predef" assemrefs="${lib.dir}"
failonerror="false">
<include name="**/*.scala"/>
<exclude name="scala/ScalaObject.scala"/>
- </quick>
+ </scalac>
<pathconvert property="ilasm.infiles" pathsep=" ">
<fileset dir="${msil.dir}" includes="*.msil"/>
</pathconvert>
- <exec executable="${ilasm.cmd} {$ilasm.infiles}" vmlauncher="no">
+ <exec executable="${ilasm.cmd} ${ilasm.infiles}" vmlauncher="no">
<arg line="${ilasm.args}"/>
</exec>
</target>
@@ -142,18 +128,31 @@ SETUP
</filterset>
</copy>
<chmod perm="ugo+rx" dir="${msil.dir}/bin" includes="*-net*"/>
- <jar destfile="${msil.dir}/lib/${comp.jar.name}">
- <fileset dir="${quick.dir}/lib/compiler"/>
- <zipfileset src="${fjbg.jar}"/>
- <zipfileset src="${msil.jar}"/>
- </jar>
- <jar destfile="${msil.dir}/lib/${lib.jar.name}">
- <fileset dir="${strap.dir}/lib/library"/>
- <fileset dir="${strap.dir}/lib/actors"/>
- </jar>
+ <if><isset property="os.win"/>
+ <then>
+ <copy todir="${quick.dir}/lib">
+ <fileset dir="${msil.dir}" includes="*.dll"/>
+ <fileset dir="${lib.dir}" includes="*.dll"/>
+ </copy>
+ </then>
+ <else>
+ <symlink
+ link="${quick.dir}/lib/predef.dll"
+ resource="${msil.dir}/predef.dll"
+ overwrite="yes" failonerror="no"/>
+ <symlink
+ link="${quick.dir}/lib/scalaruntime.dll"
+ resource="${lib.dir}/scalaruntime.dll"
+ overwrite="yes" failonerror="no"/>
+ <symlink
+ link="${quick.dir}/lib/mscorlib.dll"
+ resource="${lib.dir}/mscorlib.dll"
+ overwrite="yes" failonerror="no"/>
+ </else>
+ </if>
</target>
- <target name="msil.dist" depends="msil.build">
+ <!--<target name="msil.dist" depends="msil.build">
<antcall target="binaries"/>
<property name="dist.current.dir" value="${dist.dir}/scala-msil-${version.number}"/>
<mkdir dir="${dist.current.dir}"/>
@@ -167,7 +166,7 @@ SETUP
<copy todir="${dist.current.dir}/lib">
<fileset dir="${dist.dir}/latest/lib" includes="scala*.jar"/>
</copy>
- <!-- Recreate the 'latest' link to point to this distribution -->
+ <! Recreate the 'latest' link to point to this distribution
<if><isset property="os.win"/>
<then>
<copy todir="${dist.dir}/latest-msil">
@@ -181,7 +180,7 @@ SETUP
overwrite="yes" failonerror="no"/>
</else>
</if>
- </target>
+ </target>-->
<!-- ===========================================================================
CLEAN