Do not filter the rts from linked libraries in linkDynLib as Windows does not allow...
authorClemens Fruhwirth <clemens@endorphin.org>
Mon, 13 Oct 2008 20:14:26 +0000 (20:14 +0000)
committerClemens Fruhwirth <clemens@endorphin.org>
Mon, 13 Oct 2008 20:14:26 +0000 (20:14 +0000)
compiler/main/DriverPipeline.hs

index 3cad740..716e06b 100644 (file)
@@ -1494,8 +1494,14 @@ linkDynLib dflags o_files dep_packages = do
     -- because the RTS lib comes in several flavours and we want to be
     -- able to pick the flavour when a binary is linked.
     pkgs <- getPreloadPackagesAnd dflags dep_packages
-    let pkgs_no_rts = filter ((/= rtsPackageId) . packageConfigId) pkgs
 
+    -- On Windows we need to link the RTS import lib as Windows does
+    -- not allow undefined symbols.
+#if defined(mingw32_HOST_OS)
+    let pkgs_no_rts = filter ((/= rtsPackageId) . packageConfigId) pkgs
+#else
+    let pkgs_no_rts = pkgs
+#endif
     let pkg_lib_paths = collectLibraryPaths pkgs_no_rts
     let pkg_lib_path_opts = map ("-L"++) pkg_lib_paths