Skip to content

Commit 22f2c97

Browse files
committed
fix after rebase
Signed-off-by: Hugo Heuzard <hugo.heuzard@gmail.com>
1 parent a3fd950 commit 22f2c97

File tree

3 files changed

+16
-7
lines changed

3 files changed

+16
-7
lines changed

src/dune_rules/exe_rules.ml

+6-1
Original file line numberDiff line numberDiff line change
@@ -173,10 +173,15 @@ let executables_rules ~sctx ~dir ~expander ~dir_contents ~scope ~compile_info
173173
files directly to improve perf. *)
174174
let link_deps, sandbox = Dep_conf_eval.unnamed ~expander exes.link_deps in
175175
let link_args =
176+
let use_standard_c_and_cxx_flags =
177+
match Dune_project.use_standard_c_and_cxx_flags project with
178+
| Some true -> Buildable.has_foreign_cxx exes.buildable
179+
| _ -> false
180+
in
176181
let open Action_builder.O in
177182
let link_flags =
178183
link_deps
179-
>>> Super_context.link_flags sctx ~dir ~expander ~flags:exes.link_flags
184+
>>> Super_context.link_flags sctx ~dir ~expander ~use_standard_c_and_cxx_flags ~flags:exes.link_flags
180185
in
181186
let+ flags = link_flags
182187
and+ ctypes_cclib_flags =

src/dune_rules/super_context.ml

+9-6
Original file line numberDiff line numberDiff line change
@@ -402,15 +402,18 @@ let foreign_flags t ~dir ~expander ~flags ~language =
402402
in
403403
Action_builder.memoize (sprintf "%s flags" name) flags
404404

405-
let link_flags t ~dir ~expander ~flags =
406-
let t = t.env_tree in
405+
let link_flags t ~dir ~expander ~use_standard_c_and_cxx_flags ~flags =
406+
let env_tree = t.env_tree in
407407
let default_from_env =
408-
get_node t ~dir >>| Env_node.link_flags |> Action_builder.memo_build_join
408+
get_node env_tree ~dir >>| Env_node.link_flags |> Action_builder.memo_build_join
409409
in
410410
let default_extra =
411-
let open Action_builder.O in
412-
let+flags = Cxx_flags.get_flags ~for_:Link dir in
413-
List.concat_map flags ~f:(fun f -> [ "-cclib"; f ])
411+
if use_standard_c_and_cxx_flags
412+
then
413+
let open Action_builder.O in
414+
let+flags = Cxx_flags.get_flags ~for_:Link dir in
415+
List.concat_map flags ~f:(fun f -> [ "-cclib"; f ])
416+
else Action_builder.return []
414417
in
415418
let default =
416419
let open Action_builder.O in

src/dune_rules/super_context.mli

+1
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ val link_flags :
9090
t
9191
-> dir:Path.Build.t
9292
-> expander:Expander.t
93+
-> use_standard_c_and_cxx_flags:bool
9394
-> flags:Ordered_set_lang.Unexpanded.t
9495
-> string list Action_builder.t
9596

0 commit comments

Comments
 (0)