summaryrefslogtreecommitdiff
path: root/testsuite/config
diff options
context:
space:
mode:
authorTamar Christina <tamar@zhox.com>2018-10-15 13:23:51 -0400
committerBen Gamari <ben@smart-cactus.org>2018-10-15 17:41:48 -0400
commit01c3d00a4ef49c3f7310402d8d635f69cbf9ee64 (patch)
tree03579049847fe9bc0418a31013081e4b9de171d6 /testsuite/config
parent58dffa0aa4c2b30ac270e32ccb26b58f53cc69ef (diff)
downloadhaskell-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/ghc23
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:
#