diff options
author | Tamar Christina <tamar@zhox.com> | 2018-10-15 13:23:51 -0400 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2018-10-15 17:41:48 -0400 |
commit | 01c3d00a4ef49c3f7310402d8d635f69cbf9ee64 (patch) | |
tree | 03579049847fe9bc0418a31013081e4b9de171d6 /testsuite/config | |
parent | 58dffa0aa4c2b30ac270e32ccb26b58f53cc69ef (diff) | |
download | haskell-01c3d00a4ef49c3f7310402d8d635f69cbf9ee64.tar.gz |
Fix plugin tests requirements
Unfortunately the implementation has confused the ability to make
dynamic libraries with dynamic way.
This constraint is only true for systems that require `-fPIC` for
shared libraries.
Since the implementation has this implicit assumption, mark the tests
as requiring dynway.
Test Plan: ./validate
Reviewers: bgamari
Reviewed By: bgamari
Subscribers: simonpj, rwbarton, carter
Differential Revision: https://phabricator.haskell.org/D5174
Diffstat (limited to 'testsuite/config')
-rw-r--r-- | testsuite/config/ghc | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/testsuite/config/ghc b/testsuite/config/ghc index e974b62a96..b2edfd07bd 100644 --- a/testsuite/config/ghc +++ b/testsuite/config/ghc @@ -185,6 +185,7 @@ def get_compiler_info(): config.package_conf_cache_file = '' # See Note [WayFlags] + # See Note [PluginWay] if config.ghc_dynamic: config.ghc_th_way_flags = "-dynamic" config.ghci_way_flags = "-dynamic" @@ -200,12 +201,28 @@ def get_compiler_info(): else: config.ghc_th_way_flags = "-static" config.ghci_way_flags = "-static" - config.plugin_way_flags = "-static" + config.plugin_way_flags = "-dynamic" config.ghc_th_way = "normal" - config.ghc_plugin_way = "normal" + config.ghc_plugin_way = "dyn" + +# Note [PluginWay] +# +# Unfortunately the implementation has confused the ability to make dynamic +# libraries with dynamic way. +# +# This constraint is only true for systems that require -fPIC for +# shared libraries. +# +# It may not be worth fixing this assumption since the only platform that doesn't +# require -fPIC is Windows. These plugins require libghc to be linked so in +# doing so you would exceed the amount of allowed symbols in a single shared +# library. The only way these would ever work is thus with DynWay. +# +# Since the implementation has this implicit assumption, mark the tests as +# always requiring DynWay. # Note [Replacing backward slashes in config.libdir] -# +# # We *do* need to replace backslashes in config.libdir, for the following # reason: # |