[Haskell-cafe] Cabal files on Windows
Duncan Coutts
duncan.coutts at worc.ox.ac.uk
Fri Aug 1 09:39:51 EDT 2008
On Sun, 2008-07-27 at 21:01 -0500, John Lato wrote:
> > Use Haskell String syntax for paths that contain spaces:
> >
> > include-dirs: "C:\\Program Files\\program\\include"
>
> Hi Duncan,
>
> Thanks, this worked (mostly). Although I had to change the line to
>
> include-dirs: "\"C:\\Program Files\\program\\include\""
>
> so that the path would be passed properly to cpp through c2hs.
Thanks for for filing the ticket John.
http://hackage.haskell.org/trac/hackage/ticket/316#comment:1
Turns out Cabal is doing it right and it's c2hs that we need to fix.
Shouldn't be too hard. Just need to change the way c2hs invokes cpp in
Main.hs:
let cmd = unwords [cpp, cppOpts, newHeaderFile, ">" ++ preprocFile]
tracePreproc cmd
exitCode <- liftIO $ system cmd
to something like:
let args = cppOpts ++ [newHeaderFile]
tracePreproc (unwords (cmd : args))
exitCode <- liftIO $ do
preprocHnd <- openFile WriteMode preprocFile
process <- runProcess cpp args
Nothing Nothing
Nothing (Just preprocHnd) Nothing
waitForProcess process
Try that, tell me if it works and we can add the patch to the c2hs repo.
Duncan
More information about the Haskell-Cafe
mailing list