
ghc-5.02.2 is not a cygwin application, so it won't
understand paths like /d/foo -- it will understand
d:/foo and d:\foo though.
Internally, the compiler will canonicalise paths to
'platform-native' formats before passing them to
external tools, which is why you see the slashes
reversed. GHC could with benefit do some
verification of -o paths, to avoid the cryptic msg
you're seeing -- I'll add it to my ToDo list.
hth
--sigbjorn
----- Original Message -----
From: "Malcolm Wallace"
With ghc-5.02.2 running from a Makefile in a cygwin shell under Windows XP, the following behaviour occurs:
ghc -package lang -package posix -c -o /d/haskell/hmake-3.00/targets/ix86-CYGWIN_NT-5.1/obj/hmake/QSort.o QSort.hs Assembler messages: FATAL: Can't create
\d\haskell\hmake-3.00\targets\ix86-CYGWIN_NT-5.1\obj\hmake\QSort.o:
No such file or directory
It looks like ghc has reversed the slashes in the filepath given to the -o option, and this is the reason the assembler fails. The directory certainly exists, but we suspect cygwin only understands the forward-slash form not the backward-slash form.
Is this a bug in ghc? Or is there some option we can give to persuade ghc not to reverse the slashes?
Regards, Malcolm