X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fmain%2FDriverPipeline.hs;h=fd5554486ff72971d3db27b103ffffb88887882b;hb=d04e338c3b78fb76341e374bf776b14cbca78bd1;hp=39feb18eaaba10d59140d555119b580b375093a4;hpb=7e4010e68c62f101d7de4eafd16dec94ea0085f0;p=ghc-hetmet.git diff --git a/compiler/main/DriverPipeline.hs b/compiler/main/DriverPipeline.hs index 39feb18..fd55544 100644 --- a/compiler/main/DriverPipeline.hs +++ b/compiler/main/DriverPipeline.hs @@ -835,6 +835,13 @@ runPhase cc_phase _stop dflags _basename _suff input_fn get_output_fn maybe_loc pkg_extra_cc_opts <- getPackageExtraCcOpts dflags pkgs +#ifdef darwin_TARGET_OS + pkg_framework_paths <- getPackageFrameworkPath dflags pkgs + let cmdline_framework_paths = frameworkPaths dflags + let framework_paths = map ("-F"++) + (cmdline_framework_paths ++ pkg_framework_paths) +#endif + let split_objs = dopt Opt_SplitObjs dflags split_opt | hcc && split_objs = [ "-DUSE_SPLIT_MARKERS" ] | otherwise = [ ] @@ -907,6 +914,9 @@ runPhase cc_phase _stop dflags _basename _suff input_fn get_output_fn maybe_loc else []) ++ [ verb, "-S", "-Wimplicit", cc_opt ] ++ [ "-D__GLASGOW_HASKELL__="++cProjectVersionInt ] +#ifdef darwin_TARGET_OS + ++ framework_paths +#endif ++ cc_opts ++ split_opt ++ include_paths @@ -1097,8 +1107,8 @@ runPhase_MoveBinary dflags input_fn dep_packages case (dynLibLoader dflags) of Wrapped wrapmode -> do - let (o_base, o_ext) = splitFilename input_fn - let wrapped_executable | o_ext == "exe" = (o_base ++ "_real") `joinFileExt` o_ext + let (o_base, o_ext) = splitExtension input_fn + let wrapped_executable | o_ext == "exe" = (o_base ++ "_real") <.> o_ext | otherwise = input_fn ++ "_real" behaviour <- wrapper_behaviour dflags wrapmode dep_packages