OPTIONS_REQUIRES

Warren Block wblock at wonkity.com
Thu Jul 31 15:54:48 UTC 2014


Right now, we have no standard method of making options depend on other 
options.  For example, many ports have an X11 option, and later options 
that require X11.  If the user disables X11 but chooses one of the 
options that require it, the best case is that the port build stops with 
a message.  Worst case, it just stops.

We need a way to make options depend on others.  This could be used in 
the option configuration screen.  If the X11 option from the example is 
disabled, all the options that depend on it are also disabled.  This 
could also be used for groups.

Of course, it would also be evaluated after the configuration screen, 
stopping with an error message if the required dependencies are not set.

Given that I don't know if this is a good way to name the variables, 
something like (from emulators/virtualbox-ose):

OPTIONS_REQUIRES_X11=	QT4

In the configuration screen, the QT4 option is disabled (grayed out) 
unless X11 is on.

If QT4 is on but X11 is not (say, BATCH is used), the build stops with
   option QT4 requires option X11

Groups (single, radio, multi, group) could be made to depend on an 
option, too.  The only difference would be some tuning of the message to 
show the individual option names rather than the group name, which the 
user can't see.


More information about the freebsd-ports mailing list