Discussion: Hadrian's defaults

Moritz Angermann moritz.angermann at gmail.com
Fri Mar 15 02:09:53 UTC 2019

> On Mar 15, 2019, at 2:19 AM, Herbert Valerio Riedel <hvriedel at gmail.com> wrote:
> On Thu, Mar 14, 2019 at 4:20 PM Spiwack, Arnaud <arnaud.spiwack at tweag.io> wrote:
> 	• The -c option should be the default.
> Very strong -1 from me on this one; I've been quite vocal on the Hadrian issue tracker early on and multiple times against having Hadrian invoke ./configure at all, even more so against having it do so by default. I don't have the ticket number at my fingertips but it should be fairly easy to find.

I'm with Herbert here. I think that the `-c` flag should be mandatory if you want
hadrian to invoke autoconf magic.

I believe the confusion might stem from the newcomers guide[1]?  I'd rather see the
newcomers guide *not* use `-c`, and instead make it obvious to call `boot` and
`configure`.  These are essential steps and hiding them makes them less obvious.

`boot` does
- (1) checks that url rewrites are in place.
- (2) checks that all bootpackages are available
- (3) run autoreconf as needed
- (4) and generates a bunch of make files for the make based build system.

(4) can be disabled by passing `--hadrian` to `boot`.  (1) is needed due to
the relative submodules I beleive.

`configure` generates the necessary configuration files based on the configure flags
passed. And hadrian does the actual build step that `make` used to do.

It's magically conflating two different phases with `-c`. The configure phase and
the build phase. Making this the default means it's always magic. I don't like magic!


[1]: https://github.com/tdammers/ghc-wiki/blob/wip/newcomers/newcomers-tutorial.md
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: Message signed with OpenPGP
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20190315/42ac62fa/attachment.sig>

More information about the ghc-devs mailing list