From 3569bc6b3a1a4f5afee5b9760f96e9fec39f7534 Mon Sep 17 00:00:00 2001 From: Luke Iannini Date: Thu, 11 Feb 2016 00:11:38 -0800 Subject: [PATCH] Check all object file suffixes for recompilation (#3128) Fixes #3128. (cherry picked from commit 5efc6341643e7fd98b33aea5a6ab96873d597787) --- Cabal/Distribution/Simple/GHC.hs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Cabal/Distribution/Simple/GHC.hs b/Cabal/Distribution/Simple/GHC.hs index 270e2c3a613..fa6d8a8ff01 100644 --- a/Cabal/Distribution/Simple/GHC.hs +++ b/Cabal/Distribution/Simple/GHC.hs @@ -542,12 +542,13 @@ buildOrReplLib forRepl verbosity numJobs pkg_descr lbi lib clbi = do } odir = fromFlag (ghcOptObjDir vanillaCcOpts) createDirectoryIfMissingVerbose verbosity True odir - needsRecomp <- checkNeedsRecompilation filename vanillaCcOpts - when needsRecomp $ do - runGhcProg vanillaCcOpts - unless forRepl $ - whenSharedLib forceSharedLib (runGhcProg sharedCcOpts) - unless forRepl $ whenProfLib (runGhcProg profCcOpts) + let runGhcProgIfNeeded ccOpts = do + needsRecomp <- checkNeedsRecompilation filename ccOpts + when needsRecomp $ runGhcProg ccOpts + runGhcProgIfNeeded vanillaCcOpts + unless forRepl $ + whenSharedLib forceSharedLib (runGhcProgIfNeeded sharedCcOpts) + unless forRepl $ whenProfLib (runGhcProgIfNeeded profCcOpts) | filename <- cSources libBi] -- TODO: problem here is we need the .c files built first, so we can load them