[project @ 2001-09-04 18:29:20 by ken]
[ghc-hetmet.git] / ghc / driver / PackageSrc.hs
index 11b4cbf..6fcec81 100644 (file)
@@ -1,4 +1,5 @@
 #include "../includes/config.h"
+#include "../includes/Derived.h"
 
 module Main (main) where
 
@@ -64,11 +65,16 @@ package_details installing
                             then [ "$libdir" ]
                             else [ ghc_src_dir cGHC_RUNTIME_DIR ],
         hs_libraries      = [ "HSrts" ],
-#ifndef mingw32_TARGET_OS
-       extra_libraries   = [],
-#else
-        extra_libraries   = [ "winmm", "wsock32" ], -- winmm for the threadDelay timer, wsock32 for the linker
+       extra_libraries   =
+                             "m":              -- for ldexp()
+#ifdef mingw32_TARGET_OS
+                             "winmm":          -- for the threadDelay timer
+                             "wsock32":        -- for the linker
+#endif
+#ifdef USING_LIBBFD
+                             "bfd": "iberty":  -- for debugging
 #endif
+                           [],
         include_dirs   = if installing
                             then [ "$libdir/include"
 #ifdef mingw32_TARGET_OS
@@ -82,11 +88,13 @@ package_details installing
         extra_cc_opts  = [],
                 -- the RTS forward-references to a bunch of stuff in the prelude,
                 -- so we force it to be included with special options to ld.
-        extra_ld_opts  = map (
+        extra_ld_opts  =
+          foldr (\ x xs -> "-u" : x : xs) []
+                 (map (
 #ifndef LEADING_UNDERSCORE
-                         "-u "
+                         ""
 #else
-                         "-u _"
+                         "_"
 #endif
                           ++ ) [
            "PrelBase_Izh_static_info"
@@ -118,8 +126,8 @@ package_details installing
          , "PrelIOBase_NonTermination_closure"
          , "PrelIOBase_BlockedOnDeadMVar_closure"
          , "PrelWeak_runFinalizzerBatch_closure"
-         , "__init_Prelude"
-         ]
+         , "__stginit_Prelude"
+         ])
         },
 
         Package {
@@ -148,7 +156,7 @@ package_details installing
 #                           ifdef mingw32_TARGET_OS
                             [ "wsock32", "msvcrt" ]
 #                           else
-                            [ "m" ]   -- libm, that is
+                            [ ]
 #                           endif
                             ,
         include_dirs   = if installing
@@ -183,9 +191,9 @@ package_details installing
          extra_cc_opts  = [],
          extra_ld_opts  = [
 #ifndef LEADING_UNDERSCORE
-                         "-u Addr_Azh_static_info"
+                         "-u", "Addr_Azh_static_info"
 #else
-                         "-u _Addr_Azh_static_info"
+                         "-u", "_Addr_Azh_static_info"
 #endif
                        ]
         },
@@ -389,11 +397,12 @@ package_details installing
          library_dirs   = if installing
                              then [ "$libdir" ]
                              else [ "$libdir/hslibs/win32" ],
-         hs_libraries      = [ "HSwin32" ],
-        extra_libraries   = [ "user32",  "gdi32", "winmm" ],
+         hs_libraries      = [ "HSwin321", "HSwin322" ],
+        extra_libraries   = [ "user32",  "gdi32", "winmm", 
+                               "kernel32", "advapi32" ],
          include_dirs   = [],
          c_includes     = [],           -- ???
-         package_deps   = [ "lang", "greencard" ],
+         package_deps   = [ "lang" ], -- greencard now built in
          extra_ghc_opts = [],
          extra_cc_opts  = [],
          extra_ld_opts  = []