summaryrefslogtreecommitdiff
path: root/net/openldap26-server/Makefile
blob: 7d8c447560a759cf3b803d6773c3d705b0ce7bc8 (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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
PORTNAME=		openldap
DISTVERSION=		2.6.6
PORTREVISION=		${OPENLDAP_PORTREVISION}
CATEGORIES=		net databases
MASTER_SITES=		https://www.openldap.org/software/download/OpenLDAP/%SUBDIR%/ \
			http://gpl.savoirfairelinux.net/pub/mirrors/openldap/%SUBDIR%/ \
			http://repository.linagora.org/OpenLDAP/%SUBDIR%/ \
			http://mirror.eu.oneandone.net/software/openldap/%SUBDIR%/ \
			ftp://ftp.ntua.gr/mirror/OpenLDAP/%SUBDIR%/ \
			https://mirror-hk.koddos.net/OpenLDAP/%SUBDIR%/ \
			ftp://ftp.dti.ad.jp/pub/net/OpenLDAP/%SUBDIR%/ \
			https://mirror.koddos.net/OpenLDAP/%SUBDIR%/ \
			https://mirror.lyrahosting.com/OpenLDAP/%SUBDIR%/ \
			ftp://ftp.OpenLDAP.org/pub/OpenLDAP/%SUBDIR%/ \
			http://www.openldap.org/software/download/OpenLDAP/%SUBDIR%/
MASTER_SITE_SUBDIR=	openldap-release
.if defined(CLIENT_ONLY)
PKGNAMESUFFIX=		26-client
.else
PKGNAMESUFFIX=		26-server
.endif

MAINTAINER=		delphij@FreeBSD.org
WWW=		https://www.OpenLDAP.org/
.if defined(CLIENT_ONLY)
COMMENT=		Open source LDAP client implementation
.else
COMMENT=		Open source LDAP server implementation
.endif

LICENSE=		OPENLDAP
LICENSE_NAME=		OpenLDAP Public License
LICENSE_FILE=		${WRKSRC}/LICENSE
LICENSE_PERMS=		dist-mirror dist-sell pkg-mirror pkg-sell auto-accept

# :keepla because port uses lt_dlopen
USES=			cpe gmake libtool:keepla localbase ssl tar:tgz
BUILD_DEPENDS+=		autoconf>0:devel/autoconf

.if defined(CLIENT_ONLY)
CONFLICTS_INSTALL=	${PORTNAME}2[0-57-9]-client ${PORTNAME}-client
.else
CONFLICTS_INSTALL=	${PORTNAME}2[0-57-9]-server ${PORTNAME}-server
.endif

GNU_CONFIGURE=		yes

PORTREVISION_CLIENT=	0
PORTREVISION_SERVER=	1
OPENLDAP_SHLIB_MAJOR=	2
OPENLDAP_SHLIB_MINOR=	0.200

OPTIONS_DEFINE=		DEBUG FETCH GSSAPI
OPTIONS_DEFAULT+=	DEBUG

FETCH_DESC=		Enable fetch(3) support
GSSAPI_DESC=		With GSSAPI support

FETCH_CONFIGURE_WITH=	fetch

GSSAPI_RUN_DEPENDS=		cyrus-sasl-gssapi>0:security/cyrus-sasl2-gssapi

.if defined(CLIENT_ONLY)
OPTIONS_DEFINE+=	DOCS
.else
OPTIONS_GROUP=		BKNDS OVLYS
BKNDS_DESC=		OpenLDAP backends
BKNDS_DEFAULTS=		ASYNCMETA DNSSRV MDB PASSWD RELAY SOCK
OPTIONS_GROUP_BKNDS+=	${BKNDS_DEFAULTS}
OPTIONS_GROUP_BKNDS+=	PERL SQL

OVLYS_DESC=		OpenLDAP overlays
OPTIONS_GROUP_OVLYS+=	ACCESSLOG
OPTIONS_GROUP_OVLYS+=	ADDPARTIAL
OPTIONS_GROUP_OVLYS+=	ALLOP
OPTIONS_GROUP_OVLYS+=	AUTOCA
OPTIONS_GROUP_OVLYS+=	AUDITLOG
OPTIONS_GROUP_OVLYS+=	AUTOGROUP
OPTIONS_GROUP_OVLYS+=	CLOAK
OPTIONS_GROUP_OVLYS+=	COLLECT
OPTIONS_GROUP_OVLYS+=	CONSTRAINT
OPTIONS_GROUP_OVLYS+=	DDS
OPTIONS_GROUP_OVLYS+=	DENYOP
OPTIONS_GROUP_OVLYS+=	DEREF
OPTIONS_GROUP_OVLYS+=	DYNGROUP
OPTIONS_GROUP_OVLYS+=	DYNLIST
OPTIONS_GROUP_OVLYS+=	EMPTYDS
OPTIONS_GROUP_OVLYS+=	HOMEDIR
OPTIONS_GROUP_OVLYS+=	LASTBIND
OPTIONS_GROUP_OVLYS+=	LASTMOD
OPTIONS_GROUP_OVLYS+=	MEMBEROF
OPTIONS_GROUP_OVLYS+=	NOPS
OPTIONS_GROUP_OVLYS+=	OTP
OPTIONS_GROUP_OVLYS+=	PROXYCACHE
OPTIONS_GROUP_OVLYS+=	PPOLICY
OPTIONS_GROUP_OVLYS+=	REFINT
OPTIONS_GROUP_OVLYS+=	REMOTEAUTH
OPTIONS_GROUP_OVLYS+=	RETCODE
OPTIONS_GROUP_OVLYS+=	RWM
OPTIONS_GROUP_OVLYS+=	SEQMOD
OPTIONS_GROUP_OVLYS+=	SHA2
OPTIONS_GROUP_OVLYS+=	SMBPWD
OPTIONS_GROUP_OVLYS+=	SSSVLV
OPTIONS_GROUP_OVLYS+=	SYNCPROV
OPTIONS_GROUP_OVLYS+=	TRACE
OPTIONS_GROUP_OVLYS+=	TRANSLUCENT
OPTIONS_GROUP_OVLYS+=	UNIQUE
OPTIONS_GROUP_OVLYS+=	VALSORT

OPTIONS_DEFINE+=	DYNACL ACI
OPTIONS_DEFINE+=	RLOOKUPS SLP SLAPI
OPTIONS_DEFINE+=	PBKDF2
OPTIONS_DEFINE+=	OUTLOOK
OPTIONS_DEFINE+=	ARGON2
OPTIONS_DEFINE+=	LLOADD

OPTIONS_DEFAULT+=	${BKNDS_DEFAULTS}
OPTIONS_DEFAULT+=	${OPTIONS_GROUP_OVLYS}
OPTIONS_DEFAULT+=	ARGON2 LLOADD

OPTIONS_SUB=		yes

ACI_DESC=		Per-object ACI (experimental)
ARGON2_DESC=		Argon2 password hashing module
DYNACL_DESC=		Run-time loadable ACL (experimental)
LLOADD_DESC=		Enable load balancer
OUTLOOK_DESC=		Force caseIgnoreOrderingMatch on name attribute (experimental)
RLOOKUPS_DESC=		With reverse lookups of client hostnames
SLAPI_DESC=		With Netscape SLAPI plugin API (experimental)
SLP_DESC=		With SLPv2 (RFC 2608) support

ASYNCMETA_DESC=		With asynchronous metadirectory backend
DNSSRV_DESC=		With Dnssrv backend
MDB_DESC=		With Memory-Mapped DB backend
SQL_DESC=		With SQL backend
PASSWD_DESC=		With Passwd backend
PERL_DESC=		With Perl backend
RELAY_DESC=		With Relay backend
SOCK_DESC=		With Sock backend

ACCESSLOG_DESC=		With In-Directory Access Logging overlay
AUDITLOG_DESC=		With Audit Logging overlay
AUTOCA_DESC=		With Automatic Certificate Authority overlay
COLLECT_DESC=		With Collect overy Services overlay
CONSTRAINT_DESC=	With Attribute Constraint overlay
DDS_DESC=		With Dynamic Directory Services overlay
DEREF_DESC=		With Dereference overlay
DYNGROUP_DESC=		With Dynamic Group overlay
DYNLIST_DESC=		With Dynamic List overlay
HOMEDIR_DESC=		With Home Directory Management overlay
MEMBEROF_DESC=		With Reverse Group Membership overlay
NOPS_DESC=		With nops overlay
OTP_DESC=		With OTP 2-factor authentication overlay
PPOLICY_DESC=		With Password Policy overlay
PROXYCACHE_DESC=	With Proxy Cache overlay
REFINT_DESC=		With Referential Integrity overlay
REMOTEAUTH_DESC=	With Deferred Authentication overlay
RETCODE_DESC=		With Return Code testing overlay
RWM_DESC=		With Rewrite/Remap overlay
SEQMOD_DESC=		With Sequential Modify overlay
SSSVLV_DESC=		With ServerSideSort/VLV overlay
SYNCPROV_DESC=		With Syncrepl Provider overlay
TRANSLUCENT_DESC=	With Translucent Proxy overlay
UNIQUE_DESC=		With attribute Uniqueness overlay
VALSORT_DESC=		With Value Sorting overlay

ADDPARTIAL_DESC=	With addpartial overlay (experimental)
ALLOP_DESC=		With allop overlay (experimental)
AUTOGROUP_DESC=		With autogroup overlay (experimental)
CLOAK_DESC=		With cloak overlay (experimental)
DENYOP_DESC=		With denyop overlay (experimental)
EMPTYDS_DESC=		With emptyds overlay (experimental)
LASTBIND_DESC=		With lastbind overlay
LASTMOD_DESC=		With lastmod overlay (experimental)
TRACE_DESC=		With Trace overlay

PBKDF2_DESC=		With PBKDF2 hash password support
SHA2_DESC=		With SHA2 Password hashes overlay
SMBPWD_DESC=		With Samba Password hashes overlay

ACCESSLOG_CONFIGURE_ENABLE=	accesslog=mod
ACI_CONFIGURE_ENABLE=		aci
ARGON2_CONFIGURE_ENABLE=	argon2
ARGON2_CONFIGURE_WITH=		argon2=libsodium
ARGON2_LIB_DEPENDS=		libsodium.so:security/libsodium
ASYNCMETA_CONFIGURE_ENABLE=	asyncmeta=mod
AUDITLOG_CONFIGURE_ENABLE=	auditlog=mod
AUTOCA_CONFIGURE_ENABLE=	autoca=mod
COLLECT_CONFIGURE_ENABLE=	collect=mod
CONSTRAINT_CONFIGURE_ENABLE=	constraint=mod
DDS_CONFIGURE_ENABLE=		dds=mod
DEBUG_CONFIGURE_ENABLE=		debug
DEREF_CONFIGURE_ENABLE=		deref=mod
DNSSRV_CONFIGURE_ENABLE=	dnssrv=mod
DYNACL_CONFIGURE_ENABLE=	dynacl
DYNGROUP_CONFIGURE_ENABLE=	dyngroup=mod
DYNLIST_CONFIGURE_ENABLE=	dynlist=mod
HOMEDIR_CONFIGURE_ENABLE=	homedir=mod
LLOADD_CONFIGURE_ENABLE=	balancer=mod
LLOADD_LIB_DEPENDS=		libevent.so:devel/libevent
MDB_CONFIGURE_ENABLE=		mdb=yes
MEMBEROF_CONFIGURE_ENABLE=	memberof=mod
OTP_CONFIGURE_ENABLE=		otp=mod
PASSWD_CONFIGURE_ENABLE=	passwd=mod
PERL_CONFIGURE_ENABLE=		perl=mod
PERL_CONFIGURE_ENV=		PERLBIN="${PERL}"
PERL_USES=			perl5
PPOLICY_CONFIGURE_ENABLE=	ppolicy=mod
PROXYCACHE_CONFIGURE_ENABLE=	proxycache=mod
REFINT_CONFIGURE_ENABLE=	refint=mod
RELAY_CONFIGURE_ENABLE=		relay=yes
REMOTEAUTH_CONFIGURE_ENABLE=	remoteauth=mod
RETCODE_CONFIGURE_ENABLE=	retcode=mod
RLOOKUPS_CONFIGURE_ENABLE=	rlookups
RWM_CONFIGURE_ENABLE=		rwm=mod
SEQMOD_CONFIGURE_ENABLE=	seqmod=mod
SLAPI_CONFIGURE_ENABLE=		slapi
SLAPI_USE=			LDCONFIG
SLP_CONFIGURE_ENABLE=		slp
SLP_LIB_DEPENDS=		libslp.so:net/openslp
SOCK_CONFIGURE_ENABLE=		sock=mod
SQL_CONFIGURE_ENABLE=		sql=mod
SQL_LDFLAGS=			-L${LOCALBASE}/lib
SQL_LIB_DEPENDS=		libodbc.so:databases/unixODBC
SSSVLV_CONFIGURE_ENABLE=	sssvlv=mod
SYNCPROV_CONFIGURE_ENABLE=	syncprov=yes
TRANSLUCENT_CONFIGURE_ENABLE=	translucent=mod
UNIQUE_CONFIGURE_ENABLE=	unique=mod
VALSORT_CONFIGURE_ENABLE=	valsort=mod

# Force using caseIgnoreOrderingMatch on 'name' attribute.
# This may be a violation of RFC 4519 2.18 definition.
# See http://www.openldap.org/lists/openldap-technical/201211/msg00175.html
OUTLOOK_EXTRA_PATCHES=		${FILESDIR}/extrapatch-outlook-servers__slapd__schema_prep.c
.endif

CONFIGURE_SED=		-e 's,uuid/uuid.h,xxuuid/uuid.h,g'

.include <bsd.port.options.mk>

.if defined(CLIENT_ONLY)
OPENLDAP_PORTREVISION=	${PORTREVISION_CLIENT}
OPENLDAP_PKGFILESUFX=	.client

PORTDOCS=		CHANGES drafts rfc

CONFIGURE_ARGS+=	--disable-slapd \
			--disable-monitor \
			--disable-relay \
			--disable-syncprov
USE_LDCONFIG=		yes
.else
OPENLDAP_PORTREVISION=	${PORTREVISION_SERVER}
OPENLDAP_PKGFILESUFX=

LIB_DEPENDS+=		libicudata.so:devel/icu \
			libldap.so:net/openldap26-client \
			libltdl.so:devel/libltdl

SUB_LIST+=		RC_DIR=${PREFIX} \
			LDAP_RUN_DIR=${LDAP_RUN_DIR} \
			DATABASEDIR=${DATABASEDIR}

USERS=			ldap
GROUPS=			ldap
LDAP_USER?=		ldap
LDAP_GROUP?=		ldap
USE_LDCONFIG=		${PREFIX}/libexec/openldap
SUB_FILES+=		pkg-deinstall
USE_RC_SUBR=		slapd

EXTRA_PATCHES+=		${FILESDIR}/extrapatch-Makefile.in

LDFLAGS+=		-L${LOCALBASE}/lib

SED_MODULES=		-e 's,mandir = \$$(exec_prefix)/share/man,mandir = $$(exec_prefix)/man,' \
			-e 's/\(moduleload[ 	]*back_[a-z]*\)\.la/\1/' \
			-e 's/\# *\(modulepath\)/\1/'

CONFIGURE_ARGS+=	--enable-modules \
			--localstatedir=${LOCALSTATEDIR} \
			--enable-crypt \
			--enable-ldap=mod \
			--enable-meta=mod \
			--enable-null=mod
.endif

LDAP_RUN_DIR?=		/var/run/openldap
LOCALSTATEDIR?=		/var/db
DATABASEDIR?=		${LOCALSTATEDIR}/openldap-data
BACKUPDIR?=		/var/backups/openldap

DESCR=			${PKGDIR}/pkg-descr${OPENLDAP_PKGFILESUFX}
PLIST=			${PKGDIR}/pkg-plist${OPENLDAP_PKGFILESUFX}

SUB_FILES+=		pkg-message${OPENLDAP_PKGFILESUFX}
PKGMESSAGE=		${WRKSRC}/pkg-message${OPENLDAP_PKGFILESUFX}

SUB_LIST+=		LDAP_RUN_DIR=${LDAP_RUN_DIR} \
			LDAP_USER=${LDAP_USER} \
			LDAP_GROUP=${LDAP_GROUP} \
			BACKUPDIR=${BACKUPDIR} \
			DATABASEDIR=${DATABASEDIR} \
			PORTNAME=${PORTNAME} \
			PKGNAME=${PKGNAME} \
			PKGNAMESUFFIX=${PKGNAMESUFFIX}

CONFIGURE_ARGS+=	--with-threads=posix \
			--with-tls=openssl \
			--enable-dynamic

LIB_DEPENDS+=		libsasl2.so:security/cyrus-sasl2
CONFIGURE_ARGS+=	--with-cyrus-sasl --enable-spasswd
MAKE_ENV+=		STRIP=${STRIP}

CPPFLAGS+=		-I${LOCALBASE}/include
LIBS+=			-L${LOCALBASE}/lib

PLIST_SUB+=		${SUB_LIST}
PLIST_SUB+=		SHLIB_MAJOR=${OPENLDAP_SHLIB_MAJOR}
PLIST_SUB+=		SHLIB_MINOR=${OPENLDAP_SHLIB_MINOR}

.if ${PORT_OPTIONS:MFETCH} && (defined(OPENSSL_INSTALLED) && ${OPENSSL_INSTALLED} != "" || ${SSL_DEFAULT} != base)
BROKEN=	using OpenSSL from ports and OPTION FETCH together is not supported
. endif

.if ${PORT_OPTIONS:MADDPARTIAL}
CONTRIB_MODULES+=	slapd-modules/addpartial
CONTRIB_CLEANFILES+=	addpartial.a
.endif
.if ${PORT_OPTIONS:MALLOP}
CONTRIB_MODULES+=	slapd-modules/allop
CONTRIB_CLEANFILES+=	allop.a
.endif
.if ${PORT_OPTIONS:MAUTOGROUP}
CONTRIB_MODULES+=	slapd-modules/autogroup
CONTRIB_CLEANFILES+=	autogroup.a
.endif
.if ${PORT_OPTIONS:MCLOAK}
CONTRIB_MODULES+=	slapd-modules/cloak
CONTRIB_CLEANFILES+=	cloak.a
.endif
.if ${PORT_OPTIONS:MDENYOP}
CONTRIB_MODULES+=	slapd-modules/denyop
CONTRIB_CLEANFILES+=	denyop.a
.endif
.if ${PORT_OPTIONS:MEMPTYDS}
CONTRIB_MODULES+=	slapd-modules/emptyds
CONTRIB_CLEANFILES+=	emptyds.a
.endif
.if ${PORT_OPTIONS:MLASTBIND}
CONTRIB_MODULES+=	slapd-modules/lastbind
CONTRIB_CLEANFILES+=	lastbind.a
.endif
.if ${PORT_OPTIONS:MLASTMOD}
CONTRIB_MODULES+=	slapd-modules/lastmod
CONTRIB_CLEANFILES+=	lastmod.a
.endif
.if ${PORT_OPTIONS:MNOPS}
CONTRIB_MODULES+=	slapd-modules/nops
CONTRIB_CLEANFILES+=	nops.a
.endif
.if ${PORT_OPTIONS:MTRACE}
CONTRIB_MODULES+=	slapd-modules/trace
CONTRIB_CLEANFILES+=	trace.a
.endif
.if ${PORT_OPTIONS:MSHA2}
CONTRIB_MODULES+=	slapd-modules/passwd/sha2
CONTRIB_CLEANFILES+=	pw-sha2.a
.endif
.if ${PORT_OPTIONS:MPBKDF2}
CONTRIB_MODULES+=	slapd-modules/passwd/pbkdf2
CONTRIB_CLEANFILES+=	pw-pbkdf2.a
.endif
.if ${PORT_OPTIONS:MSMBPWD}
CONTRIB_MODULES+=	slapd-modules/smbk5pwd
CONTRIB_CLEANFILES+=	smbk5pwd.a
.endif

post-patch:
	@${REINPLACE_CMD} -e 's|%LOCALSTATEDIR%/run/|${LDAP_RUN_DIR}/|g' \
		${SED_MODULES} ${WRKSRC}/servers/slapd/slapd.conf
	@${REINPLACE_CMD} -e 's|%LOCALSTATEDIR%/run/|${LDAP_RUN_DIR}/|g' \
		${SED_MODULES} ${WRKSRC}/servers/slapd/slapd.ldif
	@${REINPLACE_CMD} -e 's|^OPT =.*|OPT = ${CFLAGS}|g' \
		-e 's|^CC =.*|CC = ${CC}|g' \
		${SED_MODULES} ${WRKSRC}/contrib/slapd-modules/*/Makefile \
		${WRKSRC}/contrib/slapd-modules/*/*/Makefile
.if defined(CONFIGURE_SED)
	@${REINPLACE_CMD} -E ${CONFIGURE_SED} \
		${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
.endif

pre-configure:
	@(cd ${WRKSRC} && ${LOCALBASE}/bin/autoconf)

.if !defined(CLIENT_ONLY)
test: build
	@(cd ${BUILD_WRKSRC} && ${SETENV} ${MAKE_ENV} \
		${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} test)

post-build:
.for module in ${CONTRIB_MODULES}
	@(cd ${BUILD_WRKSRC}/contrib/${module} && \
		${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} \
		${MAKE_ARGS} prefix="${PREFIX}" all)
.endfor
.endif

pre-install:
.if !defined(CLIENT_ONLY)
	${MKDIR} ${STAGEDIR}${DATABASEDIR}
.endif

post-install:
.if defined(CLIENT_ONLY)
	${MKDIR} ${STAGEDIR}${DOCSDIR}
	${INSTALL_DATA} ${WRKSRC}/CHANGES ${STAGEDIR}${DOCSDIR}
	for dir in drafts rfc; do \
		${MKDIR} ${STAGEDIR}${DOCSDIR}/$${dir}; \
		${INSTALL_DATA} ${WRKSRC}/doc/$${dir}/* ${STAGEDIR}${DOCSDIR}/$${dir}; \
	done
	for prog in ldapcompare ldapdelete ldapexop ldapmodify ldapmodrdn ldappasswd ldapsearch ldapurl ldapvc ldapwhoami; do\
		${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/$${prog}; \
	done
	for library in lber ldap; do \
		${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/lib$${library}.so.${OPENLDAP_SHLIB_MAJOR}; \
	done
.else
	${MKDIR} ${STAGEDIR}${LDAP_RUN_DIR}
.for module in ${CONTRIB_MODULES}
	(cd ${WRKSRC}/contrib/${module} && \
		${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} \
		${MAKE_ARGS} prefix="${PREFIX}" install)
.endfor
.for cleanfile in ${CONTRIB_CLEANFILES}
	${RM} ${STAGEDIR}${PREFIX}/libexec/openldap/${cleanfile}
.endfor
	${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/openldap/*.so
	${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/slapd
	${MKDIR} ${STAGEDIR}${PREFIX}/libexec/openldap
.endif # defined(CLIENT_ONLY)

post-install-SLAPI-on:
	for library in slapi; do \
		${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/lib$${library}.so.${OPENLDAP_SHLIB_MAJOR}; \
	done

.include <bsd.port.mk>