
#14298: Let Template Haskell dynamically add something with which to link -------------------------------------+------------------------------------- Reporter: harpocrates | Owner: (none) Type: feature request | Status: new Priority: normal | Milestone: Component: Template Haskell | Version: 8.2.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by harpocrates): Let me reply to those two points in reverse order. :)
It seems like in generate this feature would need support from external tools (e.g. cabal) to work properly.
I'm not sure that is the case. TH already has support for adding in C source files, compiling them, and linking them. This feature request is requesting a way to hook into ''just'' the linking part of the pipeline that was built in https://phabricator.haskell.org/D3280 (instead of also running a C compiler). I don't think cabal factors into the existing `qAddForeignFile`, so I don't see why it should factor into my proposed `qAddForeignFilePath`.
I'm a bit skeptical of this; what should happen when GHC is invoked in single-shot mode (e.g. `-c`)?
I'd expect to see the same thing that would happen if GHC where invoked in single-shot mode on something involving `addForeignFile`, that is to say: `cannot find object file './Support.dyn_o'` where `Support` is the module containing the TH. That said, my understanding of `-c` is that it shouldn't work on any module that uses TH from another module. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14298#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler