[commit: ghc] wip/nfs-locking: Use doesDirectoryExist to workaround a getDirectoryContents bug. (34c999b)
git at git.haskell.org
git at git.haskell.org
Fri Oct 27 00:39:40 UTC 2017
Repository : ssh://git@git.haskell.org/ghc
On branch : wip/nfs-locking
Link : http://ghc.haskell.org/trac/ghc/changeset/34c999b8e9d78b848ef75f8b439b408eafdf7166/ghc
>---------------------------------------------------------------
commit 34c999b8e9d78b848ef75f8b439b408eafdf7166
Author: Andrey Mokhov <andrey.mokhov at gmail.com>
Date: Thu Jan 14 13:01:48 2016 +0000
Use doesDirectoryExist to workaround a getDirectoryContents bug.
See #168.
>---------------------------------------------------------------
34c999b8e9d78b848ef75f8b439b408eafdf7166
src/Rules/Gmp.hs | 4 +---
src/Rules/Library.hs | 5 ++++-
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/Rules/Gmp.hs b/src/Rules/Gmp.hs
index f6d6fe8..c788ed2 100644
--- a/src/Rules/Gmp.hs
+++ b/src/Rules/Gmp.hs
@@ -118,10 +118,8 @@ gmpRules = do
createDirectory $ takeDirectory gmpLibraryH
-- check whether we need to build in tree gmp
- -- this is indicated by line "HaveFrameworkGMP = YES" in `config.mk`
configMk <- liftIO . readFile $ gmpBase -/- "config.mk"
- if "HaveFrameworkGMP = YES" `isInfixOf` configMk
- || "HaveLibGmp = YES" `isInfixOf` configMk
+ if any (`isInfixOf` configMk) ["HaveFrameworkGMP = YES", "HaveLibGmp = YES"]
then do
putBuild "| GMP library/framework detected and will be used"
copyFile gmpLibraryFakeH gmpLibraryH
diff --git a/src/Rules/Library.hs b/src/Rules/Library.hs
index 6b2180c..0ffaf3f 100644
--- a/src/Rules/Library.hs
+++ b/src/Rules/Library.hs
@@ -84,5 +84,8 @@ extraObjects :: PartialTarget -> Action [FilePath]
extraObjects (PartialTarget _ pkg)
| pkg == integerGmp = do
orderOnly [gmpLibraryH] -- TODO: move this dependency elsewhere, #113?
- getDirectoryFiles "" [gmpObjects -/- "*.o"]
+ exists <- doesDirectoryExist gmpObjects
+ if exists
+ then getDirectoryFiles "" [gmpObjects -/- "*.o"]
+ else return []
| otherwise = return []
More information about the ghc-commits
mailing list