Bump haddock submodule
[ghc.git] / mk / build.mk.sample
index 3f55836..958cea7 100644 (file)
 # 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.
 
-BuildFlavour = devel
+# -------- Build profiles -----------------------------------------------------
+# Uncomment one of these to select a build profile below:
+
+# Full build with max optimisation and everything enabled (very slow build)
 #BuildFlavour = perf
 
-# -------- Misc. settings -----------------------------------------------------
+# As above but build GHC using the LLVM backend
+#BuildFlavour = perf-llvm
+
+# Perf build configured for a cross-compiler
+#BuildFlavour = perf-cross
 
-# Not necessary to set this, but useful if you have other projects checked-out
-# in your source tree.
-ProjectsToBuild = glafp-utils ghc libraries hslibs
+# Fast build with optimised libraries, no profiling (RECOMMENDED):
+#BuildFlavour = quick
 
-# Which warnings we like to use
-MyWarningOpts   = -W -fno-warn-unused-matches -fwarn-unused-imports
+# Fast build with optimised libraries, no profiling, with LLVM:
+#BuildFlavour = quick-llvm
 
-# -------- 1. A Development build --------------------------------------------
+# Fast build configured for a cross compiler
+#BuildFlavour  = quick-cross
 
-ifeq "$(BuildFlavour)" "devel"
+# Even faster build.  NOT RECOMMENDED: the libraries will be
+# completely unoptimised, so any code built with this compiler
+# (including stage2) will run very slowly, and many GHC tests
+# will fail with this profile (see Trac #12141):
+#BuildFlavour = quickest
 
-GhcCompilerWays =
+# Profile the stage2 compiler:
+#BuildFlavour = prof
 
-FptoolsHcOpts = -H32m $(MyWarningOpts)
-GhcHcOpts     = -Rghc-timing -DDEBUG
-GhcLibHcOpts  = -dcore-lint -O -H32m  $(MyWarningOpts) -keep-hc-files 
-GhcLibWays    =
+# Profile the stage2 compiler (LLVM backend):
+#BuildFlavour = prof-llvm
 
-# Debugging RTS
-GhcRtsHcOpts = -optc-DDEBUG
-GhcRtsCcOpts = -g
-SRC_HC_OPTS  += -lbfd -liberty
+# A development build, working on the stage 1 compiler:
+#BuildFlavour = devel1
 
-# profiled RTS
-#GhcRtsCcOpts =  -pg -g
+# A development build, working on the stage 2 compiler:
+#BuildFlavour = devel2
 
-# Optimised/profiled RTS
-#GhcRtsCcOpts = -O2 -pg
+# A build with max optimisation that still builds the stage2 compiler
+# quickly. Compiled code will be the same as with "perf". Programs
+# will compile more slowly.
+#BuildFlavour = bench
 
-#GhcRtsWithFrontPanel = YES
-#SRC_HC_OPTS += `gtk-config --libs`
+# As above but build GHC using the LLVM backend
+#BuildFlavour = bench-llvm
 
-SplitObjs = NO
+# Bench build configured for a cross-compiler
+#BuildFlavour = bench-cross
 
-NoFibWays =
-SRC_RUNTEST_OPTS += +RTS -H10m -RTS
-STRIP=:
+# Use the same settings as validate.
+#BuildFlavour = validate
 
+ifneq "$(BuildFlavour)" ""
+include mk/flavours/$(BuildFlavour).mk
 endif
 
-# -------- 1. A Performance/Distribution build--------------------------------
+# -------- Miscellaneous variables --------------------------------------------
 
-ifeq "$(BuildFlavour)" "perf"
+# Set to V = 0 to get prettier build output.
+# Please use V=1 (the default) when reporting GHC bugs.
+#V=0
 
-FptoolsHcOpts = -H32m -O $(MyWarningOpts)
-GhcHcOpts     = -Rghc-timing
-GhcLibHcOpts  = -H32m -O $(MyWarningOpts)
+# Should all enabled warnings (see mk/warnings.mk) be turned into errors while
+# building stage 2?
+#WERROR=-Werror
 
-GhcLibWays    = p
+# After stage 1 and the libraries have been built, you can uncomment this line:
+#stage=2
 
-#GhcRtsCcOpts = -O2 -fomit-frame-pointer -mpreferred-stack-boundary=2 -march=pentiumpro
-endif
+# Then stage 1 will not be touched by the build system, until
+# you comment the line again.  This is a useful trick for when you're
+# working on stage 2 and want to freeze stage 1 and the libraries for
+# a while.
+
+# Enable these if you would like DWARF debugging symbols for your libraries.
+# This is necessary, for instance, to get DWARF stack traces out of programs
+# built by the produced compiler. You must also pass --enable-dwarf-unwind to
+# `configure` to enable the runtime system's builtin unwinding support.
+#GhcLibHcOpts += -g3
+#GhcRtsHcOpts += -g3
+
+# Build the "extra" packages (see ./packages). This enables more tests. See:
+# https://ghc.haskell.org/trac/ghc/wiki/Building/RunningTests/Running#AdditionalPackages
+#BUILD_EXTRA_PKGS=YES
+
+# Uncomment the following line to enable building DPH
+#BUILD_DPH=YES
+
+# Uncomment the following to force `integer-gmp` to use the in-tree GMP 6.1.2
+# (other sometimes useful configure-options: `--with-gmp-{includes,libraries}`)
+#libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-intree-gmp
+
+# Enable pretty hyperlinked sources
+#HADDOCK_DOCS = YES
+#EXTRA_HADDOCK_OPTS += --quickjump --hyperlinked-source
+
+# Don't strip debug and other unneeded symbols from libraries and executables.
+STRIP_CMD = :