- let -- XXX This is an almighty hack, shadowing the base Setup.hs hack
- lib' = case library pd of
- Just lib ->
- lib {
- exposedModules = filter (("GHC.Prim" /=))
- $ exposedModules lib
- }
- Nothing ->
- error "Expected a library, but none found"
- pd' = pd { library = Just lib' }
+ let -- XXX These are almighty hacks, shadowing the base
+ -- Setup.hs hacks
+ extraExtraLibs = if (os == "mingw32") &&
+ (pkgName (package pd) == "base")
+ then ["wsock32", "msvcrt", "kernel32",
+ "user32", "shell32"]
+ else []
+ mkLib filt = case library pd of
+ Just lib ->
+ let ems = filter filt $ exposedModules lib
+ lib_bi = libBuildInfo lib
+ lib_bi' = lib_bi {
+ extraLibs = extraExtraLibs
+ ++ extraLibs lib_bi
+ }
+ in lib {
+ exposedModules = ems,
+ libBuildInfo = lib_bi'
+ }
+ Nothing ->
+ error "Expected a library, but none found"
+ -- There's no files for GHC.Prim, so we will fail if we
+ -- try to copy them
+ pd_copy = pd { library = Just (mkLib ("GHC.Prim" /=)) }
+ pd_reg = pd { library = Just (mkLib (const True)) }