summaryrefslogtreecommitdiff
path: root/mail/postfix/Makefile.options
blob: a871cc437deda74d77fa50c045f5a0251088c267 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
# $NetBSD: Makefile.options,v 1.4 2004/07/24 22:45:15 recht Exp $
#
# POSTFIX_ALL_OPTIONS lists all of the currently-supported optional modules
# that may be built into Postfix.
#
# POSTFIX_OPTIONS is a list of the modules that will be built into Postfix.
#
POSTFIX_ALL_OPTIONS=	inet6 ldap mysql mysql4 pcre sasl tls
POSTFIX_OPTIONS?=	# empty
BUILD_DEFS+=		POSTFIX_OPTIONS

_POSTFIX_OPTIONS=	# empty
.for _opt_ in ${POSTFIX_OPTIONS}
.  if empty(_POSTFIX_OPTIONS:M${_opt_})
.    if !empty(POSTFIX_ALL_OPTIONS:M${_opt_})
_POSTFIX_OPTIONS+=	${_opt_}
.    else
PKG_FAIL_REASON+=	"\"${_opt_}\" is not a supported Postfix build option."
.    endif
.  endif
.endfor

###
### IPv6 and STARTTLS support (http://www.ipnet6.org/postfix/)
###
.if !empty(_POSTFIX_OPTIONS:Minet6) || !empty(_POSTFIX_OPTIONS:Mtls)
.  include "../../security/openssl/buildlink3.mk"
PATCHFILES+=		tls+ipv6-1.25-pf-2.1.3.patch.gz
PATCH_SITES+=		ftp://ftp.stack.nl/pub/postfix/tls+ipv6/1.25/
PATCH_DIST_STRIP=	-p1

CCARGS+=	-DHAS_SSL
AUXLIBS+=	-L${BUILDLINK_PREFIX.openssl}/lib			\
		-Wl,${RPATH_FLAG}${BUILDLINK_PREFIX.openssl}/lib	\
		-lssl -lcrypto

PLIST_SRC+=	${PKGDIR}/PLIST.tls
MESSAGE_SRC+=	${PKGDIR}/MESSAGE.tls
.endif

###
### Support "pcre" map type for regular expressions.
###
.if !empty(_POSTFIX_OPTIONS:Mpcre)
.  include "../../devel/pcre/buildlink3.mk"
CCARGS+=	-DHAS_PCRE
AUXLIBS+=	-L${BUILDLINK_PREFIX.pcre}/lib				\
		-Wl,${RPATH_FLAG}${BUILDLINK_PREFIX.pcre}/lib		\
		-lpcre
.else
CCARGS+=	-DNO_PCRE
.endif

###
### Support LDAP directories for table lookups.
###
.if !empty(_POSTFIX_OPTIONS:Mldap)
.  include "../../databases/openldap/buildlink3.mk"
CCARGS+=	-DHAS_LDAP
AUXLIBS+=	-L${BUILDLINK_PREFIX.openldap}/lib			\
		-Wl,${RPATH_FLAG}${BUILDLINK_PREFIX.openldap}/lib	\
		-lldap -llber
.  if ${OPSYS} != "Linux"
.    include "../../databases/db4/buildlink3.mk"
CCARGS+=	-I${BUILDLINK_PREFIX.db4}/include/db4
AUXLIBS+=	-L${BUILDLINK_PREFIX.db4}/lib				\
		-Wl,${RPATH_FLAG}${BUILDLINK_PREFIX.db4}/lib		\
		-ldb4
.  endif
.endif

