diff options
author | Alec Theriault <alec.theriault@gmail.com> | 2019-01-07 11:38:11 -0800 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2019-01-16 14:16:51 -0500 |
commit | 2f65025eeb4a79458af26d759e932d70633a64db (patch) | |
tree | 4e4951d5e5d9e183b246201c4c8efc3f9b5d3c0a /hadrian/src/Rules/BinaryDist.hs | |
parent | 6a7a6b865bdb637a3ab69b9bccc390b85c147878 (diff) | |
download | haskell-2f65025eeb4a79458af26d759e932d70633a64db.tar.gz |
Hadrian: support extra libraries + OSX rpath
Summary:
This fixes some of the issues that surfaced when trying to build
dynamic GHC on OSX. Unfortunately, due some other `libffi`
issues, this doesn't completely fix dynamic builds on OSX.
- Use 'extra-libraries' from .cabal files instead of hardcoding
which packages need which extra libs. Also add support for
'extra-lib-dirs'.
- Make sure Hadrian looks in the right places to support both
plain '<pkg>.buildinfo' and '<pkg>.buildinfo.in' files.
- Make the '-rpath' support more robust across OS's (it previously
didn't work on OSX and possibly windows either).
Reviewers: angerman, alpmestan, adamse, DavidEichmann, bgamari, Phyx
Subscribers: rwbarton, carter
GHC Trac Issues: #15990
Differential Revision: https://phabricator.haskell.org/D5409
Diffstat (limited to 'hadrian/src/Rules/BinaryDist.hs')
-rw-r--r-- | hadrian/src/Rules/BinaryDist.hs | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/hadrian/src/Rules/BinaryDist.hs b/hadrian/src/Rules/BinaryDist.hs index a589c7af98..f847af9166 100644 --- a/hadrian/src/Rules/BinaryDist.hs +++ b/hadrian/src/Rules/BinaryDist.hs @@ -98,14 +98,12 @@ bindistRules = do version <- setting ProjectVersion targetPlatform <- setting TargetPlatformFull - cabalHostOs <- cabalOsString <$> setting BuildOs - cabalHostArch <- cabalArchString <$> setting BuildArch + distDir <- Context.distDir rtsDir <- pkgIdentifier rts let ghcBuildDir = root -/- stageString Stage1 bindistFilesDir = root -/- "bindist" -/- ghcVersionPretty ghcVersionPretty = "ghc-" ++ version ++ "-" ++ targetPlatform - distDir = cabalHostArch ++ "-" ++ cabalHostOs ++ "-ghc-" ++ version rtsIncludeDir = ghcBuildDir -/- "lib" -/- distDir -/- rtsDir -/- "include" |