ghc-split accepts building 6.0 on Windows
Dominic Cooney
dominic@dcooney.com
Fri, 30 May 2003 20:45:33 +1000
My environment's TEMP and TMP are C:\temp, but for some reason, my =
recent
Cygwin install makes 'TEMP' and 'TMP' /cygdrive/c/temp/4; this duly gets
passed to ghc-inplace as C:\temp\4.
Then, in libraries\base, ghc-split complains that \4 mentions a =
non-existent
group in a regexp:
../../ghc/compiler/ghc-inplace -H16m -O -fglasgow-exts -cpp -Iinclude
-#include HsBase.h -Icbits/regex -funbox-strict-fields -package-name =
base -O
-Rghc-timing -split-objs -c GHC/Base.lhs -o GHC/Base.o -ohi =
GHC/Base.hi
Reference to nonexistent group in regex; marked by <-- HERE in =
m/"c:\temp\4
<--HERE \ghc936.split\.c"/ at
d:\\users\\cooney\\ghc\\ghc-6.0\ghc\driver\split\ghc-split line 51, =
<TMPI>
line 23.
make[2]: *** [GHC/Base.o] Error 255=20
All I needed to do was editing ghc\driver\split\ghc-split so
$Tmp_prefix =3D $ARGV[1]
was instead
($Tmp_prefix =3D $ARGV[1]) =3D~ s/\\/\\\\/g;
I don't know whether this habit of appending \4 is a delightful quirk of =
my
Cygwin install, but FWIW for other Windows Server 2k3/Cygwin users out
there...
Dominic Cooney