Commit 916a1cab authored by Ian Lynagh's avatar Ian Lynagh
Browse files

When registering base during installation, don't hide GHC.Prim

parent 4630ac74
...@@ -6,7 +6,6 @@ import Distribution.Simple.Configure ...@@ -6,7 +6,6 @@ import Distribution.Simple.Configure
import Distribution.Simple.LocalBuildInfo import Distribution.Simple.LocalBuildInfo
import Distribution.Simple.Utils import Distribution.Simple.Utils
import Distribution.Verbosity import Distribution.Verbosity
import System.Cmd
import System.Environment import System.Environment
import System.Info import System.Info
...@@ -50,22 +49,24 @@ doit pref ghcpkg verbosity = ...@@ -50,22 +49,24 @@ doit pref ghcpkg verbosity =
then ["wsock32", "msvcrt", "kernel32", then ["wsock32", "msvcrt", "kernel32",
"user32", "shell32"] "user32", "shell32"]
else [] else []
lib' = case library pd of mkLib filt = case library pd of
Just lib -> Just lib ->
let ems = filter (("GHC.Prim" /=)) let ems = filter filt $ exposedModules lib
$ exposedModules lib lib_bi = libBuildInfo lib
lib_bi = libBuildInfo lib lib_bi' = lib_bi {
lib_bi' = lib_bi { extraLibs = extraExtraLibs
extraLibs = extraExtraLibs ++ extraLibs lib_bi
++ extraLibs lib_bi }
} in lib {
in lib { exposedModules = ems,
exposedModules = ems, libBuildInfo = lib_bi'
libBuildInfo = lib_bi' }
} Nothing ->
Nothing -> error "Expected a library, but none found"
error "Expected a library, but none found" -- There's no files for GHC.Prim, so we will fail if we
pd' = pd { library = Just lib' } -- try to copy them
pd_copy = pd { library = Just (mkLib ("GHC.Prim" /=)) }
pd_reg = pd { library = Just (mkLib (const True)) }
-- When coying, we need to actually give a concrete -- When coying, we need to actually give a concrete
-- directory to copy to rather than "$topdir" -- directory to copy to rather than "$topdir"
lbi_copy = lbi { prefix = pref } lbi_copy = lbi { prefix = pref }
...@@ -73,8 +74,8 @@ doit pref ghcpkg verbosity = ...@@ -73,8 +74,8 @@ doit pref ghcpkg verbosity =
-- $compiler/lib/ part of libsubdir, so we only want the -- $compiler/lib/ part of libsubdir, so we only want the
-- $pkgid part in the package.conf file. This is a bit of -- $pkgid part in the package.conf file. This is a bit of
-- a hack, really. -- a hack, really.
lbi_register = lbi { libsubdir = "$pkgid" } lbi_reg = lbi { libsubdir = "$pkgid" }
(copyHook simpleUserHooks) pd' lbi_copy userHooks copyFlags (copyHook simpleUserHooks) pd_copy lbi_copy userHooks copyFlags
(regHook simpleUserHooks) pd' lbi_register userHooks registerFlags (regHook simpleUserHooks) pd_reg lbi_reg userHooks registerFlags
return () return ()
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment