On Tue, 2008-08-05 at 16:15 +0100, Claus Reinke wrote:
> >>> It is confusing, though, that Cabal silently uses 
> >>> compiler/parser/Parser.hs,
> >>> if it is meant to generate and use compiler/dist-stage[12]/Parser.hs.
> >>>
> >>> There should be a Cabal warning:
> >>> "variant of generated file in source dir, using that instead of generated 
> >>> file".
> >>
> >> As far as I know, if you've got compiler/parser/Parser.hs
> >> and compiler/parser/Parser.y then Cabal ignores the .hs one and
> >> pre-processes the .y one into dist/ and uses the .hs from dist.
> >>
> >> If you're finding the opposite it's a bug and we need it reported with
> >> enough details to reproduce.
> 
> to reproduce:
> 
> - take a recent GHC HEAD repo
> - make distclean
> - put a fake and clearly buggy parser/Parser.hs in compiler/
> - for good measure, touch parser/Parser.y.pp (old make would
>     have picked up on that clue)
> - sh boot; ./configure ...; make
> 
> If I do that, I get an error in 'parser/Parser.hs' (note the location!).
> 
> The whole thing doesn't seem to be driven directly by Cabal, but
> via a Makefile-stage1 generated by Cabal (make log attached).

I suspect that explains the difference in behaviour. You'll have to ask
Ian or Simon about the makefile stuff.

> As I said, it would be nice to have a warning if there is a file in the
> source dir that could be generated from another file in the source
> dir (but where the generated version should be in another place),
> and the build process should say in that warning whether it uses
> or ignores such files.

Indeed.

http://hackage.haskell.org/trac/hackage/ticket/319


Duncan

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to