From 0fd5c83db264fcff05753cbc4d18663b31e9bc49 Mon Sep 17 00:00:00 2001 From: simonmar Date: Wed, 22 Jun 2005 08:25:38 +0000 Subject: [PATCH] [project @ 2005-06-22 08:25:38 by simonmar] pkgIdMap should include adjustments made by -package flags (it used to; I broke this yesterday). Also add origPkgIdMap for keeping the original package database - this might be needed in the future. --- ghc/compiler/main/Packages.lhs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/ghc/compiler/main/Packages.lhs b/ghc/compiler/main/Packages.lhs index 1df4e0f..137b3c0 100644 --- a/ghc/compiler/main/Packages.lhs +++ b/ghc/compiler/main/Packages.lhs @@ -138,11 +138,16 @@ data PackageState = PackageState { -- should be in reverse dependency order; that is, a package -- is always mentioned before the packages it depends on. + origPkgIdMap :: PackageConfigMap, -- PackageId -> PackageConfig + -- the full package database + pkgIdMap :: PackageConfigMap, -- PackageId -> PackageConfig - -- mapping derived from the package databases and - -- command-line package flags. + -- Derived from origPkgIdMap. + -- The exposed flags are adjusted according to -package and + -- -hide-package flags, and -ignore-package removes packages. moduleToPkgConfAll :: ModuleEnv [(PackageConfig,Bool)], + -- Derived from pkgIdMap. -- Maps Module to (pkgconf,exposed), where pkgconf is the -- PackageConfig for the package containing the module, and -- exposed is True if the package exposes that module. @@ -364,10 +369,11 @@ mkPackageState dflags orig_pkg_db = do -- Discover any conflicts at the same time, and factor in the new exposed -- status of each package. -- - let mod_map = mkModuleMap orig_pkg_db dep_exposed + let mod_map = mkModuleMap pkg_db dep_exposed return PackageState{ explicitPackages = dep_explicit, - pkgIdMap = orig_pkg_db, + origPkgIdMap = orig_pkg_db, + pkgIdMap = pkg_db, moduleToPkgConfAll = mod_map, basePackageId = basePackageId, rtsPackageId = rtsPackageId, -- 1.7.10.4