Haskell Program Coverage
[ghc-hetmet.git] / compiler / main / Packages.lhs
index bbaf846..82e6448 100644 (file)
@@ -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)
 
@@ -531,7 +526,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
                           }