X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=mk%2Fbuild.mk.sample;h=a31b57618b9258499f10b31b967615de0ebc1962;hp=620b4ebffef4e50a21a038c3189255999d75fdae;hb=e5c3b478b3cd1707cf122833822f44b2ac09b8e9;hpb=3e280fcada5656e100ba6bb6535bf240acf33f13 diff --git a/mk/build.mk.sample b/mk/build.mk.sample index 620b4eb..a31b576 100644 --- a/mk/build.mk.sample +++ b/mk/build.mk.sample @@ -7,14 +7,19 @@ # Uncomment one of these to select a build profile below: -# Full build with max optimisation (slow build) +# Full build with max optimisation and everything enabled (very slow build) #BuildFlavour = perf -# Fastest build (libs unoptimised): +# Fast build with optimised libraries, no profiling (RECOMMENDED): +#BuildFlavour = quick + +# 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 -# Fast build with optimised libraries: -#BuildFlavour = quick +# Profile the stage2 compiler: +#BuildFlavour = prof # A development build, working on the stage 1 compiler: #BuildFlavour = devel1 @@ -22,8 +27,7 @@ # 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 +GhcLibWays = v # -------- 1. A Performance/Distribution build-------------------------------- @@ -35,8 +39,12 @@ SRC_HC_OPTS = -O -H64m GhcStage1HcOpts = -O -fasm GhcStage2HcOpts = -O2 -fasm GhcHcOpts = -Rghc-timing -GhcLibHcOpts = -O2 -fgenerics -GhcLibWays = p +GhcLibHcOpts = -O2 +GhcLibWays += p + +ifeq "$(PlatformSupportsSharedLibs)" "YES" +GhcLibWays += dyn +endif endif @@ -44,12 +52,15 @@ endif ifeq "$(BuildFlavour)" "quickest" -SRC_HC_OPTS = -H64m -O0 -fasm -GhcStage1HcOpts = -O -fasm -GhcStage2HcOpts = -O0 -fasm -GhcLibHcOpts = -O0 -fasm -GhcLibWays = -SplitObjs = NO +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 @@ -57,25 +68,52 @@ endif ifeq "$(BuildFlavour)" "quick" -SRC_HC_OPTS = -H64m -O0 -fasm -GhcStage1HcOpts = -O -fasm -GhcStage2HcOpts = -O0 -fasm -GhcLibHcOpts = -O -fasm -GhcLibWays = -SplitObjs = NO +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 + +GhcLibWays += p +GhcProfiled = YES + +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO endif + # -------- A Development build (stage 1) ------------------------------------- ifeq "$(BuildFlavour)" "devel1" -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 +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 @@ -83,27 +121,21 @@ endif 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 +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 -# profiled RTS -#GhcRtsCcOpts = -pg -g - -# Optimised/profiled RTS -#GhcRtsCcOpts = -O2 -pg - -#GhcRtsWithFrontPanel = YES -#SRC_HC_OPTS += `gtk-config --libs` - # NoFib settings NoFibWays = -STRIP=: +STRIP_CMD = :