diff options
author | Thomas Miedema <thomasmiedema@gmail.com> | 2015-08-31 14:39:47 +0200 |
---|---|---|
committer | Thomas Miedema <thomasmiedema@gmail.com> | 2015-09-07 11:56:14 +0200 |
commit | 2c24fd707f8650205bb574ffac5f376239af3723 (patch) | |
tree | a720bb340f29eff28cb91c8db9c6c79c6bd12d23 /mk | |
parent | 062feee4e7408ad5b9d882e5fed2c700e337db72 (diff) | |
download | haskell-2c24fd707f8650205bb574ffac5f376239af3723.tar.gz |
Build system: put each BuildFlavour in a separate file (#10223)
This allows easier diffing of different BuildFlavours, including
`mk/flavours/validate.mk`.
Reviewed By: bgamari, austin
Differential Revision: https://phabricator.haskell.org/D1050
Diffstat (limited to 'mk')
-rw-r--r-- | mk/build.mk.sample | 266 | ||||
-rw-r--r-- | mk/custom-settings.mk | 2 | ||||
-rw-r--r-- | mk/flavours/bench-cross.mk | 15 | ||||
-rw-r--r-- | mk/flavours/bench-llvm.mk | 10 | ||||
-rw-r--r-- | mk/flavours/bench.mk | 10 | ||||
-rw-r--r-- | mk/flavours/devel1.mk | 12 | ||||
-rw-r--r-- | mk/flavours/devel2.mk | 12 | ||||
-rw-r--r-- | mk/flavours/perf-cross.mk | 15 | ||||
-rw-r--r-- | mk/flavours/perf-llvm.mk | 10 | ||||
-rw-r--r-- | mk/flavours/perf.mk | 10 | ||||
-rw-r--r-- | mk/flavours/prof.mk | 12 | ||||
-rw-r--r-- | mk/flavours/quick-cross.mk | 15 | ||||
-rw-r--r-- | mk/flavours/quick-llvm.mk | 10 | ||||
-rw-r--r-- | mk/flavours/quick.mk | 10 | ||||
-rw-r--r-- | mk/flavours/quickest.mk | 10 | ||||
-rw-r--r-- | mk/flavours/validate.mk | 44 | ||||
-rw-r--r-- | mk/validate-settings.mk | 38 |
17 files changed, 207 insertions, 294 deletions
diff --git a/mk/build.mk.sample b/mk/build.mk.sample index 19a59ae5c9..4f83ebbb4c 100644 --- a/mk/build.mk.sample +++ b/mk/build.mk.sample @@ -2,8 +2,7 @@ # A Sample build.mk # # Uncomment one of the following BuildFlavour settings to get the desired -# overall build type, and then tweak the options in the relevant section -# below. +# overall build type. # -------- Build profiles ----------------------------------------------------- # Uncomment one of these to select a build profile below: @@ -51,17 +50,23 @@ # Bench build configured for a cross-compiler #BuildFlavour = bench-cross +# Use the same settings as validate. +#BuildFlavour = validate + +ifneq "$(BuildFlavour)" "" +include mk/flavours/$(BuildFlavour).mk +endif + # -------- Miscellaneous variables -------------------------------------------- # Set to V = 0 to get prettier build output. -# Please use V = 1 when reporting GHC bugs. -V = 1 +# Please use V=1 (the default) when reporting GHC bugs. +#V=0 # Should all enabled warnings (see mk/warnings.mk) be turned into errors? #WERROR=-Werror # After stage 1 and the libraries have been built, you can uncomment this line: - #stage=2 # Then stage 1 will not be touched by the build system, until @@ -80,254 +85,5 @@ V = 1 # (other sometimes useful configure-options: `--with-gmp-{includes,libraries}`) #libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-intree-gmp -# ----------- A Performance/Distribution build -------------------------------- - -ifeq "$(BuildFlavour)" "perf" - -# perf matches the default settings, repeated here for comparison: - -SRC_HC_OPTS = -O -H64m -GhcStage1HcOpts = -O -GhcStage2HcOpts = -O2 -GhcLibHcOpts = -O2 -BUILD_PROF_LIBS = YES -#SplitObjs -#HADDOCK_DOCS -#BUILD_DOCBOOK_HTML -#BUILD_DOCBOOK_PS -#BUILD_DOCBOOK_PDF - -endif - -# ---------------- Perf build using LLVM -------------------------------------- - -ifeq "$(BuildFlavour)" "perf-llvm" - -SRC_HC_OPTS = -O -H64m -fllvm -GhcStage1HcOpts = -O -fllvm -GhcStage2HcOpts = -O2 -fllvm -GhcLibHcOpts = -O2 -BUILD_PROF_LIBS = YES -#SplitObjs -#HADDOCK_DOCS -#BUILD_DOCBOOK_HTML -#BUILD_DOCBOOK_PS -#BUILD_DOCBOOK_PDF - -endif - -# ------- A Perf build configured for cross-compilation ---------------------- - -ifeq "$(BuildFlavour)" "perf-cross" - -SRC_HC_OPTS = -O -H64m -fllvm -GhcStage1HcOpts = -O2 -GhcStage2HcOpts = -O2 -fllvm -GhcLibHcOpts = -O2 -BUILD_PROF_LIBS = YES -#SplitObjs -HADDOCK_DOCS = NO -BUILD_DOCBOOK_HTML = NO -BUILD_DOCBOOK_PS = NO -BUILD_DOCBOOK_PDF = NO - -INTEGER_LIBRARY = integer-simple -Stage1Only = YES -DYNAMIC_BY_DEFAULT = NO -DYNAMIC_GHC_PROGRAMS = NO - -endif - -# -------- A Fast build ------------------------------------------------------- - -ifeq "$(BuildFlavour)" "quickest" - -SRC_HC_OPTS = -H64m -O0 -GhcStage1HcOpts = -O -GhcStage2HcOpts = -O0 -GhcLibHcOpts = -O0 -BUILD_PROF_LIBS = NO -SplitObjs = NO -HADDOCK_DOCS = NO -BUILD_DOCBOOK_HTML = NO -BUILD_DOCBOOK_PS = NO -BUILD_DOCBOOK_PDF = NO - -endif - -# -------- A Fast build with optimised libs ----------------------------------- - -ifeq "$(BuildFlavour)" "quick" - -SRC_HC_OPTS = -H64m -O0 -GhcStage1HcOpts = -O -GhcStage2HcOpts = -O0 -GhcLibHcOpts = -O -BUILD_PROF_LIBS = NO -SplitObjs = NO -HADDOCK_DOCS = NO -BUILD_DOCBOOK_HTML = NO -BUILD_DOCBOOK_PS = NO -BUILD_DOCBOOK_PDF = NO - -endif - -# -------- A Fast build with optimised libs using LLVM ------------------------ - -ifeq "$(BuildFlavour)" "quick-llvm" - -SRC_HC_OPTS = -H64m -O0 -fllvm -GhcStage1HcOpts = -O -fllvm -GhcStage2HcOpts = -O0 -fllvm -GhcLibHcOpts = -O -fllvm -BUILD_PROF_LIBS = NO -SplitObjs = NO -HADDOCK_DOCS = NO -BUILD_DOCBOOK_HTML = NO -BUILD_DOCBOOK_PS = NO -BUILD_DOCBOOK_PDF = NO - -endif - -# -------- A Fast build configured for cross-compilation ---------------------- - -ifeq "$(BuildFlavour)" "quick-cross" - -SRC_HC_OPTS = -H64m -O0 -GhcStage1HcOpts = -O -GhcStage2HcOpts = -O0 -fllvm -GhcLibHcOpts = -O -fllvm -BUILD_PROF_LIBS = NO -SplitObjs = NO -HADDOCK_DOCS = NO -BUILD_DOCBOOK_HTML = NO -BUILD_DOCBOOK_PS = NO -BUILD_DOCBOOK_PDF = NO - -INTEGER_LIBRARY = integer-simple -Stage1Only = YES -DYNAMIC_BY_DEFAULT = NO -DYNAMIC_GHC_PROGRAMS = NO - -endif - -# -------- Profile the stage2 compiler ---------------------------------------- - -ifeq "$(BuildFlavour)" "prof" - -SRC_HC_OPTS = -H64m -O0 -GhcStage1HcOpts = -O -GhcStage2HcOpts = -O -GhcLibHcOpts = -O -BUILD_PROF_LIBS = YES -SplitObjs = NO -HADDOCK_DOCS = NO -BUILD_DOCBOOK_HTML = NO -BUILD_DOCBOOK_PS = NO -BUILD_DOCBOOK_PDF = NO - -GhcProfiled = YES - -endif - -# -------- A Development build (stage 1) -------------------------------------- - -ifeq "$(BuildFlavour)" "devel1" - -SRC_HC_OPTS = -H64m -O -GhcStage1HcOpts = -O0 -DDEBUG -GhcStage2HcOpts = -O -GhcLibHcOpts = -O -dcore-lint -BUILD_PROF_LIBS = NO -SplitObjs = NO -HADDOCK_DOCS = NO -BUILD_DOCBOOK_HTML = NO -BUILD_DOCBOOK_PS = NO -BUILD_DOCBOOK_PDF = NO - -LAX_DEPENDENCIES = YES - -endif - -# -------- A Development build (stage 2) -------------------------------------- - -ifeq "$(BuildFlavour)" "devel2" - -SRC_HC_OPTS = -H64m -O -GhcStage1HcOpts = -O -GhcStage2HcOpts = -O0 -DDEBUG -GhcLibHcOpts = -O -dcore-lint -BUILD_PROF_LIBS = NO -SplitObjs = NO -HADDOCK_DOCS = NO -BUILD_DOCBOOK_HTML = NO -BUILD_DOCBOOK_PS = NO -BUILD_DOCBOOK_PDF = NO - -LAX_DEPENDENCIES = YES - -endif - -# -------- A bench build with optimised libs ----------------------------------- - -ifeq "$(BuildFlavour)" "bench" - -SRC_HC_OPTS = -O -H64m -GhcStage1HcOpts = -O -GhcStage2HcOpts = -O0 -GhcLibHcOpts = -O2 -BUILD_PROF_LIBS = NO -SplitObjs = NO -HADDOCK_DOCS = NO -BUILD_DOCBOOK_HTML = NO -BUILD_DOCBOOK_PS = NO -BUILD_DOCBOOK_PDF = NO - -endif - -# ---------------- Bench build using LLVM -------------------------------------- - -ifeq "$(BuildFlavour)" "bench-llvm" - -SRC_HC_OPTS = -O -H64m -GhcStage1HcOpts = -O -fllvm -GhcStage2HcOpts = -O0 -fllvm -GhcLibHcOpts = -O2 -fllvm -BUILD_PROF_LIBS = NO -SplitObjs = NO -HADDOCK_DOCS = NO -BUILD_DOCBOOK_HTML = NO -BUILD_DOCBOOK_PS = NO -BUILD_DOCBOOK_PDF = NO - -endif - -# ------- A Bench build configured for cross-compilation ---------------------- - -ifeq "$(BuildFlavour)" "bench-cross" - -SRC_HC_OPTS = -O -H64m -GhcStage1HcOpts = -O -GhcStage2HcOpts = -O0 -GhcLibHcOpts = -O2 -BUILD_PROF_LIBS = NO -SplitObjs = NO -HADDOCK_DOCS = NO -BUILD_DOCBOOK_HTML = NO -BUILD_DOCBOOK_PS = NO -BUILD_DOCBOOK_PDF = NO - -INTEGER_LIBRARY = integer-simple -Stage1Only = YES -DYNAMIC_BY_DEFAULT = NO -DYNAMIC_GHC_PROGRAMS = NO - -endif - -# ----------------------------------------------------------------------------- -# Other settings that might be useful - -# NoFib settings -NoFibWays = +# Don't strip debug and other unneeded symbols from libraries and executables. STRIP_CMD = : - diff --git a/mk/custom-settings.mk b/mk/custom-settings.mk index f59a208388..2b4b127102 100644 --- a/mk/custom-settings.mk +++ b/mk/custom-settings.mk @@ -2,7 +2,7 @@ -include mk/are-validating.mk ifeq "$(Validating)" "YES" -include mk/validate-settings.mk +include mk/flavours/validate.mk -include mk/validate.mk else -include $(firstword $(wildcard mk/$(TargetPlatformFull)-build.mk) mk/build.mk) diff --git a/mk/flavours/bench-cross.mk b/mk/flavours/bench-cross.mk new file mode 100644 index 0000000000..9c3b68c895 --- /dev/null +++ b/mk/flavours/bench-cross.mk @@ -0,0 +1,15 @@ +SRC_HC_OPTS = -O -H64m +GhcStage1HcOpts = -O +GhcStage2HcOpts = -O0 +GhcLibHcOpts = -O2 +BUILD_PROF_LIBS = NO +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO + +INTEGER_LIBRARY = integer-simple +Stage1Only = YES +DYNAMIC_BY_DEFAULT = NO +DYNAMIC_GHC_PROGRAMS = NO diff --git a/mk/flavours/bench-llvm.mk b/mk/flavours/bench-llvm.mk new file mode 100644 index 0000000000..99957b9fdb --- /dev/null +++ b/mk/flavours/bench-llvm.mk @@ -0,0 +1,10 @@ +SRC_HC_OPTS = -O -H64m +GhcStage1HcOpts = -O -fllvm +GhcStage2HcOpts = -O0 -fllvm +GhcLibHcOpts = -O2 -fllvm +BUILD_PROF_LIBS = NO +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO diff --git a/mk/flavours/bench.mk b/mk/flavours/bench.mk new file mode 100644 index 0000000000..ea4b18e3d5 --- /dev/null +++ b/mk/flavours/bench.mk @@ -0,0 +1,10 @@ +SRC_HC_OPTS = -O -H64m +GhcStage1HcOpts = -O +GhcStage2HcOpts = -O0 +GhcLibHcOpts = -O2 +BUILD_PROF_LIBS = NO +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO diff --git a/mk/flavours/devel1.mk b/mk/flavours/devel1.mk new file mode 100644 index 0000000000..b06b64f72d --- /dev/null +++ b/mk/flavours/devel1.mk @@ -0,0 +1,12 @@ +SRC_HC_OPTS = -O -H64m +GhcStage1HcOpts = -O0 -DDEBUG +GhcStage2HcOpts = -O +GhcLibHcOpts = -O -dcore-lint +BUILD_PROF_LIBS = NO +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO + +LAX_DEPENDENCIES = YES diff --git a/mk/flavours/devel2.mk b/mk/flavours/devel2.mk new file mode 100644 index 0000000000..156522687d --- /dev/null +++ b/mk/flavours/devel2.mk @@ -0,0 +1,12 @@ +SRC_HC_OPTS = -O -H64m +GhcStage1HcOpts = -O +GhcStage2HcOpts = -O0 -DDEBUG +GhcLibHcOpts = -O -dcore-lint +BUILD_PROF_LIBS = NO +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO + +LAX_DEPENDENCIES = YES diff --git a/mk/flavours/perf-cross.mk b/mk/flavours/perf-cross.mk new file mode 100644 index 0000000000..3fcc199098 --- /dev/null +++ b/mk/flavours/perf-cross.mk @@ -0,0 +1,15 @@ +SRC_HC_OPTS = -O -H64m -fllvm +GhcStage1HcOpts = -O2 +GhcStage2HcOpts = -O2 -fllvm +GhcLibHcOpts = -O2 +BUILD_PROF_LIBS = YES +#SplitObjs +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO + +INTEGER_LIBRARY = integer-simple +Stage1Only = YES +DYNAMIC_BY_DEFAULT = NO +DYNAMIC_GHC_PROGRAMS = NO diff --git a/mk/flavours/perf-llvm.mk b/mk/flavours/perf-llvm.mk new file mode 100644 index 0000000000..581037f7f8 --- /dev/null +++ b/mk/flavours/perf-llvm.mk @@ -0,0 +1,10 @@ +SRC_HC_OPTS = -O -H64m -fllvm +GhcStage1HcOpts = -O -fllvm +GhcStage2HcOpts = -O2 -fllvm +GhcLibHcOpts = -O2 +BUILD_PROF_LIBS = YES +#SplitObjs +#HADDOCK_DOCS +#BUILD_DOCBOOK_HTML +#BUILD_DOCBOOK_PS +#BUILD_DOCBOOK_PDF diff --git a/mk/flavours/perf.mk b/mk/flavours/perf.mk new file mode 100644 index 0000000000..d68f2f9102 --- /dev/null +++ b/mk/flavours/perf.mk @@ -0,0 +1,10 @@ +SRC_HC_OPTS = -O -H64m +GhcStage1HcOpts = -O +GhcStage2HcOpts = -O2 +GhcLibHcOpts = -O2 +BUILD_PROF_LIBS = YES +#SplitObjs +#HADDOCK_DOCS +#BUILD_DOCBOOK_HTML +#BUILD_DOCBOOK_PS +#BUILD_DOCBOOK_PDF diff --git a/mk/flavours/prof.mk b/mk/flavours/prof.mk new file mode 100644 index 0000000000..553cb120f7 --- /dev/null +++ b/mk/flavours/prof.mk @@ -0,0 +1,12 @@ +SRC_HC_OPTS = -O0 -H64m +GhcStage1HcOpts = -O +GhcStage2HcOpts = -O +GhcLibHcOpts = -O +BUILD_PROF_LIBS = YES +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO + +GhcProfiled = YES diff --git a/mk/flavours/quick-cross.mk b/mk/flavours/quick-cross.mk new file mode 100644 index 0000000000..9b6fc27e67 --- /dev/null +++ b/mk/flavours/quick-cross.mk @@ -0,0 +1,15 @@ +SRC_HC_OPTS = -O0 -H64m +GhcStage1HcOpts = -O +GhcStage2HcOpts = -O0 -fllvm +GhcLibHcOpts = -O -fllvm +BUILD_PROF_LIBS = NO +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO + +INTEGER_LIBRARY = integer-simple +Stage1Only = YES +DYNAMIC_BY_DEFAULT = NO +DYNAMIC_GHC_PROGRAMS = NO diff --git a/mk/flavours/quick-llvm.mk b/mk/flavours/quick-llvm.mk new file mode 100644 index 0000000000..90ccb7ac28 --- /dev/null +++ b/mk/flavours/quick-llvm.mk @@ -0,0 +1,10 @@ +SRC_HC_OPTS = -O0 -H64m -fllvm +GhcStage1HcOpts = -O -fllvm +GhcStage2HcOpts = -O0 -fllvm +GhcLibHcOpts = -O -fllvm +BUILD_PROF_LIBS = NO +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO diff --git a/mk/flavours/quick.mk b/mk/flavours/quick.mk new file mode 100644 index 0000000000..eef6dc5c1a --- /dev/null +++ b/mk/flavours/quick.mk @@ -0,0 +1,10 @@ +SRC_HC_OPTS = -O0 -H64m +GhcStage1HcOpts = -O +GhcStage2HcOpts = -O0 +GhcLibHcOpts = -O +BUILD_PROF_LIBS = NO +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO diff --git a/mk/flavours/quickest.mk b/mk/flavours/quickest.mk new file mode 100644 index 0000000000..71e7c5e94c --- /dev/null +++ b/mk/flavours/quickest.mk @@ -0,0 +1,10 @@ +SRC_HC_OPTS = -O0 -H64m +GhcStage1HcOpts = -O +GhcStage2HcOpts = -O0 +GhcLibHcOpts = -O0 +BUILD_PROF_LIBS = NO +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO diff --git a/mk/flavours/validate.mk b/mk/flavours/validate.mk new file mode 100644 index 0000000000..6c92914525 --- /dev/null +++ b/mk/flavours/validate.mk @@ -0,0 +1,44 @@ +SRC_HC_OPTS = -O0 -H64m +GhcStage1HcOpts = -O +GhcStage2HcOpts = -O -dcore-lint +GhcLibHcOpts = -O -dcore-lint +BUILD_PROF_LIBS = NO +SplitObjs = NO +HADDOCK_DOCS = YES +BUILD_DOCBOOK_HTML = YES +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO + +ifeq "$(ValidateHpc)" "YES" +GhcStage2HcOpts += -fhpc -hpcdir $(TOP)/testsuite/hpc_output/ +endif +ifeq "$(ValidateSpeed)" "SLOW" +GhcStage2HcOpts += -DDEBUG +endif + +InstallExtraPackages = YES + +WERROR = -Werror + +# DO NOT EDIT THIS FILE! Instead, create a file mk/validate.mk, whose settings +# will override these. See also mk/custom-settings.mk. +# +# +# (Note: these comments are at the end of this file, to make it easier to diff +# this file with other build flavours.) +# +# +# Note [validate build settings] +# +# Using GhcStage2HcOpts=-O (rather than -O0) here bringes my validate down from +# 22mins to 16 mins. Compiling stage2 takes longer, but we gain a faster +# haddock, faster running of the tests, and faster building of the utils to be +# installed +# +# dblatex with miktex under msys/mingw can't build the PS and PDF docs, +# and just building the HTML docs is sufficient to check that the +# markup is correct, so we turn off PS and PDF doc building when +# validating. +# +# We set InstallExtraPackages=YES, because we want to install the "extra" +# packages, so that we can test them. diff --git a/mk/validate-settings.mk b/mk/validate-settings.mk deleted file mode 100644 index c71158e0a9..0000000000 --- a/mk/validate-settings.mk +++ /dev/null @@ -1,38 +0,0 @@ -# DO NOT EDIT! Instead, create a file mk/validate.mk, whose settings will -# override these. See also mk/custom-settings.mk. - -WERROR = -Werror -HADDOCK_DOCS = YES - -SRC_HC_OPTS += -H64m -O0 - -GhcStage1HcOpts += -O -GhcStage2HcOpts += -O -dcore-lint -# Using -O (rather than -O0) here bringes my validate down from 22mins to 16 mins. -# Compiling stage2 takes longer, but we gain a faster haddock, faster -# running of the tests, and faster building of the utils to be installed - -GhcLibHcOpts += -O -dcore-lint - -BUILD_PROF_LIBS = NO - -SplitObjs = NO -NoFibWays = -STRIP_CMD = : - -# We want to install DPH when validating, so that we can test it -InstallExtraPackages = YES - -# dblatex with miktex under msys/mingw can't build the PS and PDF docs, -# and just building the HTML docs is sufficient to check that the -# markup is correct, so we turn off PS and PDF doc building when -# validating. -BUILD_DOCBOOK_PS = NO -BUILD_DOCBOOK_PDF = NO - -ifeq "$(ValidateHpc)" "YES" -GhcStage2HcOpts += -fhpc -hpcdir $(TOP)/testsuite/hpc_output/ -endif -ifeq "$(ValidateSpeed)" "SLOW" -GhcStage2HcOpts += -DDEBUG -endif |