diff options
author | Alp Mestanogullari <alp@well-typed.com> | 2018-11-29 17:14:57 +0100 |
---|---|---|
committer | Alp Mestanogullari <alpmestan@gmail.com> | 2018-11-29 17:14:58 +0100 |
commit | fb9971607c5a41ade71338188c683ee9cb8ca6fc (patch) | |
tree | fc3ab90ed5204f123a36905bc1d8e9db1ee61268 /rts | |
parent | 1235ca956c80d7035e1a6c50501a97de66d32b92 (diff) | |
download | haskell-fb9971607c5a41ade71338188c683ee9cb8ca6fc.tar.gz |
Hadrian: bump Cabal submodule, install extra dynamic flavours of RTS
Previously, Hadrian was building all the appropriate dynamic ways for
libHSrts
but they were not picked up and installed in the package database when
we register the rts library. Since we use Cabal for registering
packages and
the .cabal files of packages as sources of truth for configuring and
installing,
we ended up patching Cabal to add a new field,
'extra-dynamic-library-flavours',
to specify those extra flavours to install in .cabal files:
https://github.com/haskell/cabal/pull/5606
We now make use of this in rts.cabal.in to expose dynamic flavours
behind a
Cabal flag, which Hadrian will use whenever we are building a GHC
flavour that
requires dynamic libraries.
This is all part of a larger plan to build a dynamic stage 2 GHC by
default,
like with make, which in turn will fix a lot of test failures. See
Test Plan:
hadrian/build.sh _build/stage1/lib/package.conf.d/rts-1.0.conf
_build/stage1/lib/x86_64-.../ should contain many libHSrts-*.so
Reviewers: snowleopard, DavidEichmann, bgamari, erikd, simonmar
Reviewed By: snowleopard, DavidEichmann
Subscribers: rwbarton, carter
GHC Trac Issues: #15837
Differential Revision: https://phabricator.haskell.org/D5385
Diffstat (limited to 'rts')
-rw-r--r-- | rts/rts.cabal.in | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/rts/rts.cabal.in b/rts/rts.cabal.in index a20aa57186..e9cc7d1b6f 100644 --- a/rts/rts.cabal.in +++ b/rts/rts.cabal.in @@ -1,4 +1,4 @@ -cabal-version: 2.1 +cabal-version: 2.5 name: rts version: 1.0 license: BSD-3-Clause @@ -39,6 +39,8 @@ flag debug default: False flag logging default: False +flag dynamic + default: False library -- rts is a wired in package and @@ -65,8 +67,14 @@ library extra-library-flavours: _debug_p _thr_debug_p if flag(debug) extra-library-flavours: _debug _thr_debug + if flag(dynamic) + extra-dynamic-library-flavours: _debug _thr_debug if flag(logging) extra-library-flavours: _l _thr_l + if flag(dynamic) + extra-dynamic-library-flavours: _l _thr_l + if flag(dynamic) + extra-dynamic-library-flavours: _thr exposed: True exposed-modules: |