
Hi Marc, On Sat, Jul 21, 2007 at 02:26:47AM +0200, Marc Weber wrote:
What about adding another target ./setup plain_source which should preprocess everything (including cpp) and output the files to an extra directory? Why? This could be used for haddock documentation generation (Not sure how this is done)
"Setup haddock" preprocesses the files itself if necessary.
and perhaps to be read by future IDE's to provide compiler independent completion etc?
eg ./setup haddock on haddock sources itself fails on line
#if defined(mingw32_HOST_OS) ...
I suspect that haddock wasn't designed to be haddocked, as it's not a library. If you put a "extensions: CPP" line in the top section of the Cabal file then you get a bit further, to a parse error in src/BlockTable.hs; I'm not sure what the problem is there, but it's certainly not pre-processor related. I'm also not sure why Cabal is is running haddock on modules that are only used in an executable, or if it's meant to do that then why it isn't taking into account the CPP extension of the executable. Thanks Ian