Remove old Windows-only implementation of keeping main outside the rts
authorDuncan Coutts <duncan@well-typed.com>
Thu, 14 May 2009 18:35:50 +0000 (18:35 +0000)
committerDuncan Coutts <duncan@well-typed.com>
Thu, 14 May 2009 18:35:50 +0000 (18:35 +0000)
We now do it for all ways and for all platforms. This was a Windows-only
version that only kept a separate Main.dyn_o for the dynamic linking case.
It had to do that because Windows DLLs are stricter about unresolved symbols
where as for ELF platforms we only run into the problem when we're not using
a Haskell main function.

compiler/main/DriverPipeline.hs

index 9ac8fe4..f8f0676 100644 (file)
@@ -1395,12 +1395,6 @@ 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
 
@@ -1442,9 +1436,6 @@ 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