GHC new build system megapatch
[ghc-hetmet.git] / mk / build.mk.sample
index 34d260a..7368a22 100644 (file)
 # Which warnings we like to use
 MyWarningOpts   = -W -fno-warn-unused-matches -fwarn-unused-imports
 
+GhcLibWays = v
+
 # -------- 1. A Performance/Distribution build--------------------------------
 
 ifeq "$(BuildFlavour)" "perf"
 
-SRC_HC_OPTS   = -H32m -O2
-GhcHcOpts     = -Rghc-timing
-GhcLibHcOpts  =
-GhcLibWays    = p
+# perf matches the default settings, repeated here for comparison:
+
+SRC_HC_OPTS     = -O -H64m
+GhcStage1HcOpts = -O -fasm
+GhcStage2HcOpts = -O2 -fasm
+GhcHcOpts       = -Rghc-timing
+GhcLibHcOpts    = -O2 -XGenerics
+GhcLibWays     += p
 
 endif
 
@@ -40,11 +46,10 @@ endif
 
 ifeq "$(BuildFlavour)" "quickest"
 
-SRC_HC_OPTS     = -H64m -Onot -fasm
+SRC_HC_OPTS     = -H64m -O0 -fasm
 GhcStage1HcOpts = -O -fasm
-GhcStage2HcOpts = -Onot -fasm
-GhcLibHcOpts    = -Onot -fasm
-GhcLibWays      =
+GhcStage2HcOpts = -O0 -fasm
+GhcLibHcOpts    = -O0 -fasm
 SplitObjs       = NO
 
 endif
@@ -53,11 +58,10 @@ endif
 
 ifeq "$(BuildFlavour)" "quick"
 
-SRC_HC_OPTS     = -H64m -Onot -fasm
+SRC_HC_OPTS     = -H64m -O0 -fasm
 GhcStage1HcOpts = -O -fasm
-GhcStage2HcOpts = -Onot -fasm
+GhcStage2HcOpts = -O0 -fasm
 GhcLibHcOpts    = -O -fasm
-GhcLibWays      =
 SplitObjs       = NO
 
 endif
@@ -68,7 +72,6 @@ ifeq "$(BuildFlavour)" "devel1"
 
 SRC_HC_OPTS     = -H64m -O -fasm $(MyWarningOpts)
 GhcLibHcOpts    = -O -dcore-lint $(MyWarningOpts)
-GhcLibWays      =
 GhcStage1HcOpts = -Rghc-timing -O0 -DDEBUG
 GhcStage2HcOpts = -Rghc-timing -O -fasm
 SplitObjs = NO
@@ -81,7 +84,6 @@ ifeq "$(BuildFlavour)" "devel2"
 
 SRC_HC_OPTS     = -H64m -O -fasm $(MyWarningOpts)
 GhcLibHcOpts    = -O -dcore-lint $(MyWarningOpts)
-GhcLibWays      =
 GhcStage1HcOpts = -Rghc-timing -O -fasm
 GhcStage2HcOpts = -Rghc-timing -O0 -DDEBUG
 SplitObjs = NO