Skip to content

Commit

Permalink
Documentation fixes:
Browse files Browse the repository at this point in the history
1) Replace http://distcc.samba.org with the new google code location
2) Add favicon.ico from the distcc.samba.org site
3) Use [email protected] as the only distcc mailing list (there
   were at least three mailing lists scattered around the docs, some of
   which don't even exist anymore!)
4) Update man pages and other docs to not use "distcc-pump" anywhere;
   it's now "pump mode" or "distcc's pump mode", or "distcc-pump
   mode".

I also add, to the README, some discussion of scaling to hundreds of
machines.

Reviewed by fergus and klarlund
  • Loading branch information
csilvers committed May 30, 2008
1 parent 4f0a258 commit 8a00544
Show file tree
Hide file tree
Showing 18 changed files with 49 additions and 39 deletions.
2 changes: 1 addition & 1 deletion AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Author and maintainer emeritus of distcc:

Authors of "pump" functionality, and maintainers of distcc:

Nils Klarlund <distcc@googlegroups.com>
Nils Klarlund <distcc-pump@google.com>
Fergus Henderson
Craig Silverstein
Manos Renieris
Expand Down
2 changes: 1 addition & 1 deletion INSTALL
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Free Software Foundation; either version 2 of the License, or (at your
option) any later version. distcc comes with ABSOLUTELY NO WARRANTY,
for details see the licence.

Please report any problems to distcc@googlegroups.com.
Please report any problems to distcc@lists.samba.com.


QUICK SUMMARY
Expand Down
8 changes: 6 additions & 2 deletions README
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

distcc -- a free distributed C/C++ compiler system

http://distcc.samba.org/
http://code.google.com/p/distcc/

by Martin Pool <[email protected]>

Expand Down Expand Up @@ -41,7 +41,11 @@ regular gcc options and features work as normal.
distcc is designed to be used with GNU make's parallel-build feature
(-j). Shipping files across the network takes time, but few cycles on
the client machine. Any files that can be built remotely are
essentially "for free" in terms of client CPU.
essentially "for free" in terms of client CPU. This is even more true
in "pump" mode, where the client does not even have to take time to
preprocess the source files. distcc has been successfully used in
environments with hundreds of distcc servers, supporting dozens of
simultaneous compiles.

distcc is now reasonably stable and can successfully compile the Linux
kernel, rsync, KDE, GNOME (via GARNOME), Samba and Ethereal. distcc
Expand Down
4 changes: 2 additions & 2 deletions README.pump
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ server. The distcc server unpacks these files in the
The server also rewrites include options, such as -I's, to reflect the
new locations of the files on the server. The .d and the .o files are
both rewritten as necessary to refer to client-side filenames and
returned to the distcc-pump client.
returned to the pump-mode client.

Pump mode is able to distribute compilations up to 10X faster than
plain distcc. But because building also involves linking and perhaps
Expand All @@ -47,6 +47,6 @@ variable.

The pump mode was developed to be used with large clusters of distcc
servers, providing hundreds of CPUs. With versions of gcc >= 4.1.1,
the distcc-pump will probably not show major performance gains using
pump mode will probably not show major performance gains using
clusters of less than ten CPUs. The preprocessor running on the
workstation is fast enough to keep that many machines busy.
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ dnl Process this file with autoconf to produce a configure script

# As of 0.6cvs, distcc no longer uses automake, only autoconf.
AC_PREREQ(2.53)
AC_INIT(distcc, 3.0prerelease3, distcc[email protected])
AC_INIT(distcc, 3.0prerelease3, distcc@lists.samba.org)

AC_CONFIG_HEADERS(src/config.h)
AC_CANONICAL_HOST
Expand Down
2 changes: 1 addition & 1 deletion doc/example/init
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#
# chkconfig: - 60 20
# description: The distcc deamon
# http://distcc.samba.org
# http://code.google.com/p/distcc/
#
# processname: distccd

