1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-22 08:58:47 +00:00

- Document new options framework in bsd.options.mk

- new OPTIONS_DEFINE_${ARCH} and OPTIONS_DEFAULT_${ARCH} to define and activate
  options per arches.
- No more append to PORT_OPTIONS options that are not in OPTIONS_DEFINE, (in the
  expection of DOCS, NLS, EXAMPLES for compatibility)
This commit is contained in:
Baptiste Daroussin 2012-07-16 11:38:36 +00:00
parent 15707b6d57
commit 2bf8210563
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=300943
2 changed files with 41 additions and 12 deletions

View File

@ -2,6 +2,25 @@
# $FreeBSD$
# Global options
#
# OPTIONS_DEFINE - List of options this ports accept
# OPTIONS_DEFINE_${ARCH} - List of options this ports accept and are
# specific to ${ARCH}
# OPTIONS_DEFAULT - List of options activated by default
# OPTIONS_DEFAULT_${ARCH} - List of options activated by default for a
# given arch
#
# OPTIONS_EXCLUDE_${ARCH} - List of options unsupported on a given ${ARCH}
# ${OPTION}_DESC - Description the the ${OPTION}
#
# OPTIONS_SINGLE - List of radio choice grouped options
# OPTIONS_MULTI - List of multiple-choice grouped options
#
# OPTIONS_SINGLE_${NAME} - List of OPTIONS grouped as radio choice (for
# the single named as ${NAME} as defined in
# OPTIONS_SINGLE)
# OTPIONS_MULTI_${NAME} - List of OPTIONS grouped as multiple-choice
# (for the multi named as ${NAME} as defined in
# OPTIONS_MULTI)
##
# Set all the options available for the ports, beginning with the
@ -27,11 +46,26 @@ PORT_OPTIONS+= NLS
PORT_OPTIONS+= EXAMPLES
.endif
# Exclude per arch options
.for opt in ${OPTIONS_EXCLUDE_${ARCH}}
OPTIONS_DEFINE:= ${OPTIONS_DEFINE:N${opt}}
OPTIONS_DEFAULT:= ${OPTIONS_DEFAULT:N${opt}}
.endfor
# Add per arch options
.for opt in ${OPTIONS_DEFINE_${ARCH}}
.if empty(OPTIONS_DEFINE:M${opt})
OPTIONS_DEFINE+= ${opt}
.endif
.endfor
# Add per arch defaults
.for opt in ${OPTIONS_DEFAULT_${ARCH}}
.if empty(OPTIONS_DEFAULT:M${opt}}
OPTIONS_DEFAULT+= ${opt}
.endif
.endfor
# Append options set by the port Makefile
.for opt in ${OPTIONS_DEFINE}
ALL_OPTIONS+= ${opt}
@ -98,7 +132,9 @@ PORT_OPTIONS:= ${PORT_OPTIONS:O:u}
## Set system-wide defined options (set by user in make.conf)
. for opt in ${OPTIONS_SET}
. if !empty(OPTIONS_DEFINE:M${opt})
PORT_OPTIONS+= ${opt}
. endif
. endfor
PORT_OPTIONS:= ${PORT_OPTIONS:O:u}
@ -109,7 +145,9 @@ PORT_OPTIONS:= ${PORT_OPTIONS:N${opt}}
## Set the options specified per-port (set by user in make.conf)
. for opt in ${${UNIQUENAME}_SET}
. if !empty(OPTIONS_DEFINE:M${opt})
PORT_OPTIONS+= ${opt}
. endif
. endfor
PORT_OPTIONS:= ${PORT_OPTIONS:O:u}
@ -139,7 +177,9 @@ PORT_OPTIONS:= ${PORT_OPTIONS:N${opt}}
## Finish by using the options set by the port config dialog, if any
. for opt in ${OPTIONS_FILE_SET}
. if !empty(OPTIONS_DEFINE:M${opt})
PORT_OPTIONS+= ${opt}
. endif
. endfor
PORT_OPTIONS:= ${PORT_OPTIONS:O:u}

View File

@ -809,18 +809,7 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org
#
# Here are some variables used in various stages.
#
# For options:
# OPTIONS - List of what WITH_<option> options this port accept. The
# format is <option> "<description>" [on|off]
# Example:
# FLEXRESP "Flexible response to events" off
# which tell that an option WITH_FLEXRESP exists for this port,
# that by default it is not defined, and that the description to
# show to a user in the config dialog is "Flexible response to
# events". If you have more than one option, just chain them
# into a single variable. NOTE: To make options work, you need
# to include bsd.port.pre.mk before you start testing the
# WITH_xyz variables.
# For options see bsd.options.mk
#
# For fetch:
#