[commit: ghc] wip/nfs-locking: Add DepIncludeDirs package data option. (91a8bab)

git at git.haskell.org git at git.haskell.org
Thu Oct 26 23:08:40 UTC 2017


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

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

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

commit 91a8babed3f640ecd972c7a20fd574e3853250d1
Author: Andrey Mokhov <andrey.mokhov at gmail.com>
Date:   Mon Jan 19 11:49:40 2015 +0000

    Add DepIncludeDirs package data option.


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

91a8babed3f640ecd972c7a20fd574e3853250d1
 src/Oracles/PackageData.hs | 42 ++++++++++++++++++++++--------------------
 src/Package/Base.hs        |  2 +-
 src/Package/Compile.hs     |  1 +
 src/Targets.hs             |  1 +
 4 files changed, 25 insertions(+), 21 deletions(-)

diff --git a/src/Oracles/PackageData.hs b/src/Oracles/PackageData.hs
index 38accfe..760f47e 100644
--- a/src/Oracles/PackageData.hs
+++ b/src/Oracles/PackageData.hs
@@ -23,16 +23,17 @@ data PackageData = Version     FilePath
                  | PackageKey  FilePath
                  | Synopsis    FilePath
 
-data MultiPackageData = Modules     FilePath
-                      | SrcDirs     FilePath
-                      | IncludeDirs FilePath
-                      | Deps        FilePath
-                      | DepKeys     FilePath
-                      | DepNames    FilePath
-                      | CppArgs     FilePath
-                      | HsArgs      FilePath
-                      | CcArgs      FilePath
-                      | CSrcs       FilePath
+data MultiPackageData = Modules        FilePath
+                      | SrcDirs        FilePath
+                      | IncludeDirs    FilePath
+                      | Deps           FilePath
+                      | DepKeys        FilePath
+                      | DepNames       FilePath
+                      | CppArgs        FilePath
+                      | HsArgs         FilePath
+                      | CcArgs         FilePath
+                      | CSrcs          FilePath
+                      | DepIncludeDirs FilePath
 
 newtype PackageDataKey = PackageDataKey (FilePath, String)
                         deriving (Show, Typeable, Eq, Hashable, Binary, NFData)
@@ -53,16 +54,17 @@ instance ShowArg PackageData where
 instance ShowArgs MultiPackageData where
     showArgs packageData = do
         let (key, path, defaultValue) = case packageData of
-               Modules     path -> ("MODULES"     , path, "" )
-               SrcDirs     path -> ("HS_SRC_DIRS" , path, ".")
-               IncludeDirs path -> ("INCLUDE_DIRS", path, ".")
-               Deps        path -> ("DEPS"        , path, "" )
-               DepKeys     path -> ("DEP_KEYS"    , path, "" )
-               DepNames    path -> ("DEP_NAMES"   , path, "" )
-               CppArgs     path -> ("CPP_OPTS"    , path, "" )
-               HsArgs      path -> ("HC_OPTS"     , path, "" )
-               CcArgs      path -> ("CC_OPTS"     , path, "" )
-               CSrcs       path -> ("C_SRCS"      , path, "" )
+               Modules        path -> ("MODULES"         , path, "" )
+               SrcDirs        path -> ("HS_SRC_DIRS"     , path, ".")
+               IncludeDirs    path -> ("INCLUDE_DIRS"    , path, ".")
+               Deps           path -> ("DEPS"            , path, "" )
+               DepKeys        path -> ("DEP_KEYS"        , path, "" )
+               DepNames       path -> ("DEP_NAMES"       , path, "" )
+               CppArgs        path -> ("CPP_OPTS"        , path, "" )
+               HsArgs         path -> ("HC_OPTS"         , path, "" )
+               CcArgs         path -> ("CC_OPTS"         , path, "" )
+               CSrcs          path -> ("C_SRCS"          , path, "" )
+               DepIncludeDirs path -> ("DEP_LIB_REL_DIRS", path, "" )
             fullKey = replaceSeparators '_' $ path ++ "_" ++ key
             pkgData = path </> "package-data.mk"
         res <- askOracle $ PackageDataKey (pkgData, fullKey)
diff --git a/src/Package/Base.hs b/src/Package/Base.hs
index cf29e59..aafc85b 100644
--- a/src/Package/Base.hs
+++ b/src/Package/Base.hs
@@ -155,7 +155,7 @@ findModuleFiles pathDist directories suffixes = do
                      ] $ \file -> do
                          let dir = takeDirectory file
                          dirExists <- liftIO $ S.doesDirectoryExist dir
-                         when dirExists $ return file
+                         when dirExists $ return $ unifyPath file
     files <- getDirectoryFiles "" fileList
     return $ map unifyPath files
 
diff --git a/src/Package/Compile.hs b/src/Package/Compile.hs
index d99e2bf..e98f1a5 100644
--- a/src/Package/Compile.hs
+++ b/src/Package/Compile.hs
@@ -35,6 +35,7 @@ gccArgs (Package _ path _) (_, dist, _) srcs result =
             , commonCcArgs
             , commonCcWarninigArgs
             , pathArgs "-I" path $ IncludeDirs pathDist
+            , pathArgs "-I" path $ DepIncludeDirs pathDist
             , args ("-c":srcs)
             , args ["-o", result] ]
 
diff --git a/src/Targets.hs b/src/Targets.hs
index cf1ceb2..847c1fa 100644
--- a/src/Targets.hs
+++ b/src/Targets.hs
@@ -21,6 +21,7 @@ libraryPackagesInStage Stage1 =
     , "deepseq"
     , "directory"
     , "filepath"
+    , "ghc-prim"
     , "parallel"
     , "pretty"
     , "stm"



More information about the ghc-commits mailing list