* New options: --scan-includes, --disable-Werror
* Document all of the exit codes in the man page.
* Handle "-Wp,-MMD,...".
* Report a better error message if a host specification contains ",cpp"
but not ",lzo".
* Fix a bug where the "m4" directory wasn't included in the
source distribution tarball, which caused it to stop working
if you ran autogen.sh.
* Fixed a bug where the pump script was hard-coding /etc/distcc/hosts
rather than using the prefix specified to configure.
* Fixed build errors on Gentoo Linux and some other systems.
Changes 3.0:
* New "--without-avahi" option to configure.
* Fixed a problem where pump mode was falling back to local compilation
when compiling with -I options that refer to a subdirectory of one
of the default system include directories (Nils Klarlund, Fergus Henderson).
* Allow distcc to distribute commands that use "-MF<filename>"
rather than "-MF <filename>", and likewise for "-MT<target>".
* Fixed a build problem on ARM and Solaris systems.
* Fixed a build problem on some Linux systems.
* Fixed failure of "make install" on Cygwin.
* Fallback to local compilation for "-march=native" or "mtune=native"
* Fix for deadlock in pump mode.
* New protocol, version 3, allowing for preprocessing on distcc
servers ("pump" mode).
* New component: an include server for incremental static analysis of include
dependencies. This software is written in Python 2.4.
* Support for getting hosts via avahi.
* gcc debug option -d must be run locally because it produces secondary files.
* Improved checking for errors on socket connection.
distcc-2.18.2 "Bees and lavender" 2004-11-12
BUG FIXES:
* Fix problem in checking errno after connect(). Fix by Jean
Delvare and Dan Kegel.
PORTABILITY:
* Fix prototype problem causing build failure on amd64. Patch
from Andreas Jochens. (Debian #280399, #280644).
distcc-2.18.1 "Reality-based computing" 2004-11-03
BUG FIXES:
* Fix run-time warnings about gtk_tree_model_row_changed() when
built with recent versions of GTK+.
* gcc option -specs= must be run locally so that it can read the
local spec file. Reported by Chris Yeoh.
PORTABILITY:
* Fix Solaris build problem reported by Dimitri Papadopoulos.
* Fix problem with reading hosts files in DOS CRLF format.
Reported by Sebastien Perochon.
distcc-2.18 "Billionaires on stilts" 2004-10-12
BUG FIXES:
* Fix longjmp() bug that can cause distcc to crash when a timeout
elapses.
* Fix compile-time problem with dcc_trace when configured with
--enable-rfc2553. Reported by Greg Earle.
* Fix warning about warn_unused_result for older versions of gcc.
* No timeout on local preprocessing or on compilation. No
timeouts on DNS lookups other than whatever is built in to the
DNS resolver. There are timeouts on network transmission and on
opening connections.
* Remove mmap() for receive of uncompressed data, to avoid various
problems.
CHANGES:
* The --allow option is now mandatory for daemon mode. As a
security feature, distccd will refuse to run without an IP
access control list.
* conftest.* built by autoconf is always done locally, to make
configure tests faster and safer.
DOCUMENTATION:
* Better description of use with ccache.
PORTABILITY:
* Fix various warnings reported by Dimitri Papadopoulos.
* Fix Tru64 build problem reported by Gary V. Vaughan.
distcc-2.17 "Divers Alarums" 2004-07-31
FEATURES:
* Performance improvements for distccmon-gnome.
* Added timeous for connection to servers, transmission of jobs
and remote compilation. If the timeout expires, the job is run
locally. This should make distcc cope better if some or all of
the servers are unreachable or failing.
* Also add timeouts in server to kick out stalled or disconnected
clients.
BUG FIXES:
* If remote compilation fails because of a signal in a later phase
of the compilation causing an exit with code >=128, retry
compilation locally. Patch from Jakub Stachowski.
DOCUMENTATION:
* Manpage fix from Jean Delvare.
PORTABILITY:
* Cygwin portability fix for WCOREDUMP, reported by Eric Frias.
distcc-2.16 "Salt" 2004-07-08
SECURITY:
* Fix bug that might cause IP-based access control rules not to be
interpreted correctly on 64-bit platforms. (CAN-2004-0601)
BUG FIXES:
* Fix small memory leaks in distccmon-gnome and distccmon-text.
FEATURES:
* Use a GNOME status bar with a grab handle for distccmon-gnome.
Patch from Nathan Fredrickson.
PORTABILITY:
* Better detection of systems with a popt library installed but
no popt.h. Reported by Sean Kelly.
* Fix bug in reporting crashed daemon children that showed up on
systems without strsignal, such as Mac OS 10.2. Reported by
Benjamin Reed.
* Update testdistcc.py to work on ia64 linux.
INTERNAL:
* Simplify dcc_log_child_exited.
* Include copyright and licence in --version output, as suggested
by GNU programs.
* Fix crash bug in receiving LZO compressed data into a mmapped file.
* Remove redundant temporary file cleanup in non-forking mode.
* Client calculates and can display the overall throughput in preprocessed
bytes per second for remote jobs.
* The deprecated fork-after-exec mode controlled by the --no-prefork option
has been removed.
* mmap is no longer used for compressed data to simplify the code.
* Daemon now chdirs to $TMPDIR at startup rather than /. This allows dumping
core, among other things.
Changes:
distcc-2.14 "Lake Albina" 2004-05-02
FEATURES:
* The host file is looked up in $DISTCC_DIR/hosts, not hardcoded
to ~/.distcc/hosts. The default for $DISTCC_DIR is still
~/.distcc. Suggested by Sebastien Perochon.
* Source file name is included in success/failure messages, e.g.
distcc[6655] ERROR: compile ./cases/bad.c on cardhu failed
* distcc can now be built with a build directory separate from the
source directory. Patch from Dennis Henriksen.
DOCUMENTATION:
* Add documentation of DISTCC_DIR, and other fixes. Patch from
Thomas Schwinge.
* Slightly improved distcc --help.
BUG FIXES:
* Decompression buffer can dynamically resize to allow for very
gassy files. From a patch by Joe Buehler.
PORTABILITY:
* Add sample scripts for Red Hat / Fedora, by Colin Walters.
* mmap is always disabled on HP-UX, because the inconsistent page
case is a bit dangerous for the way distcc uses mmap. Suggested
by Joe Buehler.
distcc-2.13 "Carnal Bunt" 2004-03-02
SECURITY:
* Enforce IPv4 access control lists when the daemon is listening
on an IPv6 port. This only applies when the server was compiled
using --enable-rfc2553 and run with --allow.
FEATURES:
* Hash comments are allowed in host list files.
INTERNAL:
* Use TCP_DEFER_ACCEPT on Linux to avoid some wasted context
switching when a new connection comes in to the server.
BUG FIXES:
* Some fixes for connections over SSH when built using
--enable-rfc2553. Reported by Jeff Rizzo.
* Handle arguments like "-xcpp" and "-Wa,-xarch=v8". Suggested by
Ben Scarlet.
* Fix resource exhaustion when DISTCC_SAVE_TEMPS is set. Reported
by Mark DeGeorge.
* Fix problems in running IPv6-enabled builds on kernels without
IPv6 support. Reported by Lisa Seelye.
DOCUMENTATION:
* More instructions for distributors/packagers.
PORTABILITY:
* Many portability patches from Albert Chin. These patches were
tested on: AIX 4.3.2, 5.1; HP-UX 10.20, 11.00, 11i; IRIX 6.5;
Redhat Linux 7.1, 9; Solaris 2.5.1, 2.6, 7, 8, 9; Tru64 UNIX
4.0D, 5.1.
* Possibly fix mmap problem on HP-UX with compressed transfers.
Reported by Joe Buehler.
TESTING:
* Add test for compilation with compression.
* Testsuite portability patch from Albert Chin. The tests pass
on: HP-UX 10.20, 11.00, 11i; IRIX 6.5; Redhat Linux7.1, 9;
Solaris 7, 8, 9; Tru64 UNIX 4.0d, 5.1.
pkgsrc changes:
o Add a rc.d script to start distccd, by default this runs
as user "nobody".
o Use subst.mk instead of patching multiple files.
Changes since 2.11:
distcc-2.11.2 "Muscovado" 2003-10-23
BUG FIXES:
* Correct the handling of --without-gnome. Reported by Dimitri
Papadopoulos.
* Fatal signal handlers for client and daemon should reset the
signal vector before doing anything else, to protect against an
(unlikely) spin if the signal is re-sent.
* Corrections to .desktop file from Dag Wieers.
INTERNAL:
* Remove dependency on libglade for GTK+ and GNOME monitor
programs.
PORTABILITY:
* IRIX portability fixes from Dimitri Papadopoulos.
* Use AC_TYPE_SIGNAL to generate correct signal handler return
types. (It can be either int or void.)
DOCUMENTATION:
* Various manual updates.
* Update to xinetd example from Dag Wieers.
distcc-2.11.1 "Burnt sugar" 2003-10-08
FEATURES:
* The graphical monitor can now be configured with either
--with-gnome or --with-gtk. In the second case, the GNOME
libraries are not used. In both cases the resulting program is
called distccmon-gnome and the functional differences are fairly
small.
BUG FIXES:
* An error message is emitted and compilation fails if distcc
cannot use the specified TMPDIR. This can happen if distccd is
started by root with a TMPDIR only accessible to root.
Reported by Brett Dikeman.
* GNOME data files are now only installed when the application is
configured with --with-gnome or --with-gtk. Files are installed
into a distcc/ subdirectory of the configured data directory.
(By default this is /usr/local/share/distcc/). Reported by Erik
Jan Tromp and Noe`l Ko"the.
* Fix bug in sending compressed files where errors were ignored.
* C++ compilation using -frepo must be local. Reported by Andrew
Slater.
PORTABILITY:
* Don't use stdint.h, which is not available on FreeBSD 4-STABLE,
IRIX or Solaris. Reported by Frerich Raabe.
DOCUMENTATION:
* Corrections to distcc manpage reported by Lionel Sausin.
* Documentation of how to write monitor programs, from Frerich
Raabe.
INTERNAL:
* Fix state.h for use with C++. Patch from Frerich Raabe.
* Optional LZO1X compression of network traffic, to make distcc
faster on slow or overloaded networks. This is turned on by
appending ",lzo" to each host specification.
* The daemon by default allows 2+NCPUS, rather than 3*NCPUS. The
two extras are to allow for some processes to be blocked on
network IO, but allowing more than two of them is probably not
useful on multiprocessor machines.
* Larger files are sent and received using memory mappings where
possible.
* Use of mmap and compression makes distcc substantially faster in
at least some cases.
* Bug fixes
* New program distccmon-text shows the state of any distcc
processes run by the current user. It can be run by hand or
read by a shell script. Should be popular with vmstat fans.
* The standalone daemon now "preforks" before accepting
connections to reduce per-request overhead. Can be disabled by
--no-prefork, which restores the standard Unix behaviour.
* Bug fixes
* And much more..
* If $DISTCC_HOSTS is not set, the host list is taken from from
~/.distcc/hosts, if that exists, or otherwise $sysconfdir/distcc/hosts.
* Add --listen option to distccd, to control which IP address is
used to listen for connections. May be useful for access
control on dual-homed machines.
distcc is a program to distribute compilation of C or C++ code across
several machines on a network. distcc should always generate the same
results as a local compile, is simple to install and use, and is often
two or more times faster than a local compile.
distcc does not require all machines to share a filesystem, have
synchronized clocks, or to have the same libraries or header files
installed. Machines can be running different operating systems, as long
as they have compatible binary formats or cross-compilers.