]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
PROG_OVERRIDE_VARS should override default values if specified
authorngie <ngie@FreeBSD.org>
Sat, 30 Mar 2019 00:57:33 +0000 (00:57 +0000)
committerngie <ngie@FreeBSD.org>
Sat, 30 Mar 2019 00:57:33 +0000 (00:57 +0000)
commit788de78ff273e06faf048f861321b93ba82b5eb6
tree47b7bb75eab3e4a56a7d2eb605100a46b53c2453
parent3ee5c69403c53232c47f3771f6f4af60937c04ae
PROG_OVERRIDE_VARS should override default values if specified

The behavior prior to this change would not override default values if set in
`bsd.own.mk`, or (in the more general case) globally before `bsd.progs.mk` was
included. This affected `bsd.test.mk` as well, since it consumes
`bsd.progs.mk`.

Some examples of this failing behavior are as follows:

* `BINMODE` defaults to 0555 per `bsd.own.mk`. If someone wanted to set the
  `BINMODE` to `NOBINMODE` (0444) for `prog`, for example, like
  `BINMODE.prog= ${NOBINMODE}`, `bsd.progs.mk` would not honor the per-PROG
  setting.
* An application, `prog`, does not build at `WARNS?= 6`. Before this change,
  setting to a lower `WARNS` value, e.g., `WARNS.prog= 3`, would have been
  impossible, requiring that `prog` be built from another directory,
  the global `WARNS` be lowered, or a per-PROG value needing to be set
  across the board. None of the above workarounds is desirable.

This change unbreaks variables defined in `PROG_OVERRIDE_VARS` which have
defaults set before `bsd.progs.mk` is included, by setting them to their
defined values if set on a per-PROG basis.

Reviewed by: asomers
Approved by: emaste (mentor)
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D19755
share/mk/bsd.progs.mk