Freebsd – Turn DOCS, NLS, and EXAMPLES options off by default for all FreeBSD ports

bsd-portsfreebsdmake

The Porters Handbook says in "5.12.1.3. Default Options" that DOCS, NLS, and EXAMPLES are on by default for all ports. I want them off, so I have to unchecked them manually during make config-recursive for every port. How can I set them off by default?

Best Answer

You can use make.conf. See an old announce:

The following variables can be used in make.conf to configure options.
They are processed in the order listed below, i.e. later variables
override the effects of previous variables.  Options saved using the
options dialog are processed right before OPTIONS_SET_FORCE.

OPTIONS_SET     - List of options to enable for all ports.
OPTIONS_UNSET       - List of options to disable for all ports. 
${UNIQUENAME}_SET   - List of options to enable for a specific port.
${UNIQUENAME}_UNSET - List of options to disable for a specific port.

OPTIONS_SET_FORCE   - List of options to enable for all ports.
OPTIONS_UNSET_FORCE - List of options to disable for all ports.
${UNIQUENAME}_SET_FORCE - List of options to enable for a specific port.
${UNIQUENAME}_UNSET_FORCE
            - List of options to disable for a specific port.

To know the UNIQUENAME of a port you can run "make -V UNIQUENAME" in
a port directory.

An example configuration is given below.

OPTIONS_SET=    NLS # enable NLS for all ports unless configured
            # otherwise using the option dialog
OPTIONS_UNSET=  DOCS    # aka NOPORTDOCS

# configuration for xorg-server overriding the configuration from the
# option dialog
xorg-server_SET_FORCE=  AIGLX
xorg-server_UNSET_FORCE=HAL SUID