diff options
-rw-r--r-- | mk/build.mk.sample | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/mk/build.mk.sample b/mk/build.mk.sample index cb049ba494..a16eb0fa36 100644 --- a/mk/build.mk.sample +++ b/mk/build.mk.sample @@ -40,6 +40,17 @@ # A development build, working on the stage 2 compiler: #BuildFlavour = devel2 +# 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 + +# As above but build GHC using the LLVM backend +#BuildFlavour = bench-llvm + +# Bench build configured for a cross-compiler +#BuildFlavour = bench-cross + # -------- Miscellaneous variables -------------------------------------------- # Set to V = 0 to get prettier build output. @@ -235,6 +246,59 @@ LAX_DEPENDENCIES = YES endif +# -------- A bench build with optimised libs ----------------------------------- + +ifeq "$(BuildFlavour)" "bench" + +SRC_HC_OPTS = -O -H64m +GhcStage1HcOpts = -O -fasm +GhcStage2HcOpts = -O0 -fasm +GhcLibHcOpts = -O2 -fasm +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO + +endif + +# ---------------- Perf build using LLVM -------------------------------------- + +ifeq "$(BuildFlavour)" "bench-llvm" + +SRC_HC_OPTS = -O -H64m +GhcStage1HcOpts = -O -fllvm +GhcStage2HcOpts = -O0 -fllvm +GhcLibHcOpts = -O2 -fllvm +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO + +endif + +# ------- A Perf build configured for cross-compilation ---------------------- + +ifeq "$(BuildFlavour)" "bench-cross" + +SRC_HC_OPTS = -O -H64m +GhcStage1HcOpts = -O -fasm +GhcStage2HcOpts = -O0 -fasm +GhcLibHcOpts = -O2 -fasm +SplitObjs = NO +INTEGER_LIBRARY = integer-simple +Stage1Only = YES +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO + +DYNAMIC_BY_DEFAULT = NO +DYNAMIC_GHC_PROGRAMS = NO + +endif + # ----------------------------------------------------------------------------- # Other settings that might be useful |