At Mon, 14 Dec 2009 07:13:53 -0500, Greg Troxel <gdt%ir.bbn.com@localhost>
wrote:
Subject: Re: Sets, subsets, syspkgs, and MK*
>
> Masao Uebayashi <uebayasi%tombi.co.jp@localhost> writes:
> >
> > NetBSD provides MK* variables to enable / disable features. Its definition
> > is unclear. How is it different from USE_* or HAVE_*?
>
> I am not 100% clear on this, but I've always thought that
>
> MK*: controls building/installing some group of programs/files
>
> USE*: controls whether other programs will try to use a feature
Indeed -- that should be _quite_ clear from share/mk/bsd.README.
As for "HAVE_*", well there's only HAVE_GCC and HAVE_GDB for the most
part, and those are currently only used to define which variant/version
of the given item is available for use by the build system.
I'm not sure though what "I think we should concentrate these knowledges
into a single place" means.
Normally the settings for these controls are all combined into a single
place, i.e. the mk.conf file used for the build. That's "one" place.
The default settings are, IIUC, all in share/mk/* files, and that's also
effectively "one" place too, though not one file.
The _use_ of these controls cannot be collected into one single place --
they necessarily control building and use of features that are spread
out throughout the source tree.
Indeed the construction of packages/sets for the creation of a
distribution also simply makes use of these controls as necessary to
ensure that features which were built either are, or are not, included
in the distribution as well.
--
Greg A. Woods
Planix, Inc.
<woods%planix.com@localhost> +1 416 218 0099 http://www.planix.com/
Attachment:
pgpkJwqn0uNOB.pgp
Description: PGP signature