summaryrefslogtreecommitdiff
path: root/build.xml
diff options
context:
space:
mode:
authorIulian Dragos <jaguarul@gmail.com>2007-11-22 17:16:07 +0000
committerIulian Dragos <jaguarul@gmail.com>2007-11-22 17:16:07 +0000
commitaab21c2dc81e5ba7bce33f87ff96fd5b398f1bf9 (patch)
tree036a0dc5894384e521fb7d0720d84eb2d3dc74f0 /build.xml
parentcbc9b3c3baaa762af450df11c8cad36111458d96 (diff)
downloadscala-aab21c2dc81e5ba7bce33f87ff96fd5b398f1bf9.tar.gz
scala-aab21c2dc81e5ba7bce33f87ff96fd5b398f1bf9.tar.bz2
scala-aab21c2dc81e5ba7bce33f87ff96fd5b398f1bf9.zip
Added android-library target in the build file,...
Added android-library target in the build file, and special ScalaObect which has no @remote attribute (no RMI on android).
Diffstat (limited to 'build.xml')
-rw-r--r--build.xml209
1 files changed, 207 insertions, 2 deletions
diff --git a/build.xml b/build.xml
index 55fa47f60f..5290d78771 100644
--- a/build.xml
+++ b/build.xml
@@ -50,11 +50,13 @@ PROPERTIES
<property name="locker.dir" value="${build.dir}/locker"/>
<property name="quick.dir" value="${build.dir}/quick"/>
<property name="strap.dir" value="${build.dir}/strap"/>
+ <property name="optimised.dir" value="${build.dir}/optimised"/>
<property name="api-lib.dir" value="${build.dir}/api-library"/>
<property name="api-comp.dir" value="${build.dir}/api-compiler"/>
<property name="tooldocs.dir" value="${build.dir}/tooldocs"/>
<property name="examples.dir" value="${build.dir}/examples"/>
<property name="cldc.dir" value="${build.dir}/cldc"/>
+ <property name="android.dir" value="${build.dir}/android"/>
<property name="msil.dir" value="${build.dir}/msil"/>
<property name="mono.dir" value="${src.dir}/mono"/>
<!-- Sets location and structure of the distribution -->
@@ -574,7 +576,7 @@ BUILD QUICK-TEST LAYER
/>
<!-- Build partest -->
<mkdir dir="${quick.dir}/lib/partest"/>
- <starr
+ <locker
srcdir="${src.dir}/partest"
destdir="${quick.dir}/lib/partest"
addparams="${nsc.params}"
@@ -584,7 +586,7 @@ BUILD QUICK-TEST LAYER
<pathelement location="${quick.dir}/lib/compiler"/>
<pathelement location="${quick.dir}/lib/actors"/>
</classpath>
- </starr>
+ </locker>
<echo
file="${quick.dir}/lib/partest/${par.prop.name}"
message="version.number=${version.number}${line.separator}"
@@ -799,6 +801,78 @@ CLDC
</target>
<!-- ===========================================================================
+ANDROID
+============================================================================ -->
+
+ <target name="android.sources"
+ description="Create the source directory for Android library"
+ >
+ <mkdir dir="${android.dir}/src"/>
+
+ <copy todir="${android.dir}/src">
+ <fileset dir="${src.dir}/library" includes="**/*.scala, **/*.java">
+ <not>
+ <present targetdir="${src.dir}/android-library"/>
+ </not>
+ </fileset>
+ </copy>
+
+ <copy todir="${android.dir}/src">
+ <fileset dir="${src.dir}/android-library">
+ <include name="**/*.scala"/>
+ <include name="**/*.java"/>
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="android.lib"
+ depends="setup.quick, android.sources"
+ description="Builds the Scala library for Android">
+ <fail message="Android home is not set or could not find android.jar in ${android.home}">
+ <condition><not>
+ <available file="${android.home}/android.jar"/>
+ </not></condition>
+ </fail>
+
+ <mkdir dir="${android.dir}"/>
+ <echo message="android.home=${android.home}"/>
+
+ <quick
+ srcdir="${android.dir}/src"
+ destdir="${android.dir}"
+ usepredefs="no"
+ addparams="${nsc.params}"
+ extdirs=""
+ scalacdebugging="${nsc.log-files}"
+ >
+ <bootclasspath>
+ <pathelement location="${android.home}/android.jar"/>
+ <pathelement location="${quick.dir}/lib/library"/>
+ </bootclasspath>
+ <include name="scala/Predef.scala"/>
+ </quick>
+
+ <quick
+ srcdir="${android.dir}/src"
+ destdir="${android.dir}"
+ extdirs=""
+ addparams="${nsc.params}"
+ scalacdebugging="${nsc.log-files}"
+ >
+ <bootclasspath>
+ <pathelement location="${android.home}/android.jar"/>
+ <pathelement location="${quick.dir}/lib/library"/>
+ </bootclasspath>
+ <classpath>
+ <pathelement location="${android.dir}"/>
+ </classpath>
+ <include name="**/*.scala"/>
+ <exclude name="scala/Predef.scala"/>
+ <excludesfile name="${nsc.excludes}" if="excludes.avail"/>
+ </quick>
+ </target>
+
+<!-- ===========================================================================
MSIL
============================================================================ -->
@@ -917,6 +991,137 @@ MSIL
</target>
<!-- ===========================================================================
+OPTIMIZE
+============================================================================ -->
+ <target name="optimised" depends="build.optimised"
+ description="Build the compiler with optimizations on."/>
+
+ <!-- Build the bootstrap layer -->
+ <target name="build.optimised" depends="setup.quick">
+ <stopwatch name="timer.optimised"/>
+ <!-- Build library -->
+ <mkdir dir="${optimised.dir}/lib/library"/>
+ <javac
+ srcdir="${src.dir}/library"
+ destdir="${optimised.dir}/lib/library"
+ source="1.4" target="1.4" deprecation="yes"
+ classpath="${optimised.dir}/lib/library"
+ includes="**/*.java"/>
+ <quick
+ srcdir="${src.dir}/library"
+ destdir="${optimised.dir}/lib/library"
+ usepredefs="no" addparams="${nsc.params}"
+ deprecation="yes" unchecked="yes"
+ optimise="yes"
+ classpath="${optimised.dir}/lib/library"
+ includes="scala/Predef.scala"/>
+ <quick
+ srcdir="${src.dir}/library"
+ destdir="${optimised.dir}/lib/library"
+ addparams="${nsc.params}"
+ optimise="yes"
+ deprecation="yes" unchecked="yes"
+ classpath="${optimised.dir}/lib/library">
+ <include name="**/*.scala"/>
+ <exclude name="scala/Predef.scala"/>
+ <exclude name="scala/dbc/**"/>
+ <exclude name="scala/actors/**"/>
+ <excludesfile name="${nsc.excludes.file}" if="excludes.avail"/>
+ </quick>
+ <echo
+ file="${optimised.dir}/lib/library/${lib.prop.name}"
+ message="version.number=${version.number}${line.separator}"
+ append="false"
+ />
+ <echo
+ file="${optimised.dir}/lib/library/${lib.prop.name}"
+ message="copyright.string=${copyright.string}${line.separator}"
+ append="true"
+ />
+ <!-- Build compiler -->
+ <mkdir dir="${optimised.dir}/lib/compiler"/>
+ <quick
+ srcdir="${src.dir}"
+ destdir="${optimised.dir}/lib/compiler"
+ optimise="yes"
+ addparams="${nsc.params}">
+ <classpath>
+ <pathelement location="${optimised.dir}/lib/library"/>
+ <pathelement location="${optimised.dir}/lib/compiler"/>
+ <pathelement location="${fjbg.jar}"/>
+ <pathelement location="${msil.jar}"/>
+ <pathelement location="${ant.jar}"/>
+ <pathelement location="${jline.jar}"/>
+ </classpath>
+ <include name="compiler/**/*.scala"/>
+ <include name="library/scala/List.scala"/>
+ <excludesfile name="${nsc.excludes.file}" if="excludes.avail"/>
+ </quick>
+ <echo
+ file="${optimised.dir}/lib/compiler/${comp.prop.name}"
+ message="version.number=${version.number}${line.separator}"
+ append="false"
+ />
+ <echo
+ file="${optimised.dir}/lib/compiler/${comp.prop.name}"
+ message="copyright.string=${copyright.string}${line.separator}"
+ append="true"
+ />
+ <!-- Timing the build -->
+ <stopwatch name="timer.strap" action="total"/>
+ <!-- Copy support files to build folder and links external libraries-->
+ <build.support build.dir="${optimised.dir}"/>
+ <build.links build.dir="${optimised.dir}"/>
+ <!-- Build executable files -->
+ <taskdef
+ name="straptool"
+ classname="scala.tools.ant.ScalaTool"
+ classpathref="quick.classpath"/>
+ <mkdir dir="${optimised.dir}/bin"/>
+ <straptool
+ file="${optimised.dir}/bin/${scala.exec.name}"
+ version="${version.number}"
+ copyright="${copyright.string}"
+ name="Scala code runner"
+ class="scala.tools.nsc.MainGenericRunner"
+ javaFlags="${java.flags}"/>
+ <straptool
+ file="${optimised.dir}/bin/${scalac.exec.name}"
+ name="Scala compiler"
+ class="scala.tools.nsc.Main"
+ version="${version.number}"
+ copyright="${copyright.string}"
+ javaFlags="${java.flags}"/>
+ <straptool
+ file="${optimised.dir}/bin/${scaladoc.exec.name}"
+ name="Scala doc generator"
+ class="scala.tools.nsc.Main"
+ toolflags="-Ydoc"
+ version="${version.number}"
+ copyright="${copyright.string}"
+ javaFlags="${java.flags}"/>
+ <straptool
+ file="${optimised.dir}/bin/${fsc.exec.name}"
+ name="Fast Scala compiler"
+ class="scala.tools.nsc.CompileClient"
+ version="${version.number}"
+ copyright="${copyright.string}"/>
+ <chmod perm="ugo+rx"
+ file="${optimised.dir}/bin/${scalac.exec.name}"/>
+ <chmod perm="ugo+rx"
+ file="${optimised.dir}/bin/${scala.exec.name}"/>
+ <chmod perm="ugo+rx"
+ file="${optimised.dir}/bin/${scaladoc.exec.name}"/>
+ <chmod perm="ugo+rx"
+ file="${optimised.dir}/bin/${fsc.exec.name}"/>
+ <fixcrlf
+ srcdir="${optimised.dir}/bin"
+ eol="dos"
+ includes="**/*.bat"/>
+ </target>
+
+
+<!-- ===========================================================================
TEST
============================================================================ -->