X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=mk%2Fbuild.mk.sample;h=a31b57618b9258499f10b31b967615de0ebc1962;hp=b0b66d34783f56544fef2bbb3c72ef956a831f0b;hb=e5c3b478b3cd1707cf122833822f44b2ac09b8e9;hpb=3321ef43e1f5792ff97f69c665a2703450c6081d diff --git a/mk/build.mk.sample b/mk/build.mk.sample index b0b66d3..a31b576 100644 --- a/mk/build.mk.sample +++ b/mk/build.mk.sample @@ -7,55 +7,135 @@ # Uncomment one of these to select a build profile below: -#BuildFlavour = devel +# Full build with max optimisation and everything enabled (very slow build) #BuildFlavour = perf -# -------- Misc. settings ----------------------------------------------------- +# Fast build with optimised libraries, no profiling (RECOMMENDED): +#BuildFlavour = quick -# Not necessary to set this, but useful if you have other projects checked-out -# in your source tree: -# ProjectsToBuild = glafp-utils ghc libraries hslibs +# Even faster build. NOT RECOMMENDED: the libraries will be +# completely unoptimised, so any code built with this compiler +# (including stage2) will run very slowly: +#BuildFlavour = quickest -# Which warnings we like to use -MyWarningOpts = -W -fno-warn-unused-matches -fwarn-unused-imports +# Profile the stage2 compiler: +#BuildFlavour = prof -# -------- 1. A Development build -------------------------------------------- +# A development build, working on the stage 1 compiler: +#BuildFlavour = devel1 -ifeq "$(BuildFlavour)" "devel" +# A development build, working on the stage 2 compiler: +#BuildFlavour = devel2 -GhcCompilerWays = +GhcLibWays = v -SRC_HC_OPTS = -H32m -O0 $(MyWarningOpts) -GhcHcOpts = -Rghc-timing -DDEBUG -GhcLibHcOpts = -O -dcore-lint $(MyWarningOpts) -keep-hc-files -GhcLibWays = +# -------- 1. A Performance/Distribution build-------------------------------- -# profiled RTS -#GhcRtsCcOpts = -pg -g +ifeq "$(BuildFlavour)" "perf" -# Optimised/profiled RTS -#GhcRtsCcOpts = -O2 -pg +# perf matches the default settings, repeated here for comparison: -#GhcRtsWithFrontPanel = YES -#SRC_HC_OPTS += `gtk-config --libs` +SRC_HC_OPTS = -O -H64m +GhcStage1HcOpts = -O -fasm +GhcStage2HcOpts = -O2 -fasm +GhcHcOpts = -Rghc-timing +GhcLibHcOpts = -O2 +GhcLibWays += p -SplitObjs = NO +ifeq "$(PlatformSupportsSharedLibs)" "YES" +GhcLibWays += dyn +endif -NoFibWays = -SRC_RUNTEST_OPTS += +RTS -H10m -RTS -STRIP=: +endif + +# -------- A Fast build ------------------------------------------------------ + +ifeq "$(BuildFlavour)" "quickest" + +SRC_HC_OPTS = -H64m -O0 -fasm +GhcStage1HcOpts = -O -fasm +GhcStage2HcOpts = -O0 -fasm +GhcLibHcOpts = -O0 -fasm +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO endif -# -------- 1. A Performance/Distribution build-------------------------------- +# -------- A Fast build with optimised libs ---------------------------------- -ifeq "$(BuildFlavour)" "perf" +ifeq "$(BuildFlavour)" "quick" + +SRC_HC_OPTS = -H64m -O0 -fasm +GhcStage1HcOpts = -O -fasm +GhcStage2HcOpts = -O0 -fasm +GhcLibHcOpts = -O -fasm +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO + +endif + +# -------- Profile the stage2 compiler --------------------------------------- + +ifeq "$(BuildFlavour)" "prof" + +SRC_HC_OPTS = -H64m -O0 -fasm +GhcStage1HcOpts = -O -fasm +GhcStage2HcOpts = -O -fasm +GhcLibHcOpts = -O -fasm -SRC_HC_OPTS = -H32m -O $(MyWarningOpts) -GhcHcOpts = -Rghc-timing -GhcLibHcOpts = +GhcLibWays += p +GhcProfiled = YES -GhcLibWays = p +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO -#GhcRtsCcOpts = -O2 -fomit-frame-pointer -mpreferred-stack-boundary=2 -march=pentiumpro endif + + +# -------- A Development build (stage 1) ------------------------------------- + +ifeq "$(BuildFlavour)" "devel1" + +SRC_HC_OPTS = -H64m -O -fasm +GhcLibHcOpts = -O -dcore-lint +GhcStage1HcOpts = -Rghc-timing -O0 -DDEBUG +GhcStage2HcOpts = -Rghc-timing -O -fasm +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO + +endif + +# -------- A Development build (stage 2) ------------------------------------- + +ifeq "$(BuildFlavour)" "devel2" + +SRC_HC_OPTS = -H64m -O -fasm +GhcLibHcOpts = -O -dcore-lint +GhcStage1HcOpts = -Rghc-timing -O -fasm +GhcStage2HcOpts = -Rghc-timing -O0 -DDEBUG +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO + +endif + +# ----------------------------------------------------------------------------- +# Other settings that might be useful + +# NoFib settings +NoFibWays = +STRIP_CMD = :