X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fmain%2FPackages.lhs;h=0b7798333e787986f044d35a3af1d321e13da676;hb=5109078b26bdbf226acdf1b0fe7c2861a7114571;hp=9904fdf609a82fb1d5348dec94d330c566d0dd30;hpb=d5b1999089dd4a45cf872f88dd0d49e1207a3161;p=ghc-hetmet.git diff --git a/compiler/main/Packages.lhs b/compiler/main/Packages.lhs index 9904fdf..0b77983 100644 --- a/compiler/main/Packages.lhs +++ b/compiler/main/Packages.lhs @@ -268,9 +268,12 @@ mungePackagePaths top_dir ps = map munge_pkg ps munge_paths = map munge_path munge_path p - | Just p' <- maybePrefixMatch "$topdir" p = top_dir ++ p' + | Just p' <- maybePrefixMatch "$topdir" p = top_dir ++ p' + | Just p' <- maybePrefixMatch "$httptopdir" p = toHttpPath top_dir ++ p' | otherwise = p + toHttpPath p = "file:///" ++ p + -- ----------------------------------------------------------------------------- -- Modify our copy of the package database based on a package flag @@ -557,12 +560,12 @@ mkModuleMap pkg_db = foldr extend_modmap emptyUFM pkgids extend_modmap pkgid modmap = addListToUFM_C (++) modmap - [(m, [(pkg, m `elem` exposed_mods)]) | m <- all_mods] + ([(m, [(pkg, True)]) | m <- exposed_mods] ++ + [(m, [(pkg, False)]) | m <- hidden_mods]) where pkg = expectJust "mkModuleMap" (lookupPackage pkg_db pkgid) - exposed_mods = map mkModuleName (exposedModules pkg) - hidden_mods = map mkModuleName (hiddenModules pkg) - all_mods = exposed_mods ++ hidden_mods + exposed_mods = exposedModules pkg + hidden_mods = hiddenModules pkg pprPkg :: PackageConfig -> SDoc pprPkg p = text (showPackageId (package p)) @@ -704,5 +707,10 @@ dumpPackages :: DynFlags -> IO () dumpPackages dflags = do let pkg_map = pkgIdMap (pkgState dflags) putMsg dflags $ - vcat (map (text.showInstalledPackageInfo) (eltsUFM pkg_map)) + vcat (map (text.showInstalledPackageInfo.to_ipi) (eltsUFM pkg_map)) + where + to_ipi pkgconf@InstalledPackageInfo_{ exposedModules = e, + hiddenModules = h } = + pkgconf{ exposedModules = map moduleNameString e, + hiddenModules = map moduleNameString h } \end{code}