Skip to content
  • Simon Marlow's avatar
    Always build GHCi libs · a7be1631
    Simon Marlow authored and Ben Gamari's avatar Ben Gamari committed
    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
    a7be1631