diff options
author | Lukas Rytz <lukas.rytz@epfl.ch> | 2009-03-25 09:07:28 +0000 |
---|---|---|
committer | Lukas Rytz <lukas.rytz@epfl.ch> | 2009-03-25 09:07:28 +0000 |
commit | 30306fec3b4a0241bc65e165330b355eb6a3dc36 (patch) | |
tree | be332e4c1b81a85c7e7dd7809f7cb85164f9f642 | |
parent | 4145de88b48e68746ae1669d1cc1f3d0f6bc89e2 (diff) | |
download | scala-30306fec3b4a0241bc65e165330b355eb6a3dc36.tar.gz scala-30306fec3b4a0241bc65e165330b355eb6a3dc36.tar.bz2 scala-30306fec3b4a0241bc65e165330b355eb6a3dc36.zip |
some more msil stuff.
-rw-r--r-- | build.xml | 3 | ||||
-rw-r--r-- | src/build/msil.xml | 24 |
2 files changed, 22 insertions, 5 deletions
@@ -216,6 +216,9 @@ LOCAL REFERENCE BUILD (LOCKER) target="1.5" source="1.5"> <compilerarg line="${javac.args}"/> </javac> + <!-- NOTE: Potential problem with maximal command line length on Windows + (32768 characters for XP, since executed with Java's "exec"). See + src/build/msil.xml for more details. --> <scalacfork destdir="${build-locker.dir}/classes/library" compilerpathref="starr.classpath" diff --git a/src/build/msil.xml b/src/build/msil.xml index 1f4e610c76..e64c88714f 100644 --- a/src/build/msil.xml +++ b/src/build/msil.xml @@ -163,11 +163,25 @@ PACKED MSIL BUILD (MSIL-PACK) <fileset dir="${build-msil.dir}/library" includes="**/*.msil"/> </pathconvert> <property name="msil-pack-lib.file" value="${build-msil-pack.dir}/lib/predef.dll"/> - <!-- spawn="true" will prevent the ilasm command from printing anything to - the console. remove for debugging --> - <exec executable="${ilasm.cmd}" - vmlauncher="no"> - <!-- spawn="true" --> + + <!-- + NOTE: Command line length hell on windows. The maximal command line length on + Windows XP or later is 8191 characters (http://support.microsoft.com/kb/830473). + + BUT: this only applies for processes executed directly in the shell, which is NOT + the case by default when using ant's "exec" command; this one uses the Java VM's + execution facilities which allow larger command lines. Testing gives: + - Windows XP: 32768 characters + + When the parameter (vmlauncher="false") is specified, the <exec/> command uses + the udnerlying shell, and the smaller limit applies. + + The call to ilasm produces lots of output, which could be avoided using + (spawn="true"). This seems to work wrt to the character limit (32768), but is + probably not the best solution since it's incompatible with (failonerror), + and does not produce any output at all. + --> + <exec executable="${ilasm.cmd}" failonerror="true"> <arg line="${ilasm.args}${msil-pack-lib.file} ${ilasm.infiles}"/> </exec> </target> |