diff options
author | Ben Gamari <ben@smart-cactus.org> | 2019-06-13 16:22:31 -0400 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2019-06-13 16:22:31 -0400 |
commit | 7d495356e732060922bdf9cb01fd0598f2554da9 (patch) | |
tree | 4495146023816319492efa450e8eaa896a146d8c | |
parent | 5ce63d52fed05371edb34b4f330c33bc85a45127 (diff) | |
download | haskell-7d495356e732060922bdf9cb01fd0598f2554da9.tar.gz |
Disable optimisation when building Cabal lib for stage0
This disables optimisation when building Cabal for Hadrian and
stage0 `ghc-cabal`. Cabal is performance critical in neither case nor
will any performance difference here be visible to the end-user.
See #16817.
-rw-r--r-- | hadrian/cabal.project | 6 | ||||
-rw-r--r-- | utils/ghc-cabal/ghc.mk | 3 |
2 files changed, 9 insertions, 0 deletions
diff --git a/hadrian/cabal.project b/hadrian/cabal.project index 176d1eef94..d9c329141f 100644 --- a/hadrian/cabal.project +++ b/hadrian/cabal.project @@ -1,2 +1,8 @@ packages: ./ ../libraries/Cabal/Cabal/ + +# N.B. Compile with -O0 since this is not a performance-critical executable +# and the Cabal takes nearly twice as long to build with -O1. See #16817. +package Cabal + optimization: False + diff --git a/utils/ghc-cabal/ghc.mk b/utils/ghc-cabal/ghc.mk index 3de7a62798..02e8ccd71a 100644 --- a/utils/ghc-cabal/ghc.mk +++ b/utils/ghc-cabal/ghc.mk @@ -52,10 +52,13 @@ $(ghc-cabal_DIST_BINARY): $(wildcard libraries/Cabal/Cabal/Distribution/*/*/*.hs $(ghc-cabal_DIST_BINARY): $(wildcard libraries/Cabal/Cabal/Distribution/*/*.hs) $(ghc-cabal_DIST_BINARY): $(wildcard libraries/Cabal/Cabal/Distribution/*.hs) +# N.B. Compile with -O0 since this is not a performance-critical executable +# and the Cabal takes nearly twice as long to build with -O1. See #16817. $(ghc-cabal_DIST_BINARY): $(CABAL_LEXER_DEP) utils/ghc-cabal/Main.hs $(TOUCH_DEP) | $$(dir $$@)/. bootstrapping/. "$(GHC)" $(SRC_HC_OPTS) \ $(addprefix -optc, $(SRC_CC_OPTS) $(CONF_CC_OPTS_STAGE0)) \ $(addprefix -optl, $(SRC_LD_OPTS) $(CONF_GCC_LINKER_OPTS_STAGE0)) \ + -O0 \ -hide-all-packages \ $(addprefix -package , $(CABAL_BUILD_DEPS)) \ --make utils/ghc-cabal/Main.hs -o $@ \ |