diff options
author | Bryan Drewery <bdrewery@FreeBSD.org> | 2015-09-17 22:04:46 +0000 |
---|---|---|
committer | Bryan Drewery <bdrewery@FreeBSD.org> | 2015-09-17 22:04:46 +0000 |
commit | 317c99b79356f2959531a19a68cd93c903a17dbf (patch) | |
tree | d3e9c81de72bf4e941e5fa3878076f97d5e316b7 /tools | |
parent | 7356a03090fc13b83aa3ddc696b3dc9e7a51b499 (diff) | |
download | src-317c99b79356f2959531a19a68cd93c903a17dbf.tar.gz src-317c99b79356f2959531a19a68cd93c903a17dbf.zip |
makeman: Fix handling of env-only vars by using SRC_ENV_CONF rather than SRCCONF.
Also note that these env-only vars can be specified on the command line.
This fixes the dependent options that are env-only (such as WITH_META_MODE
and WITH_AUTO_OBJ) to properly display their dependencies.
Sponsored by: EMC / Isilon Storage Division
Notes
Notes:
svn path=/head/; revision=287942
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/build/options/makeman | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/tools/build/options/makeman b/tools/build/options/makeman index 9a414d455c0c..1595499ca80c 100755 --- a/tools/build/options/makeman +++ b/tools/build/options/makeman @@ -34,7 +34,8 @@ show_options() rm -f $t/settings for target in ${ALL_TARGETS} ; do ${make} showconfig \ - SRCCONF=/dev/null __MAKE_CONF=/dev/null \ + SRC_ENV_CONF=/dev/null SRCCONF=/dev/null \ + __MAKE_CONF=/dev/null \ TARGET_ARCH=${target#*/} TARGET=${target%/*} | while read var _ val ; do opt=${var#MK_} @@ -96,7 +97,8 @@ show() exit 1 ;; esac - ${make} .MAKE.MODE=normal "$@" showconfig __MAKE_CONF=/dev/null | + ${make} .MAKE.MODE=normal "$@" showconfig __MAKE_CONF=/dev/null \ + SRCCONF=/dev/null | while read var _ val ; do opt=${var#MK_} case ${val} in @@ -213,14 +215,14 @@ The following list provides a name and short description for variables that can be used for source builds. .Bl -tag -width indent EOF - show settings SRCCONF=/dev/null | sort > $t/config_default + show settings SRC_ENV_CONF=/dev/null | sort > $t/config_default # Work around WITH_LDNS_UTILS forcing BIND_UTILS off by parsing the # actual config that results from enabling every WITH_ option. This # can be reverted if/when we no longer have options that disable # others. - show with SRCCONF=/dev/null | sort | sed 's/$/=/' > $t/src.conf - show settings SRCCONF=$t/src.conf | sort > $t/config_WITH_ALL - show without SRCCONF=/dev/null | sort > $t/config_WITHOUT_ALL + show with SRC_ENV_CONF=/dev/null | sort | sed 's/$/=/' > $t/src.conf + show settings SRC_ENV_CONF=$t/src.conf | sort > $t/config_WITH_ALL + show without SRC_ENV_CONF=/dev/null | sort > $t/config_WITHOUT_ALL env_only_options="$(${make} -V __ENV_ONLY_OPTIONS)" show_options | @@ -240,18 +242,18 @@ EOF if [ "${opt%%_*}" = 'WITHOUT' ] ; then sed -n "/^WITH_${opt#WITHOUT_}$/!s/$/=/p" $t/config_WITH_ALL > $t/src.conf - show settings SRCCONF=$t/src.conf -D${opt} | sort > $t/config_WITH_ALL_${opt} + show settings SRC_ENV_CONF=$t/src.conf -D${opt} | sort > $t/config_WITH_ALL_${opt} comm -13 $t/config_WITH_ALL $t/config_WITH_ALL_${opt} | sed -n "/^${opt}$/!p" > $t/deps elif [ "${opt%%_*}" = 'WITH' ] ; then sed -n "/^WITHOUT${opt#WITH}$/!s/$/=/p" $t/config_WITHOUT_ALL > $t/src.conf - show settings SRCCONF=$t/src.conf -D${opt} | sort > $t/config_WITHOUT_ALL_${opt} + show settings SRC_ENV_CONF=$t/src.conf -D${opt} | sort > $t/config_WITHOUT_ALL_${opt} comm -13 $t/config_WITHOUT_ALL $t/config_WITHOUT_ALL_${opt} | sed -n "/^${opt}$/!p" > $t/deps else echo 'internal error' >&2 exit 1 fi - show settings SRCCONF=/dev/null -D${opt} | sort > $t/config_${opt} + show settings SRC_ENV_CONF=/dev/null -D${opt} | sort > $t/config_${opt} comm -13 $t/config_default $t/config_${opt} | sed -n "/^${opt}$/!p" | comm -13 $t/deps - > $t/deps2 @@ -296,7 +298,7 @@ EOF case " ${env_only_options} " in *\ ${opt#*_}\ *) echo ".Pp" - echo "This must be set in the environment or" + echo "This must be set in the environment, make command line, or" echo ".Pa /etc/src-env.conf ," echo "not" echo ".Pa /etc/src.conf ." |