Provided by: distcc-pump_3.3.3-2ubuntu1_amd64 

NAME
distcc-pump - accelerate remote compilation with distcc
SYNOPSIS
distcc-pump BUILD-COMMAND [ARGS] ...
eval ` distcc-pump --startup `; BUILD-COMMAND [ARGS] ... ; distcc-pump --shutdown
DESCRIPTION
distcc-pump 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
distcc-pump COMMAND [ARG] ...
This will start an include server for distcc's "pump" mode; optionally run lsdistcc to compute the distcc
host list; set some auxiliary environment variables; change PATH to use the distcc client in the same
directory as the "distcc-pump" script; execute COMMAND with the specified ARG(s) ; and then shut down
the include server. The COMMAND is typically a parallel build command, such as "make -j80", that will do
many concurrent invocations of distcc.
An alternative way of invoking distcc-pump is to explicitly invoke "distcc-pump --startup" to start the
include server and "distcc-pump --shutdown" to stop the include server. The "distcc-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 "distcc-pump --startup" and "distcc-pump --shutdown". The caller of
"distcc-pump --startup" is responsible for setting those environment variables before invoking "distcc"
or "distcc-pump --shutdown".
For example:
eval `distcc-pump --startup`
make -j80
distcc-pump --shutdown
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 LSDISTCC
When invoked in either the simple " distcc-pump COMMAND [ARG] ... " form, or as " distcc-pump --startup
", the distcc-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.
OPTIONS
--help Displays summary instructions.
--startup
Starts an include server, and outputs the environment variable settings needed for distcc(1) or
distcc-pump --shutdown to access it.
--shutdown
Shuts down an include server started up by distcc-pump --startup.
ENVIRONMENT VARIABLES
The following environment variables are all optional.
DISTCC_LOCATION
The location of the distcc bin directory, which is normally inferred from the link-resolved
dirname of argv[0]. 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.
DISTCC_MAX_DISCREPANCY
see the distcc(1) man page.
DISTCC_POTENTIAL_HOSTS
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).
DISTCC_HOSTS
This variable is passed through to distcc but only if DISTCC_POTENTIAL_HOSTS is not set.
LSDISTCC_ARGS
Extra arguments to pass to lsdistcc. See lsdistcc --help for more details.
INCLUDE_SERVER_ARGS
Extra arguments to pass to the include server.
PYTHONOPTIMIZE
If set to "", then Python optimization is disabled.
EXAMPLE
distcc-pump make -j20
BUGS
If you think you have found a distcc bug, please see the file reporting-bugs.txt in the documentation
directory for information on how to report it.
AUTHORS
The distcc-pump script and distcc's pump mode were written by Nils Klarlund, Manos Renieris, Fergus
Henderson, and Craig Silverstein. Please report bugs to <distcc@lists.samba.org>.
LICENCE
distcc-pump is part of distcc. You are free to use distcc. distcc (including this manual) may be
copied, modified or distributed only under the terms of the GNU General Public Licence version 2 or
later. distcc comes with absolutely no warranty. A copy of the GPL is included in the file COPYING.
SEE ALSO
distcc(1), distccd(1), include_server(1), gcc(1), and make(1)
9 June 2008 pump(1)