1pump(1)                     General Commands Manual                    pump(1)
2
3
4

NAME

6       pump - accelerate remote compilation with distcc
7

SYNOPSIS

9       pump BUILD-COMMAND [ARGS]  ...
10
11       eval ` pump --startup `; BUILD-COMMAND [ARGS]  ...  ; pump --shutdown
12

DESCRIPTION

14       pump  is  part of distcc.  It is used for distcc's pump mode.  Distcc's
15       pump mode accelerates remote compilation with distcc by also distribut‐
16       ing preprocessing to the servers.
17
18       For  a  detailed  description of pump mode, including most notably some
19       important restrictions, see the distcc(1) man page, in  particular  the
20       HOW PUMP-MODE WORKS section and the RESTRICTIONS ON PUMP MODE section.
21
22       The simplest usage is the form
23              pump COMMAND [ARG]  ...
24       This  will start an include server for distcc's "pump" mode; optionally
25       run lsdistcc to compute the distcc host list; set some auxiliary  envi‐
26       ronment  variables;  change  PATH  to use the distcc client in the same
27       directory as the "pump" script;  execute  COMMAND  with  the  specified
28       ARG(s)   ; and then shut down the include server.  The COMMAND is typi‐
29       cally a parallel build command, such as "make -j80", that will do  many
30       concurrent invocations of distcc.
31
32       An  alternative  way  of  invoking  pump  is to explicitly invoke "pump
33       --startup" to start the include server and "pump  --shutdown"  to  stop
34       the  include  server.   The  "pump --startup" command will start up the
35       include server, and will print out some environment variable  settings.
36       These  environment  variables are used to communicate between the pump-
37       mode "distcc" client and the include server, and to communicate between
38       "pump --startup" and "pump --shutdown".  The caller of "pump --startup"
39       is responsible for setting those environment variables before  invoking
40       "distcc" or "pump --shutdown".
41
42       For example:
43              eval `pump --startup`
44              make -j80
45              pump --shutdown
46
47       Note that distcc's pump-mode assumes that sources files will not be
48        modified  during  the  lifetime  of  the  include server, so modifying
49       source files during a build may cause inconsistent results.
50

INVOKING LSDISTCC

52       When invoked in either the simple " pump COMMAND [ARG] ... "  form,  or
53       as  "  pump --startup ", the pump script will invoke lsdistcc  whenever
54       DISTCC_POTENTIAL_HOSTS is set and DISTCC_HOSTS isn't.  It will pass the
55       value  of  DISTCC_POTENTIAL_HOSTS  to  lsdistcc  and  use the output of
56       lsdistcc to set DISTCC_HOSTS.
57

OPTIONS

59       --help Displays summary instructions.
60
61       --startup
62              Starts an include server, and outputs the  environment  variable
63              settings needed for distcc(1) or pump --shutdown to access it.
64
65       --shutdown
66              Shuts down an include server started up by pump --startup.
67

ENVIRONMENT VARIABLES

69       The following environment variables are all optional.
70
71       DISTCC_LOCATION
72              The  location  of  the  distcc  bin directory, which is normally
73              inferred from the link-resolved  dirname  of  argv[0].  If  this
74              location is in fact the bin directory inside an installation (as
75              will be the case when the pump script in the  installation  exe‐
76              cutes),  then  Python  executables  and  distcc  itself  will be
77              retrieved from the parent directory of the location.
78
79       DISTCC_MAX_DISCREPANCY
80              see the distcc(1) man page.
81
82       DISTCC_POTENTIAL_HOSTS
83              The distcc servers that will be queried by lsdistcc in order  to
84              produce  a  value  for DISTCC_HOSTS.  This value may be unset or
85              null. In such cases, lsdistcc will not be  invoked,  and  distcc
86              will use DISTCC_HOSTS or the distcc hosts configuration file, as
87              described in the "Host Specifications" section of distcc(1).
88
89       DISTCC_HOSTS
90              This  variable  is  passed  through  to  distcc  but   only   if
91              DISTCC_POTENTIAL_HOSTS is not set.
92
93       LSDISTCC_ARGS
94              Extra  arguments  to  pass to lsdistcc.  See lsdistcc --help for
95              more details.
96
97       INCLUDE_SERVER_ARGS
98              Extra arguments to pass to the include server.
99
100       PYTHONOPTIMIZE
101              If set to "", then Python optimization is disabled.
102

EXAMPLE

104       pump make -j20
105

BUGS

107       If you think you have found a distcc bug, please see the  file  report‐
108       ing-bugs.txt  in  the documentation directory for information on how to
109       report it.
110

AUTHORS

112       The pump script and distcc's pump mode were written by  Nils  Klarlund,
113       Manos  Renieris, Fergus Henderson, and Craig Silverstein. Please report
114       bugs to <distcc@lists.samba.org>.
115

LICENCE

117       pump is part of distcc.  You are free to use distcc.  distcc (including
118       this  manual)  may  be  copied,  modified or distributed only under the
119       terms of the GNU General Public Licence version  2  or  later.   distcc
120       comes  with  absolutely  no warranty.  A copy of the GPL is included in
121       the file COPYING.
122

SEE ALSO

124       distcc(1), distccd(1), include_server(1), gcc(1), and make(1)
125
126
127
128                                  9 June 2008                          pump(1)
Impressum