Add 'rec' to stmts in a 'do', and deprecate 'mdo'
[ghc-hetmet.git] / compiler / main / Packages.lhs
index 077a4eb..4c22b34 100644 (file)
@@ -556,12 +556,13 @@ shadowPackages pkgs preferred
    in  listToFM shadowed
  where
  check (shadowed,pkgmap) pkg
-      | Just oldpkg <- lookupUFM pkgmap (packageConfigId pkg)
-      = let
-          ipid_new = installedPackageId pkg
-          ipid_old = installedPackageId oldpkg
-        in
-        if ipid_old `elem` preferred
+      | Just oldpkg <- lookupUFM pkgmap (packageConfigId pkg),
+        let
+            ipid_new = installedPackageId pkg
+            ipid_old = installedPackageId oldpkg,
+        --
+        ipid_old /= ipid_new
+      = if ipid_old `elem` preferred
            then ( (ipid_new, ShadowedBy ipid_old) : shadowed, pkgmap )
            else ( (ipid_old, ShadowedBy ipid_new) : shadowed, pkgmap' )
       | otherwise
@@ -801,12 +802,20 @@ collectLinkOpts dflags ps = concat (map all_opts ps)
 packageHsLibs :: DynFlags -> PackageConfig -> [String]
 packageHsLibs dflags p = map (mkDynName . addSuffix) (hsLibraries p)
   where
-        non_dyn_ways = filter ((/= WayDyn) . wayName) (ways dflags)
+        ways0 = ways dflags
+
+        ways1 = filter ((/= WayDyn) . wayName) ways0
         -- the name of a shared library is libHSfoo-ghc<version>.so
         -- we leave out the _dyn, because it is superfluous
 
-        tag     = mkBuildTag (filter (not . wayRTSOnly) non_dyn_ways)
-        rts_tag = mkBuildTag non_dyn_ways
+        -- debug RTS includes support for -ticky and -eventlog
+        ways2 | WayDebug `elem` map wayName ways1 
+              = filter ((`notElem` [WayTicky,WayEventLog]) . wayName) ways1
+              | otherwise
+              = ways1
+
+        tag     = mkBuildTag (filter (not . wayRTSOnly) ways2)
+        rts_tag = mkBuildTag ways2
 
        mkDynName | opt_Static = id
                  | otherwise = (++ ("-ghc" ++ cProjectVersion))