Always build GHCi libs
authorSimon Marlow <marlowsd@gmail.com>
Wed, 15 Mar 2017 13:28:10 +0000 (09:28 -0400)
committerBen Gamari <ben@smart-cactus.org>
Wed, 15 Mar 2017 17:36:59 +0000 (13:36 -0400)
commita7be163196f452530b61cbb526631db946d20e8b
tree3dca75311a0de017f978be0ee0a682573f6d016f
parent899fb8808da875ef191da367de4ff35d079124e1
Always build GHCi libs

Since the introduction of -split-sections, using GHCi with the RTS
linker is really slow:

```
$ time (echo :quit | ./inplace/bin/ghc-stage2 --interactive -fexternal-interpreter)
GHCi, version 8.1.20170304: http://www.haskell.org/ghc/  :? for help
Prelude> Leaving GHCi.

real        0m3.793s
```

(when we use `-fexternal-interpreter` it uses the RTS linker by default,
you can make it use the system linker by adding `-dynamic`)

Building the GHCi libs doesn't take much time or space in the GHC build,
but makes things much quicker for people using the RTS linker:

```
$ time (echo :quit | ./inplace/bin/ghc-stage2 --interactive -fexternal-interpreter)
GHCi, version 8.1.20170304: http://www.haskell.org/ghc/  :? for help
Prelude> Leaving GHCi.

real        0m0.285s
```

So I propose that we build and ship them unconditionally.

Test Plan: validate, perf tests above

Reviewers: bgamari, austin, niteria, erikd, Phyx

Reviewed By: bgamari

Subscribers: rwbarton, thomie, snowleopard

Differential Revision: https://phabricator.haskell.org/D3298
rules/build-package-data.mk
rules/build-package-way.mk