[commit: ghc] master: By default, be lax about dependencies on GHC (12646a9)
Simon Marlow
marlowsd at gmail.com
Tue Aug 30 12:12:38 CEST 2011
On 28/08/2011 15:32, Ian Lynagh wrote:
> On Sun, Aug 28, 2011 at 03:09:37PM +0100, Simon Marlow wrote:
>>
>> I'm really not sure it's a good idea for this to be the default. It
>> will be much less likely that a "./configure; make"
>
> Why do you "./configure" when doing that? Especially if not "boot"ing.
Well, it's all just a tradeoff. Strictly speaking you should:
$ ./sync-all pull
$ ./sync-all get
$ ./boot
$ ./configure
$ make
and sometimes even that doesn't work. In fact, I think the act of
running ./configure causes the build to fail because the version number
of GHC changes, and we don't rebuild enough - that's really a bug in the
build system that I need to look into though. The most common cause of
failure is the change in version number of a package, leading to an
error from GHC about mismatched interface file versions; this really
shouldn't happen, the build system should cope.
> If you don't reconfigure (and thus don't change the hi version number)
> then I don't think this change will make things less likely to build,
> but perhaps I am wrong.
It's hard to say. For example, adding a primop requires that we respect
the GHC dependency, as does changing the hi file format, so there are
certainly cases where we want the dependency to be respected. There are
also cases whether the dependency isn't enough, and you have to clean,
and cases whether the dependency is overkill.
> Anyway, if you disagree then I'm happy to have it off by default.
I'd like to propose that we leave it off by default, but add
instructions on how to turn it on to the wiki, and put it in
mk/build.mk.sample where developers will find it.
Cheers,
Simon
More information about the Cvs-ghc
mailing list