Legend:
Library
Module
Module type
Parameter
Class
Class type
Command 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 also declares the environment variables it accesses in the process environment and whether and how it supports response files.
Declared environment variables are split into relevant and shielded variables. A relevant variable is a variable whose value influences the tool's output. A shielded variable is a variable whose value does not influence the tool's output but is nonetheless essential to its operation. Shielded environment variables do not appear in the spawn environment signature which is used to memoize tool spawns. Variables specifying the location of temporary file directories are good examples of shielded 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.
response_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.
v ~response_file ~shielded_vars ~vars cmd is a tool specified by cmd. vars are the relevant variables accessed by the tool (defaults to []). shielded_vars are the shielded variables accessed by the tool (defaults to tmp_vars). response_file defines the reponse file support for the tool (if any).
read_env t env is (all, relevant) with all the environment with the variables of env that are in vars t and shielded_vars t and relevant those of vars t only.