diff options
author | Gilles Dubochet <gilles.dubochet@epfl.ch> | 2005-12-19 17:17:19 +0000 |
---|---|---|
committer | Gilles Dubochet <gilles.dubochet@epfl.ch> | 2005-12-19 17:17:19 +0000 |
commit | 341c62a27b84dbd00c7fa740ba9608e33c50bc74 (patch) | |
tree | c081370b93f67776e7f64c9ce561245f65b780ed | |
parent | d8fdc6daf9486bc9884dbd695146821b773142fd (diff) | |
download | scala-341c62a27b84dbd00c7fa740ba9608e33c50bc74.tar.gz scala-341c62a27b84dbd00c7fa740ba9608e33c50bc74.tar.bz2 scala-341c62a27b84dbd00c7fa740ba9608e33c50bc74.zip |
1.
2. Scripts no longer use the wrapper script but are self-contained.
-rw-r--r-- | build.xml | 111 | ||||
-rw-r--r-- | src/exec/nscala.unix.tmpl | 81 | ||||
-rw-r--r-- | src/exec/scala-tool.unix.tmpl | 42 | ||||
-rw-r--r-- | src/exec/scala-tool.win.tmpl (renamed from src/exec/nscala-tool.win.tmpl) | 19 | ||||
-rw-r--r-- | src/exec/scala.unix.tmpl | 44 | ||||
-rw-r--r-- | src/exec/scala.win.tmpl (renamed from src/exec/nscala.win.tmpl) | 0 |
6 files changed, 167 insertions, 130 deletions
@@ -50,25 +50,24 @@ <property name="scala.dll" value="${lib.dir}/scala.dll"/> <property name="ant.jar" value="${ant.home}/lib/ant.jar"/> <!-- Location of build products properties --> - <property name="locker.dir" value="${basedir}/build/locker"/> - <property name="quick.dir" value="${basedir}/build/quick"/> - <property name="strap.dir" value="${basedir}/build/strap"/> + <property name="build.dir" value="${basedir}/build"/> + <property name="locker.dir" value="${build.dir}/locker"/> + <property name="quick.dir" value="${build.dir}/quick"/> + <property name="strap.dir" value="${build.dir}/strap"/> <!-- Location of source and build elements names properties --> <property name="lib.dir.name" value="library"/> <property name="comp.dir.name" value="compiler"/> <property name="exec.dir.name" value="exec"/> <!-- Location of structure of the distribution properties --> - <property name="distrib.unix.dir" value="${basedir}/distribs/unix"/> - <property name="distrib.win.dir" value="${basedir}/distribs/windows"/> - <property name="distrib.latest.dir" value="${basedir}/distribs/latest"/> - <property name="distrib.name" value="scala"/> - <property name="lib.jar.name" value="${distrib.name}-${lib.dir.name}.jar"/> - <property name="comp.jar.name" value="${distrib.name}-${comp.dir.name}.jar"/> - <property name="scala.exec.name" value="${distrib.name}"/> - <property name="scalai.exec.name" value="${distrib.name}i"/> - <property name="scalac.exec.name" value="${distrib.name}c"/> - <property name="scalatok.exec.name" value="${distrib.name}tok"/> - <property name="wrapper.exec.name" value=".${distrib.name}-wrapper"/> + <property name="dist.dir" value="${basedir}/dists"/> + <property name="dist.latest.dir" value="${dist.dir}/latest"/> + <property name="dist.name" value="scala"/> + <property name="lib.jar.name" value="${dist.name}-${lib.dir.name}.jar"/> + <property name="comp.jar.name" value="${dist.name}-${comp.dir.name}.jar"/> + <property name="scala.exec.name" value="${dist.name}"/> + <property name="scalai.exec.name" value="${dist.name}i"/> + <property name="scalac.exec.name" value="${dist.name}c"/> + <property name="scalatok.exec.name" value="${dist.name}tok"/> <!-- Shorcut names --> <property name="locker.lib.dir" value="${locker.dir}/${lib.dir.name}"/> <property name="locker.comp.dir" value="${locker.dir}/${comp.dir.name}"/> @@ -149,7 +148,7 @@ </path> <!-- Defining version number --> <tstamp prefix="start"/> - <property name="version" value="${start.DSTAMP}-${start.TSTAMP}"/> + <property name="version.number" value="${start.DSTAMP}-${start.TSTAMP}"/> <!-- Creating boot-level tasks --> <taskdef name="starr" classname="scala.tools.nsc.ant.NSC" @@ -193,8 +192,38 @@ <attribute name="exec.dir"/> <sequential> <mkdir dir="@{exec.dir}"/> - <copy file="${src.dir}/${exec.dir.name}/nscala.unix.tmpl" - tofile="@{exec.dir}/${wrapper.exec.name}"> + <copy file="${src.dir}/${exec.dir.name}/scala.unix.tmpl" + tofile="@{exec.dir}/scala"> + <filterset> + <filter token="version" value="${version}"/> + <filter token="copyright" value="${copyright}"/> + <filter token="lib.path" value="@{lib.dir}"/> + </filterset> + </copy> + <chmod file="@{exec.dir}/scala" perm="ugo+rx"/> + <copy file="${src.dir}/${exec.dir.name}/scala-tool.unix.tmpl" + tofile="@{exec.dir}/scalac"> + <filterset> + <filter token="version" value="${version}"/> + <filter token="copyright" value="${copyright}"/> + <filter token="lib.path" value="@{lib.dir}"/> + <filter token="comp.path" value="@{comp.dir}"/> + <filter token="fjbg.jar" value="${fjbg.jar}"/> + <filter token="msil.jar" value="${msil.jar}"/> + <filter token="tool.class" value="scala.tools.nsc.Main"/> + </filterset> + </copy> + <chmod file="@{exec.dir}/scalac" perm="ugo+rx"/> + <copy file="${src.dir}/${exec.dir.name}/scala.win.tmpl" + tofile="@{exec.dir}/scala.bat"> + <filterset> + <filter token="version" value="${version}"/> + <filter token="copyright" value="${copyright}"/> + <filter token="lib.path" value="@{lib.dir}"/> + </filterset> + </copy> + <copy file="${src.dir}/${exec.dir.name}/scala-tool.win.tmpl" + tofile="@{exec.dir}/scalac.bat"> <filterset> <filter token="version" value="${version}"/> <filter token="copyright" value="${copyright}"/> @@ -202,21 +231,9 @@ <filter token="comp.path" value="@{comp.dir}"/> <filter token="fjbg.jar" value="${fjbg.jar}"/> <filter token="msil.jar" value="${msil.jar}"/> - <filter token="scala.exec.name" value="${scala.exec.name}"/> - <filter token="scalac.exec.name" value="${scalac.exec.name}"/> - <filter token="scalai.exec.name" value="${scalai.exec.name}"/> - <filter token="scalatok.exec.name" value="${scalatok.exec.name}"/> + <filter token="tool.class" value="scala.tools.nsc.Main"/> </filterset> </copy> - <chmod file="@{exec.dir}/${wrapper.exec.name}" perm="ugo+rx"/> - <symlink resource="${wrapper.exec.name}" overwrite="yes" - link="@{exec.dir}/${scala.exec.name}"/> - <symlink resource="${wrapper.exec.name}" overwrite="yes" - link="@{exec.dir}/${scalac.exec.name}"/> - <symlink resource="${wrapper.exec.name}" overwrite="yes" - link="@{exec.dir}/${scalai.exec.name}"/> - <symlink resource="${wrapper.exec.name}" overwrite="yes" - link="@{exec.dir}/${scalatok.exec.name}"/> </sequential> </macrodef> @@ -422,13 +439,19 @@ exec.dir="${strap.dir}/${exec.dir.name}"/> <!-- Compares quick and test level --> <checksum totalproperty="quick.md5"> - <fileset dir="${quick.dir}"/> + <fileset dir="${quick.dir}"> + <include name="${lib.dir.name}/**"/> + <include name="${comp.dir.name}/**"/> + </fileset> </checksum> <delete quiet="true" failonerror="false"> <fileset dir="${quick.dir}"><include name="**/*.MD5"/></fileset> </delete> <checksum totalproperty="strap.md5"> - <fileset dir="${strap.dir}"/> + <fileset dir="${strap.dir}"> + <include name="${lib.dir.name}/**"/> + <include name="${comp.dir.name}/**"/> + </fileset> </checksum> <delete quiet="true" failonerror="false"> <fileset dir="${strap.dir}"><include name="**/*.MD5"/></fileset> @@ -457,8 +480,22 @@ ############################################################################## --> - <target name="dist"> - <echo>Dist is not available yet.</echo> + <target name="dist" depends="test"> + <mkdir dir="${dist.dir}"/> + <mkdir dir="${dist.dir}/lib"/> + <jar destfile="${dist.dir}/lib/${comp.jar.name}" + basedir="${strap.comp.dir}"> + <manifest> + <attribute name="Main-Class" value="scala.tools.nsc.Main"/> + </manifest> + </jar> + <jar destfile="${dist.dir}/lib/${lib.jar.name}" + basedir="${strap.lib.dir}"> + </jar> + <mkdir dir="${dist.dir}/bin"/> + <build.exec lib.dir="lib/${lib.jar.name}" + comp.dir="lib/${comp.jar.name}" + exec.dir="${dist.dir}/bin"/> </target> <!-- @@ -486,9 +523,9 @@ <remove dir="${locker.dir}"/> <remove dir="${quick.dir}"/> <remove dir="${strap.dir}"/> - <remove dir="${distrib.unix.dir}"/> - <remove dir="${distrib.win.dir}"/> - <remove dir="${distrib.latest.dir}"/> + <remove dir="${dist.unix.dir}"/> + <remove dir="${dist.win.dir}"/> + <remove dir="${dist.unix.latest.dir}"/> </target> </project> diff --git a/src/exec/nscala.unix.tmpl b/src/exec/nscala.unix.tmpl deleted file mode 100644 index 759450b7c4..0000000000 --- a/src/exec/nscala.unix.tmpl +++ /dev/null @@ -1,81 +0,0 @@ -#!/bin/bash - -############################################################################## -# Copyright @copyright@ -# -# This is free software; see the distribution for copying conditions. -# There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. -############################################################################## - -cygwin=false; -darwin=false; -case "`uname`" in - CYGWIN*) cygwin=true ;; - Darwin*) darwin=true ;; -esac - -SOURCE=$0; -SCRIPT=`basename "$SOURCE"`; -while [ -h "$SOURCE" ]; do - SCRIPT=`basename "$SOURCE"`; - LOOKUP=`ls -ld "$SOURCE"`; - TARGET=`expr "$LOOKUP" : '.*-> \(.*\)$'`; - if expr "${TARGET:-.}/" : '/.*/$' > /dev/null; then - SOURCE=${TARGET:-.}; - else - SOURCE=`dirname "$SOURCE"`/${TARGET:-.}; - fi; -done; -PREFIX=`dirname "$SOURCE"`/..; -prefix=$PREFIX; -PREFIX=`cd "$PREFIX"; pwd`; - -if [ -z "$SCRIPT" ]; then - abort "Illegal direct invocation; invoke me through a symbolic link."; -fi; - -_JAVACMD=java -_TOOLS_CPATH=@fjbg.jar@:@msil.jar@:@comp.path@:@lib.path@ -_LIB_CPATH=@lib.path@ - -# For Cygwin, switch paths to appropriate format before running java -if $cygwin; then - if [ "$OS" = "Windows_NT" ] && cygpath -m .>/dev/null 2>/dev/null ; then - format=mixed - else - format=windows - fi - _TOOLS_CPATH=`cygpath --path --$format "$_TOOLS_CPATH"` - _LIB_CPATH=`cygpath --path --$format "$_LIB_CPATH"` -fi - -main= -case "$SCRIPT" in - @scala.exec.name@ ) ;; - @scalac.exec.name@ ) main=scala.tools.nsc.Main;; - @scalai.exec.name@ ) main=scala.tools.nsc.MainInterpreter;; - @scalatok.exec.name@ ) main=scala.tools.nsc.MainTokenMetric;; - * ) abort "Don't know what to do for $SCRIPT.";; -esac; - -if [ -z "$main" ]; then - for arg in "" "$@"; do - [ -z "$arg" ] && continue; - if [ "$arg" = "-version" ]; then - echo "$SCRIPT @version@ -- @copyright@"; - exit 0 - fi - done; - $_JAVACMD \ - -Xbootclasspath/a:"$_LIB_CPATH" \ - "$@" -else - $_JAVACMD \ - -Xms16M -Xmx256M \ - -Dscala.product="$SCRIPT" \ - -Dscala.version="@version@" \ - -Dscala.home="$PREFIX" \ - -cp "$_TOOLS_CPATH" \ - $main -sourcepath "$_LIB_CPATH" "$@" -fi diff --git a/src/exec/scala-tool.unix.tmpl b/src/exec/scala-tool.unix.tmpl new file mode 100644 index 0000000000..1be39c4fe1 --- /dev/null +++ b/src/exec/scala-tool.unix.tmpl @@ -0,0 +1,42 @@ +#!/bin/bash + +############################################################################## +# Copyright @copyright@ +# +# This is free software; see the distribution for copying conditions. +# There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. +############################################################################## + +cygwin=false; +darwin=false; +case "`uname`" in + CYGWIN*) cygwin=true ;; + Darwin*) darwin=true ;; +esac + +PREFIX=`dirname "$0"`/..; +PREFIX=`cd "$PREFIX"; pwd`; + +JAVA=java +JAVA_CLASSPATH=@fjbg.jar@:@msil.jar@:@comp.path@:@lib.path@ +TOOL=@tool.class@ +TOOL_CLASSPATH=@lib.path@ + +# For Cygwin, switch paths to appropriate format before running java +if $cygwin; then + if [ "$OS" = "Windows_NT" ] && cygpath -m .>/dev/null 2>/dev/null ; then + format=mixed + else + format=windows + fi + JAVA_CLASSPATH=`cygpath --path --$format "$JAVA_CLASSPATH"` + TOOL_CLASSPATH=`cygpath --path --$format "$TOOL_CLASSPATH"` +fi + +$JAVA \ + -Xms16M -Xmx256M \ + -Dscala.version="20051219-1541" \ + -Dscala.home="$PREFIX" \ + -cp "$JAVA_CLASSPATH" \ + "$TOOL" -bootclasspath "$TOOL_CLASSPATH" "$@"
\ No newline at end of file diff --git a/src/exec/nscala-tool.win.tmpl b/src/exec/scala-tool.win.tmpl index ff9f7475c5..2f8cfd79ae 100644 --- a/src/exec/nscala-tool.win.tmpl +++ b/src/exec/scala-tool.win.tmpl @@ -1,7 +1,7 @@ @echo off rem ########################################################################## -rem # Copyright @COPYRIGHT@ +rem # Copyright @copyright@ rem # rem # This is free software; see the distribution for copying conditions. rem # There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A @@ -12,7 +12,6 @@ if "%OS%"=="Windows_NT" @setlocal if "%OS%"=="Windows_NT" @set SCALA_HOME=%~dp0 if "%SCALA_HOME%" == "" goto error1 -if not exist "%SCALA_HOME%\VERSION-@VERSION@" goto error2 set _ARGS= :loop @@ -23,24 +22,20 @@ goto loop :exec set _JAVACMD=java -set _PROPS=-Dscala.product=@PRODUCT@ -Dscala.version=@VERSION@ -set _MAIN=@MAIN@ -set _TOOLS_CPATH=@TOOLS_CPATH@ -set _LIB_CPATH=@LIB_CPATH@ +set _PROPS=-Dscala.version=@version@ -Dscala.home=%SCALA_HOME% +set _MAIN=@tool.class@ +set _TOOLS_CPATH=@fjbg.jar@;@msil.jar@;@comp.path@;@lib.path@ +set _LIB_CPATH=@lib.path@ rem echo %_JAVACMD% %_PROPS% -cp %_CPATH% %_MAIN% %_ARGS% -%_JAVACMD% %_PROPS% -cp %_TOOLS_CPATH% %_MAIN% -sourcepath %_LIB_CPATH% %_ARGS% +%_JAVACMD% %_PROPS% -cp %_TOOLS_CPATH% %_MAIN% -bootclasspath %_LIB_CPATH% %_ARGS% goto end rem ########################################################################## rem # errors :error1 -echo ERROR: environment variable SCALA_HOME is undefined. It should point to the directory containing the file "VERSION-@VERSION@". -goto end - -:error2 -echo ERROR: environment variable SCALA_HOME points to the wrong directory "%SCALA_HOME%". It should point to the directory containing the file "VERSION-@VERSION@". +echo ERROR: environment variable SCALA_HOME is undefined. It should point to the directory containing the file "VERSION-@version@". goto end :end diff --git a/src/exec/scala.unix.tmpl b/src/exec/scala.unix.tmpl new file mode 100644 index 0000000000..bbc2f55e93 --- /dev/null +++ b/src/exec/scala.unix.tmpl @@ -0,0 +1,44 @@ +#!/bin/bash + +############################################################################## +# Copyright @copyright@ +# +# This is free software; see the distribution for copying conditions. +# There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. +############################################################################## + +cygwin=false; +darwin=false; +case "`uname`" in + CYGWIN*) cygwin=true ;; + Darwin*) darwin=true ;; +esac + +PREFIX=`dirname "$0"`/..; +PREFIX=`cd "$PREFIX"; pwd`; + +JAVA=java +JAVA_CLASSPATH=@lib.path@ + +# For Cygwin, switch paths to appropriate format before running java +if $cygwin; then + if [ "$OS" = "Windows_NT" ] && cygpath -m .>/dev/null 2>/dev/null ; then + format=mixed + else + format=windows + fi + JAVA_CLASSPATH=`cygpath --path --$format "$JAVA_CLASSPATH"` +fi + +for arg in "" "$@"; do + [ -z "$arg" ] && continue; + if [ "$arg" = "-version" ]; then + echo "$SCRIPT @version@ -- @copyright@"; + exit 0 + fi +done; + +$JAVA \ + -Xbootclasspath/a:"$JAVA_CLASSPATH" \ + "$@" diff --git a/src/exec/nscala.win.tmpl b/src/exec/scala.win.tmpl index feb4655e0f..feb4655e0f 100644 --- a/src/exec/nscala.win.tmpl +++ b/src/exec/scala.win.tmpl |