8.7 Configuring port OPTIONS

It is possible to manipulate port OPTIONS on a per-Build basis. To do this, create a directory under which all build OPTIONS sub-directories will go (e.g. ${pb}/options/). For each Build that you wish to use to use OPTIONS, create a subdirectory named for that build (e.g. 9-STABLE-FreeBSD/). This directory should look like /var/db/ports/ in that it contains sub-directories for each OPTIONS-supporting port.

For example, if you wanted to build net/wireshark with RTP support for the Build 9-STABLE-FreeBSD, you would have the following directory structure:

${pb}/options/9-STABLE-FreeBSD/wireshark/options

The contents of the wireshark/options file would be:

_OPTIONS_READ=wireshark-0.99.4
OPTIONS_FILE_SET+=RTP
OPTIONS_FILE_SET+=SNMP
OPTIONS_FILE_SET+=ADNS
OPTIONS_FILE_UNSET+=PCRE
_FILE_COMPLETE_OPTIONS_LIST=  RTP SNMP ADNS PCRE

Once this structure is setup, then enable OPTIONS support in Tinderbox, and specify the path to the OPTIONS directory structure:

# ./tc configOptions -e
# ./tc configOptions -o /options

The configOptions command takes the arguments described in Table 8-2.

Table 8-2. configOptions arguments

-eenable OPTIONS support
-ddisable OPTIONS support
-oset an OPTIONS source directory tree

If you would like to interactively choose OPTIONS for your ports, specify the -o option to ./tc addPort. This will perform a make config on all ports, displaying the ncurses OPTIONS dialog. All OPTIONS settings will be automatically saved to the correct location. Each time addPort or rescanPorts is run with the -o flag, all existing OPTIONS settings will be purged. If you want to retain existing OPTIONS, use the -O flag instead.