GHC's CPP and Cabal's unlit
Alistair Bayley
alistair at abayley.org
Wed Nov 28 17:37:36 EST 2007
> More puzzling is that the files that Cabal runs through ghc's CPP
> don't get the # n lines, so we end up with something like this:
(Answering my own message)
Having done some more testing with ghc-6.8.1 and ghc-6.6.1 and cabal's
1.1.6.2 and 1.3, I've realised that the cpp optP-P option in Cabal-1.3
is suppressing the # n lines, so that means the {-# LINE 1 "Test.lhs"
#-} comment does indeed end up immediately preceding the first real
line of the program (thus causing unlit to spit the dummy).
I've also noticed that the options passed from cabal-1.1.6.2 to the
ghc cpp phase do NOT include -x hs, so ghc unlits the file before
cabal then tries to unlit it. Surely this cannot work, and indeed it
does not, because the resulting .hs file contains no code.
I'm of a mind to fix two things in cabal:
- the haddock command runs unlit first, THEN cpp
- the unlit module preserves comments, for the benefit of haddock
I already have these done in my local Cabal-1.3, so creating patches
ought to be straightforward. I've only tested with ghc on Windows
though.
Comments?
Thanks,
Alistair
More information about the Glasgow-haskell-users
mailing list