Move the generic part of bsd.opts.mk into bsd.mkopts.mk to allow for

the WITH/WITHOUT_FOO -> MK_FOO={yes,no} stuff to be used elsewhere.
This commit is contained in:
Warner Losh 2014-04-18 17:04:26 +00:00
parent 4f9fa02d54
commit 5144b2be23
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=264663
2 changed files with 41 additions and 28 deletions

40
share/mk/bsd.mkopt.mk Normal file
View File

@ -0,0 +1,40 @@
#
# $FreeBSD$
#
# Generic mechanism to deal with WITH and WITHOUT options and turn them into MK_ options.
#
#
# For each option FOO that defaults to YES, MK_FOO is set to yes, unless WITHOUT_FOO
# is defined, in which case it is set to no. If both WITH_FOO and WITHOUT_FOO are
# defined, WITHOUT_FOO wins. The list of default yes options is contained in the
# __DEFAULT_YES_OPTIONS variable, which is undefined after expansion.
#
# For each option FOO that defaults to NO, MK_FOO is set to no, unless WITH_FOO
# is defined, in which case it is set to yes. If both WITH_FOO and WITHOUT_FOO are
# defined, WITH_FOO wins. The list of default no options is contained in the
# __DEFAULT_NO_OPTIONS variable, which is undefined after expansion.
#
.for var in ${__DEFAULT_YES_OPTIONS}
.if !defined(MK_${var})
.if defined(WITHOUT_${var}) # IF both WITH and WITHOUT defined, WITHOUT wins.
MK_${var}:= no
.else
MK_${var}:= yes
.endif
.endif
.endfor
.undef __DEFAULT_YES_OPTIONS
#
# MK_* options which default to "no".
#
.for var in ${__DEFAULT_NO_OPTIONS}
.if !defined(MK_${var})
.if defined(WITH_${var}) # If both WITH and WITHOUT defined, WITH wins
MK_${var}:= yes
.else
MK_${var}:= no
.endif
.endif
.endfor
.undef __DEFAULT_NO_OPTIONS

View File

@ -243,34 +243,7 @@ __DEFAULT_NO_OPTIONS+=CLANG_IS_CC CLANG CLANG_BOOTSTRAP
__DEFAULT_YES_OPTIONS+=GCC GNUCXX GCC_BOOTSTRAP
.endif
#
# MK_* options which default to "yes".
#
.for var in ${__DEFAULT_YES_OPTIONS}
.if !defined(MK_${var})
.if defined(WITHOUT_${var})
MK_${var}:= no
.else
MK_${var}:= yes
.endif
.endif
.endfor
.undef __DEFAULT_YES_OPTIONS
#
# MK_* options which default to "no".
#
.for var in ${__DEFAULT_NO_OPTIONS}
.if !defined(MK_${var})
.if defined(WITH_${var})
MK_${var}:= yes
.else
MK_${var}:= no
.endif
.endif
.endfor
.undef __DEFAULT_NO_OPTIONS
.include <bsd.mkopt.mk>
#
# Supported NO_* options (if defined, MK_* will be forced to "no",