If perl is installed in a directory like "C:\Program Files
(x86)\ActiveState\5.12\bin"
Then the ms/do_win64a.bat script fails with the error:
C:\build.ntx64>perl ms\uplink-x86_64.pl masm 1>ms\uptable.asm
'C:\Program' is not recognized as an internal or external command,
operable program or batch file.
The fix is to put quotes around the $^X in the command pipe.
--- ms/uplink-x86_64.pl.~1~ 2008-12-19 02:17:29.000000000 -0800
+++ ms/uplink-x86_64.pl 2012-05-21 15:41:01.287514200 -0700
@@ -2,7 +2,7 @@
$output=shift;
$0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1;
-open STDOUT,"| $^X ${dir}../crypto/perlasm/x86_64-xlate.pl $output";
+open STDOUT,"| \"$^X\" ${dir}../crypto/perlasm/x86_64-xlate.pl $output";
push(@INC,"${dir}.");
require "uplink-common.pl";