Skip to content

Hadrian: fix source-dist rule

The first problem was that the list of files/dirs to embed or ignore was not up-to-date. The second problem was that the 'Cwd' option used when running the Tar builder in the source-dist rule didn't actually change the current directory and was therefore failing. Finally, the source-dist rule did not pre-generate Haskell modules derived from .x (alex) and .y (happy) files, like the Make build system does -- this is now fixed.

We might be doing too much work for that last step (we seem to be building many things until we get to generating the source distribution), but extracting the distribution and running

$ ./configure && hadrian/build.sh --flavour=quickest -j

from there does work for me now, producing a working sage 2 GHC.

While I was at it, I also made all the source-dist artifacts go under <build root>, not $TOP/sdistprep, staying true to the "all build artifacts under build root" motto that Hadrian has been living by for a while now.

Merge request reports