Nothing -> empty
Just hs_fn -> text "extern StgClosure " <> ppr hs_fn <> text "_closure" <> semi
+ -- the only reason for making the mingw32 (anything targetting PE, really) stick
+ -- out here is that the GHCi linker isn't capable of handling .ctors sections
+ useStaticConstructors
+#if defined(mingw32_HOST_OS)
+ = False
+#else
+ = True
+#endif
+
initialiser
= case maybe_target of
Nothing -> empty
- Just hs_fn ->
+ Just hs_fn
+ | not useStaticConstructors -> empty
+ | otherwise ->
vcat
[ text "static void stginit_export_" <> ppr hs_fn
<> text "() __attribute__((constructor));"