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
