summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordillo <dillo>2005-05-08 13:43:30 +0000
committerdillo <dillo>2005-05-08 13:43:30 +0000
commitdb24a4e800810df62aa827722a22a8af4d1708ef (patch)
tree7c82c5447c6c43ecc08a14a00017065f4d1817ec
parente09350ef97db7ada74dfaedca6ac59e7bd04e92d (diff)
downloadpkgsrc-db24a4e800810df62aa827722a22a8af4d1708ef.tar.gz
Rewrite how PKG_OPTIONS is computed:
- PKG_SUGGESTED_OPTIONS (set by pkg maintainer in pkg Makefile) lists options enabled by default. - PKG_DEFAULT_OPTIONS (set by user in /etc/mk.conf) enables or disables (when prefixed with `-') options for all packages, takes precedence over PKG_SUGGESTED_OPTIONS - PKG_OPTIONS.foo (set by user in /etc/mk.conf) enables or disables (when prefixed with `-') options for a specific package, takes precedence over PKG_DEFAULT_OPTIONS and PKG_SUGGESTED_OPTIONS Also simplify conversion of legacy USE_XXX variables to options via the new PKG_OPTIONS_LEGACY_VARS variable and emit warnings if legacy variables are in use. Add a new target describe-options that lists all supported options with a one-line description, the options enabled by default and the currently enabled optoions. Reviewed by jlam and wiz. XXX: defaults/options.description has to be filled in XXX: the pkgsrc guide has to be updated
-rw-r--r--mk/bsd.options.mk209
-rw-r--r--mk/defaults/mk.conf10
-rw-r--r--mk/defaults/obsolete.mk98
-rw-r--r--mk/defaults/options.description242
4 files changed, 375 insertions, 184 deletions
diff --git a/mk/bsd.options.mk b/mk/bsd.options.mk
index 130864e9b50..a1325ce65c6 100644
--- a/mk/bsd.options.mk
+++ b/mk/bsd.options.mk
@@ -1,54 +1,42 @@
-# $NetBSD: bsd.options.mk,v 1.19 2005/04/28 21:58:44 jlam Exp $
+# $NetBSD: bsd.options.mk,v 1.20 2005/05/08 13:43:30 dillo Exp $
#
# This Makefile fragment provides boilerplate code for standard naming
# conventions for handling per-package build options.
#
-# Before including this file, the following variables should be defined:
+# Before including this file, the following variables can be defined:
#
-# PKG_OPTIONS_VAR
-# This is a list of the name of the make(1) variables that
-# contain the options the user wishes to select. This
-# variable should be set in a package Makefile. E.g.,
-#
-# PKG_OPTIONS_VAR= WIBBLE_OPTIONS
-# or
-# PKG_OPTIONS_VAR= FOO_OPTIONS BAR_OPTIONS
-#
-# PKG_SUPPORTED_OPTIONS
+# PKG_SUPPORTED_OPTIONS (must be defined)
# This is a list of build options supported by the package.
# This variable should be set in a package Makefile. E.g.,
#
# PKG_SUPPORTED_OPTIONS= kerberos ldap ssl
#
-# Optionally, the following variables may also be defined:
+# PKG_OPTION_VAR (must be defined)
+# The variable the user can set to enable or disable
+# options specifically for this package.
+#
+# PKG_SUGGESTED_OPTIONS (defaults to empty)
+# This is a list of build options which are enabled by default.
+#
+# PKG_OPTION_LEGACY_VARS
+# This is a list of USE_VARIABLE:option pairs that
+# map legacy /etc/mk.conf variables to their option
+# counterparts.
+#
+#
+# Optionally, the user may define the following variables in /etc/mk.conf:
#
# PKG_DEFAULT_OPTIONS
-# This is a list the options that should be built into
-# every package, if that option is supported. This
-# variable should be set in /etc/mk.conf.
-#
-# ${PKG_OPTIONS_VAR} (the variables named in PKG_OPTIONS_VAR)
-# These variables list the selected build options and
-# override any default options given in PKG_DEFAULT_OPTIONS.
-# If any of the options begin with a '-', then that option
-# is always removed from the selected build options, e.g.
-#
-# PKG_DEFAULT_OPTIONS= kerberos ldap sasl
-# PKG_OPTIONS_VAR= WIBBLE_OPTIONS
-# WIBBLE_OPTIONS= ${PKG_DEFAULT_OPTIONS} -sasl
-# # implies PKG_OPTIONS == "kerberos ldap"
-# or
-# PKG_OPTIONS_VAR= WIBBLE_OPTIONS
-# WIBBLE_OPTIONS= kerberos -ldap ldap
-# # implies PKG_OPTIONS == "kerberos"
-#
-# This variable should be set in /etc/mk.conf.
-#
-# PKG_FAIL_UNSUPPORTED_OPTIONS
-# If this is set to "yes", then the presence of unsupported
-# options in PKG_OPTIONS.<pkg> (see below) causes the build
-# to fail. Set this to "no" to silently ignore unsupported
-# options. Default: "no".
+# This variable can be used to override default
+# options for every package. Options listed in this
+# variable will be enabled in every package that
+# supports them. If you prefix an option with `-',
+# it will be disabled in every package.
+#
+# ${PKG_OPTIONS_VAR}
+# This variable can be used to override default
+# options and options listed in PKG_DEFAULT_OPTIONS.
+# The syntax is the same as PKG_DEFAULT_OPTIONS.
#
# After including this file, the following variables are defined:
#
@@ -59,27 +47,23 @@
# Example usage:
#
# -------------8<-------------8<-------------8<-------------8<-------------
-# # Global and legacy options
-# .if defined(WIBBLE_USE_OPENLDAP) && !empty(WIBBLE_USE_OPENLDAP:M[yY][eE][sS])
-# PKG_DEFAULT_OPTIONS+= ldap
-# .endif
-# .if defined(WIBBLE_USE_SASL2) && !empty(WIBBLE_USE_SASL2:M[yY][eE][sS])
-# PKG_DEFAULT_OPTIONS+= sasl
-# .endif
+# PKG_SUPPORTED_OPTIONS= foo ldap sasl
+# PKG_SUGGESTED_OPTIONS= foo
+# PKG_OPTIONS_LEGACY_VARS+= WIBBLE_USE_OPENLDAP:ldap
+# PKG_OPTIONS_LEGACY_VARS+= WIBBLE_USE_SASL2:sasl
#
-# PKG_OPTIONS_VAR= PKG_OPTIONS.wibble
-# PKG_SUPPORTED_OPTIONS= ldap sasl
-# #
-# # Default options for ``wibble'' package.
-# #
-# .if !defined(PKG_OPTIONS.wibble)
-# PKG_DEFAULT_OPTIONS+= sasl
-# .endif
# .include "../../mk/bsd.options.mk"
#
# # Package-specific option-handling
#
# ###
+# ### FOO support
+# ###
+# .if !empty(PKG_OPTIONS:Mfoo)
+# CONFIGURE_ARGS+= --enable-foo
+# .endif
+
+# ###
# ### LDAP support
# ###
# .if !empty(PKG_OPTIONS:Mldap)
@@ -106,59 +90,48 @@ PKG_FAIL_REASON+= "bsd.options.mk: PKG_SUPPORTED_OPTIONS is not defined."
PKG_FAIL_REASON+= "bsd.options.mk: PKG_OPTIONS_VAR is not defined."
.endif
-# If none of the variables listed in PKG_OPTIONS_VAR is defined, then use
-# the global options provided in ${PKG_DEFAULT_OPTIONS}.
-#
-_PKG_DEFAULT_OPTIONS= # empty
-.for _opt_ in ${PKG_DEFAULT_OPTIONS}
-. if !empty(PKG_SUPPORTED_OPTIONS:M${_opt_})
-_PKG_DEFAULT_OPTIONS+= ${_opt_}
-. endif
-.endfor
-.undef _opt_
-_PKG_OPTIONS_VAR= # empty
-.for _var_ in ${PKG_OPTIONS_VAR}
-. if defined(${_var_})
-_PKG_OPTIONS_VAR+= ${_var_}
-. endif
-.endfor
-.undef _var_
-.if empty(_PKG_OPTIONS_VAR)
-_PKG_OPTIONS_VAR= _PKG_DEFAULT_OPTIONS
+# include deprecated variable to options mapping
+.if exists(${.CURDIR}/mk/defaults/obsolete.mk)
+. include "${.CURDIR}/mk/defaults/obsolete.mk"
+.elif exists(${.CURDIR}/../mk/defaults/obsolete.mk)
+. include "${.CURDIR}/../mk/defaults/obsolete.mk"
+.elif exists(${.CURDIR}/../../mk/defaults/obsolete.mk)
+. include "${.CURDIR}/../../mk/defaults/obsolete.mk"
.endif
-# If this is set to "yes", then the presence of unsupported options in
-# the variable named by ${PKG_OPTIONS_VAR} causes the build to fail. Set
-# this to "no" to silently ignore unsupported options.
-#
-PKG_FAIL_UNSUPPORTED_OPTIONS?= no
-
-# Separate out the selected options into "positive" and "negative" lists.
-_PKG_YES_OPTIONS= # contains the "positive" options
-.for _var_ in ${_PKG_OPTIONS_VAR}
-_PKG_YES_OPTIONS+= ${${_var_}:N-*}
+.for _m_ in ${PKG_OPTIONS_LEGACY_VARS}
+.if !empty(PKG_SUPPORTED_OPTIONS:M${_m_:C/.*://}) && defined(${_m_:C/:.*//}) && !empty(${_m_:C/:.*//}:M[yY][eE][sS])
+_PKG_LEGACY_OPTIONS+=${_m_:C/.*://}
+_DEPRECATED_WARNING+="Deprecated variable "${_m_:C/:.*//:Q}" used, use PKG_DEFAULT_OPTIONS+="${_m_:C/.*://:Q}" instead."
+.endif
.endfor
-_PKG_NO_OPTIONS= # contains the "negative" options
-.for _var_ in ${_PKG_OPTIONS_VAR}
-_PKG_NO_OPTIONS+= ${${_var_}:M-*:S/^-//}
+
+#
+# reverse options in PKG_OPTIONS_VAR for backwards compatibility to
+# PKG_OPTIONS.foo=${PKG_DEFAULT_OPTIONS} -foo
+#
+_PKG_OPTIONS_USER=#empty
+.for _opt_ in ${${PKG_OPTIONS_VAR}}
+_PKG_OPTIONS_USER:=${_opt_} ${_PKG_OPTIONS_USER}
.endfor
-.undef _var_
-# Filter out unsupported and duplicate build options and store the result
-# in PKG_OPTIONS. We keep all of the "positive" options first, then remove
-# all of the "negative" options last, so "negative" options always have
-# the strongest effect.
-#
-PKG_OPTIONS= # empty
-.for _opt_ in ${_PKG_YES_OPTIONS}
-. if empty(_PKG_NO_OPTIONS:M${_opt_}) && empty(PKG_OPTIONS:M${_opt_})
-. if !empty(PKG_SUPPORTED_OPTIONS:M${_opt_})
-PKG_OPTIONS+= ${_opt_}
-. elif !empty(PKG_FAIL_UNSUPPORTED_OPTIONS:M[yY][eE][sS])
-PKG_FAIL_REASON+= "\"${_opt_}\" is not a supported build option."
-. endif
+#
+# process options from specific to generic
+#
+PKG_OPTIONS=#empty
+_PKG_OPTIONS_NOT=#empty
+.for _opt_ in ${_PKG_OPTIONS_USER} ${PKG_DEFAULT_OPTIONS} ${_PKG_LEGACY_OPTIONS} ${PKG_SUGGESTED_OPTIONS}
+_tmp_=${_opt_}
+. if !empty(_tmp_:M-*) && empty(_PKG_OPTIONS_NOT:M${_opt_})
+_PKG_OPTIONS_NOT+=${_opt_}
+. elif empty(PKG_OPTIONS:M${_opt_}) && !empty(PKG_SUPPORTED_OPTIONS:M${_opt_}) && empty(_PKG_OPTIONS_NOT:M-${_opt_})
+PKG_OPTIONS+=${_opt_}
. endif
.endfor
+.undef _opt_
+.undef _tmp_
+.undef _PKG_OPTIONS_NOT
+.undef _PKG_OPTIONS_USER
_PKG_OPTIONS_WORDWRAP_FILTER= \
${AWK} ' \
@@ -176,10 +149,20 @@ _PKG_OPTIONS_WORDWRAP_FILTER= \
END { if (length(line) > 0) print " "line } \
'
+.PHONY: describe-options
+describe-options:
+ @${ECHO} The following options are supported by this package:
+.for _opt_ in ${PKG_SUPPORTED_OPTIONS:O}
+ @${ECHO} " "${_opt_:Q}" "`${SED} -n "s/^"${_opt_:Q}" //p" ../../mk/defaults/options.description`
+.endfor
+ @${ECHO}
+ @${ECHO} "These options are enabled by default: "${PKG_SUGGESTED_OPTIONS:O:Q}
+ @${ECHO} "These options are currently enabled: "${PKG_OPTIONS:O:Q}
+
.PHONY: show-options
show-options:
@${ECHO} "available: "${PKG_SUPPORTED_OPTIONS:O:Q}
- @${ECHO} "default: "${PKG_DEFAULT_OPTIONS:O:Q}
+ @${ECHO} "default: "${PKG_SUGGESTED_OPTIONS:O:Q}
@${ECHO} "enabled: "${PKG_OPTIONS:O:Q}
.if defined(PKG_SUPPORTED_OPTIONS)
@@ -198,17 +181,21 @@ supported-options-message:
@${ECHO} ${PKG_OPTIONS:O:Q} | ${XARGS} -n 1 | ${_PKG_OPTIONS_WORDWRAP_FILTER}
. endif
@${ECHO} ""
- @${ECHO} "You can select which build options to use by setting the following"
- @${ECHO} "variables. Their current value is shown:"
+ @${ECHO} "You can select which build options to use by setting PKG_DEFAULT_OPTIONS"
+ @${ECHO} "or the following variable. Its current value is shown:"
@${ECHO} ""
-. for _var_ in ${PKG_OPTIONS_VAR}
-. if !defined(${_var_})
- @${ECHO} " ${_var_} (not defined)"
-. else
- @${ECHO} " ${_var_} = ${${_var_}}"
-. endif
-. endfor
-. undef _var_
+. if !defined(${PKG_OPTIONS_VAR})
+ @${ECHO} " ${PKG_OPTIONS_VAR} (not defined)"
+. else
+ @${ECHO} " ${PKG_OPTIONS_VAR} = ${${PKG_OPTIONS_VAR}}"
+. endif
+. if defined(_DEPRECATED_WARNING)
+ @${ECHO}
+ @for l in ${_DEPRECATED_WARNING}; \
+ do \
+ ${ECHO} "$$l"; \
+ done
+. endif
@${ECHO} ""
@${ECHO} "=========================================================================="
. endif
diff --git a/mk/defaults/mk.conf b/mk/defaults/mk.conf
index 9ed369eedc9..4ab984de23c 100644
--- a/mk/defaults/mk.conf
+++ b/mk/defaults/mk.conf
@@ -1,4 +1,4 @@
-# $NetBSD: mk.conf,v 1.39 2005/05/07 22:17:00 wiz Exp $
+# $NetBSD: mk.conf,v 1.40 2005/05/08 13:43:30 dillo Exp $
#
# A file providing defaults for pkgsrc and the packages collection.
@@ -2443,11 +2443,3 @@ XEN12_USE_COM2?= NO
# ftp://ftp2.fr.NetBSD.org/pub/NetBSD/packages/distfiles/
#MASTER_SITE_LOCAL= \
# ftp://ftp.fr.NetBSD.org/pub/NetBSD/packages/distfiles/LOCAL_PORTS/
-
-.if exists(${.CURDIR}/mk/defaults/obsolete.mk)
-. include "${.CURDIR}/mk/defaults/obsolete.mk"
-.elif exists(${.CURDIR}/../mk/defaults/obsolete.mk)
-. include "${.CURDIR}/../mk/defaults/obsolete.mk"
-.elif exists(${.CURDIR}/../../mk/defaults/obsolete.mk)
-. include "${.CURDIR}/../../mk/defaults/obsolete.mk"
-.endif
diff --git a/mk/defaults/obsolete.mk b/mk/defaults/obsolete.mk
index f0e561be359..0141e0bd17c 100644
--- a/mk/defaults/obsolete.mk
+++ b/mk/defaults/obsolete.mk
@@ -1,4 +1,4 @@
-# $NetBSD: obsolete.mk,v 1.5 2005/03/28 09:39:57 jlam Exp $
+# $NetBSD: obsolete.mk,v 1.6 2005/05/08 13:43:31 dillo Exp $
#
# This file holds make(1) logic to allow obsolete or deprecated variables
# still to be used. These may eventually disappear over time as the contents
@@ -9,73 +9,43 @@ PKG_SYSCONFDIR.priv?= ${PRIV_CONF_DIR}
.endif
###
-### Set PKG_DEFAULT_OPTIONS based on to-be-deprecated global variables.
+### Set _PKG_LEGACY_OPTIONS based on to-be-deprecated global variables.
###
+
.if defined(KERBEROS)
-. if ${KERBEROS} == "4"
-PKG_DEFAULT_OPTIONS+= kerberos4
-. else
-PKG_DEFAULT_OPTIONS+= kerberos
+. if ${KERBEROS} == "4" && !empty(PKG_SUPPORTED_OPTIONS:Mkerberos4)
+_PKG_LEGACY_OPTIONS+= kerberos4
+_DEPRECATED_WARNING+="Deprecated variable KERBEROS used, use PKG_DEFAULT_OPTIONS+=kerberos4 instead."
+. elif !empty(PKG_SUPPORTED_OPTIONS:Mkerberos)
+_PKG_LEGACY_OPTIONS+= kerberos
+_DEPRECATED_WARNING+="Deprecated variable KERBEROS used, use PKG_DEFAULT_OPTIONS+=kerberos instead."
. endif
.endif
-.if defined(USE_CANNA) && !empty(USE_CANNA:M[yY][eE][sS])
-PKG_DEFAULT_OPTIONS+= canna
-.endif
-.if defined(USE_CUPS) && !empty(USE_CUPS:M[yY][eE][sS])
-PKG_DEFAULT_OPTIONS+= cups
-.endif
-.if defined(USE_DB4) && !empty(USE_DB4:M[yY][eE][sS])
-PKG_DEFAULT_OPTIONS+= db4
-.endif
-.if defined(USE_ESOUND) && !empty(USE_ESOUND:M[yY][eE][sS])
-PKG_DEFAULT_OPTIONS+= esound
-.endif
-.if defined(USE_GIF)
-PKG_DEFAULT_OPTIONS+= gif
-.endif
-.if defined(USE_I586) && !empty(USE_I586:M[yY][eE][sS])
-PKG_DEFAULT_OPTIONS+= i586
-.endif
-.if defined(USE_IDEA) && !empty(USE_IDEA:M[yY][eE][sS])
-PKG_DEFAULT_OPTIONS+= idea
-.endif
-.if defined(USE_INN) && !empty(USE_INN:M[yY][eE][sS])
-PKG_DEFAULT_OPTIONS+= inn
-.endif
-.if defined(USE_LIBCRACK) && !empty(USE_LIBCRACK:M[yY][eE][sS])
-PKG_DEFAULT_OPTIONS+= libcrack
-.endif
-.if defined(USE_MMX) && !empty(USE_MMX:M[yY][eE][sS])
-PKG_DEFAULT_OPTIONS+= mmx
-.endif
-.if defined(USE_OPENLDAP) && !empty(USE_OPENLDAP:M[yY][eE][sS])
-PKG_DEFAULT_OPTIONS+= ldap
-.endif
-.if defined(USE_OSS)
-PKG_DEFAULT_OPTIONS+= oss
-.endif
-.if defined(USE_RSAREF2) && !empty(USE_RSAREF2:M[yY][eE][sS])
-PKG_DEFAULT_OPTIONS+= rsaref
-.endif
-.if defined(USE_SASL) && !empty(USE_SASL:M[yY][eE][sS])
-PKG_DEFAULT_OPTIONS+= sasl
-.endif
-.if defined(USE_SASL2) && !empty(USE_SASL2:M[yY][eE][sS])
-PKG_DEFAULT_OPTIONS+= sasl
-.endif
-.if defined(USE_SJ3) && !empty(USE_SJ3:M[yY][eE][sS])
-PKG_DEFAULT_OPTIONS+= sj3
-.endif
.if defined(USE_SOCKS)
-. if ${USE_SOCKS} == "4"
-PKG_DEFAULT_OPTIONS+= socks4
-. elif ${USE_SOCKS} == "5"
-PKG_DEFAULT_OPTIONS+= socks5
+. if ${USE_SOCKS} == "4" && !empty(PKG_SUPPORTED_OPTIONS:Msocks4)
+_PKG_LEGACY_OPTIONS+= socks4
+_DEPRECATED_WARNING+="Deprecated variable SOCKS used, use PKG_DEFAULT_OPTIONS+=socks4 instead."
+. elif ${USE_SOCKS} == "5 && !empty(PKG_SUPPORTED_OPTIONS:Msocks5)"
+_PKG_LEGACY_OPTIONS+= socks5
+_DEPRECATED_WARNING+="Deprecated variable SOCKS used, use PKG_DEFAULT_OPTIONS+=socks5 instead."
. endif
.endif
-.if defined(USE_WNN4) && !empty(USE_WNN4:M[yY][eE][sS])
-PKG_DEFAULT_OPTIONS+= wnn4
-.endif
-.if defined(USE_XFACE) && !empty(USE_XFACE:M[yY][eE][sS])
-PKG_DEFAULT_OPTIONS+= xface
-.endif
+
+PKG_OPTIONS_LEGACY_VARS+= USE_CANNA:canna
+PKG_OPTIONS_LEGACY_VARS+= USE_CUPS:cups
+PKG_OPTIONS_LEGACY_VARS+= USE_DB4:db4
+PKG_OPTIONS_LEGACY_VARS+= USE_ESOUND:esound
+PKG_OPTIONS_LEGACY_VARS+= USE_GIF:gif
+PKG_OPTIONS_LEGACY_VARS+= USE_I586:i586
+PKG_OPTIONS_LEGACY_VARS+= USE_IDEA:idea
+PKG_OPTIONS_LEGACY_VARS+= USE_INN:inn
+PKG_OPTIONS_LEGACY_VARS+= USE_LIBCRACK:libcrack
+PKG_OPTIONS_LEGACY_VARS+= USE_MMX:mmx
+PKG_OPTIONS_LEGACY_VARS+= USE_OPENLDAP:ldap
+PKG_OPTIONS_LEGACY_VARS+= USE_OSS:oss
+PKG_OPTIONS_LEGACY_VARS+= USE_RSAREF2:rsaref
+PKG_OPTIONS_LEGACY_VARS+= USE_SASL:sasl
+PKG_OPTIONS_LEGACY_VARS+= USE_SASL2:sasl
+PKG_OPTIONS_LEGACY_VARS+= USE_SJ3:sj3
+PKG_OPTIONS_LEGACY_VARS+= USE_WNN4:wnn4
+PKG_OPTIONS_LEGACY_VARS+= USE_XFACE:xface
diff --git a/mk/defaults/options.description b/mk/defaults/options.description
new file mode 100644
index 00000000000..f2bbd1b8a4c
--- /dev/null
+++ b/mk/defaults/options.description
@@ -0,0 +1,242 @@
+2ch_dict
+a52
+aac
+ac3_passthrough
+ads
+alsa
+althash
+anthy
+antialias
+apm
+apop
+ark
+arping1
+arping2
+arts
+aspell
+ati
+audiofile
+authlib
+avifile
+awl-sql-tests
+backend-mysql
+backend-pgsql
+badrcptto
+bayes-sql-tests
+bdb
+bigdns
+bktr
+bpf
+buffy-size
+canna
+catalog-pgsql
+catalog-sqlite
+charset
+charts
+chips
+chroot
+cirrus
+cups
+curl
+curses
+cyrix
+darwin
+db
+db2
+db4
+debug
+domainscale
+drac
+dummy
+dynamic
+eb
+edit
+esound Enable support for Enlightment Sound Daemon.
+faac
+faad
+fam
+ffmpeg
+flac
+freetype
+frontend-fastcgi
+frontend-modperl1
+frontend-modperl2
+gd
+gdbm
+gdk-pixbuf
+glib1
+glint
+glpk
+gnome
+gnupg
+gnuplot
+gnutls
+gpgsm
+graphs
+gsasl
+gssapi
+gstreamer
+gtk
+gtkfe
+gucharmap
+hdf5
+homedir
+hpn-patch
+hub
+i128
+i586-optimized
+i740
+i810
+iconv
+id3
+idea
+ifevents
+ignoreip2
+imlib
+imlib2
+imstt
+inet6
+ipfilter
+iptables
+ipv6
+ispell
+java
+jpeg
+jpilot
+kde
+kerberos
+kerberos4
+kqueue
+krb4
+krb5
+lame
+largefile
+largescale
+ldap
+ldap-compat
+leaf
+libcrack
+libgcrypt
+libnet10
+libnet11
+long-usernames
+lookup
+lua
+lynxkey
+lzw
+m17n
+m68060-optimized
+mad
+magick
+mdc2
+metarefresh
+mga
+mhash
+milter
+mmx
+modperl
+multibyte
+mysql
+mysql4
+native
+ncurses
+neomagic
+net-tests
+netqmail
+newport
+nogui
+nospoof
+nsc
+nullenvsender
+nv
+ogg
+okinawa_dict
+opengl Use OpenGL as display library.
+openldap
+openssl
+outgoingip
+pam
+patchviewer
+pcre
+perf-tuning
+perl
+perl-taint-checks
+perl-warnings
+pf
+pgsql
+plplot
+portals
+postgresql
+postgresql73
+postgresql74
+prefix-cmds
+python
+qregex
+qt
+quota
+radius
+rc5
+readline
+realrcptto
+recommended-db
+remoteinc
+rendition
+rrdtool
+s3
+s3virge
+samba
+sasl
+savage
+sdl Use SDL as display library.
+siliconmotion
+sis
+skey
+slang
+slp
+snmp
+socketmap
+socks
+socks4
+socks5
+sqlite
+ssl
+starttls
+static
+subshell
+suexec
+svn
+syncdir
+tcpd
+tcpwrappers
+tdb
+tdfx
+tga
+tinydns64
+tls
+trident
+truetype
+tseng
+unicode
+unrealircd
+vesa
+vflib
+vfs
+vga
+via
+virtualchroot
+viruscan
+vmware
+vorbis
+vpop
+wrap
+wx
+x11
+xface
+xft
+xft2
+xmlimportbugs
+xmms-eq
+xvid
+zaptel
+zip
+ziplinks