Date: Thu, 12 Mar 2015 03:57:00 +0000 (UTC) From: Warner Losh <imp@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279898 - in head: share/mk sys/conf Message-ID: <201503120357.t2C3v0g9026940@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: imp Date: Thu Mar 12 03:57:00 2015 New Revision: 279898 URL: https://svnweb.freebsd.org/changeset/base/279898 Log: Add support for specifying unsupported / broken options that override any defaults or user specified actions on the command line. This would be useful for specifying features that are always broken or that cannot make sense on a specific architecture, like ACPI on pc98 or EISA on !i386 (!x86 usage of EISA is broken and there's no supported hardware that could have it in any event). Any items in BROKEN_OPTIONS are forced to "no" regardless of other settings. Clients are expected change BROKEN_OPTIONS with +=. It will not be unset, so other parts of the build system can have visibility into the options that are broken on this platform, though this should be very rare. Differential Revision: https://reviews.freebsd.org/D2009 Modified: head/share/mk/bsd.mkopt.mk head/sys/conf/kern.opts.mk Modified: head/share/mk/bsd.mkopt.mk ============================================================================== --- head/share/mk/bsd.mkopt.mk Thu Mar 12 01:30:36 2015 (r279897) +++ head/share/mk/bsd.mkopt.mk Thu Mar 12 03:57:00 2015 (r279898) @@ -18,6 +18,10 @@ # after all this processing, allowing this file to be included # multiple times with different lists. # +# Other parts of the build system will set BROKEN_OPTIONS to a list +# of options that are broken on this platform. This will not be unset +# before returning. Clients are expected to always += this variable. +# # Users should generally define WITH_FOO or WITHOUT_FOO, but the build # system should use MK_FOO={yes,no} when it needs to override the # user's desires or default behavior. @@ -58,3 +62,11 @@ MK_${var}:= no .endif # !defined(MK_${var}) .endfor .undef __DEFAULT_NO_OPTIONS + +# +# MK_* options which are always no, usually because they are +# unsupported/badly broken on this architecture. +# +.for var in ${BROKEN_OPTIONS} +MK_${var}:= no +.endfor Modified: head/sys/conf/kern.opts.mk ============================================================================== --- head/sys/conf/kern.opts.mk Thu Mar 12 01:30:36 2015 (r279897) +++ head/sys/conf/kern.opts.mk Thu Mar 12 03:57:00 2015 (r279898) @@ -83,6 +83,16 @@ MK_${var}:= no .undef __DEFAULT_NO_OPTIONS # +# MK_* options which are always no, usually because they are +# unsupported/badly broken on this architecture. +# +.for var in ${BROKEN_OPTIONS} +MK_${var}:= no +.endfor +.undef BROKEN_OPTIONS +#end of bsd.mkopt.mk expanded inline. + +# # MK_*_SUPPORT options which default to "yes" unless their corresponding # MK_* variable is set to "no". # @@ -104,6 +114,3 @@ MK_${var}_SUPPORT:= yes .endif .endif .endfor - - -
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201503120357.t2C3v0g9026940>