Expand Down
2 changes: 1 addition & 1 deletion doc/web/compared.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
productivity, speed, time, tool, performance, hardware,
agents, nfs, libraries, source, headers, workload,
buildfarm, farm, server, cluster, clustered, clustering, MOSIX, OpenMOSIX">
<link rel="SHORTCUT ICON" href="http://distcc.samba.org/favicon.ico">
<link rel="SHORTCUT ICON" href="favicon.ico">
<link type="text/css" rel="stylesheet" href="distcc-green.css">
<link type="text/html" rel="top" href="index.html">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
Expand Down
2 changes: 1 addition & 1 deletion doc/web/compilers.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
productivity, speed, time, tool, performance, hardware,
agents, nfs, libraries, source, headers, workload,
buildfarm, farm, server, cluster, clustered, clustering, MOSIX, OpenMOSIX">
<link rel="SHORTCUT ICON" href="http://distcc.samba.org/favicon.ico">
<link rel="SHORTCUT ICON" href="favicon.ico">
<link type="text/css" rel="stylesheet" href="distcc-green.css">
<link type="text/html" rel="top" href="index.html">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
Expand Down
2 changes: 1 addition & 1 deletion doc/web/faq.html
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
agents, nfs, libraries, source, headers, workload,
buildfarm, farm, server, cluster, clustered, clustering, MOSIX, OpenMOSIX">
<meta name="description" content="distcc is a fast, free distributed C and C++ compiler.">
<link rel="SHORTCUT ICON" href="http://distcc.samba.org/favicon.ico">
<link rel="SHORTCUT ICON" href="favicon.ico">
<link type="text/css" rel="stylesheet" href="distcc-green.css">
<link type="text/html" rel="top" href="index.html">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
Expand Down
Binary file added doc/web/favicon.ico
Binary file not shown.
4 changes: 2 additions & 2 deletions doc/web/index.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<html>
<head><title>distcc: a fast, free distributed C/C++ compiler</title>
<link rel="SHORTCUT ICON" href="http://distcc.samba.org/favicon.ico">
<link rel="SHORTCUT ICON" href="favicon.ico">
<link type="text/css" rel="stylesheet" href="distcc-green.css">
<link type="text/html" rel="top" href="index.html">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
Expand Down Expand Up @@ -130,7 +130,7 @@ <h1 class="title">distcc: a fast, free distributed C/C++ compiler</h1>
<a href="http://www.kde.org/">KDE</a>,
<a href="http://www.gnome.org">GNOME</a> (via
<a href="http://www.gnome.org/~jdub/garnome/">GARNOME</a>),
<a href="http://distcc.samba.org/">Samba</a> and
<a href="http://www.samba.org/">Samba</a> and
<a href="http://www.ethereal.com/">Ethereal</a>.

