summaryrefslogtreecommitdiff
path: root/hadrian
diff options
context:
space:
mode:
Diffstat (limited to 'hadrian')
-rw-r--r--hadrian/bindist/Makefile1
-rw-r--r--hadrian/bindist/config.mk.in1
-rw-r--r--hadrian/cfg/system.config.in1
-rw-r--r--hadrian/src/Builder.hs2
-rw-r--r--hadrian/src/Hadrian/Builder.hs4
-rw-r--r--hadrian/src/Oracles/Setting.hs2
-rw-r--r--hadrian/src/Packages.hs19
-rw-r--r--hadrian/src/Rules/Generate.hs1
-rw-r--r--hadrian/src/Rules/Program.hs2
-rw-r--r--hadrian/src/Settings/Default.hs11
10 files changed, 16 insertions, 28 deletions
diff --git a/hadrian/bindist/Makefile b/hadrian/bindist/Makefile
index 215c2665d9..0dda9776b3 100644
--- a/hadrian/bindist/Makefile
+++ b/hadrian/bindist/Makefile
@@ -102,7 +102,6 @@ lib/settings :
@echo ',("ranlib command", "$(SettingsRanlibCommand)")' >> $@
@echo ',("otool command", "$(SettingsOtoolCommand)")' >> $@
@echo ',("install_name_tool command", "$(SettingsInstallNameToolCommand)")' >> $@
- @echo ',("touch command", "$(SettingsTouchCommand)")' >> $@
@echo ',("dllwrap command", "$(SettingsDllWrapCommand)")' >> $@
@echo ',("windres command", "$(SettingsWindresCommand)")' >> $@
@echo ',("unlit command", "$$topdir/bin/unlit")' >> $@
diff --git a/hadrian/bindist/config.mk.in b/hadrian/bindist/config.mk.in
index c76c1c9414..8bfedacf7c 100644
--- a/hadrian/bindist/config.mk.in
+++ b/hadrian/bindist/config.mk.in
@@ -273,7 +273,6 @@ SettingsRanlibCommand = @SettingsRanlibCommand@
SettingsDllWrapCommand = @SettingsDllWrapCommand@
SettingsWindresCommand = @SettingsWindresCommand@
SettingsLibtoolCommand = @SettingsLibtoolCommand@
-SettingsTouchCommand = @SettingsTouchCommand@
SettingsClangCommand = @SettingsClangCommand@
SettingsLlcCommand = @SettingsLlcCommand@
SettingsOptCommand = @SettingsOptCommand@
diff --git a/hadrian/cfg/system.config.in b/hadrian/cfg/system.config.in
index 0541d90138..ddf4975bff 100644
--- a/hadrian/cfg/system.config.in
+++ b/hadrian/cfg/system.config.in
@@ -159,7 +159,6 @@ settings-otool-command = @SettingsOtoolCommand@
settings-install_name_tool-command = @SettingsInstallNameToolCommand@
settings-dll-wrap-command = @SettingsDllWrapCommand@
settings-windres-command = @SettingsWindresCommand@
-settings-touch-command = @SettingsTouchCommand@
settings-clang-command = @SettingsClangCommand@
settings-llc-command = @SettingsLlcCommand@
settings-opt-command = @SettingsOptCommand@
diff --git a/hadrian/src/Builder.hs b/hadrian/src/Builder.hs
index 5bc5cacc80..42cf5c8057 100644
--- a/hadrian/src/Builder.hs
+++ b/hadrian/src/Builder.hs
@@ -235,7 +235,6 @@ instance H.Builder Builder where
pure []
Ghc _ stage -> do
root <- buildRoot
- touchyPath <- programPath (vanillaContext (Stage0 InTreeLibs) touchy)
unlitPath <- builderPath Unlit
-- GHC from the previous stage is used to build artifacts in the
@@ -244,7 +243,6 @@ instance H.Builder Builder where
return $ [ unlitPath ]
++ ghcdeps
- ++ [ touchyPath | windowsHost ]
++ [ root -/- mingwStamp | windowsHost ]
-- proxy for the entire mingw toolchain that
-- we have in inplace/mingw initially, and then at
diff --git a/hadrian/src/Hadrian/Builder.hs b/hadrian/src/Hadrian/Builder.hs
index 630c58d603..682ac4d06b 100644
--- a/hadrian/src/Hadrian/Builder.hs
+++ b/hadrian/src/Hadrian/Builder.hs
@@ -49,8 +49,8 @@ class ShakeValue b => Builder b where
-- capture the @stdout@ result and return it.
askBuilderWith :: b -> BuildInfo -> Action String
- -- | Runtime dependencies of a builder. For example, on Windows GHC requires
- -- the utility @touchy.exe@ to be available on a specific path.
+ -- | Runtime dependencies of a builder. For example, GHC requires the
+ -- utility @unlit@ to be available on a specific path.
runtimeDependencies :: b -> Action [FilePath]
runtimeDependencies _ = return []
diff --git a/hadrian/src/Oracles/Setting.hs b/hadrian/src/Oracles/Setting.hs
index dca0861869..e169c5fe9f 100644
--- a/hadrian/src/Oracles/Setting.hs
+++ b/hadrian/src/Oracles/Setting.hs
@@ -123,7 +123,6 @@ data SettingsFileSetting
| SettingsFileSetting_InstallNameToolCommand
| SettingsFileSetting_DllWrapCommand
| SettingsFileSetting_WindresCommand
- | SettingsFileSetting_TouchCommand
| SettingsFileSetting_ClangCommand
| SettingsFileSetting_LlcCommand
| SettingsFileSetting_OptCommand
@@ -220,7 +219,6 @@ settingsFileSetting key = lookupSystemConfig $ case key of
SettingsFileSetting_InstallNameToolCommand -> "settings-install_name_tool-command"
SettingsFileSetting_DllWrapCommand -> "settings-dll-wrap-command"
SettingsFileSetting_WindresCommand -> "settings-windres-command"
- SettingsFileSetting_TouchCommand -> "settings-touch-command"
SettingsFileSetting_ClangCommand -> "settings-clang-command"
SettingsFileSetting_LlcCommand -> "settings-llc-command"
SettingsFileSetting_OptCommand -> "settings-opt-command"
diff --git a/hadrian/src/Packages.hs b/hadrian/src/Packages.hs
index 449004ed92..baf92e8df4 100644
--- a/hadrian/src/Packages.hs
+++ b/hadrian/src/Packages.hs
@@ -8,7 +8,7 @@ module Packages (
ghcCompact, ghcConfig, ghcHeap, ghci, ghciWrapper, ghcPkg, ghcPrim, haddock, haskeline,
hsc2hs, hp2ps, hpc, hpcBin, integerGmp, integerSimple, iserv, iservProxy,
libffi, libiserv, mtl, parsec, pretty, primitive, process, remoteIserv, rts,
- runGhc, stm, templateHaskell, terminfo, text, time, timeout, touchy,
+ runGhc, stm, templateHaskell, terminfo, text, time, timeout,
transformers, unlit, unix, win32, xhtml,
lintersCommon, lintNotes, lintCommitMsg, lintSubmoduleRefs, lintWhitespace,
ghcPackages, isGhcPackage,
@@ -40,7 +40,7 @@ ghcPackages =
, ghcCompact, ghcConfig, ghcHeap, ghci, ghciWrapper, ghcPkg, ghcPrim, haddock, haskeline, hsc2hs
, hp2ps, hpc, hpcBin, integerGmp, integerSimple, iserv, libffi, libiserv, mtl
, parsec, pretty, process, rts, runGhc, stm, templateHaskell
- , terminfo, text, time, touchy, transformers, unlit, unix, win32, xhtml
+ , terminfo, text, time, transformers, unlit, unix, win32, xhtml
, timeout
, lintersCommon
, lintNotes, lintCommitMsg, lintSubmoduleRefs, lintWhitespace ]
@@ -56,7 +56,7 @@ array, base, binary, bytestring, cabalSyntax, cabal, checkPpr, checkExact, count
ghcCompact, ghcConfig, ghcHeap, ghci, ghciWrapper, ghcPkg, ghcPrim, haddock, haskeline, hsc2hs,
hp2ps, hpc, hpcBin, integerGmp, integerSimple, iserv, iservProxy, remoteIserv, libffi, libiserv, mtl,
parsec, pretty, primitive, process, rts, runGhc, stm, templateHaskell,
- terminfo, text, time, touchy, transformers, unlit, unix, win32, xhtml,
+ terminfo, text, time, transformers, unlit, unix, win32, xhtml,
timeout,
lintersCommon, lintNotes, lintCommitMsg, lintSubmoduleRefs, lintWhitespace
:: Package
@@ -117,7 +117,6 @@ terminfo = lib "terminfo"
text = lib "text"
time = lib "time"
timeout = util "timeout" `setPath` "testsuite/timeout"
-touchy = util "touchy"
transformers = lib "transformers"
unlit = util "unlit"
unix = lib "unix"
@@ -192,12 +191,12 @@ programName Context {..} = do
-- | The 'FilePath' to a program executable in a given 'Context'.
programPath :: Context -> Action FilePath
programPath context@Context {..} = do
- -- TODO: The @touchy@ utility lives in the @lib/bin@ directory instead of
- -- @bin@, which is likely just a historical accident that should be fixed.
- -- See: https://github.com/snowleopard/hadrian/issues/570
- -- Likewise for @iserv@ and @unlit@.
+ -- TODO: The @iserv@ and @unlit@ utilities live in the @lib/bin@ directory
+ -- instead of @bin@, which is likely just a historical accident that should
+ -- be fixed. See:
+ -- https://github.com/snowleopard/hadrian/issues/570
name <- programName context
- path <- if package `elem` [iserv, touchy, unlit]
+ path <- if package `elem` [iserv, unlit]
then stageLibPath stage <&> (-/- "bin")
else stageBinPath stage
return $ path -/- name <.> exe
@@ -210,7 +209,7 @@ timeoutPath = "testsuite/timeout/install-inplace/bin/timeout" <.> exe
-- TODO: Can we extract this information from Cabal files?
-- | Some program packages should not be linked with Haskell main function.
nonHsMainPackage :: Package -> Bool
-nonHsMainPackage = (`elem` [hp2ps, iserv, touchy, unlit, ghciWrapper])
+nonHsMainPackage = (`elem` [hp2ps, iserv, unlit, ghciWrapper])
-- TODO: Combine this with 'programName'.
-- | Path to the @autogen@ directory generated by 'buildAutogenFiles'.
diff --git a/hadrian/src/Rules/Generate.hs b/hadrian/src/Rules/Generate.hs
index c41b6eed8f..93e3b1ac1d 100644
--- a/hadrian/src/Rules/Generate.hs
+++ b/hadrian/src/Rules/Generate.hs
@@ -325,7 +325,6 @@ generateSettings = do
, ("ranlib command", expr $ settingsFileSetting SettingsFileSetting_RanlibCommand)
, ("otool command", expr $ settingsFileSetting SettingsFileSetting_OtoolCommand)
, ("install_name_tool command", expr $ settingsFileSetting SettingsFileSetting_InstallNameToolCommand)
- , ("touch command", expr $ settingsFileSetting SettingsFileSetting_TouchCommand)
, ("dllwrap command", expr $ settingsFileSetting SettingsFileSetting_DllWrapCommand)
, ("windres command", expr $ settingsFileSetting SettingsFileSetting_WindresCommand)
, ("unlit command", ("$topdir/bin/" <>) <$> expr (programName (ctx { Context.package = unlit })))
diff --git a/hadrian/src/Rules/Program.hs b/hadrian/src/Rules/Program.hs
index 71cccd628f..b0f42b3eae 100644
--- a/hadrian/src/Rules/Program.hs
+++ b/hadrian/src/Rules/Program.hs
@@ -105,7 +105,7 @@ buildProgram bin ctx@(Context{..}) rs = do
(True, s) | s > stage0InTree -> do
srcDir <- buildRoot <&> (-/- (stageString stage0InTree -/- "bin"))
copyFile (srcDir -/- takeFileName bin) bin
- (False, s) | s > stage0InTree && (package `elem` [touchy, unlit]) -> do
+ (False, s) | s > stage0InTree && (package `elem` [unlit]) -> do
srcDir <- stageLibPath stage0InTree <&> (-/- "bin")
copyFile (srcDir -/- takeFileName bin) bin
_ -> buildBinary rs bin ctx
diff --git a/hadrian/src/Settings/Default.hs b/hadrian/src/Settings/Default.hs
index 312747141b..503d917981 100644
--- a/hadrian/src/Settings/Default.hs
+++ b/hadrian/src/Settings/Default.hs
@@ -105,7 +105,6 @@ stage0Packages = do
]
++ [ terminfo | not windowsHost, not cross ]
++ [ timeout | windowsHost ]
- ++ [ touchy | windowsHost ]
-- | Packages built in 'Stage1' by default. You can change this in "UserSettings".
stage1Packages :: Action [Package]
@@ -176,16 +175,14 @@ defaultLibraryWays = Set.fromList <$>
defaultRtsWays :: Ways
defaultRtsWays = Set.fromList <$>
mconcat
- [ pure [vanilla]
+ [ pure [vanilla, threaded]
, notStage0 ? pure
- [ profiling, debugProfiling
- , debug
+ [ profiling, threadedProfiling, debugProfiling, threadedDebugProfiling
+ , debug, threadedDebug
]
- , notStage0 ? targetSupportsThreadedRts ? pure [threaded, threadedProfiling, threadedDebugProfiling, threadedDebug]
, notStage0 ? platformSupportsSharedLibs ? pure
- [ dynamic, debugDynamic
+ [ dynamic, threadedDynamic, debugDynamic, threadedDebugDynamic
]
- , notStage0 ? platformSupportsSharedLibs ? targetSupportsThreadedRts ? pure [ threadedDynamic, threadedDebugDynamic ]
]
-- TODO: Move C source arguments here