#include "../includes/config.h"
+#include "../includes/Derived.h"
module Main (main) where
, cGHC_RUNTIME_DIR
, cGHC_UTILS_DIR
, cGHC_INCLUDE_DIR
+ , cX_CFLAGS
+ , cX_LIBS
] =
[
import_dirs = [],
source_dirs = [],
library_dirs = if installing
- then [ "$libdir" ]
+ then
+#ifdef mingw32_TARGET_OS
+ -- force the dist-provided gcc-lib/ into scope.
+ [ "$libdir", "$libdir/gcc-lib" ]
+#else
+ [ "$libdir" ]
+#endif
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/includes" ]
+ then [ "$libdir/include"
+#ifdef mingw32_TARGET_OS
+ , "$libdir/include/mingw"
+#endif
+ ]
else [ ghc_src_dir cGHC_INCLUDE_DIR ],
c_includes = [ "Stg.h" ], -- ha!
package_deps = [ "gmp" ],
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"
, "PrelIOBase_heapOverflow_closure"
, "PrelIOBase_NonTermination_closure"
, "PrelIOBase_BlockedOnDeadMVar_closure"
+ , "PrelIOBase_Deadlock_closure"
, "PrelWeak_runFinalizzerBatch_closure"
- , "__init_Prelude"
- ]
+ , "__stginit_Prelude"
+ ])
},
Package {
,
extra_libraries = [ "HSstd_cbits" ] ++
# ifdef mingw32_TARGET_OS
- [ "wsock32", "msvcrt" ]
+ [ "wsock32", "msvcrt", "kernel32", "user32" ]
# else
- [ "m" ] -- libm, that is
+ [ ]
# endif
,
include_dirs = if 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
]
},
else [ "$libdir/hslibs/util"
, "$libdir/hslibs/util/cbits" ],
hs_libraries = [ "HSutil" ],
- extra_libraries = [ "HSutil_cbits" ] ++ words cLibsReadline,
+ extra_libraries = [ "HSutil_cbits" ]
+#ifndef mingw32_TARGET_OS
+ ++ words cLibsReadline
+#endif
+ ,
include_dirs = if installing
then []
else [ "$libdir/hslibs/util/cbits" ],
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" ],
- extra_ghc_opts = [],
- extra_cc_opts = [],
- extra_ld_opts = []
- },
-
- Package {
- name = "com",
- import_dirs = if installing
- then [ "$libdir/imports/com" ]
- else [ "$libdir/hdirect/lib" ],
- source_dirs = [],
- library_dirs = if installing
- then [ "$libdir" ]
- else [ "$libdir/hdirect/lib" ],
- hs_libraries = [ "HScom" ],
- extra_libraries = [ "user32", "ole32", "oleaut32", "advapi32" ],
- include_dirs = [],
- c_includes = [], -- ???
- package_deps = [ "lang" ],
+ package_deps = [ "lang" ], -- greencard now built in
extra_ghc_opts = [],
extra_cc_opts = [],
extra_ld_opts = []
c_includes = [ "HsXlib.h" ],
package_deps = [ "greencard" ],
extra_ghc_opts = [],
- extra_cc_opts = [],
- extra_ld_opts = []
+ extra_cc_opts = [ cX_CFLAGS ],
+ extra_ld_opts = [ cX_LIBS ]
}
,Package {
then [ "$libdir/imports/HGL" ]
else [ "$libdir/hslibs/graphics/lib/x11" ],
source_dirs = [],
- library_dirs = [],
+ library_dirs = if installing
+ then [ "$libdir" ]
+ else [ "$libdir/hslibs/graphics/lib/x11"],
hs_libraries = [ "HSHGL" ],
extra_libraries= [],
include_dirs = [],