Hadrian: remove superfluous dependencies in Rules.Compile
authorAlp Mestanogullari <alpmestan@gmail.com>
Tue, 11 Jun 2019 12:27:17 +0000 (14:27 +0200)
committerMarge Bot <ben+marge-bot@smart-cactus.org>
Fri, 14 Jun 2019 03:35:56 +0000 (23:35 -0400)
Each package's object files were 'need'ing the library files of all transitive
dependencies of the current package, whichi is pointless since the said
libraries are not needed until we link those object files together.

This fixes #16759.

hadrian/src/Rules/Compile.hs

index 50915f3..2227bb0 100644 (file)
@@ -10,7 +10,6 @@ import Rules.Generate
 import Settings
 import Target
 import Utilities
-import Rules.Library
 
 import qualified Text.Parsec as Parsec
 
@@ -177,7 +176,6 @@ compileHsObjectAndHi rs objpath = do
   ctxPath <- contextPath ctx
   (src, deps) <- lookupDependencies (ctxPath -/- ".dependencies") objpath
   need (src:deps)
-  needLibrary =<< contextDependencies ctx
 
   -- The .dependencies file lists indicating inputs. ghc will
   -- generally read more *.hi and *.hi-boot files (direct inputs).