Skip to content

Commit 21c3a6a

Browse files
author
Amine Choukir
committed
Adding missing README from svn to fix make install breakage
1 parent c36f5cf commit 21c3a6a

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

README

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
2+
distcc -- a free distributed C/C++ compiler system
3+
4+
http://code.google.com/p/distcc/
5+
6+
by Martin Pool <[email protected]>
7+
8+
"pump" functionality added by
9+
Fergus Henderson, Nils Klarlund, Manos Renieris, and Craig Silverstein
10+
(Google Inc.)
11+
12+
distcc is a program to distribute compilation of C or C++ code across
13+
several machines on a network. distcc should always generate the same
14+
results as a local compile, is simple to install and use, and is often
15+
two or more times faster than a local compile.
16+
17+
Unlike other distributed build systems, distcc does not require all
18+
machines to share a filesystem, have synchronized clocks, or to have
19+
the same libraries or header files installed. Machines can be running
20+
different operating systems, as long as they have compatible binary
21+
formats or cross-compilers.
22+
23+
By default, distcc sends the complete preprocessed source code across
24+
the network for each job, so all it requires of the volunteer machines
25+
is that they be running the distccd daemon, and that they have an
26+
appropriate compiler installed.
27+
28+
The distcc "pump" functionality, added in distcc 3.0, improves on
29+
distcc by distributing not only compilation but also preprocessing to
30+
distcc servers. This requires that the server and client have the same
31+
system headers (the client takes responsibility for transmitting
32+
application-specific headers). Given that, distcc in pump mode yields
33+
the same results that distcc would in non-pump mode, but faster, since
34+
the preprocessor no longer runs locally. For more details on the pump
35+
functionality, see README.pump.
36+
37+
distcc is not itself a compiler, but rather a front-end to the GNU
38+
C/C++ compiler (gcc), or another compiler of your choice. All the
39+
regular gcc options and features work as normal.
40+
41+
distcc is designed to be used with GNU make's parallel-build feature
42+
(-j). Shipping files across the network takes time, but few cycles on
43+
the client machine. Any files that can be built remotely are
44+
essentially "for free" in terms of client CPU. This is even more true
45+
in "pump" mode, where the client does not even have to take time to
46+
preprocess the source files. distcc has been successfully used in
47+
environments with hundreds of distcc servers, supporting dozens of
48+
simultaneous compiles.
49+
50+
distcc is now reasonably stable and can successfully compile the Linux
51+
kernel, rsync, KDE, GNOME (via GARNOME), Samba and Ethereal. distcc
52+
is nearly linearly scalable for small numbers of machines: for a
53+
typical case, three machines are 2.6 times faster than one.
54+
55+
distcc is distributed under the GNU General Public Licence v2.

0 commit comments

Comments
 (0)