###
### Support using a MySQL database server for table lookups.
###
.if !empty(_POSTFIX_OPTIONS:Mmysql4)
.  include "../../databases/mysql4-client/buildlink3.mk"
CCARGS+=	-DHAS_MYSQL
CCARGS+=	`${BUILDLINK_PREFIX.mysql-client}/bin/mysql_config --include`
AUXLIBS+=	`${BUILDLINK_PREFIX.mysql-client}/bin/mysql_config --libs`
.elif !empty(_POSTFIX_OPTIONS:Mmysql)
.  include "../../databases/mysql-client/buildlink3.mk"
CCARGS+=	-DHAS_MYSQL -I${BUILDLINK_PREFIX.mysql-client}/include/mysql
AUXLIBS+=	-L${BUILDLINK_PREFIX.mysql-client}/lib/mysql		\
		-Wl,${RPATH_FLAG}${BUILDLINK_PREFIX.mysql-client}/lib/mysql \
		-lmysqlclient -lz -lm
.endif

## ###
## ### Support using a PostgreSQL database server for table lookups.
## ###
## .if !empty(_POSTFIX_OPTIONS:Mpgsql)
## .  include "../../mk/pgsql.buildlink3.mk"
## .  include "../../security/openssl/buildlink3.mk"
## PATCHFILES+=		postfix-pg.postfix-2.0.0.2.patch
## PATCH_SITES+=		http://www.mat.cc/postfix/
## PATCH_DIST_STRIP=	-p1
##
## CCARGS+=	-DHAS_PGSQL -I${PGSQL_PREFIX}/include/pgsql
## AUXLIBS+=	-L${PGSQL_PREFIX}/lib -lpq \
##		-L${BUILDLINK_PREFIX.openssl}/lib -lcrypt
## .endif

###
### SASL support for SMTP authentication.  If neither SASLv1 or SASLv2 is
### explicitly specified, then build with SASLv2.
###
.if !empty(_POSTFIX_OPTIONS:Msasl)
.  if !defined(USE_SASL2) && !defined(USE_SASL)
.    include "../../security/cyrus-sasl2/buildlink3.mk"
SASLLIBDIR=	${PREFIX}/lib/sasl2
PWCHECK_METHOD=	auxprop
CCARGS+=	-DUSE_SASL2_AUTH
AUXLIBS+=	-L${BUILDLINK_PREFIX.cyrus-sasl}/lib			\
		-Wl,${RPATH_FLAG}${BUILDLINK_PREFIX.cyrus-sasl}/lib	\
		-lsasl2
.  elif defined(USE_SASL2) && !empty(USE_SASL2:M[yY][eE][sS])
.    include "../../security/cyrus-sasl2/buildlink3.mk"
SASLLIBDIR=	${PREFIX}/lib/sasl2
PWCHECK_METHOD=	auxprop
CCARGS+=	-DUSE_SASL2_AUTH
AUXLIBS+=	-L${BUILDLINK_PREFIX.cyrus-sasl}/lib			\
		-Wl,${RPATH_FLAG}${BUILDLINK_PREFIX.cyrus-sasl}/lib	\
		-lsasl2
.  elif defined(USE_SASL) && !empty(USE_SASL:M[yY][eE][sS])
.    include "../../security/cyrus-sasl/buildlink3.mk"
SASLLIBDIR=	${PREFIX}/lib/sasl
PWCHECK_METHOD=	sasldb
CCARGS+=	-DUSE_SASL_AUTH
AUXLIBS+=	-L${BUILDLINK_PREFIX.cyrus-sasl}/lib			\
		-Wl,${RPATH_FLAG}${BUILDLINK_PREFIX.cyrus-sasl}/lib	\
		-lsasl
.  endif

PLIST_SRC+=	${PKGDIR}/PLIST.sasl
MESSAGE_SRC+=	${PKGDIR}/MESSAGE.sasl
MESSAGE_SUBST+=	PKG_SYSCONFDIR=${PKG_SYSCONFDIR}
MESSAGE_SUBST+=	SASLLIBDIR=${SASLLIBDIR}
.endif

.if ${OPSYS} == "Linux" 
.  include "../../databases/db/buildlink3.mk"
CCARGS+=	-I${BUILDLINK_PREFIX.db2}/include/db2
AUXLIBS+=	-L${BUILDLINK_PREFIX.db2}/lib				\
		-Wl,${RPATH_FLAG}${BUILDLINK_PREFIX.db2}/lib		\
		-ldb2
.endif