From 53bf9496dd5a9dbe5240bbb9112bc516fc8bd440 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 9 Feb 2014 10:34:25 +0200 Subject: [PATCH] Try to address #612 --- yesod-bin/GhcBuild.hs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/yesod-bin/GhcBuild.hs b/yesod-bin/GhcBuild.hs index 9a1e81f6..d50c77ed 100644 --- a/yesod-bin/GhcBuild.hs +++ b/yesod-bin/GhcBuild.hs @@ -42,7 +42,11 @@ import MonadUtils (liftIO) import Panic (throwGhcException, panic) import SrcLoc (Located, mkGeneralLocated) import qualified StaticFlags +#if __GLASGOW_HASKELL__ >= 707 +import DynFlags (ldInputs) +#else import StaticFlags (v_Ld_inputs) +#endif import System.FilePath (normalise, ()) import Util (consIORef, looksLikeModuleName) @@ -162,7 +166,15 @@ buildPackage' argv2 ld ar = do o_files <- mapM (\x -> compileFile hsc_env StopLn x) #endif non_hs_srcs +#if __GLASGOW_HASKELL__ >= 707 + let dflags4 = dflags3 + { ldInputs = map (DF.FileOption "") (reverse o_files) + ++ ldInputs dflags3 + } + GHC.setSessionDynFlags dflags4 +#else liftIO $ mapM_ (consIORef v_Ld_inputs) (reverse o_files) +#endif targets <- mapM (uncurry GHC.guessTarget) hs_srcs GHC.setTargets targets ok_flag <- GHC.load GHC.LoadAllTargets