- Always enable CCACHE_CPP2 on CURRENT after clang became the default.
This fixes building ports with ccache+clang without needing CCACHE_CPP2
set in make.conf. This fix will be removed once upstream ccache has a
working fix for this.
Note that this does not fix the issue if building on non-CURRENT with
CC=clang

- Fix ccache for CURRENT world builds by automatically defining
CCACHE_CPP2=1 when COMPILER_TYPE=clang (this will be removed
once upstream fixes the issue). This does not address port
builds yet.
- Add more hints for building with clang
- Split MASTER_SITES into 2 lines
- Note that textproc/libexttextcat is an example port that currently
fails to build with clang+ccache due to bug 8118 ('unused -I'). I
plan to add the upstream patch to fix this after more testing.

Provide make.conf/src.conf instructions that still allow ccache to be used for
the lib32 bits in a buildworld. The recent committed fix would just revert to
regular gcc.
Submitted by: Rob Farmer <rfarmer@predatorlabs.net> (via cvs-all@)

Update to 3.1.1
Excerpt from the ChangeLog:
* ccache now falls back to preprocessor mode when a non-regular include file
(device, socket, etc) has been detected so that potential hanging due to
blocking reads is avoided.
* CRC errors are now detected when decompressing compressed files in the
cache.
* Fixed potential object file corruption race on NFS.
* Minor documentation corrections.
* Fixed configure detection of ar.

Update CONFIGURE_ARGS for how we pass CONFIGURE_TARGET to configure script.
Specifically, newer autoconf (> 2.13) has different semantic of the
configure target. In short, one should use --build=CONFIGURE_TARGET
instead of CONFIGURE_TARGET directly. Otherwise, you will get a warning
and the old semantic may be removed in later autoconf releases.
To workaround this issue, many ports hack the CONFIGURE_TARGET variable
so that it contains the ``--build='' prefix.
To solve this issue, under the fact that some ports still have
configure script generated by the old autoconf, we use runtime detection
in the do-configure target so that the proper argument can be used.
Changes to Mk/*:
- Add runtime detection magic in bsd.port.mk

- Add support to turn off hasing the compiler size and mtime via a
enviroment variable, this aids in 'buildworld' and 'buildkernel'.
CCACHE_NOHASH_SIZE_MTIME
This tells ccache to not hash the real compiler's size and modi-
fication time. Normally this is the mechanism to detect compiler
upgrades. There are situations however, where even though the
compiler's size or modification time has changed you can safely
use the cached objects (e.g. if as part of your build system the
compiler is built as well and the compiler's source has not
changed; or if the compiler has only changes that do not affect
code generation). Use this feature only if you know what you are
doing.
Submitted by: schweikh

- Add a link to gcc32 since it's still used in some ports (ie openoffice)
- Move pkg-message in to a file (ccache-howto-freebsd.txt) that is now installed
in to DOCSDIR. ccache-howto-freebsd.txt is more informative than pkg-message
was, now has better examples so ccache will not fail with some ports that
don't like a full path to the compiler.
- Add a note about using distcc
- Bump PORTREVISION