summaryrefslogtreecommitdiff
path: root/mk
diff options
context:
space:
mode:
authorThomas Miedema <thomasmiedema@gmail.com>2015-08-31 14:39:47 +0200
committerThomas Miedema <thomasmiedema@gmail.com>2015-09-07 11:56:14 +0200
commit2c24fd707f8650205bb574ffac5f376239af3723 (patch)
treea720bb340f29eff28cb91c8db9c6c79c6bd12d23 /mk
parent062feee4e7408ad5b9d882e5fed2c700e337db72 (diff)
downloadhaskell-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.sample266
-rw-r--r--mk/custom-settings.mk2
-rw-r--r--mk/flavours/bench-cross.mk15
-rw-r--r--mk/flavours/bench-llvm.mk10
-rw-r--r--mk/flavours/bench.mk10
-rw-r--r--mk/flavours/devel1.mk12
-rw-r--r--mk/flavours/devel2.mk12
-rw-r--r--mk/flavours/perf-cross.mk15
-rw-r--r--mk/flavours/perf-llvm.mk10
-rw-r--r--mk/flavours/perf.mk10
-rw-r--r--mk/flavours/prof.mk12
-rw-r--r--mk/flavours/quick-cross.mk15
-rw-r--r--mk/flavours/quick-llvm.mk10
-rw-r--r--mk/flavours/quick.mk10
-rw-r--r--mk/flavours/quickest.mk10
-rw-r--r--mk/flavours/validate.mk44
-rw-r--r--mk/validate-settings.mk38
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