+mkExtraCObj :: DynFlags -> [String] -> IO FilePath
+mkExtraCObj dflags xs
+ = do cFile <- newTempName dflags "c"
+ 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 Option md_c_flags)
+ return oFile
+