From 8859a644e9b5b2ab733977b837cc62fae4939456 Mon Sep 17 00:00:00 2001 From: Rudi Grinberg Date: Thu, 22 Mar 2018 22:44:21 +0800 Subject: [PATCH] When executing in the target, use the host's PATH variable --- src/context.ml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/context.ml b/src/context.ml index 22cb0caf..cda1caec 100644 --- a/src/context.ml +++ b/src/context.ml @@ -300,13 +300,20 @@ let create ~(kind : Kind.t) ~path ~env ~name ~merlin ~targets () = (Path.relative (Config.local_install_dir ~context:name) "lib") - ; extend_var "PATH" - (Config.local_install_bin_dir ~context:name) ; extend_var "MANPATH" (Config.local_install_man_dir ~context:name) ] in Env.extend env ~vars:(Env.Map.of_list_exn vars) + |> Env.update ~var:"PATH" ~f:(fun _ -> + match host with + | None -> + let _key, path = + extend_var "PATH" (Config.local_install_bin_dir ~context:name) in + Some path + | Some host -> + Env.get host.env "PATH" + ) in let stdlib_dir = Path.of_string (Ocaml_config.standard_library ocfg) in let natdynlink_supported = Ocaml_config.natdynlink_supported ocfg in