From: bdrewery Date: Thu, 17 Sep 2015 21:49:29 +0000 (+0000) Subject: Add a check to ensure that the env-only mkopts are not set via src.conf. X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=c0e56242dfac7e98678abc7690a48e43949bf398;p=people%2Fjulieng%2Ffreebsd.git Add a check to ensure that the env-only mkopts are not set via src.conf. Sponsored by: EMC / Isilon Storage Division --- 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