From bd457ea549b9e30fca996a7a85e65b51bc306666 Mon Sep 17 00:00:00 2001 From: Rudi Grinberg Date: Thu, 15 Mar 2018 18:18:15 +0800 Subject: [PATCH] Use Env.t over string array in another place --- bin/main.ml | 1 + src/context.ml | 2 +- src/context.mli | 2 +- src/env.ml | 3 +++ src/env.mli | 2 ++ 5 files changed, 8 insertions(+), 2 deletions(-) diff --git a/bin/main.ml b/bin/main.ml index 318f1046..28f6539f 100644 --- a/bin/main.ml +++ b/bin/main.ml @@ -49,6 +49,7 @@ let set_common c ~targets = ] let restore_cwd_and_execve common prog argv env = + let env = Env.to_unix env in let prog = if Filename.is_relative prog then Filename.concat common.root prog diff --git a/src/context.ml b/src/context.ml index 794464c8..3cce4ab6 100644 --- a/src/context.ml +++ b/src/context.ml @@ -433,7 +433,7 @@ let env_for_exec t = (Config.local_install_man_dir ~context:t.name) ] in - Env.to_unix (Env.extend t.env ~vars:(Env.Map.of_list_exn vars)) + Env.extend t.env ~vars:(Env.Map.of_list_exn vars) let compiler t (mode : Mode.t) = match mode with diff --git a/src/context.mli b/src/context.mli index 974b0bd7..a1b54065 100644 --- a/src/context.mli +++ b/src/context.mli @@ -130,7 +130,7 @@ val opam_config_var : t -> string -> string option Fiber.t val install_prefix : t -> Path.t Fiber.t val install_ocaml_libdir : t -> Path.t option Fiber.t -val env_for_exec : t -> string array +val env_for_exec : t -> Env.t (** Return the compiler needed for this compilation mode *) val compiler : t -> Mode.t -> Path.t option diff --git a/src/env.ml b/src/env.ml index 7b625243..ce553e87 100644 --- a/src/env.ml +++ b/src/env.ml @@ -69,6 +69,9 @@ let add t ~var ~value = let extend t ~vars = make (Map.union t.vars vars ~f:(fun _ _ v -> Some v)) +let extend_env x y = + extend x ~vars:y.vars + let sexp_of_t t = let open Sexp.To_sexp in (list (pair string string)) (Map.to_list t.vars) diff --git a/src/env.mli b/src/env.mli index 7a91a654..37cd5fe1 100644 --- a/src/env.mli +++ b/src/env.mli @@ -17,6 +17,8 @@ val get : t -> Var.t -> string option val extend : t -> vars:string Map.t -> t +val extend_env : t -> t -> t + val add : t -> var:Var.t -> value:string -> t val diff : t -> t -> t