summaryrefslogtreecommitdiff
path: root/mk/bsd.prefs.mk
diff options
context:
space:
mode:
authorjlam <jlam@pkgsrc.org>2004-07-30 20:59:08 +0000
committerjlam <jlam@pkgsrc.org>2004-07-30 20:59:08 +0000
commit85306a83480ca871311e350b3814452b76f3b8a2 (patch)
tree9f061491cb620a6c00daf6b2371800ffeb349343 /mk/bsd.prefs.mk
parent0d19bcb7f63cad6490112b7ebf9217427637468d (diff)
downloadpkgsrc-85306a83480ca871311e350b3814452b76f3b8a2.tar.gz
bsd.options.mk provides boilerplate code for standard naming conventions
for handling per-package build options. Before including this file, the following variables should 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 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_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: "yes". After including this file, the following variables are defined: PKG_OPTIONS This is the list of the selected build options, properly filtered to remove unsupported and duplicate options. Example usage: -------------8<-------------8<-------------8<-------------8<------------- # Global and legacy options .if defined(USE_OPENLDAP) || defined(USE_SASL2) . if !defined(PKG_OPTIONS.wibble) . if defined(USE_OPENLDAP) && !empty(USE_OPENLDAP:M[yY][eE][sS]) PKG_OPTIONS.wibble+= ldap . endif . if defined(USE_SASL2) && !empty(USE_SASL2:M[yY][eE][sS]) PKG_OPTIONS.wibble+= sasl . endif . endif .endif PKG_OPTIONS_VAR= PKG_OPTIONS.wibble PKG_SUPPORTED_OPTIONS= ldap sasl .include "../../mk/bsd.options.mk" # Package-specific option-handling ### ### LDAP support ### .if !empty(PKG_OPTIONS:Mldap) . include "../../databases/openldap/buildlink3.mk" CONFIGURE_ARGS+= --enable-ldap=${BUILDLINK_PREFIX.openldap} .endif ### ### SASL authentication ### .if !empty(PKG_OPTIONS:Msasl) . include "../../security/cyrus-sasl2/buildlink3.mk" CONFIGURE_ARGS+= --enable-sasl=${BUILDLINK_PREFIX.sasl} .endif -------------8<-------------8<-------------8<-------------8<-------------
Diffstat (limited to 'mk/bsd.prefs.mk')
-rw-r--r--mk/bsd.prefs.mk7
1 files changed, 6 insertions, 1 deletions
diff --git a/mk/bsd.prefs.mk b/mk/bsd.prefs.mk
index 8f78a5a39a7..2adc58540cb 100644
--- a/mk/bsd.prefs.mk
+++ b/mk/bsd.prefs.mk
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.prefs.mk,v 1.163 2004/07/30 07:38:01 xtraeme Exp $
+# $NetBSD: bsd.prefs.mk,v 1.164 2004/07/30 20:59:08 jlam Exp $
#
# Make file, included to get the site preferences, if any. Should
# only be included by package Makefiles before any .if defined()
@@ -298,9 +298,11 @@ PKG_INSTALLATION_TYPE?= none
. if empty(USE_INET6:M[Yy][Ee][Ss]) || defined(USE_SOCKS)
USE_INET6= NO
. else
+PKG_DEFAULT_OPTIONS+= inet6
USE_INET6= YES
. endif
.elif empty(_OPSYS_HAS_INET6:M[nN][oO]) && !defined(USE_SOCKS)
+PKG_DEFAULT_OPTIONS+= inet6
USE_INET6= YES
.else
USE_INET6= NO
@@ -496,4 +498,7 @@ WRKDIR?= ${BUILD_DIR}/${WRKDIR_BASENAME}
#
WRKLOG?= ${WRKDIR}/.work.log
+PKG_DEFAULT_OPTIONS?= # empty
+PKG_OPTIONS?= # empty
+
.endif # BSD_PKG_MK