From: Simon Marlow Date: Wed, 1 Jul 2009 11:42:11 +0000 (+0000) Subject: make GhcProfiled work, and add a "prof" flavour to build.mk X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=76c520c095eb2b9d75fb66050b91097c787f5279 make GhcProfiled work, and add a "prof" flavour to build.mk Building a profiled GHC is as simple as adding GhcLibWays += p GhcProfiled = YES to your build.mk and saying 'make'. Then you have a profiled inplace/bin/ghc-stage2. --- diff --git a/ghc/ghc.mk b/ghc/ghc.mk index 1bda27b..a17a47e 100644 --- a/ghc/ghc.mk +++ b/ghc/ghc.mk @@ -33,8 +33,9 @@ ghc_stage2_HC_OPTS += -threaded ghc_stage3_HC_OPTS += -threaded endif -# XXX ToDp -# ifeq "$(GhcProfiled)" "YES" +ifeq "$(GhcProfiled)" "YES" +ghc_stage2_HC_OPTS += -prof +endif ghc_stage1_MODULES = Main diff --git a/mk/build.mk.sample b/mk/build.mk.sample index c49fd03..5b61d16 100644 --- a/mk/build.mk.sample +++ b/mk/build.mk.sample @@ -16,6 +16,9 @@ # Fast build with optimised libraries: #BuildFlavour = quick +# Profile the stage2 compiler: +#BuildFlavour = prof + # A development build, working on the stage 1 compiler: #BuildFlavour = devel1 @@ -71,6 +74,27 @@ 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"