Move some make variables around so they are available when cleaning
[ghc-hetmet.git] / compiler / main / DriverPipeline.hs
index c0aed96..387d5a1 100644 (file)
@@ -826,6 +826,7 @@ runPhase (Hsc src_flavour) stop hsc_env basename suff input_fn get_output_fn _ma
        src_timestamp <- liftIO $ getModificationTime (basename <.> suff)
 
        let force_recomp = dopt Opt_ForceRecomp dflags
+           hsc_lang = hscMaybeAdjustTarget dflags stop src_flavour (hscTarget dflags)
        source_unchanged <-
           if force_recomp || not (isStopLn stop)
                -- Set source_unchanged to False unconditionally if
@@ -842,7 +843,6 @@ runPhase (Hsc src_flavour) stop hsc_env basename suff input_fn get_output_fn _ma
                                  else return False
 
   -- get the DynFlags
-       let hsc_lang = hscMaybeAdjustTarget dflags stop src_flavour (hscTarget dflags)
        let next_phase = hscNextPhase dflags src_flavour hsc_lang
        output_fn  <- liftIO $ get_output_fn dflags next_phase (Just location4)
 
@@ -1305,12 +1305,14 @@ mkExtraCObj dflags xs
       oFile <- newTempName dflags "o"
       writeFile cFile $ unlines xs
       let rtsDetails = getPackageDetails (pkgState dflags) rtsPackageId
+          (md_c_flags, _) = machdepCCOpts dflags
       SysTools.runCc dflags
                      ([Option        "-c",
                        FileOption "" cFile,
                        Option        "-o",
                        FileOption "" oFile] ++
-                      map (FileOption "-I") (includeDirs rtsDetails))
+                      map (FileOption "-I") (includeDirs rtsDetails) ++
+                      map Option md_c_flags)
       return oFile
 
 -- generates a Perl skript starting a parallel prg under PVM