tech-toolchain archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Sets, subsets, syspkgs, and MK*

At Mon, 14 Dec 2009 07:13:53 -0500, Greg Troxel <> 
Subject: Re: Sets, subsets, syspkgs, and MK*
> Masao Uebayashi <> 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.

<>       +1 416 218 0099

Attachment: pgpkJwqn0uNOB.pgp
Description: PGP signature

Home | Main Index | Thread Index | Old Index