Subject: CVS commit: pkgsrc/mk/compiler
To: None <pkgsrc-changes@NetBSD.org>
From: Johnny C. Lam <jlam@netbsd.org>
List: pkgsrc-changes
Date: 02/01/2004 00:31:00
Module Name: pkgsrc
Committed By: jlam
Date: Sun Feb 1 00:31:00 UTC 2004
Added Files:
pkgsrc/mk/compiler: bsd.compiler.mk ccache.mk distcc.mk gcc.mk
mipspro.mk sunpro.mk
Log Message:
New compiler specification framework, based on mk/compiler.mk. The
changes from the old compiler.mk are:
* Split apart the compiler-specific logic into separate files. This
should make supporting other compilers a bit easier.
* Deprecate all of the USE_* compiler.mk variables, e.g. USE_GCC[23],
USE_SUNPRO, etc. It's all replaced with a new PKGSRC_COMPILER
variable.
* Clean up the GCC handling so that it's all controlled by a single
variable GCC_REQD. The following behaviour is expected:
(a) If USE_PKGSRC_GCC is defined, then pretend there is no GCC on
the system.
(b) If there is no GCC, then the appropriate GCC corresponding to
GCC_REQD is installed and used.
(c) If there is a GCC, if it satisfies GCC_REQD, then use it;
otherwise install and use the appropriate GCC package.
(d) If lang/gcc is installed and GCC_REQD > 2.95.3, then lang/gcc3
is installed and used.
(e) If lang/gcc3 is installed and GCC_REQD = 2.95.3, then gcc3 is
still used instead of installing lang/gcc.
New features include:
* PKGSRC_COMPILER takes a list of values specifying the chain of
compilers to call when building packages. Valid values are:
distcc distributed C/C++ (chainable)
ccache compiler cache (chainable)
gcc GNU
mipspro Silicon Graphics, Inc. MIPSpro
sunpro Sun Microsystems, Inc. WorkShip/Forte/Sun
ONE Studio
The default is "gcc". You can use ccache and/or distcc with an
appropriate PKGSRC_COMPILER setting, e.g. "ccache distcc gcc".
* Change GCC_REQD to hold a list of values that we scan through to
find the highest version of GCC required by the build. Package
Makefiles should now do "GCC_REQD+=..." instead of "GCC_REQD=...".
To generate a diff of this commit:
cvs rdiff -r0 -r1.1 pkgsrc/mk/compiler/bsd.compiler.mk \
pkgsrc/mk/compiler/ccache.mk pkgsrc/mk/compiler/distcc.mk \
pkgsrc/mk/compiler/gcc.mk pkgsrc/mk/compiler/mipspro.mk \
pkgsrc/mk/compiler/sunpro.mk
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.