diff options
author | Thomas Miedema <thomasmiedema@gmail.com> | 2015-10-27 16:46:01 +0100 |
---|---|---|
committer | Thomas Miedema <thomasmiedema@gmail.com> | 2015-10-29 13:26:27 +0100 |
commit | fa58731684af45dddc27b8eb11c4c042b1dec9c4 (patch) | |
tree | fe916bb016eced95467c962a8038898452c276a9 /ghc.mk | |
parent | 2a74a64e8329ab9e0c74bec47198cb492d25affb (diff) | |
download | haskell-fa58731684af45dddc27b8eb11c4c042b1dec9c4.tar.gz |
Revert "Build system: don't create mk/are-validating.mk"
Summary:
This reverts commit aecf4a5f96d0d3ffcf4cb2c67a20a610d7c64486.
It turns out the Simons are relying on 'mk/are-validating.mk', see
D1307.
The workflow they are using is:
* run ./validate
* find a bug in the compiler
* try to fix the bug, running 'make 1' (or 'make 2') repeatedly. Because
of 'mk/are-validating.mk', this uses the same build settings as validate.
* continue ./validate (--no-clean)
I suggested two alternatives:
A. run 'make 1 Validating=YES' instead of 'make 1'
Problem: when running `./validate --fast` or `./validate --hpc`
instead of a normal `./validate`, validate sets ValidateSpeed and
ValdateHpc in mk/are-validating.mk. You would for example have to run
'make 1 Validating=YES ValidateSpeed=FAST' instead of 'make 1' to get the
same build settings as `./validate --fast`, which is entirely too long and
error prone.
B. uncomment `#BuildFlavour=validate` in mk/build.mk, and include
'mk/validate.mk'.
Problems:
* any other settings you have in build.mk will also get used.
* the distinction between 'mk/validate.mk' and 'mk/build.mk' becomes less
clear.
* it is easy to forget to include 'mk/validate.mk'.
* the build system again doesn't have access to the ValidateSpeed and
ValdateHpc settings set by validate.
Neither of these two options is entirely satisfactory.
Reviewers: austin, bgamari
Differential Revision: https://phabricator.haskell.org/D1383
Diffstat (limited to 'ghc.mk')
-rw-r--r-- | ghc.mk | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -1327,6 +1327,9 @@ clean_bindistprep: $(call removeTrees,bindistprep/) distclean : clean +# Clean the files that ./validate creates. + $(call removeFiles,mk/are-validating.mk) + # Clean the files that we ask ./configure to create. $(call removeFiles,mk/config.mk) $(call removeFiles,mk/install.mk) |