diff options
| author | Moritz Angermann <moritz.angermann@gmail.com> | 2017-09-13 08:24:46 -0400 |
|---|---|---|
| committer | Ben Gamari <ben@smart-cactus.org> | 2017-09-13 10:39:56 -0400 |
| commit | 91262e75dd1d80f8f28a3922934ec7e59290e28c (patch) | |
| tree | 565db22b2068dcba12623c89e0d5bfff0baa0a22 /compiler/main/Packages.hs | |
| parent | f8e383f0e4f11e6e1060888208440907bcba9248 (diff) | |
| download | haskell-91262e75dd1d80f8f28a3922934ec7e59290e28c.tar.gz | |
Use ar for -staticlib
Hopefully we can get rid of libtool, by using ar only
Depends on: D3579
Test Plan: validate
Reviewers: austin, hvr, bgamari, erikd
Reviewed By: bgamari
Subscribers: rwbarton, thomie, erikd
Differential Revision: https://phabricator.haskell.org/D3721
Diffstat (limited to 'compiler/main/Packages.hs')
| -rw-r--r-- | compiler/main/Packages.hs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/compiler/main/Packages.hs b/compiler/main/Packages.hs index 088f58a675..ca77c30099 100644 --- a/compiler/main/Packages.hs +++ b/compiler/main/Packages.hs @@ -46,6 +46,7 @@ module Packages ( getPackageConfigMap, getPreloadPackagesAnd, + collectArchives, collectIncludeDirs, collectLibraryPaths, collectLinkOpts, packageHsLibs, @@ -1688,6 +1689,13 @@ collectLinkOpts dflags ps = concatMap (map ("-l" ++) . extraLibraries) ps, concatMap ldOptions ps ) +collectArchives :: DynFlags -> PackageConfig -> IO [FilePath] +collectArchives dflags pc = + filterM doesFileExist [ searchPath </> ("lib" ++ lib ++ ".a") + | searchPath <- searchPaths + , lib <- libs ] + where searchPaths = nub . filter notNull . libraryDirsForWay dflags $ pc + libs = packageHsLibs dflags pc ++ extraLibraries pc packageHsLibs :: DynFlags -> PackageConfig -> [String] packageHsLibs dflags p = map (mkDynName . addSuffix) (hsLibraries p) |
