let behaviour' = concatMap (\x -> if x=='\\' then "\\\\" else [x]) behaviour
renameFile input_fn wrapped_executable
let rtsDetails = (getPackageDetails (pkgState dflags) rtsPackageId);
+ (md_c_flags, _) = machdepCCOpts dflags
SysTools.runCc dflags
([ SysTools.FileOption "" ((head (libraryDirs rtsDetails)) ++ "/dyn-wrapper.c")
, SysTools.Option ("-DBEHAVIOUR=\"" ++ behaviour' ++ "\"")
, SysTools.Option "-o"
- , SysTools.FileOption "" input_fn
- ] ++ map (SysTools.FileOption "-I") (includeDirs rtsDetails))
+ , SysTools.FileOption "" input_fn] ++
+ map (SysTools.FileOption "-I") (includeDirs rtsDetails) ++
+ map Option md_c_flags)
return True
_ -> return True
| otherwise = return True
cpp_prog ([SysTools.Option verb]
++ map SysTools.Option include_paths
++ map SysTools.Option hsSourceCppOpts
+ ++ map SysTools.Option target_defs
++ map SysTools.Option hscpp_opts
++ map SysTools.Option cc_opts
- ++ map SysTools.Option target_defs
++ [ SysTools.Option "-x"
, SysTools.Option "c"
, SysTools.Option input_fn