Hadrian: support extra libraries + OSX rpath
authorAlec Theriault <alec.theriault@gmail.com>
Mon, 7 Jan 2019 19:38:11 +0000 (11:38 -0800)
committerBen Gamari <ben@smart-cactus.org>
Wed, 16 Jan 2019 19:16:51 +0000 (14:16 -0500)
commit2f65025eeb4a79458af26d759e932d70633a64db
tree4e4951d5e5d9e183b246201c4c8efc3f9b5d3c0a
parent6a7a6b865bdb637a3ab69b9bccc390b85c147878
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
hadrian/src/Context.hs
hadrian/src/Hadrian/Haskell/Cabal/Parse.hs
hadrian/src/Oracles/Setting.hs
hadrian/src/Rules/BinaryDist.hs
hadrian/src/Settings/Builders/Ghc.hs