svn commit: r346917 - stable/12/share/mk

Enji Cooper ngie at FreeBSD.org
Mon Apr 29 19:32:13 UTC 2019


Author: ngie
Date: Mon Apr 29 19:32:11 2019
New Revision: 346917
URL: https://svnweb.freebsd.org/changeset/base/346917

Log:
  MFC r345723:
  
  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.

Modified:
  stable/12/share/mk/bsd.progs.mk
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/share/mk/bsd.progs.mk
==============================================================================
--- stable/12/share/mk/bsd.progs.mk	Mon Apr 29 19:25:06 2019	(r346916)
+++ stable/12/share/mk/bsd.progs.mk	Mon Apr 29 19:32:11 2019	(r346917)
@@ -34,6 +34,11 @@ $v += ${${v}.${PROG}}
 $v += ${${v}_${PROG}}
 .endif
 .else
+.if defined(${v}.${PROG})
+$v = ${${v}.${PROG}}
+.elif defined(${v}_${PROG})
+$v = ${${v}_${PROG}}
+.endif
 $v ?=
 .endif
 .endfor


More information about the svn-src-all mailing list