summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Pickering <matthewtpickering@gmail.com>2019-05-29 23:09:58 +0100
committerMatthew Pickering <matthewtpickering@gmail.com>2019-05-29 23:10:32 +0100
commit73cfc039d755260c247b506f1896dd8179ce7b20 (patch)
treeee97365eedd27d13efe63d74c24170c066a16409
parent2d2aa2031b9abc3bff7b5585ab4201948c8bba7d (diff)
downloadhaskell-73cfc039d755260c247b506f1896dd8179ce7b20.tar.gz
WIP: tracing ghc hadrianwip/hadrian-eventlog
See #16710
-rw-r--r--hadrian/src/Flavour.hs4
-rw-r--r--hadrian/src/Settings/Builders/Ghc.hs3
-rw-r--r--hadrian/src/Settings/Default.hs3
-rw-r--r--hadrian/src/Settings/Flavours/Profiled.hs3
4 files changed, 10 insertions, 3 deletions
diff --git a/hadrian/src/Flavour.hs b/hadrian/src/Flavour.hs
index 230272ec62..14d117baf5 100644
--- a/hadrian/src/Flavour.hs
+++ b/hadrian/src/Flavour.hs
@@ -38,7 +38,9 @@ data Flavour = Flavour {
ghcDebugged :: Bool,
-- | Whether to build docs and which ones
-- (haddocks, user manual, haddock manual)
- ghcDocs :: Action DocTargets }
+ ghcDocs :: Action DocTargets,
+ ghcTraced :: Bool }
+
-- | A set of documentation targets
type DocTargets = Set DocTarget
diff --git a/hadrian/src/Settings/Builders/Ghc.hs b/hadrian/src/Settings/Builders/Ghc.hs
index 0f5ed94b9b..3500a89f36 100644
--- a/hadrian/src/Settings/Builders/Ghc.hs
+++ b/hadrian/src/Settings/Builders/Ghc.hs
@@ -71,6 +71,7 @@ ghcLinkArgs = builder (Ghc LinkHs) ? do
buildPath <- getBuildPath
libffiName' <- libffiName
debugged <- ghcDebugged <$> expr flavour
+ traced <- ghcTraced <$> expr flavour
let
dynamic = Dynamic `wayUnit` way
@@ -125,6 +126,8 @@ ghcLinkArgs = builder (Ghc LinkHs) ? do
, darwin ? pure (concat [ ["-framework", fmwk] | fmwk <- fmwks ])
, debugged ? packageOneOf [ghc, iservProxy, iserv, remoteIserv] ?
arg "-debug"
+ , traced ?
+ arg "-eventlog"
]
diff --git a/hadrian/src/Settings/Default.hs b/hadrian/src/Settings/Default.hs
index f60a11e024..7b2a34918d 100644
--- a/hadrian/src/Settings/Default.hs
+++ b/hadrian/src/Settings/Default.hs
@@ -215,7 +215,8 @@ defaultFlavour = Flavour
, ghciWithDebugger = False
, ghcProfiled = False
, ghcDebugged = False
- , ghcDocs = cmdDocsArgs }
+ , ghcDocs = cmdDocsArgs
+ , ghcTraced = False }
-- | Default logic for determining whether to build
-- dynamic GHC programs.
diff --git a/hadrian/src/Settings/Flavours/Profiled.hs b/hadrian/src/Settings/Flavours/Profiled.hs
index 7f222bf33c..31efe2e7fe 100644
--- a/hadrian/src/Settings/Flavours/Profiled.hs
+++ b/hadrian/src/Settings/Flavours/Profiled.hs
@@ -11,7 +11,8 @@ profiledFlavour = defaultFlavour
{ name = "prof"
, args = defaultBuilderArgs <> profiledArgs <> defaultPackageArgs
, ghcProfiled = True
- , dynamicGhcPrograms = pure False }
+ , dynamicGhcPrograms = pure False
+ }
profiledArgs :: Args
profiledArgs = sourceArgs SourceArgs