X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fmain%2FPackages.lhs;h=078b84c5f2fb0857a5fda97919f9f70580758206;hb=aa2ce971940119b46a7915e88402ae6d3a615ba4;hp=bbaf8468932a24673e619855881367b666dc8430;hpb=ee565d464248078a4f2d46f98667aa4fcdc56db4;p=ghc-hetmet.git diff --git a/compiler/main/Packages.lhs b/compiler/main/Packages.lhs index bbaf846..078b84c 100644 --- a/compiler/main/Packages.lhs +++ b/compiler/main/Packages.lhs @@ -42,15 +42,12 @@ import Config ( cProjectVersion ) import Name ( Name, nameModule_maybe ) import UniqFM import Module -import UniqSet import Util import Maybes ( expectJust, MaybeErr(..) ) import Panic import Outputable -#if __GLASGOW_HASKELL__ >= 603 -import System.Directory ( getAppUserDataDirectory ) -#else +#if __GLASGOW_HASKELL__ < 603 import Compat.Directory ( getAppUserDataDirectory ) #endif @@ -58,15 +55,15 @@ import System.Environment ( getEnv ) import Distribution.InstalledPackageInfo import Distribution.Package import Distribution.Version -import System.Directory ( doesFileExist, doesDirectoryExist, - getDirectoryContents ) -import Data.Maybe ( catMaybes ) -import Control.Monad ( foldM ) -import Data.List ( nub, partition, sortBy, isSuffixOf ) import FastString -import EXCEPTION ( throwDyn ) import ErrUtils ( debugTraceMsg, putMsg, Message ) +import System.Directory +import Data.Maybe +import Control.Monad +import Data.List +import Control.Exception ( throwDyn ) + -- --------------------------------------------------------------------------- -- The Package state @@ -110,9 +107,6 @@ import ErrUtils ( debugTraceMsg, putMsg, Message ) -- in a different DLL, by setting the DLL flag. data PackageState = PackageState { - origPkgIdMap :: PackageConfigMap, -- PackageId -> PackageConfig - -- The on-disk package database - pkgIdMap :: PackageConfigMap, -- PackageId -> PackageConfig -- The exposed flags are adjusted according to -package and -- -hide-package flags, and -ignore-package removes packages. @@ -170,7 +164,8 @@ initPackages dflags = do Just db -> return db (pkg_state, preload, this_pkg) <- mkPackageState dflags pkg_db [] (thisPackage dflags) - return (dflags{ pkgState = pkg_state, + return (dflags{ pkgDatabase = Just pkg_db, + pkgState = pkg_state, thisPackage = this_pkg }, preload) @@ -378,7 +373,8 @@ findWiredInPackages dflags pkgs preload this_package = do wired_in_pkgids = [ basePackageId, rtsPackageId, haskell98PackageId, - thPackageId ] + thPackageId, + ndpPackageId ] wired_in_names = map packageIdString wired_in_pkgids @@ -531,7 +527,6 @@ mkPackageState dflags orig_pkg_db preload0 this_package = do let new_dep_preload = filter (`notElem` preload0) dep_preload let pstate = PackageState{ preloadPackages = dep_preload, - origPkgIdMap = orig_pkg_db, pkgIdMap = pkg_db, moduleToPkgConfAll = mkModuleMap pkg_db }