summaryrefslogtreecommitdiff
path: root/libraries/installPackage.hs
diff options
context:
space:
mode:
authorIan Lynagh <igloo@earth.li>2007-06-02 19:56:51 +0000
committerIan Lynagh <igloo@earth.li>2007-06-02 19:56:51 +0000
commit45d278c6376b55399671e4e87fd59e75f33c354b (patch)
tree1dbb39a6a28896653c531602c78370d1cedb55d7 /libraries/installPackage.hs
parent1abb3c63204c465f90326b945a9b173021198911 (diff)
downloadhaskell-45d278c6376b55399671e4e87fd59e75f33c354b.tar.gz
Copy more of base's hacks into installPackage; *sigh*
Diffstat (limited to 'libraries/installPackage.hs')
-rw-r--r--libraries/installPackage.hs20
1 files changed, 16 insertions, 4 deletions
diff --git a/libraries/installPackage.hs b/libraries/installPackage.hs
index f4fdfa795e..d42bf8cfbe 100644
--- a/libraries/installPackage.hs
+++ b/libraries/installPackage.hs
@@ -42,12 +42,24 @@ doit pref ghcpkg verbosity =
pdFile <- defaultPackageDesc verbosity
pd <- readPackageDescription verbosity pdFile
lbi <- getPersistBuildConfig
- let -- XXX This is an almighty hack, shadowing the base Setup.hs hack
+ let -- XXX These are almighty hacks, shadowing the base
+ -- Setup.hs hacks
+ extraExtraLibs = if pkgName (package pd) == "base"
+ then ["wsock32", "msvcrt", "kernel32",
+ "user32", "shell32"]
+ else []
lib' = case library pd of
Just lib ->
- lib {
- exposedModules = filter (("GHC.Prim" /=))
- $ exposedModules lib
+ let ems = filter (("GHC.Prim" /=))
+ $ 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"