diff options
author | Matthew Pickering <matthewtpickering@gmail.com> | 2019-05-29 23:09:58 +0100 |
---|---|---|
committer | Matthew Pickering <matthewtpickering@gmail.com> | 2019-05-29 23:10:32 +0100 |
commit | 73cfc039d755260c247b506f1896dd8179ce7b20 (patch) | |
tree | ee97365eedd27d13efe63d74c24170c066a16409 | |
parent | 2d2aa2031b9abc3bff7b5585ab4201948c8bba7d (diff) | |
download | haskell-73cfc039d755260c247b506f1896dd8179ce7b20.tar.gz |
WIP: tracing ghc hadrianwip/hadrian-eventlog
See #16710
-rw-r--r-- | hadrian/src/Flavour.hs | 4 | ||||
-rw-r--r-- | hadrian/src/Settings/Builders/Ghc.hs | 3 | ||||
-rw-r--r-- | hadrian/src/Settings/Default.hs | 3 | ||||
-rw-r--r-- | hadrian/src/Settings/Flavours/Profiled.hs | 3 |
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 |