Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
pump(1)			    General Commands Manual		       pump(1)

NAME
       pump - accelerate remote	compilation with distcc

SYNOPSIS
       pump BUILD-COMMAND [ARGS]  ...

       eval ` pump --startup `;	BUILD-COMMAND [ARGS]  ...  ; pump --shutdown

DESCRIPTION
       pump  is	 part of distcc.  It is	used for distcc's pump mode.  Distcc's
       pump mode accelerates remote compilation	with distcc by also distribut-
       ing 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]  ...
       This  will start	an include server for distcc's "pump" mode; optionally
       run lsdistcc to compute the distcc host list; set some auxiliary	 envi-
       ronment variables; change PATH to use the distcc	client in the same di-
       rectory as the "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  concur-
       rent invocations	of distcc.

       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 in-
       clude 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".

       For example:
	      eval `pump --startup`
	      make -j80
	      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 " 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 ls-
       distcc 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 pump --shutdown to access it.

       --shutdown
	      Shuts down an include server started up by pump --startup.

ENVIRONMENT VARIABLES
       The following environment variables are all optional.

       DISTCC_LOCATION
	      The  location of the distcc bin directory, which is normally in-
	      ferred from the link-resolved dirname of argv[0].	If this	 loca-
	      tion  is	in  fact  the bin directory inside an installation (as
	      will be the case when the	pump script in the  installation  exe-
	      cutes),  then  Python  executables and distcc itself will	be re-
	      trieved 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_PO-
	      TENTIAL_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
       pump make -j20

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

AUTHORS
       The 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
       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)

NAME | SYNOPSIS | DESCRIPTION | INVOKING LSDISTCC | OPTIONS | ENVIRONMENT VARIABLES | EXAMPLE | BUGS | AUTHORS | LICENCE | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=pump&sektion=1&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help