Add Main.dyn_o deployed into the RTS library dir to linking (see DLLNOTES for rational)
authorClemens Fruhwirth <clemens@endorphin.org>
Thu, 10 Jan 2008 09:12:17 +0000 (09:12 +0000)
committerClemens Fruhwirth <clemens@endorphin.org>
Thu, 10 Jan 2008 09:12:17 +0000 (09:12 +0000)
compiler/main/DriverPipeline.hs

index 59fb3af..e14d9b7 100644 (file)
@@ -1214,7 +1214,12 @@ linkBinary dflags o_files dep_packages = do
         framework_opts = concat [ ["-framework", fw] | fw <- reverse frameworks ]
         -- reverse because they're added in reverse order from the cmd line
 #endif
-
+#ifdef mingw32_TARGET_OS
+    let dynMain = if not opt_Static then
+                     (head (libraryDirs (getPackageDetails (pkgState dflags) rtsPackageId))) ++ "/Main.dyn_o"
+                 else
+                     ""
+#endif
        -- probably _stub.o files
     extra_ld_inputs <- readIORef v_Ld_inputs
 
@@ -1256,6 +1261,9 @@ linkBinary dflags o_files dep_packages = do
                      ++ map SysTools.Option (
                         md_c_flags
                      ++ o_files
+#ifdef mingw32_TARGET_OS
+                     ++ [dynMain]
+#endif
                      ++ extra_ld_inputs
                      ++ lib_path_opts
                      ++ extra_ld_opts