changed copying of .net / jvm14 libraries. merged List change of r14964 to dotnet-library

git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@14973 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
This commit is contained in:
rytz 2008-05-09 14:20:54 +00:00
parent 70a91f19b0
commit e1a262cbc8
4 changed files with 60 additions and 18 deletions

View File

@ -1015,11 +1015,13 @@ FORWARDED TARGETS FOR PACKAGING
<ant antfile="${src.dir}/build/pack.xml" target="pack-all.done" inheritall="yes" inheritrefs="yes"/>
</target>
<target name="fourdistpack" depends="fourdist">
<target name="fourdistpack" depends="pack.done">
<ant antfile="${src.dir}/build/four.xml" target="four-dist.done" inheritall="yes" inheritrefs="yes"/>
<ant antfile="${src.dir}/build/pack.xml" target="fourpack-all.done" inheritall="yes" inheritrefs="yes"/>
</target>
<target name="msildistpack" depends="msildist">
<target name="msildistpack" depends="pack.done">
<ant antfile="${src.dir}/build/msil.xml" target="msil-dist.done" inheritall="yes" inheritrefs="yes"/>
<ant antfile="${src.dir}/build/pack.xml" target="msilpack-all.done" inheritall="yes" inheritrefs="yes"/>
</target>

View File

@ -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">

View File

@ -6,11 +6,12 @@
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>
<!-- TODO: run test suite (or at least a part of it) on .NET -->
<!-- TODO: generate sbaz package scala-msil -->
<!-- TODO: test / make it work on Windows (use <ilasm/> task) -->
<!-- TODO: (?) generate the runner scripts with scala.tools.ant.ScalaTool -->
<!-- TODO: for separate compilation: make sure only files that have been changed
since last run are re-compiled -->
<!-- TODO: run test suite (or at least a part of it) on .NET -->
<!-- TODO: generate scaladoc of .NET library -->
<!-- TODO: (?) generate the runner scripts with scala.tools.ant.ScalaTool -->
<!-- ===========================================================================
PROPERTIES
@ -95,13 +96,33 @@ MSIL BUILD
<target name="msil.start" depends="msil.init"/>
<target name="msil.src" depends="msil.start">
<!-- simple sync & copy overwrite is not very nice, because overwritten files
will then have a new timestamp, and be recompiled -->
<mkdir dir="${build-msil-src.dir}"/>
<sync todir="${build-msil-src.dir}">
<fileset dir="${src.dir}/library"/>
</sync>
<copy todir="${build-msil-src.dir}" overwrite="true">
<fileset dir="${src.dir}/dotnet-library"/>
<fileset dir="${src.dir}/library">
<and>
<present present="srconly" targetdir="${src.dir}/dotnet-library"/>
<different targetdir="${build-msil-src.dir}" ignoreFileTimes="true"/>
</and>
</fileset>
<fileset dir="${src.dir}/dotnet-library">
<different targetdir="${build-msil-src.dir}" ignoreFileTimes="true"/>
</fileset>
</copy>
<delete verbose="true">
<difference>
<fileset dir="${build-msil-src.dir}"/>
<union>
<fileset dir="${build-msil-src.dir}">
<present targetdir="${src.dir}/dotnet-library"/>
</fileset>
<fileset dir="${build-msil-src.dir}">
<present targetdir="${src.dir}/library"/>
</fileset>
</union>
</difference>
</delete>
</target>
<target name="msil.lib" depends="msil.src">
@ -113,8 +134,7 @@ MSIL BUILD
srcdir="${build-msil-src.dir}"
destdir="${build-msil.dir}/library"
target="msil"
assemname="predef" assemrefs="${lib.dir}"
failonerror="false">
assemname="predef" assemrefs="${lib.dir}">
<include name="**/*.scala"/>
<exclude name="scala/ScalaObject.scala"/>
</scalac>

View File

@ -450,7 +450,7 @@ sealed abstract class List[+A] extends Seq[A] {
* @param x the element to append.
* @return the list with <code>x</code> added at the end.
*/
def +[B >: A](x: B): List[B] =
override def +[B >: A](x: B): List[B] =
if (isEmpty) List(x)
else {
val buf = new ListBuffer[B]