Subject: options framework: disabling an option globally?
To: None <tech-pkg@NetBSD.org>
From: Dieter Baron <dillo@danbala.ifoer.tuwien.ac.at>
List: tech-pkg
Date: 01/24/2005 16:59:35
hi,

how does one disable an option for all packages with the
bsd.options.mk framework?  I thought

	PKG_DEFAULT_OPTIONS+=	-option

should work, but the code suggest PKG_DEFAULT_OPTIONS only allows
enabling options.

  Also, what is the reason to allow a package to have multiple
variables to select options for it (PKG_OPTIONS_VAR can be a list of
variables)?  Why not simply use PKG_OPTIONS.<pkgname> for all
packages?  And why is PKG_DEFAULT_OPTIONS completely ignored when a
pacakge specific options variable is set for a package?  I thought the
``-option'' syntax was meant to override selected optiosn from
PKG_DEFAULT_OPTINS.

  I would prefer options selection to work like this:

	- if it is mentioned in PKG_OPTIONS.<pkgname>, use that
	  setting (disabled if preceded by ``-'', enabled otherwise).
	  [Maybe have a syntax to override all default options, like
	  ``-*'' to disable all or ``*'' to enable all supported
	  options.]

	- else, if it is mentioned in PKG_DEFAULT_OPTIONS, use that
	  setting (disabled if preceded by ``-'', enabled otherwise).

	- else, disable the option.  [Or maybe allow defaults settable
	  in the package Makefile.]

  Comments?  Rationale for why it is done the way it is?  Explanations
of just what that way is?


  At that, where is the user documentation for the options framework?
In the guide, it is only mentioned in the developer's section.

						yours,
						dillo