[GHC] #16304: Hadrian: refactor libffi and rts rules.

GHC ghc-devs at haskell.org
Mon Feb 11 13:04:02 UTC 2019


#16304: Hadrian: refactor libffi and rts rules.
-------------------------------------+-------------------------------------
           Reporter:  davide         |             Owner:  (none)
               Type:  task           |            Status:  new
           Priority:  normal         |         Milestone:
          Component:  Build System   |           Version:  8.6.3
  (Hadrian)                          |
           Keywords:                 |  Operating System:  Unknown/Multiple
       Architecture:                 |   Type of failure:  None/Unknown
  Unknown/Multiple                   |
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 The rts package depends on libffi. The hadrian rules around this are a bit
 hacky. The rts needs some specific header files, then the corresponding
 libffi rule takes on some unsolicited responsibilities, copying some
 important files into the rts directory. Also see mpickering's
 [https://gitlab.haskell.org/ghc/ghc/merge_requests/174#note_3288 comment]
 on this:

     This whole copying the header files into the rts dir seemed very dodgy
 to me. Why do we not depend on libffi when building the rts and then copy
 the files we need in the rules for building the rts?

 This is a hack implemented partly to get around the issue of not knowing
 the names of some libffi files until after building libffi. There surely
 is an idiomatic solution to this.

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/16304>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list