diff options
author | Ben Gamari <ben@smart-cactus.org> | 2022-01-26 16:28:17 +0000 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2022-01-26 16:29:32 +0000 |
commit | 8c20fb38b541a66b450a295ce5eeefcecc56d9aa (patch) | |
tree | 213106f7433e94a81e02791f635276be9d29019b | |
parent | 781323a3076781b5db50bdbeb8f64394add43836 (diff) | |
download | haskell-8c20fb38b541a66b450a295ce5eeefcecc56d9aa.tar.gz |
hadrian: Add no_terminfo flavour transformerwip/hadrian-no-terminfo
Filling the same role as the `make` build system's `WITH_TERMINFO`
variable.
-rw-r--r-- | hadrian/doc/flavours.md | 5 | ||||
-rw-r--r-- | hadrian/src/Flavour.hs | 9 |
2 files changed, 14 insertions, 0 deletions
diff --git a/hadrian/doc/flavours.md b/hadrian/doc/flavours.md index 9788a0593f..442cd5d3f2 100644 --- a/hadrian/doc/flavours.md +++ b/hadrian/doc/flavours.md @@ -206,6 +206,11 @@ The supported transformers are listed below: library due to the long linking times that this causes).</td> </tr> <tr> + <td><code>no_terminfo</code></td> + <td>Build the compiler without <code>terminfo</code> support. Some line + editing functionality will be unavailable.</td> + </tr> + <tr> <td><code>thread_sanitizer</code></td> <td>Build the runtime system with ThreadSanitizer support</td> </tr> diff --git a/hadrian/src/Flavour.hs b/hadrian/src/Flavour.hs index f31e7667e1..7a9e7d54aa 100644 --- a/hadrian/src/Flavour.hs +++ b/hadrian/src/Flavour.hs @@ -6,6 +6,7 @@ module Flavour , flavourTransformers , addArgs , splitSections, splitSectionsIf + , disableTerminfo , enableThreadSanitizer , enableDebugInfo, enableTickyGhc , viaLlvmBackend @@ -38,6 +39,7 @@ flavourTransformers = M.fromList , "debug_info" =: enableDebugInfo , "ticky_ghc" =: enableTickyGhc , "split_sections" =: splitSections + , "no_terminfo" =: disableTerminfo , "thread_sanitizer" =: enableThreadSanitizer , "llvm" =: viaLlvmBackend , "profiled_ghc" =: enableProfiledGhc @@ -146,6 +148,13 @@ splitSections = splitSectionsIf (/=ghc) -- Disable section splitting for the GHC library. It takes too long and -- there is little benefit. +-- | Disable @terminfo@ support. +disableTerminfo :: Flavour -> Flavour +disableTerminfo = addArgs $ mconcat + [ package compiler ? builder (Cabal Flags) ? arg "-terminfo" + , package haskeline ? builder (Cabal Flags) ? arg "-terminfo" + ] + enableThreadSanitizer :: Flavour -> Flavour enableThreadSanitizer = addArgs $ mconcat [ builder (Ghc CompileHs) ? arg "-optc-fsanitize=thread" |