option for ghc rts to be linked as a shared object / dll
The ghc runtime is statically linked into each executable that ghc creates. This adds approximately 600K or more to each executable. Whilst for large programs this overhead is not to great, for embedded systems, where space is a premium this becomes problematic. Many C compilers offer a selection of statically linking in the C runtime library or dynamically linking it in. GHC should offer the same options.
As ghc rts is considerably more complex than that of C runtime, this poses some difficulty, but with appropriate bootstrapping code statically linked to load a shared rts, when this option is selected; creating such an option should not be to difficult to do.
This option, should in the first instance be made available on windows.
Trac metadata
Trac field | Value |
---|---|
Version | 6.9 |
Type | FeatureRequest |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | Multiple |
Architecture | Multiple |