add -flink-rts flag to link the rts when linking a shared or static library #18072
By default we don't link the RTS when linking shared libraries because in the most usual mode a shared library is an intermediary product, for example a Haskell library, that will be linked into some executable in the end. So we wish to defer the RTS flavour to link to the final link. However sometimes the final product is the shared library, for example when writing a plugin for some other system, so we do wish the shared library to link the RTS. For consistency we also make -staticlib honor this flag and its inversion. -staticlib currently implies -flink-shared.
Showing
- compiler/GHC/Driver/Flags.hs 1 addition, 0 deletionscompiler/GHC/Driver/Flags.hs
- compiler/GHC/Driver/Pipeline.hs 8 additions, 1 deletioncompiler/GHC/Driver/Pipeline.hs
- compiler/GHC/Driver/Session.hs 3 additions, 2 deletionscompiler/GHC/Driver/Session.hs
- compiler/GHC/SysTools.hs 3 additions, 1 deletioncompiler/GHC/SysTools.hs
- docs/users_guide/8.12.1-notes.rst 3 additions, 0 deletionsdocs/users_guide/8.12.1-notes.rst
- docs/users_guide/phases.rst 19 additions, 0 deletionsdocs/users_guide/phases.rst
- docs/users_guide/shared_libs.rst 14 additions, 7 deletionsdocs/users_guide/shared_libs.rst
- testsuite/tests/dynlibs/Makefile 31 additions, 1 deletiontestsuite/tests/dynlibs/Makefile
- testsuite/tests/dynlibs/T18072.hs 10 additions, 0 deletionstestsuite/tests/dynlibs/T18072.hs
- testsuite/tests/dynlibs/all.T 9 additions, 0 deletionstestsuite/tests/dynlibs/all.T
Loading
Please register or sign in to comment