B00.ToolCommand line tools.
A tool is specified either by name, to be looked up via an unspecified mecanism, or by a file path to an executable file. It declares the environment variables it accesses in the process environment and whether and how it supports response files.
By default declared environment variables are assumed to influence the tool's output and are part of the stamp used to memoize tool spawns. If an environment variable is accessed by the tool but does not influence its output it should be declared as unstamped. Variables specifying the location of temporary file directories are good examples of unstamped variables.
Portability. In order to maximize portability no .exe suffix should be added to executable names on Windows, the search procedure will add the suffix during the tool search procedure if absent.
val tmp_vars : env_varstmp_vars is ["TMPDIR"; "TEMP"; "TMP"].
val response_file_of : (B00_std.Cmd.t -> string) -> (B00_std.Fpath.t -> B00_std.Cmd.t) -> response_fileresponse_file_of to_file cli is a response file specification that uses to_file cmd to convert the command line cmd to a response file content and cli f a command line fragment to be given to the tool so that it treats file f as a response file.
val args0 : response_fileargs0 is response file support for tools that reads null byte (0x00) terminated arguments response files via an -args0
      FILE command line synopsis.
val v : ?response_file:response_file -> ?unstamped_vars:env_vars -> ?vars:env_vars -> B00_std.Cmd.tool -> tv ~response_file ~unstamped_vars ~vars cmd is a tool specified by cmd. vars are the stamped variables accessed by the tool (defaults to []). unstamped_vars are the unstamped variables accessed by the tool (defaults to tmp_vars). response_file defines the reponse file support for the tool (if any).
val by_name : ?response_file:response_file -> ?unstamped_vars:env_vars -> ?vars:env_vars -> string -> tby_name is like v but reference the tool directly via a name.
val name : t -> B00_std.Cmd.toolname t is t's tool name. If this is a relative file path with a single segment the tool is meant to be searched via an external mecanism.
unstamped_vars t are the unstamped environment variables accessed by t.
val response_file : t -> response_file optionresponse_file t is t's response file specification (if any).
val read_env : t -> B00_std.Os.Env.t -> B00_std.Os.Env.t * B00_std.Os.Env.tread_env t env is (all, stamped) with all the environment with the variables of env that are in vars t and unstamped_vars t and stamped those of vars t only.