[commit: ghc] wip/nfs-locking: Minor revision (599381f)

git at git.haskell.org git at git.haskell.org
Fri Oct 27 00:35:08 UTC 2017


Repository : ssh://git@git.haskell.org/ghc

On branch  : wip/nfs-locking
Link       : http://ghc.haskell.org/trac/ghc/changeset/599381f0fda1ea8fbae64b748b7b09727189f53b/ghc

>---------------------------------------------------------------

commit 599381f0fda1ea8fbae64b748b7b09727189f53b
Author: Andrey Mokhov <andrey.mokhov at gmail.com>
Date:   Wed Jul 19 16:03:35 2017 +0100

    Minor revision


>---------------------------------------------------------------

599381f0fda1ea8fbae64b748b7b09727189f53b
 src/Oracles/Config/Setting.hs | 20 ++++++++++----------
 src/Rules/Install.hs          |  9 +++++----
 src/Settings/Path.hs          | 12 ++++++------
 3 files changed, 21 insertions(+), 20 deletions(-)

diff --git a/src/Oracles/Config/Setting.hs b/src/Oracles/Config/Setting.hs
index c4ed10e..1bf9186 100644
--- a/src/Oracles/Config/Setting.hs
+++ b/src/Oracles/Config/Setting.hs
@@ -53,19 +53,18 @@ data Setting = BuildArch
              | IconvIncludeDir
              | IconvLibDir
              | CursesLibDir
-             -- Paths to where GHC is installed
-             -- ref: mk/install.mk
+             -- Paths to where GHC is installed (ref: mk/install.mk)
              | InstallPrefix
              | InstallBinDir
              | InstallLibDir
              | InstallDataRootDir
-             -- "install" utility
+             -- Command lines for invoking the @install@ utility
              | Install
              | InstallData
              | InstallProgram
              | InstallScript
              | InstallDir
-             -- symbolic link
+             -- Command line for creating a symbolic link
              | LnS
 
 data SettingList = ConfCcArgs Stage
@@ -202,9 +201,10 @@ cmdLineLengthLimit = do
         -- On all other systems, we try this:
         _             -> 4194304 -- Cabal library needs a bit more than 2MB!
 
--- | On Windows we normally want to make a relocatable bindist,
--- to we ignore flags like libdir
--- ref: mk/config.mk.in:232
+-- ref: https://ghc.haskell.org/trac/ghc/wiki/Building/Installing#HowGHCfindsitsfiles
+-- | On Windows we normally build a relocatable installation, which assumes that
+-- the library directory @libdir@ is in a fixed location relative to the GHC
+-- binary, namely @../lib at .
 relocatableBuild :: Action Bool
 relocatableBuild = windowsHost
 
@@ -213,10 +213,10 @@ installDocDir = do
   version <- setting ProjectVersion
   (-/- ("doc/ghc-" ++ version)) <$> setting InstallDataRootDir
 
--- | Unix: override libdir and datadir to put ghc-specific stuff in
--- a subdirectory with the version number included.
 -- ref: mk/install.mk:101
 -- TODO: CroosCompilePrefix
+-- | Unix: override @libdir@ and @datadir@ to put GHC-specific files in a
+-- subdirectory with the version number included.
 installGhcLibDir :: Action String
 installGhcLibDir = do
   r <- relocatableBuild
@@ -224,4 +224,4 @@ installGhcLibDir = do
   if r then return libdir
        else do
          v <- setting ProjectVersion
-         return (libdir -/- ("ghc-" ++ v))
+         return $ libdir -/- ("ghc-" ++ v)
diff --git a/src/Rules/Install.hs b/src/Rules/Install.hs
index 525746b..77e340e 100644
--- a/src/Rules/Install.hs
+++ b/src/Rules/Install.hs
@@ -128,6 +128,7 @@ withLatestBuildStage pkg m = do
       Nothing    -> return ()
 
 -- ref: rules/manual-package-conf.mk
+-- TODO: Should we use a temporary file instead of pkgConfInstallPath?
 -- | Install @package.conf.install@ for each package. Note that it will be
 -- recreated each time.
 installPackageConf :: Action ()
@@ -161,7 +162,7 @@ installPackages = do
     -- Install RTS
     let rtsDir = destDir ++ ghcLibDir -/- "rts"
     installDirectory rtsDir
-    ways <- interpretInContext (vanillaContext Stage1 rts) getRtsWays
+    ways    <- interpretInContext (vanillaContext Stage1 rts) getRtsWays
     rtsLibs <- mapM pkgLibraryFile $ map (Context Stage1 rts) ways
     ffiLibs <- sequence $ map rtsLibffiLibrary ways
 
@@ -183,14 +184,14 @@ installPackages = do
         when (isLibrary pkg) $
             withLatestBuildStage pkg $ \stage -> do
                 let context = vanillaContext stage pkg
-                top <- interpretInContext context getTopDirectory
+                top <- topDirectory
                 let installDistDir = top -/- buildPath context
                 buildPackage stage pkg
                 docDir <- installDocDir
                 ghclibDir <- installGhcLibDir
 
                 -- Copy over packages
-                strip <- stripCmdPath context
+                strip <- stripCmdPath
                 ways  <- interpretInContext context getLibraryWays
                 let ghcCabalInplace = inplaceBinPath -/- "ghc-cabal" <.> exe -- HACK?
                 need [ghcCabalInplace]
@@ -230,7 +231,7 @@ installPackages = do
         when (isLibrary pkg) $
             withLatestBuildStage pkg $ \stage -> do
                 let context = vanillaContext stage pkg
-                top <- interpretInContext context getTopDirectory
+                top <- topDirectory
                 let installDistDir = top -/- buildPath context
                 -- TODO: better reference to the built inplace binary path
                 let ghcCabalInplace = inplaceBinPath -/- "ghc-cabal"
diff --git a/src/Settings/Path.hs b/src/Settings/Path.hs
index 1b0dc13..0be1838 100644
--- a/src/Settings/Path.hs
+++ b/src/Settings/Path.hs
@@ -14,8 +14,8 @@ import Context
 import Expression
 import GHC
 import Oracles.PackageData
-import Oracles.Config.Setting (setting, Setting(..))
-import Oracles.Path (getTopDirectory)
+import Oracles.Config.Setting
+import Oracles.Path
 import UserSettings
 
 -- | Path to the directory containing the Shake database and other auxiliary
@@ -202,12 +202,12 @@ inplaceInstallPath pkg
 ghcSplitPath :: FilePath
 ghcSplitPath = inplaceLibBinPath -/- "ghc-split"
 
--- | Command line tool for stripping
 -- ref: mk/config.mk
-stripCmdPath :: Context -> Action FilePath
-stripCmdPath ctx = do
+-- | Command line tool for stripping.
+stripCmdPath :: Action FilePath
+stripCmdPath = do
     targetPlatform <- setting TargetPlatform
-    top <- interpretInContext ctx getTopDirectory
+    top <- topDirectory
     case targetPlatform of
         "x86_64-unknown-mingw32" ->
              return (top -/- "inplace/mingw/bin/strip.exe")



More information about the ghc-commits mailing list