diff options
author | Bryan Drewery <bdrewery@FreeBSD.org> | 2015-09-17 21:49:29 +0000 |
---|---|---|
committer | Bryan Drewery <bdrewery@FreeBSD.org> | 2015-09-17 21:49:29 +0000 |
commit | cc9222742808629ddaa0fa3ba9ca77bea386b461 (patch) | |
tree | 6244bd9f4a92428e0475f27bc9083d6875ea8671 /share/mk/src.sys.mk | |
parent | 4b43341deaaec99e74d30752a34ec2418ad40cfc (diff) | |
download | src-cc9222742808629ddaa0fa3ba9ca77bea386b461.tar.gz src-cc9222742808629ddaa0fa3ba9ca77bea386b461.zip |
Add a check to ensure that the env-only mkopts are not set via src.conf.
Sponsored by: EMC / Isilon Storage Division
Notes
Notes:
svn path=/head/; revision=287939
Diffstat (limited to 'share/mk/src.sys.mk')
-rw-r--r-- | share/mk/src.sys.mk | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/share/mk/src.sys.mk b/share/mk/src.sys.mk index 81ecaf6d65f5..fed28a3f2929 100644 --- a/share/mk/src.sys.mk +++ b/share/mk/src.sys.mk @@ -8,9 +8,27 @@ # Allow user to configure things that only effect src tree builds. SRCCONF?= /etc/src.conf .if (exists(${SRCCONF}) || ${SRCCONF} != "/etc/src.conf") && !target(_srcconf_included_) + +# Validate that the user didn't try setting an env-only variable in +# their src.conf. This benefits from already including bsd.mkopt.mk. +.for var in ${__ENV_ONLY_OPTIONS} +__presrcconf_${var}:= ${MK_${var}:U-}${WITHOUT_${var}:Uno:Dyes}${WITH_${var}:Uno:Dyes} +.endfor + .sinclude "${SRCCONF}" _srcconf_included_: .NOTMAIN + +# Validate the env-only variables. +.for var in ${__ENV_ONLY_OPTIONS} +__postrcconf_${var}:= ${MK_${var}:U-}${WITHOUT_${var}:Uno:Dyes}${WITH_${var}:Uno:Dyes} +.if ${__presrcconf_${var}} != ${__postrcconf_${var}} +.error Option ${var} may only be defined in ${SRC_ENV_CONF}, environment, or make argument, not ${SRCCONF}. .endif +.undef __presrcconf_${var} +.undef __postrcconf_${var} +.endfor + +.endif # SRCCONF # tempting, but bsd.compiler.mk causes problems this early # probably need to remove dependence on bsd.own.mk |