<p>
Expand Down
2 changes: 1 addition & 1 deletion doc/web/results.html
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
agents, nfs, libraries, source, headers, workload,
buildfarm, farm, server, cluster, clustered, clustering, MOSIX, OpenMOSIX">
<meta name="description" content="distcc is a fast, free distributed C and C++ compiler.">
<link rel="SHORTCUT ICON" href="http://distcc.samba.org/favicon.ico">
<link rel="SHORTCUT ICON" href="favicon.ico">
<link type="text/css" rel="stylesheet" href="distcc-green.css">
<link type="text/html" rel="top" href="index.html">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
Expand Down
2 changes: 1 addition & 1 deletion doc/web/scenarios.html
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
agents, nfs, libraries, source, headers, workload,
buildfarm, farm, server, cluster, clustered, clustering, MOSIX, OpenMOSIX">
<meta name="description" content="distcc is a fast, free distributed C and C++ compiler.">
<link rel="SHORTCUT ICON" href="http://distcc.samba.org/favicon.ico">
<link rel="SHORTCUT ICON" href="favicon.ico">
<link type="text/css" rel="stylesheet" href="distcc-green.css">
<link type="text/html" rel="top" href="index.html">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
Expand Down
2 changes: 1 addition & 1 deletion doc/web/security.html
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
agents, nfs, libraries, source, headers, workload,
buildfarm, farm, server, cluster, clustered, clustering, MOSIX, OpenMOSIX">
<meta name="description" content="distcc is a fast, free distributed C and C++ compiler.">
<link rel="SHORTCUT ICON" href="http://distcc.samba.org/favicon.ico">
<link rel="SHORTCUT ICON" href="favicon.ico">
<link type="text/css" rel="stylesheet" href="distcc-green.css">
<link type="text/html" rel="top" href="index.html">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
Expand Down
34 changes: 18 additions & 16 deletions man/distcc.1
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ compile, it is simple to install and use, and it is often much faster than a
local compile.
.PP
This version incorporates plain distcc as well as an enhancement called
pump mode, or distcc-pump.
"pump mode", or distcc-pump.
.PP
For each job, distcc in plain mode sends the complete preprocessed source code
and compiler arguments across the network from the client to a compilation
Expand All @@ -32,7 +32,7 @@ order of magnitude over plain distcc.
.PP
Compilation is driven by a client machine, which is typically the developer's
workstation or laptop. The distcc client runs on this machine, as does make,
the preprocessor (if distcc-pump mode is not used), the linker, and other
the preprocessor (if distcc's pump mode is not used), the linker, and other
stages of the build process. Any number of volunteer machines act as
compilation servers and help the client to build the program, by running the
.B distccd(1)
Expand Down Expand Up @@ -84,7 +84,7 @@ client due to preprocessing. Such large values may speed up parts of the build
that do not involve C compilations, but they may not be useful to distcc
efficiency in plain mode.

In contrast, with distcc-pump and say 40 servers, a setting of
In contrast, using pump mode and say 40 servers, a setting of
.B -j80
or larger may be appropriate even for single-CPU clients.
.PP
Expand Down Expand Up @@ -125,9 +125,10 @@ $ export DISTCC_HOSTS='--randomize localhost red,cpp,lzo green,cpp,lzo blue,cpp,

The
.B --randomize
option enforces a uniform usage of compile servers. To enjoy distcc-pump, you
will really need 10 or more server CPUs. Wrap your build inside the pump
command, here assuming 10 servers:
option enforces a uniform usage of compile servers. While you will
get some benefit from distcc's pump mode with only a few servers, you
get increasing benefit with more server CPUs (up to the hundreds!).
Wrap your build inside the pump command, here assuming 10 servers:

.RS
$ pump make -j20 CC=distcc
Expand All @@ -153,9 +154,10 @@ phases are being invoked, and whether the job can be
distributed.

.SH "HOW DISTCC-PUMP MODE WORKS"
distcc-pump runs the prepreprocessor remotely too. To do so, the preprocessor
must have access to all the files that it would have accessed if had been running
locally. distcc-pump therefore gathers all of the recursively included headers,
In pump mode, distcc runs the prepreprocessor remotely too. To do so,
the preprocessor must have access to all the files that it would
have accessed if had been running locally. In pump mode, therefore,
distcc gathers all of the recursively included headers,
except the ones that are part of the compiler installation, and sends them along
with the source file to the compilation server.

Expand All @@ -166,7 +168,7 @@ the file system that is relevant to preprocessing, including symbolic links.
The compiler is then run from the path in the temporary directory that
corresponds to the current working directory on the client.
To find and transmit the many hundreds of files that are often part of a single
compilation, distcc-pump uses an incremental include analysis algorithm. The
compilation, pump mode uses an incremental include analysis algorithm. The
include server, which is a Python program started by the pump script wrapper,
implements this algorithm.

Expand All @@ -185,7 +187,7 @@ drop by close to an order of magnitude over plain distcc. Additionally,
compression time can drop by a factor of ten to one-hundred over plain distcc's
time for compressing the preprocessed files.

As a result, distcc-pump mode is able to push out files up to about ten times
As a result, distcc in pump mode is able to push out files up to about ten times
faster than distcc. The total build time may drop 30-70% for large builds
compared to plain distcc mode.

Expand Down Expand Up @@ -303,7 +305,7 @@ source and so will never get a cache hit if it is run from distccd or
distcc. It must be run only on the client side and before distcc to
be any use.

distcc-pump mode is not compatible with ccache.
distcc's pump mode is not compatible with ccache.
.SH "HOST SPECIFICATIONS"
A "host list" tells distcc which machines to use for compilation. In
order, distcc looks in the
Expand Down Expand Up @@ -483,7 +485,7 @@ messages. Compression is usually economical on networks slower than
source tree.
.PP
Enabling compression makes the distcc client and server use more CPU time, but
less network traffic. The added CPU time is insignificant for distcc-pump. The
less network traffic. The added CPU time is insignificant for pump mode. The
compression ratio is typically 4:1 for source and 2:1 for object code.
.PP
Using compression requires both client and server to use at least
Expand Down Expand Up @@ -727,7 +729,7 @@ parts, but rather runs the whole thing locally.
distcc-pump mode reverts to plain distcc mode for source files that contain
includes with absolute paths (either directly or in an included file).
.PP
The .o files produced by discc-pump will be different from those produced
The .o files produced by discc in pump mode will be different from those produced
locally: for non-ELF files, the debug information will specify compile
directories of the server. The code itself should be identical.
.PP
Expand All @@ -741,7 +743,7 @@ includes as found in parts of the boost library. The include server will time
out and distcc will revert to plain mode.
.PP
Other known bugs may be documented on
.I http://distcc.samba.org/
.I http://code.google.com/p/distcc/
.SH "AUTHOR"
distcc was written by Martin Pool <[email protected]>, with the
co-operation of many scholars including Wayne Davison, Frerich Raabe,
Expand All @@ -755,5 +757,5 @@ absolutely no warrany. A copy of the GPL is included in the file
COPYING.
.SH "SEE ALSO"
distccd(1), ccache(1), gcc(1), make(1)
.I http://distcc.samba.org/
.I http://code.google.com/p/distcc/
.I http://ccache.samba.org/
2 changes: 1 addition & 1 deletion man/distccd.1
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,7 @@ Directory for temporary files such as preprocessor output. By default
/tmp/ is used.
.SH "SEE ALSO"
distcc(1), ccache(1), gcc(1), make(1)
.I http://distcc.samba.org/
.I http://code.google.com/p/distcc/
.SH "BUGS"
IP-based access control is not secure against attackers able to spoof
TCP connections, and cannot discriminate different users on a client.
Expand Down
4 changes: 3 additions & 1 deletion man/distccmon-text.1
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,6 @@ distccmon\-text
distcc was written by Martin Pool <[email protected]>, with the co\-operation of many scholars including Wayne Davison, Frerich Raabe, Dimitri Papadopoulos and others noted in the NEWS file. Please report bugs to <[email protected]>.
.SH "SEE ALSO"
.LP d
distccd(1), ccache(1), gcc(1), make(1) http://distcc.samba.org/ http://ccache.samba.org/
distccd(1), ccache(1), gcc(1), make(1)
http://code.google.com/p/distcc/
http://ccache.samba.org/
12 changes: 7 additions & 5 deletions man/pump.1
Original file line number Diff line number Diff line change
Expand Up @@ -29,18 +29,19 @@ The simplest usage is the form
.I COMMAND [ARG]
\& ...
.RE
This will start an include server for distcc-pump;
This will start an include server for distcc's "pump" mode;
optionally run
.B lsdistcc
to compute the distcc host list;
set some auxiliary environment variables;
change PATH to use the distcc-pump "distcc" client;
change PATH to use the distcc client in the same directory as the "pump"
script;
execute
.I COMMAND
with the specified
.I ARG(s)
\& ;
and then shutdown the include server.
and then shut down the include server.
The
.I COMMAND
is typically a parallel build command, such as
Expand All @@ -52,7 +53,7 @@ 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 distcc-pump "distcc" client and the include
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".
Expand All @@ -66,7 +67,8 @@ make -j80
pump --shutdown
.RE
.PP
Note that distcc-pump assumes that sources files will not be modified during
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.
.SH "INVOKING LSDISTCC"
Expand Down

0 comments on commit 8a00544

Please sign in to comment.