SYNOPSISpump BUILD-COMMAND [ARGS] ...
eval ` pump --startup `; BUILD-COMMAND [ARGS] ... ; pump --shutdown
DESCRIPTIONpump is part of distcc. It is used for distcc's pump mode. Distcc's pump mode accelerates remote compilation with distcc by also distributing preprocessing to the servers.
For a detailed description of pump mode, including most notably some important restrictions, see the distcc(1) man page, in particular the HOW PUMP-MODE WORKS section and the RESTRICTIONS ON PUMP MODE section.
The simplest usage is the form
- pump COMMAND [ARG] ...
An alternative way of invoking pump is to explicitly invoke "pump --startup" to start the include server and "pump --shutdown" to stop the include server. The "pump --startup" command will start up the include server, and will print out some environment variable settings. These environment variables are used to communicate between the pump-mode "distcc" client and the include server, and to communicate between "pump --startup" and "pump --shutdown". The caller of "pump --startup" is responsible for setting those environment variables before invoking "distcc" or "pump --shutdown".
eval `pump --startup`
Note that distcc's pump-mode assumes that sources files will not be
modified during the lifetime of the include server, so modifying source files during a build may cause inconsistent results.
INVOKING LSDISTCCWhen invoked in either the simple " pump COMMAND [ARG] ... " form, or as " pump --startup ", the pump script will invoke lsdistcc whenever DISTCC_POTENTIAL_HOSTS is set and DISTCC_HOSTS isn't. It will pass the value of DISTCC_POTENTIAL_HOSTS to lsdistcc and use the output of lsdistcc to set DISTCC_HOSTS.
- Displays summary instructions.
- Starts an include server, and outputs the environment variable settings needed for distcc(1) or pump --shutdown to access it.
- Shuts down an include server started up by pump --startup.
ENVIRONMENT VARIABLESThe following environment variables are all optional.
- The location of the distcc bin directory, which is normally inferred from the link-resolved dirname of argv. If this location is in fact the bin directory inside an installation (as will be the case when the pump script in the installation executes), then Python executables and distcc itself will be retrieved from the parent directory of the location.
- The distcc servers that will be queried by lsdistcc in order to produce a value for DISTCC_HOSTS. This value may be unset or null. In such cases, lsdistcc will not be invoked, and distcc will use DISTCC_HOSTS or the distcc hosts configuration file, as described in the "Host Specifications" section of distcc(1).
- This variable is passed through to distcc but only if DISTCC_POTENTIAL_HOSTS is not set.
- Extra arguments to pass to lsdistcc. See lsdistcc --help for more details.
- Extra arguments to pass to the include server.
- If set to "", then Python optimization is disabled.