Build system: put each BuildFlavour in a separate file (#10223)
authorThomas Miedema <thomasmiedema@gmail.com>
Mon, 31 Aug 2015 12:39:47 +0000 (14:39 +0200)
committerThomas Miedema <thomasmiedema@gmail.com>
Mon, 7 Sep 2015 09:56:14 +0000 (11:56 +0200)
This allows easier diffing of different BuildFlavours, including
`mk/flavours/validate.mk`.

Reviewed By: bgamari, austin

Differential Revision: https://phabricator.haskell.org/D1050

17 files changed:
mk/build.mk.sample
mk/custom-settings.mk
mk/flavours/bench-cross.mk [new file with mode: 0644]
mk/flavours/bench-llvm.mk [new file with mode: 0644]
mk/flavours/bench.mk [new file with mode: 0644]
mk/flavours/devel1.mk [new file with mode: 0644]
mk/flavours/devel2.mk [new file with mode: 0644]
mk/flavours/perf-cross.mk [new file with mode: 0644]
mk/flavours/perf-llvm.mk [new file with mode: 0644]
mk/flavours/perf.mk [new file with mode: 0644]
mk/flavours/prof.mk [new file with mode: 0644]
mk/flavours/quick-cross.mk [new file with mode: 0644]
mk/flavours/quick-llvm.mk [new file with mode: 0644]
mk/flavours/quick.mk [new file with mode: 0644]
mk/flavours/quickest.mk [new file with mode: 0644]
mk/flavours/validate.mk [new file with mode: 0644]
mk/validate-settings.mk [deleted file]

index 19a59ae..4f83ebb 100644 (file)
@@ -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:
 # 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 = :
-
index f59a208..2b4b127 100644 (file)
@@ -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 (file)
index 0000000..9c3b68c
--- /dev/null
@@ -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 (file)
index 0000000..99957b9
--- /dev/null
@@ -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 (file)
index 0000000..ea4b18e
--- /dev/null
@@ -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 (file)
index 0000000..b06b64f
--- /dev/null
@@ -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 (file)
index 0000000..1565226
--- /dev/null
@@ -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 (file)
index 0000000..3fcc199
--- /dev/null
@@ -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 (file)
index 0000000..581037f
--- /dev/null
@@ -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 (file)
index 0000000..d68f2f9
--- /dev/null
@@ -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 (file)
index 0000000..553cb12
--- /dev/null
@@ -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 (file)
index 0000000..9b6fc27
--- /dev/null
@@ -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 (file)
index 0000000..90ccb7a
--- /dev/null
@@ -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 (file)
index 0000000..eef6dc5
--- /dev/null
@@ -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 (file)
index 0000000..71e7c5e
--- /dev/null
@@ -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 (file)
index 0000000..6c92914
--- /dev/null
@@ -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 (file)
index c71158e..0000000
+++ /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