diff options
author | Baptiste Daroussin <bapt@FreeBSD.org> | 2012-05-29 09:54:27 +0000 |
---|---|---|
committer | Baptiste Daroussin <bapt@FreeBSD.org> | 2012-05-29 09:54:27 +0000 |
commit | c263127442a206e5cf495776d455bf60c6f8779f (patch) | |
tree | bcdb4f2d9298b4b4d299e28e4b13191fcac35002 /Mk/bsd.options.mk | |
parent | 8100f00a1d1fd78aed0d497a70093be94ec051fd (diff) | |
download | ports-c263127442a206e5cf495776d455bf60c6f8779f.tar.gz ports-c263127442a206e5cf495776d455bf60c6f8779f.zip |
Notes
Diffstat (limited to 'Mk/bsd.options.mk')
-rw-r--r-- | Mk/bsd.options.mk | 148 |
1 files changed, 148 insertions, 0 deletions
diff --git a/Mk/bsd.options.mk b/Mk/bsd.options.mk new file mode 100644 index 000000000000..4a06a5c46a3d --- /dev/null +++ b/Mk/bsd.options.mk @@ -0,0 +1,148 @@ +#-*- tab-width: 4; -*- +# $FreeBSD$ +# Global options +# + +## +# Set all the options available for the ports, beginning with the +# global ones and ending with the ones decided by the maintainer. +# Options global to the entire ports tree + +OPTIONSFILE?= ${PORT_DBDIR}/${UNIQUENAME}/options + +#ALL_OPTIONS= DOCS \ +# NLS + +# Set the default values for the global options, as defined by portmgr +PORT_OPTIONS+= NLS \ + DOCS + +# Append options set by the port Makefile +.for opt in ${OPTIONS_DEFINE} +ALL_OPTIONS+= ${opt} +.endfor + +ALL_OPTIONS:= ${ALL_OPTIONS:O:u} + +# Remove global options the port maintainer doesn't want +.for opt in ${OPTIONS_EXCLUDE} +ALL_OPTIONS:= ${ALL_OPTIONS:N${opt}} +.endfor + +#XXX to kill when old option framework won't be used anymore +.if defined(OPTIONS) +. undef optname +. for O in ${OPTIONS:S|\#|\\\#|g} +opt:= ${O} +. if !defined(optname) +optname:= ${O} +ALL_OPTIONS+= ${O} +PORT_OPTIONS+= ${O} +. elif !defined(optdesc) +optdesc:= ${opt} +${optname}_DESC:= ${opt} +. else +. if ${opt:L} == off +. if defined(PORT_OPTIONS) && defined(optname) +NO_OPTIONS+= ${optname} +NO_OPTIONS:= ${NO_OPTIONS:O:u} +. else +. endif +. endif +. undef optname +. undef optdesc +. endif +. endfor +. if defined(NO_OPTIONS) +. for O in ${NO_OPTIONS} +PORT_OPTIONS:= ${PORT_OPTIONS:N${O}} +. endfor +. endif +#. undef NO_OPTIONS +.endif +#XXX end of compatibility + +ALL_OPTIONS:= ${ALL_OPTIONS:O:u} + +## Now create the list of activated options +.if defined(OPTIONS_OVERRIDE) +# Special case $OPTIONS_OVERRIDE; if it is defined forget about anything done +# before +PORT_OPTIONS:= ${OPTIONS_OVERRIDE} +.else + +## Set default options defined by the port maintainer +. for opt in ${OPTIONS_DEFAULT} +PORT_OPTIONS+= ${opt} +. endfor +PORT_OPTIONS:= ${PORT_OPTIONS:O:u} + +## Set system-wide defined options (set by user in make.conf) +. for opt in ${OPTIONS_SET} +PORT_OPTIONS+= ${opt} +. endfor +PORT_OPTIONS:= ${PORT_OPTIONS:O:u} + +## Remove the options excluded system-wide (set by user in make.conf) +. for opt in ${OPTIONS_UNSET} +PORT_OPTIONS:= ${PORT_OPTIONS:N${opt}} +. endfor + +## Set the options specified per-port (set by user in make.conf) +. for opt in ${${UNIQUENAME:U}_SET} +PORT_OPTIONS+= ${opt} +. endfor +PORT_OPTIONS:= ${PORT_OPTIONS:O:u} + +## Unset the options excluded per-port (set by user in make.conf) +. for opt in ${${UNIQUENAME:U}_UNSET} +PORT_OPTIONS:= ${PORT_OPTIONS:N${opt}} +. endfor + +## options files (from dialog) +. if exists(${OPTIONSFILE}) && !make(rmconfig) +. include "${OPTIONSFILE}" +. endif +. if exists(${OPTIONSFILE}.local) +. include "${OPTIONSFILE}.local" +. endif + +# XXX(to be removed) +. if defined(OPTIONS) +. undef optname +. for O in ${OPTIONS:C/".*"//g} +. if defined(WITH_${O}) +PORT_OPTIONS+= ${O} +PORT_OPTIONS:= ${PORT_OPTIONS:O:u} +. endif +. if defined(WITHOUT_${O}) +PORT_OPTIONS:= ${PORT_OPTIONS:N${O}} +. endif +. endfor +. endif +# XXX(end to be removed) + +## Finish by using the options set by the port config dialog, if any +. for opt in ${OPTIONS_FILE_SET} +PORT_OPTIONS+= ${opt} +. endfor +PORT_OPTIONS:= ${PORT_OPTIONS:O:u} + +.for opt in ${OPTIONS_FILE_UNSET} +PORT_OPTIONS:= ${PORT_OPTIONS:N${opt}} +.endfor +.undef opt + +.endif + +## Now some compatibility +.if empty(PORT_OPTIONS:MDOCS) +NOPORTDOCS= yes +.endif + +.if empty(PORT_OPTIONS:MNLS) +WITHOUT_NLS= yes +.endif + + + |