summaryrefslogtreecommitdiff
path: root/hadrian
diff options
context:
space:
mode:
authorsheaf <sam.derbyshire@gmail.com>2022-06-16 10:58:11 +0200
committerMarge Bot <ben+marge-bot@smart-cactus.org>2022-06-16 16:30:39 -0400
commit99ff3818ad016dc30a044043fff682660dc56dfa (patch)
tree25db6387427ef2a097b87c7b7b14ab42a48096cb /hadrian
parentecbf86853acd64ea1ee1756216233662a0bdb80e (diff)
downloadhaskell-99ff3818ad016dc30a044043fff682660dc56dfa.tar.gz
Hadrian: allow configuring Hsc2Hs
This patch adds the ability to pass options to Hsc2Hs as Hadrian key/value settings, in the same way as cabal configure options, using the syntax: *.*.hsc2hs.run.opts += ...
Diffstat (limited to 'hadrian')
-rw-r--r--hadrian/src/Flavour.hs5
-rwxr-xr-xhadrian/src/Settings.hs2
2 files changed, 5 insertions, 2 deletions
diff --git a/hadrian/src/Flavour.hs b/hadrian/src/Flavour.hs
index b74f72eb1a..84fefcae00 100644
--- a/hadrian/src/Flavour.hs
+++ b/hadrian/src/Flavour.hs
@@ -447,7 +447,8 @@ builderPredicate = builderSetting <&> (\(wstg, wpkg, builderMode) ->
BM_Ghc ghcMode -> wildcard (builder Ghc) (builder . Ghc) ghcMode
BM_Cc ccMode -> wildcard (builder Cc) (builder . Cc) ccMode
BM_CabalConfigure -> builder (Cabal Setup)
- BM_RunTest -> builder Testsuite
+ BM_RunTest -> builder Testsuite
+ BM_Hsc2HsRun -> builder Hsc2Hs
)
)
@@ -457,6 +458,7 @@ builderPredicate = builderSetting <&> (\(wstg, wpkg, builderMode) ->
data BuilderMode = BM_Ghc (Wildcard GhcMode)
| BM_Cc (Wildcard CcMode)
| BM_CabalConfigure
+ | BM_Hsc2HsRun
| BM_RunTest
-- | Interpretation-agnostic description of the builder settings
@@ -496,6 +498,7 @@ builderSetting =
[ str "ghc" *> fmap BM_Ghc (wild ghcBuilder) <* str "opts"
, str "cc" *> fmap BM_Cc (wild ccBuilder) <* str "opts"
, BM_CabalConfigure <$ str "cabal" <* str "configure" <* str "opts"
+ , BM_Hsc2HsRun <$ str "hsc2hs" <* str "run" <* str "opts"
]
, (Wildcard, Wildcard, BM_RunTest)
<$ str "runtest" <* str "opts"
diff --git a/hadrian/src/Settings.hs b/hadrian/src/Settings.hs
index 6b756c21ae..6a2fcfff2d 100755
--- a/hadrian/src/Settings.hs
+++ b/hadrian/src/Settings.hs
@@ -98,4 +98,4 @@ unsafeFindPackageByName name = fromMaybe (error msg) $ findPackageByName name
unsafeFindPackageByPath :: FilePath -> Package
unsafeFindPackageByPath path = err $ find (\pkg -> pkgPath pkg == path) knownPackages
where
- err = fromMaybe $ error ("findPackageByPath: No package for path " ++ path) \ No newline at end of file
+ err = fromMaybe $ error ("findPackageByPath: No package for path " ++ path)