118 lines
3.9 KiB
Text
118 lines
3.9 KiB
Text
# $NetBSD: Makefile.common,v 1.29 2011/03/20 20:27:55 wiz Exp $
|
|
#
|
|
# used by databases/openldap-client/Makefile
|
|
# used by databases/openldap-nops/Makefile
|
|
# used by databases/openldap-server/Makefile
|
|
# used by databases/openldap-smbk5pwd/Makefile
|
|
|
|
# please stick to the "stable" releases as much as possible!
|
|
DISTNAME= openldap-2.4.24
|
|
CATEGORIES= databases
|
|
MASTER_SITES= ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/
|
|
MASTER_SITES+= http://www.openldap.org/software/download/OpenLDAP/openldap-release/
|
|
MASTER_SITES+= ftp://gd.tuwien.ac.at/infosys/network/OpenLDAP/openldap-release/
|
|
MASTER_SITES+= ftp://ftp.ntua.gr/mirror/OpenLDAP/openldap-release/
|
|
MASTER_SITES+= ftp://ftp.dti.ad.jp/pub/net/OpenLDAP/openldap-release/
|
|
MASTER_SITES+= ftp://ftp.u-aizu.ac.jp/pub/net/openldap/openldap-release/
|
|
MASTER_SITES+= ftp://ftp.nl.uu.net/pub/unix/db/openldap/openldap-release/
|
|
MASTER_SITES+= ftp://ftp.linux.pt/pub/mirrors/OpenLDAP/openldap-release/
|
|
MASTER_SITES+= ftp://sunsite.cnlab-switch.ch/mirror/OpenLDAP/openldap-release/
|
|
EXTRACT_SUFX= .tgz
|
|
|
|
MAINTAINER= ghen@NetBSD.org
|
|
HOMEPAGE= http://www.openldap.org/
|
|
|
|
CONFLICTS+= ldapsdk-[0-9]*
|
|
|
|
DISTINFO_FILE= ${.CURDIR}/../../databases/openldap/distinfo
|
|
PATCHDIR= ${.CURDIR}/../../databases/openldap/patches
|
|
FILESDIR= ${.CURDIR}/../../databases/openldap/files
|
|
|
|
USE_LIBTOOL= yes
|
|
USE_TOOLS+= soelim
|
|
GNU_CONFIGURE= yes
|
|
|
|
MAKE_ENV+= LIBMODE=${LIBMODE:Q}
|
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
|
|
OPENLDAP_ETCDIR?= ${PKG_SYSCONFDIR}/openldap
|
|
OPENLDAP_MODULEDIR= ${PREFIX}/lib/openldap
|
|
OPENLDAP_VARDIR?= ${VARBASE}/openldap
|
|
|
|
SLAPD_USER?= slapd
|
|
LDAP_GROUP?= ldap
|
|
|
|
PKG_GROUPS_VARS+= LDAP_GROUP
|
|
PKG_USERS_VARS+= SLAPD_USER
|
|
|
|
# the internal avl_* prototypes conflict with those in <sys/avl.h> which
|
|
# is included by another system header file on Solaris, so subst them.
|
|
.if ${OPSYS} == "SunOS"
|
|
SUBST_CLASSES+= conflict
|
|
SUBST_STAGE.conflict= post-patch
|
|
SUBST_FILES.conflict= ${WRKSRC}/*/*.h
|
|
SUBST_FILES.conflict+= ${WRKSRC}/*/*/*.c ${WRKSRC}/*/*/*/*.c
|
|
SUBST_SED.conflict+= -e 's,avl_free,openldap_avl_free,g'
|
|
SUBST_SED.conflict+= -e 's,avl_insert,openldap_avl_insert,g'
|
|
SUBST_SED.conflict+= -e 's,avl_delete,openldap_avl_delete,g'
|
|
SUBST_SED.conflict+= -e 's,avl_find,openldap_avl_find,g'
|
|
SUBST_SED.conflict+= -e 's,avl_find2,openldap_avl_find2,g'
|
|
SUBST_MESSAGE.conflict= Fixing conflicting function prototypes.
|
|
.endif
|
|
|
|
CPPFLAGS.Darwin+= -DBIND_8_COMPAT
|
|
CPPFLAGS.Linux+= -D_GNU_SOURCE
|
|
|
|
CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR:Q}
|
|
CONFIGURE_ARGS+= --localstatedir=${OPENLDAP_VARDIR:Q}
|
|
CONFIGURE_ARGS+= --enable-dynamic
|
|
CONFIGURE_ARGS+= --with-tls=openssl
|
|
|
|
EGDIR= ${PREFIX}/share/examples/openldap
|
|
|
|
CONF_FILES= # empty
|
|
CONF_FILES_PERMS= # empty
|
|
.for FILE in ${CNFS}
|
|
CONF_FILES+= ${EGDIR}/${FILE:Q} ${OPENLDAP_ETCDIR}/${FILE:Q}
|
|
.endfor
|
|
.for FILE in ${CNFS_PERMS}
|
|
CONF_FILES_PERMS+= ${EGDIR}/${FILE:Q} ${OPENLDAP_ETCDIR}/${FILE:Q} ${OPENLDAP_FILEPERMS}
|
|
.endfor
|
|
|
|
DB_CONFIG?= # empty
|
|
|
|
PTHREAD_OPTS+= require
|
|
|
|
.include "../../security/openssl/buildlink3.mk"
|
|
.include "../../security/tcp_wrappers/buildlink3.mk"
|
|
.include "../../mk/pthread.buildlink3.mk"
|
|
|
|
.if ${PTHREAD_TYPE} == "native"
|
|
CONFIGURE_ARGS+= --with-threads
|
|
.elif ${PTHREAD_TYPE} == "pth"
|
|
CONFIGURE_ARGS+= --with-threads=pth
|
|
|
|
#
|
|
# Don't use a larger FD_SETSIZE than GNU Pth can handle (value taken from
|
|
# pth.h header).
|
|
#
|
|
PTH_FDSETSIZE_cmd= \
|
|
if ${TEST} -f ${BUILDLINK_PREFIX.pth:Q}/include/pth.h; then \
|
|
${AWK} '/if FD_SETSIZE >/ { print $$4 }' \
|
|
${BUILDLINK_PREFIX.pth}/include/pth.h; \
|
|
else \
|
|
${ECHO} 0; \
|
|
fi
|
|
CPPFLAGS+= -DOPENLDAP_FD_SETSIZE=${PTH_FDSETSIZE_cmd:sh:Q}
|
|
.endif
|
|
|
|
MAKE_FLAGS+= moduledir=${OPENLDAP_MODULEDIR:Q}
|
|
INSTALL_MAKE_FLAGS= ${MAKE_FLAGS} sysconfdir=${EGDIR:Q}
|
|
|
|
# Set the correct file modes for the example config files.
|
|
post-install:
|
|
.for file in ${CNFS} ${CNFS_PERMS} ${DB_CONFIG}
|
|
${CHMOD} ${SHAREMODE} ${DESTDIR}${EGDIR}/${file:Q}
|
|
${RM} -f ${DESTDIR}${EGDIR}/${file:Q}.default
|
|
.endfor
|