X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=mk%2Fbuild.mk.sample;h=34d260a712a98437f3f2264342edcb604880b55e;hp=3f55836d0da4770935971e29418772c414433853;hb=8a2809c29de9f23eba7ca682b48390033a9d40f6;hpb=1dc6b07eb93f4ff2f0e9f89dbdfa0ec4e051291f diff --git a/mk/build.mk.sample b/mk/build.mk.sample index 3f55836..34d260a 100644 --- a/mk/build.mk.sample +++ b/mk/build.mk.sample @@ -5,60 +5,101 @@ # overall build type, and then tweak the options in the relevant section # below. -BuildFlavour = devel +# Uncomment one of these to select a build profile below: + +# Full build with max optimisation (slow build) #BuildFlavour = perf -# -------- Misc. settings ----------------------------------------------------- +# Fastest build (libs unoptimised): +#BuildFlavour = quickest + +# Fast build with optimised libraries: +#BuildFlavour = quick + +# A development build, working on the stage 1 compiler: +#BuildFlavour = devel1 -# Not necessary to set this, but useful if you have other projects checked-out -# in your source tree. -ProjectsToBuild = glafp-utils ghc libraries hslibs +# A development build, working on the stage 2 compiler: +#BuildFlavour = devel2 # Which warnings we like to use MyWarningOpts = -W -fno-warn-unused-matches -fwarn-unused-imports -# -------- 1. A Development build -------------------------------------------- +# -------- 1. A Performance/Distribution build-------------------------------- -ifeq "$(BuildFlavour)" "devel" +ifeq "$(BuildFlavour)" "perf" -GhcCompilerWays = +SRC_HC_OPTS = -H32m -O2 +GhcHcOpts = -Rghc-timing +GhcLibHcOpts = +GhcLibWays = p -FptoolsHcOpts = -H32m $(MyWarningOpts) -GhcHcOpts = -Rghc-timing -DDEBUG -GhcLibHcOpts = -dcore-lint -O -H32m $(MyWarningOpts) -keep-hc-files -GhcLibWays = +endif -# Debugging RTS -GhcRtsHcOpts = -optc-DDEBUG -GhcRtsCcOpts = -g -SRC_HC_OPTS += -lbfd -liberty +# -------- A Fast build ------------------------------------------------------ -# profiled RTS -#GhcRtsCcOpts = -pg -g +ifeq "$(BuildFlavour)" "quickest" -# Optimised/profiled RTS -#GhcRtsCcOpts = -O2 -pg +SRC_HC_OPTS = -H64m -Onot -fasm +GhcStage1HcOpts = -O -fasm +GhcStage2HcOpts = -Onot -fasm +GhcLibHcOpts = -Onot -fasm +GhcLibWays = +SplitObjs = NO -#GhcRtsWithFrontPanel = YES -#SRC_HC_OPTS += `gtk-config --libs` +endif -SplitObjs = NO +# -------- A Fast build with optimised libs ---------------------------------- -NoFibWays = -SRC_RUNTEST_OPTS += +RTS -H10m -RTS -STRIP=: +ifeq "$(BuildFlavour)" "quick" + +SRC_HC_OPTS = -H64m -Onot -fasm +GhcStage1HcOpts = -O -fasm +GhcStage2HcOpts = -Onot -fasm +GhcLibHcOpts = -O -fasm +GhcLibWays = +SplitObjs = NO endif -# -------- 1. A Performance/Distribution build-------------------------------- +# -------- A Development build (stage 1) ------------------------------------- -ifeq "$(BuildFlavour)" "perf" +ifeq "$(BuildFlavour)" "devel1" -FptoolsHcOpts = -H32m -O $(MyWarningOpts) -GhcHcOpts = -Rghc-timing -GhcLibHcOpts = -H32m -O $(MyWarningOpts) +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 -GhcLibWays = p +endif + +# -------- A Development build (stage 2) ------------------------------------- + +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 -#GhcRtsCcOpts = -O2 -fomit-frame-pointer -mpreferred-stack-boundary=2 -march=pentiumpro endif + +# ----------------------------------------------------------------------------- +# Other settings that might be useful + +# profiled RTS +#GhcRtsCcOpts = -pg -g + +# Optimised/profiled RTS +#GhcRtsCcOpts = -O2 -pg + +#GhcRtsWithFrontPanel = YES +#SRC_HC_OPTS += `gtk-config --libs` + +# NoFib settings +NoFibWays = +STRIP=: