From owner-svn-src-all@FreeBSD.ORG Thu Mar 12 03:57:01 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A860F41C; Thu, 12 Mar 2015 03:57:01 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 79AC4DF6; Thu, 12 Mar 2015 03:57:01 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t2C3v1JT026947; Thu, 12 Mar 2015 03:57:01 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t2C3v0g9026940; Thu, 12 Mar 2015 03:57:00 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201503120357.t2C3v0g9026940@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Thu, 12 Mar 2015 03:57:00 +0000 (UTC) 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 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Mar 2015 03:57:01 -0000 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 - - -