summaryrefslogtreecommitdiff
path: root/mk
diff options
context:
space:
mode:
authorIavor S. Diatchki <iavor.diatchki@gmail.com>2012-01-24 19:40:06 -0800
committerIavor S. Diatchki <iavor.diatchki@gmail.com>2012-01-24 19:40:06 -0800
commit9c1575228173218a3cfa06ddbec3865b12d87713 (patch)
tree52777ff46612b9b0d5135f7d79deb72ae8c1cabe /mk
parentd0e3776f8e4d954160437db27465f1af3c2aea36 (diff)
parentf438722414782adfb9800b574ec8a1d7d5eafbbf (diff)
downloadhaskell-9c1575228173218a3cfa06ddbec3865b12d87713.tar.gz
Merge remote-tracking branch 'origin/master' into type-nats
Conflicts: compiler/typecheck/TcEvidence.lhs
Diffstat (limited to 'mk')
-rw-r--r--mk/build.mk.sample27
-rw-r--r--mk/validate-settings.mk3
2 files changed, 29 insertions, 1 deletions
diff --git a/mk/build.mk.sample b/mk/build.mk.sample
index 10ab7afc76..e979f3990e 100644
--- a/mk/build.mk.sample
+++ b/mk/build.mk.sample
@@ -10,6 +10,9 @@
# Full build with max optimisation and everything enabled (very slow build)
#BuildFlavour = perf
+# As above but build GHC using the LLVM backend
+#BuildFlavour = perf-llvm
+
# Fast build with optimised libraries, no profiling (RECOMMENDED):
#BuildFlavour = quick
@@ -51,6 +54,23 @@ endif
endif
+# ---------------- Perf build using LLVM -------------------------------------
+
+ifeq "$(BuildFlavour)" "perf-llvm"
+
+SRC_HC_OPTS = -O -H64m -fllvm
+GhcStage1HcOpts = -O -fllvm
+GhcStage2HcOpts = -O2 -fllvm
+GhcHcOpts = -Rghc-timing
+GhcLibHcOpts = -O2
+GhcLibWays += p
+
+ifeq "$(PlatformSupportsSharedLibs)" "YES"
+GhcLibWays += dyn
+endif
+
+endif
+
# -------- A Fast build ------------------------------------------------------
ifeq "$(BuildFlavour)" "quickest"
@@ -151,10 +171,14 @@ endif
ifeq "$(BuildFlavour)" "unreg"
+# Note that the LLVM backend works in unregisterised mode as well as
+# registerised mode. This often makes it a good choice for porting
+# GHC.
+
GhcUnregisterised = YES
GhcWithNativeCodeGen = NO
-SRC_HC_OPTS = -O -H64m
+SRC_HC_OPTS = -O -H64m # -fllvm
GhcStage1HcOpts = -O
GhcStage2HcOpts = -O2
GhcHcOpts = -Rghc-timing
@@ -173,3 +197,4 @@ endif
# NoFib settings
NoFibWays =
STRIP_CMD = :
+
diff --git a/mk/validate-settings.mk b/mk/validate-settings.mk
index 688cd02a80..303b6ec018 100644
--- a/mk/validate-settings.mk
+++ b/mk/validate-settings.mk
@@ -66,6 +66,9 @@ libraries/Cabal/Cabal_dist-install_EXTRA_HC_OPTS += -w
# Temporarily turn off incomplete-pattern warnings for containers
libraries/containers_dist-install_EXTRA_HC_OPTS += -fno-warn-incomplete-patterns
+# Temporarily turn off pointless-pragma warnings for containers
+libraries/containers_dist-install_EXTRA_HC_OPTS += -fno-warn-pointless-pragmas
+
# bytestring has identities at the moment
libraries/bytestring_dist-install_EXTRA_HC_OPTS += -fno-warn-identities