summaryrefslogtreecommitdiff
path: root/hadrian/src/Rules/Configure.hs
diff options
context:
space:
mode:
Diffstat (limited to 'hadrian/src/Rules/Configure.hs')
-rw-r--r--hadrian/src/Rules/Configure.hs84
1 files changed, 0 insertions, 84 deletions
diff --git a/hadrian/src/Rules/Configure.hs b/hadrian/src/Rules/Configure.hs
deleted file mode 100644
index 6787bacf04..0000000000
--- a/hadrian/src/Rules/Configure.hs
+++ /dev/null
@@ -1,84 +0,0 @@
-module Rules.Configure (configureRules) where
-
-import Base
-import Builder
-import CommandLine
-import Context
-import Packages
-import Target
-import Utilities
-
-import qualified System.Info.Extra as System
-
--- | Files generated by running the @configure@ script.
-configureResults :: [FilePath]
-configureResults =
- [ configFile
- , configH
- , "compiler/ghc.cabal"
- , "rts/rts.cabal"
- , "ghc/ghc-bin.cabal"
- , "utils/iserv/iserv.cabal"
- , "utils/iserv-proxy/iserv-proxy.cabal"
- , "utils/remote-iserv/remote-iserv.cabal"
- , "utils/ghc-pkg/ghc-pkg.cabal"
- , "utils/runghc/runghc.cabal"
- , "utils/gen-dll/gen-dll.cabal"
- , "libraries/ghc-boot/ghc-boot.cabal"
- , "libraries/ghc-boot-th/ghc-boot-th.cabal"
- , "libraries/ghci/ghci.cabal"
- , "libraries/ghc-heap/ghc-heap.cabal"
- , "libraries/libiserv/libiserv.cabal"
- , "libraries/template-haskell/template-haskell.cabal"
- , "docs/users_guide/ghc_config.py"
- , "docs/index.html"
- , "libraries/prologue.txt"
- , "distrib/configure.ac"
- ]
-
-configureRules :: Rules ()
-configureRules = do
- configureResults &%> \outs -> do
- -- Do not cache the results. The true dependencies of the configure
- -- script are not tracked. This includes e.g. the ghc source path.
- historyDisable
-
- skip <- not <$> cmdConfigure
- if skip
- then unlessM (doesFileExist configFile) $
- error $ "Configuration file " ++ configFile ++ " is missing.\n"
- ++ "Run the configure script manually or let Hadrian run it "
- ++ "automatically by passing the flag --configure."
- else do
- -- We cannot use windowsHost here due to a cyclic dependency.
- when windowsHost $ do
- putBuild "| Checking for Windows tarballs..."
- pythonPath <- builderPath Python
- quietly $ cmd [pythonPath, "mk/get-win32-tarballs.py", "download", System.arch]
- let srcs = map (<.> "in") outs
- context = vanillaContext Stage0 compiler
- need srcs
- build $ target context (Configure ".") srcs outs
- -- TODO: This is fragile: we should remove this from behind the
- -- @--configure@ flag and add a proper dependency tracking.
- -- We need to copy the directory with unpacked Windows tarball to
- -- the build directory, so that the built GHC has access to it.
- -- See https://github.com/snowleopard/hadrian/issues/564.
- when windowsHost $ do
- root <- buildRoot
- copyDirectory "inplace/mingw" (root -/- "mingw")
- mingwFiles <- liftIO $ getDirectoryFilesIO "." [root -/- "mingw/**"]
- produces mingwFiles
-
- ["configure", configH <.> "in"] &%> \_ -> do
- skip <- not <$> cmdConfigure
- if skip
- then unlessM (doesFileExist "configure") $
- error $ "The configure script is missing.\nRun the boot script "
- ++ "manually let Hadrian run it automatically by passing the "
- ++ "flag --configure."
- else do
- need ["configure.ac"]
- putBuild "| Running boot..."
- verbosity <- getVerbosity
- quietly $ cmd [EchoStdout (verbosity >= Loud)] "python3 boot --hadrian"