+{-# OPTIONS -fno-cse #-}
+-- -fno-cse is needed for GLOBAL_VAR's to behave properly
+
-----------------------------------------------------------------------------
--
-- GHC Driver
import System.Directory
import System.FilePath
import System.IO
-import SYSTEM_IO_ERROR as IO
+import System.IO.Error as IO
import Control.Monad
import Data.List ( isSuffixOf )
import Data.Maybe
extCoreName = basename ++ ".hcr" }
let hsc_env' = hsc_env { hsc_dflags = dflags' }
- -- -no-recomp should also work with --make
+ -- -fforce-recomp should also work with --make
let force_recomp = dopt Opt_ForceRecomp dflags
source_unchanged = isJust maybe_old_linkable && not force_recomp
object_filename = ml_obj_file location
-- if the modification time on the executable is later than the
-- modification times on all of the objects, then omit linking
- -- (unless the -no-recomp flag was given).
+ -- (unless the -fforce-recomp flag was given).
e_exe_time <- IO.try $ getModificationTime exe_file
extra_ld_inputs <- readIORef v_Ld_inputs
extra_times <- mapM (IO.try . getModificationTime) extra_ld_inputs
where
-- Always link in the haskell98 package for static linking. Other
-- packages have to be specified via the -package flag.
- link_pkgs = [haskell98PackageId]
+ link_pkgs
+ | dopt Opt_AutoLinkPackages dflags = [haskell98PackageId]
+ | otherwise = []
-- ---------------------------------------------------------------------------