Skip to content
Snippets Groups Projects
configure.in 88.5 KiB
Newer Older
  • Learn to ignore specific revisions
  • 
    		if test $ol_with_ldbm_type = hash ; then
    
    			AC_DEFINE(LDBM_USE_DBHASH,1,
    				[define this to use DBHASH w/ LDBM backend])
    
    			AC_DEFINE(LDBM_USE_DBBTREE,1,
    				[define this to use DBBTREE w/ LDBM backend])
    
    		fi
    
    		dnl $ol_cv_lib_db should be yes or -ldb
    		dnl (it could be no, but that would be an error
    		if test $ol_cv_lib_db != yes ; then
    			LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_db"
    		fi
    	fi
    fi
    
    
    Howard Chu's avatar
    Howard Chu committed
    if test $ol_enable_bdb != no -o $ol_enable_hdb != no; then
    	if test $ol_link_ldbm != berkeley ; then
    		AC_MSG_ERROR(BDB/HDB: BerkeleyDB not available)
    
    Howard Chu's avatar
    Howard Chu committed
    		OL_BDB_COMPAT
    
    		if test $ol_cv_bdb_compat != yes ; then
    			AC_MSG_ERROR([BDB/HDB: BerkeleyDB version incompatible])
    		fi
    
    if test $ol_link_ldbm = no -a $ol_with_ldbm_type = btree ; then
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    	AC_MSG_WARN([Could not find LDBM with BTREE support])
    
    	ol_with_ldbm_api=none
    
    Juan Gomez's avatar
    Juan Gomez committed
    if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = mdbm ; then
    	OL_MDBM
    
    	if test $ol_cv_mdbm = yes ; then
    		ol_link_ldbm=mdbm
    		ol_with_ldbm_api=mdbm
    		if test $ol_cv_lib_mdbm != yes ; then
    			LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_mdbm"
    		fi
    	fi
    fi
    
    
    if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = gdbm ; then
    	OL_GDBM
    
    	if test $ol_cv_gdbm = yes ; then
    		ol_link_ldbm=gdbm
    		ol_with_ldbm_api=gdbm
    
    		if test $ol_cv_lib_gdbm != yes ; then
    			LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_gdbm"
    		fi
    	fi
    fi
    
    
    if test $ol_with_ldbm_api = ndbm ; then
    
    	OL_NDBM
    
    	if test $ol_cv_ndbm = yes ; then
    
    		ol_link_ldbm=ndbm
    		ol_with_ldbm_api=ndbm
    
    
    		if test $ol_cv_lib_ndbm != yes ; then
    			LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_ndbm"
    		fi
    	fi
    fi
    
    if test $ol_link_ldbm = no -a $ol_enable_ldbm != no ; then
    
    Howard Chu's avatar
    Howard Chu committed
    	AC_MSG_ERROR([could not find suitable LDBM backend])
    fi
    
    Howard Chu's avatar
    Howard Chu committed
    if test $ol_enable_bdb = yes -o \
    	$ol_enable_hdb = yes -o \
    	$ol_enable_ldbm = yes ; then
    	SLAPD_LIBS="$SLAPD_LIBS \$(LDBM_LIBS)"
    
    dnl ----------------------------------------------------------------
    
    if test $ol_enable_dynamic = yes -a $enable_shared = yes ; then
    
    	BUILD_LIBS_DYNAMIC=shared
    	AC_DEFINE(LDAP_LIBS_DYNAMIC, 1, [define if LDAP libs are dynamic])
    
    	BUILD_LIBS_DYNAMIC=static
    
    dnl ----------------------------------------------------------------
    
    if test $ol_enable_wrappers != no ; then
    
    	AC_CHECK_HEADERS(tcpd.h,[
    		AC_MSG_CHECKING([for TCP wrappers library])
    		save_LIBS="$LIBS"
    		LIBS="$LIBS -lwrap"
    
    		AC_TRY_LINK([
    
    #include <tcpd.h>
    int allow_severity = 0;
    int deny_severity  = 0;
    
    struct request_info *req;
    
    		],[AC_MSG_RESULT([-lwrap])
    
    		have_wrappers=yes
    		LIBS="$save_LIBS"],[
    		dnl try with -lnsl
    		LIBS="$LIBS -lnsl"
    
    		AC_TRY_LINK([
    
    int allow_severity = 0;
    int deny_severity  = 0;
    
    
    struct request_info *req;
    		],[
    hosts_access(req)
    		],[AC_MSG_RESULT([-lwrap -lnsl])
    		have_wrappers=yes
    		LIBS="$save_LIBS -lnsl"],[
    		AC_MSG_RESULT(no)
    		have_wrappers=no
    
    		LIBS=$save_LIBS])],[
    		have_wrappers=no])],[have_wrappers=no])
    
    
    	if test $have_wrappers = yes ; then
    
    		AC_DEFINE(HAVE_TCPD,1, [define if you have -lwrap])
    
    	elif test $ol_enable_wrappers = yes ; then
    
    Pierangelo Masarati's avatar
    Pierangelo Masarati committed
    		AC_MSG_ERROR([could not find TCP wrappers, select apppropriate options or disable])
    
    		AC_MSG_WARN([could not find TCP wrappers, support disabled])
    
    dnl ----------------------------------------------------------------
    
    if test $ol_enable_syslog != no ; then
    	AC_CHECK_FUNC(openlog)
    	if test $ac_cv_func_openlog = no -a $ol_enable_syslog = yes; then
    		AC_MSG_ERROR(could not find syslog, select appropriate options or disable)
    	fi
    	ol_enable_syslog=$ac_cv_func_openlog
    fi
    
    
    dnl ----------------------------------------------------------------
    
    dnl dmalloc support (deprecated in favor of -DCSRIMALLOC support)
    dnl if test $ol_enable_dmalloc != no ; then
    dnl 	AC_CHECK_HEADERS(dmalloc.h)
    dnl 	AC_CHECK_LIB(dmalloc, dmalloc_shutdown)
    dnl fi
    
    
    dnl ----------------------------------------------------------------
    dnl SQL
    ol_link_sql=no
    if test $ol_enable_sql != no ; then
    
    	AC_CHECK_HEADERS(sql.h sqlext.h,[],[
    		AC_MSG_ERROR([could not locate SQL headers])
    	])
    
    
    	sql_LIBS="$LIBS"
    	LIBS="$LTHREAD_LIBS"
    
    
    	AC_CHECK_LIB(iodbc,SQLDriverConnect,[have_iodbc=yes],[have_iodbc=no])
    	if test $have_iodbc = yes ; then
    		ol_link_sql="-liodbc"
    	else
    		AC_CHECK_LIB(odbc,SQLDriverConnect,[have_odbc=yes],[have_odbc=no])
    		if test $have_odbc = yes ; then
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    			ol_link_sql="-lodbc"
    
    	LIBS="$sql_LIBS"
    
    
    	if test $ol_link_sql != no ; then
    		SLAPD_SQL_LIBS="$ol_link_sql"
    
    	elif test $ol_enable_sql != auto ; then
    		AC_MSG_ERROR([could not locate suitable ODBC library])
    	fi
    fi
    
    
    dnl ----------------------------------------------------------------
    
    ol_link_sasl=no
    
    if test $ol_with_cyrus_sasl != no ; then
    
    	AC_CHECK_HEADERS(sasl/sasl.h sasl.h)
    
    	if test $ac_cv_header_sasl_sasl_h = yes -o $ac_cv_header_sasl_h = yes; then
    
    Howard Chu's avatar
    Howard Chu committed
    		AC_CHECK_LIB(sasl2, sasl_client_init,
    
    			[ol_link_sasl="-lsasl2"],
    			[AC_CHECK_LIB(sasl, sasl_client_init,
    				[ol_link_sasl="-lsasl"])])
    
    	if test $ol_link_sasl = no ; then
    		if test $ol_with_cyrus_sasl != auto ; then
    			AC_MSG_ERROR([Could not locate Cyrus SASL])
    		else
    			AC_MSG_WARN([Could not locate Cyrus SASL])
    			AC_MSG_WARN([SASL authentication not supported!])
    			if test $ol_link_tls = no ; then
    				AC_MSG_WARN([Strong authentication not supported!])
    			fi
    		fi
    
    Howard Chu's avatar
    Howard Chu committed
    	else
    
    		OL_SASL_COMPAT
    		if test $ol_cv_sasl_compat = no ; then
    
    			ol_link_sasl=no
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    			AC_MSG_ERROR([Cyrus SASL library located but is incompatible])
    
    Howard Chu's avatar
    Howard Chu committed
    		AC_DEFINE(HAVE_CYRUS_SASL,1,[define if you have Cyrus SASL])
    
    Howard Chu's avatar
    Howard Chu committed
    		if test $ol_enable_spasswd != no ; then
    			ol_link_spasswd=yes
    		fi
    
    
    		ac_save_LIBS="$LIBS"
    		LIBS="$LIBS $ol_link_sasl"
    		AC_CHECK_FUNC(sasl_version, [AC_DEFINE(HAVE_SASL_VERSION,1,
    			[define if your SASL library has sasl_version()])])
    		LIBS="$ac_save_LIBS"
    
    else
    	AC_MSG_WARN([SASL authentication not supported!])
    	if test $ol_link_tls = no ; then
    		AC_MSG_WARN([Strong authentication not supported!])
    
    dnl ----------------------------------------------------------------
    dnl Check for entropy sources
    
    Howard Chu's avatar
    Howard Chu committed
    if test $cross_compiling != yes -a "$ac_cv_mingw32" != yes ; then
    
    	dev=no
    	if test -r /dev/urandom ; then
    		dev="/dev/urandom";
    	elif test -r /idev/urandom ; then
    		dev="/idev/urandom";
    	elif test -r /dev/srandom ; then
    		dev="/dev/srandom";
    	elif test -r /dev/random ; then
    		dev="/dev/random";
    	elif test -r /idev/random ; then
    		dev="/idev/random";
    	fi
    
    	if test $dev != no ; then
    		AC_DEFINE_UNQUOTED(URANDOM_DEVICE,"$dev",[set to urandom device])
    	fi
    fi
    
    
    dnl ----------------------------------------------------------------
    
    dnl
    dnl Check for fetch URL support
    dnl		should be extended to support other fetch URL APIs
    dnl
    ol_link_fetch=no
    if test $ol_with_fetch != no ; then
    	OL_LIB_FETCH
    
    	if test $ol_cv_lib_fetch != no ; then
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    		LUTIL_LIBS="$LUTIL_LIBS $ol_link_fetch"
    
    		ol_link_fetch=freebsd
    
    	elif test $ol_with_fetch != auto ; then
    		AC_MSG_ERROR(no suitable API for --with-fetch=$ol_with_fetch)
    	fi 
    fi
    
    
    dnl ----------------------------------------------------------------
    dnl FreeBSD (and others) have crypt(3) in -lcrypt
    
    if test $ol_enable_crypt != no ; then
    
    	save_LIBS="$LIBS"
    	LIBS="$TLS_LIBS $LIBS"
    
    
    	AC_CHECK_FUNC(crypt, [have_crypt=yes], [
    
    		AC_CHECK_LIB(crypt, crypt, [LUTIL_LIBS="$LUTIL_LIBS -lcrypt"
    			have_crypt=yes], [have_crypt=no])])
    
    
    	if test $have_crypt = yes ; then
    
    		AC_DEFINE(HAVE_CRYPT,1, [define if crypt(3) is available])
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    		AC_MSG_WARN([could not find crypt])
    
    		if test $ol_enable_crypt = yes ; then
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    			AC_MSG_ERROR([could not find crypt, select appropriate options or disable])
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    		AC_MSG_WARN([disabling crypt support])
    
    		ol_enable_crypt=no
    	fi
    fi
    
    
    dnl ----------------------------------------------------------------
    dnl FreeBSD (and others) have setproctitle(3) in -lutil
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    if test $ol_enable_proctitle != no ; then
    	AC_CHECK_FUNC(setproctitle,	[have_setproctitle=yes], [
    		AC_CHECK_LIB(util, setproctitle,
    			[have_setproctitle=yes
    			LUTIL_LIBS="$LUTIL_LIBS -lutil"],
    			[have_setproctitle=no
    
    			AC_LIBOBJ(setproctitle)
    
    Howard Chu's avatar
    Howard Chu committed
    			LIBSRCS="$LIBSRCS setproctitle.c"])])
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    
    	if test $have_setproctitle = yes ; then
    
    		AC_DEFINE(HAVE_SETPROCTITLE,1,
    			[define if setproctitle(3) is available])
    
    dnl ----------------------------------------------------------------
    dnl Check for SLPv2 Compliant API Library
    if test $ol_enable_slp != no ; then
    	AC_CHECK_HEADERS( slp.h )
    
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    	if test $ac_cv_header_slp_h = yes ; then
    
    		AC_CHECK_LIB(slp, SLPOpen, [have_slp=yes], [have_slp=no])
    		if test $have_slp = yes ; then
    			AC_DEFINE(HAVE_SLP, 1, [define if you have -lslp])
    			SLAPD_SLP_LIBS=-lslp
    		fi
    
    	elif test $ol_enable_slp = yes ; then
    		AC_MSG_ERROR([SLP not found])
    	fi
    fi
    
    
    dnl ----------------------------------------------------------------
    
    dnl Check for multiple precision support
    if test "$ol_with_multiple_precision" != "no" ; then
    	ol_have_bignum=no
    	ol_have_gmp=no
    
    	AC_CHECK_HEADERS(openssl/bn.h bn.h)
    	AC_CHECK_HEADERS(openssl/crypto.h crypto.h)
    	AC_CHECK_HEADERS( gmp.h )
    
    	if test "$ol_with_tls" = "found" ; then
    		ol_have_bn_h=no
    		ol_have_crypto_h=no
    
    		if test "$ac_cv_header_openssl_bn_h" = "yes" \
    				-o "$ac_cv_header_bn_h" = "yes" ; then
    			ol_have_bn_h=yes
    		fi
    
    		if test "$ac_cv_header_openssl_crypto_h" = "yes" \
    				-o "$ac_cv_header_crypto_h" = "yes" ; then
    			ol_have_crypto_h=yes
    		fi
    
    		if test "$ol_have_bn_h" = "yes" \
    				-a "$ol_have_crypto_h" = "yes" ; then
    			ol_have_bignum=yes
    		fi
    	fi
    
    	if test $ac_cv_header_gmp_h = yes ; then
    		AC_CHECK_LIB(gmp, __gmpz_add_ui, [have_gmp=yes], [have_gmp=no])
    		if test $have_gmp = yes ; then
    			ol_have_gmp=yes
    		fi
    	fi
    
    	AC_MSG_CHECKING([for multiple precision support])
    
    	ol_mp_support="none"
    	case "$ol_with_multiple_precision" in
    	auto)
    		dnl preferred sequence:
    		dnl - OpenSSL's BIGNUM (if libssl is already linked)
    		dnl - GNU's MP
    		dnl - unsigned long
    		if test "$ol_have_bignum" = "yes" ; then
    			ol_mp_support="bignum"
    		else
    			if test "$ol_have_gmp" = "yes" ; then
    				ol_mp_support="gmp"
    			fi
    		fi
    		;;
    	bignum)
    		if test "$ol_have_bignum" != "yes" ; then
    			AC_MSG_ERROR([OpenSSL's BIGNUM not available])
    		fi
    		ol_mp_support="bignum"
    		;;
    	gmp)
    		if test "$ol_have_gmp" != "yes" ; then
    			AC_MSG_ERROR([GMP not available])
    		fi
    		ol_mp_support="gmp"
    		;;
    	yes)
    		if test "$ol_have_bignum" = "yes" ; then
    			ol_mp_support="bignum"
    		elif test "$ol_have_gmp" = "yes" ; then
    			ol_mp_support="gmp"
    		else
    			AC_MSG_ERROR([not available])
    		fi
    		;;
    	esac
    
    	case "$ol_mp_support" in
    	bignum)
    		AC_DEFINE(HAVE_BIGNUM, 1,
    			[define if you have SSLeay or OpenSSL's BIGNUM])
    		;;
    	gmp)
    
    		AC_DEFINE(HAVE_GMP, 1, [define if you have -lgmp])
    		SLAPD_GMP_LIBS=-lgmp
    
    		;;
    	none)
    		;;
    	esac
    
    	AC_MSG_RESULT($ol_mp_support)
    
    dnl ----------------------------------------------------------------
    dnl Checks for typedefs, structures, and compiler characteristics.
    
    Hallvard Furuseth's avatar
    Hallvard Furuseth committed
    
    dnl Checks for long long
    AC_CACHE_CHECK([long long], ol_cv_type_long_long, [
    
    	AC_TRY_COMPILE([], [long long x;],
    		[ol_cv_type_long_long=yes],
    		[ol_cv_type_long_long=no])])
    
    Hallvard Furuseth's avatar
    Hallvard Furuseth committed
    if test $ol_cv_type_long_long = yes; then
    
    	AC_DEFINE(HAVE_LONG_LONG, 1, [define if you have 'long long'])
    
    AC_TYPE_MODE_T
    AC_TYPE_OFF_T
    AC_TYPE_PID_T
    
    AC_CHECK_TYPES([ptrdiff_t])
    
    AC_TYPE_SIGNAL
    AC_TYPE_SIZE_T
    
    AC_CHECK_TYPE(ssize_t, [signed int])
    AC_CHECK_TYPE(caddr_t,	[char *])
    
    AC_CHECK_MEMBERS([struct stat.st_blksize])
    
    AC_HEADER_TIME
    AC_STRUCT_TM
    
    Howard Chu's avatar
    Howard Chu committed
    AC_TYPE_UID_T
    OL_TYPE_SIG_ATOMIC_T
    
    
    dnl AC_TYPE_GETGROUPS
    
    OL_STRUCT_PASSWD_PW_GECOS
    OL_STRUCT_PASSWD_PW_PASSWD
    
    
    OL_C_UPPER_LOWER
    AC_C_CONST
    
    if test $cross_compiling = yes ; then
    
    	AC_MSG_WARN([Crossing compiling... all bets are off!])
    
    	AC_DEFINE(CROSS_COMPILING, 1, [define if cross compiling])
    
    AC_COMPILE_CHECK_SIZEOF(short) 
    AC_COMPILE_CHECK_SIZEOF(int) 
    AC_COMPILE_CHECK_SIZEOF(long)
    
    AC_COMPILE_CHECK_SIZEOF(wchar_t)
    
    if test "$ac_cv_sizeof_int" -lt 4 ; then
    	AC_MSG_WARN([OpenLDAP requires 'int' to be 32 bits or greater.])
    
    
    	AC_DEFINE(LBER_INT_T,long,[define to 32-bit or greater integer type])
    
    	AC_DEFINE(LBER_INT_T,int,[define to 32-bit or greater integer type])
    
    AC_DEFINE(LBER_LEN_T,long,[define to large integer type])
    AC_DEFINE(LBER_SOCKET_T,int,[define to socket descriptor type])
    AC_DEFINE(LBER_TAG_T,long,[define to large integer type])
    
    dnl ----------------------------------------------------------------
    dnl Checks for library functions.
    AC_FUNC_MEMCMP
    
    if test $ac_cv_func_memcmp_working = no ; then
    
    	AC_DEFINE(NEED_MEMCMP_REPLACEMENT,1,
    		[define if memcmp is not 8-bit clean or is otherwise broken])
    fi
    
    
    dnl AC_FUNC_MKTIME([]) dnl checks for sys/time.h and unistd.h
    
    AC_FUNC_STRFTIME
    
    dnl AC_FUNC_STRTOD([])
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    
    
    OL_FUNC_INET_ATON
    
    
    dnl Check for NT specific routines
    AC_CHECK_FUNC(_spawnlp, AC_DEFINE(HAVE_SPAWNLP,1,[if you have spawnlp()]))
    
    AC_CHECK_FUNC(_snprintf, [ac_cv_func_snprintf=yes
    
    	AC_DEFINE(snprintf, _snprintf, [define to snprintf routine])
    
    AC_CHECK_FUNC(_vsnprintf, [ac_cv_func_vsnprintf=yes
    
    	AC_DEFINE(vsnprintf, _vsnprintf, [define to vsnprintf routine])
    
    AC_FUNC_VPRINTF
    
    
    if test $ac_cv_func_vprintf = yes ; then
    	dnl check for vsnprintf
    
    AC_CHECK_FUNCS(		\
    	bcopy			\
    
    	closesocket		\
    
    	flock			\
    
    	gethostname		\
    
    	lockf			\
    	memcpy			\
    	memmove			\
    
    	recv			\
    	recvfrom		\
    
    	setpwfile		\
    
    	setsid			\
    
    	signal			\
    
    	strrchr			\
    	strsep			\
    
    	strtol			\
    	strtoul			\
    
    Luke Howard's avatar
    Luke Howard committed
    	strtoq			\
    	strtouq			\
    
    Luke Howard's avatar
    Luke Howard committed
    	strtoll			\
    
    Bart Hartgers's avatar
     
    Bart Hartgers committed
    	strspn			\
    
    	sysconf			\
    
    	waitpid			\
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    	wait4			\
    
    dnl We actually may need to replace more than this.
    
    Howard Chu's avatar
    Howard Chu committed
    if test "$ac_cv_func_getopt" != yes; then
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    	LIBSRCS="$LIBSRCS getopt.c"
    
    Howard Chu's avatar
    Howard Chu committed
    fi
    
    if test "$ac_cv_func_getpeereid" != yes; then
    
    	OL_MSGHDR_MSG_ACCRIGHTS
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    	if test "$ac_cv_func_getpeereid" != yes; then
    		OL_MSGHDR_MSG_CONTROL
    	fi
    
    if test "$ac_cv_func_snprintf" != yes -o "$ac_cv_func_vsnprintf" != yes; then
    	if test "$ac_cv_func_snprintf" != yes; then
    
    		AC_DEFINE(snprintf, ber_pvt_snprintf, [define to snprintf routine])
    
    	fi
    	if test "$ac_cv_func_vsnprintf" != yes; then
    
    		AC_DEFINE(vsnprintf, ber_pvt_vsnprintf, [define to snprintf routine])
    
    dnl ----------------------------------------------------------------
    dnl Sort out defines
    
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    	dnl This check is done also if --enable-modules is used;
    
    	dnl it is duplicated here, 'cause it'd be cached anyway
    	AC_CHECK_HEADERS(ltdl.h)
    
    	if test $ac_cv_header_ltdl_h != yes ; then
    		AC_MSG_ERROR([could not locate <ltdl.h>])
    	fi
    	AC_CHECK_LIB(ltdl, lt_dlinit, [
    		SLAPI_LIBS=-lltdl
    
    Pierangelo Masarati's avatar
    Pierangelo Masarati committed
    		LIBSLAPITOOLS=../libslapi.a
    
    		AC_DEFINE(HAVE_LIBLTDL,1,[define if you have libtool -ltdl])
    	],[AC_MSG_ERROR([could not locate libtool -lltdl])])
    
    	AC_DEFINE(LDAP_SLAPI,1, [define this to add SLAPI code])
    fi
    
    
    if test "$ol_enable_debug" != no ; then
    
    	AC_DEFINE(LDAP_DEBUG,1,
    		[define this to add debugging code])
    
    if test "$ol_enable_syslog" = yes ; then
    
    	AC_DEFINE(LDAP_SYSLOG,1,
    		[define this to add syslog code])
    
    if test "$ol_link_kbind" != no ; then
    
    	AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND,LDAP_VENDOR_VERSION,
    		[define to LDAP VENDOR VERSION])
    
    if test "$ol_enable_proctitle" != no ; then
    
    	AC_DEFINE(LDAP_PROCTITLE,1,
    		[define this for LDAP process title support])
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    fi
    
    if test "$ol_enable_referrals" != no ; then
    
    	AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_REFERRALS,LDAP_VENDOR_VERSION,
    		[define to LDAP VENDOR VERSION])
    
    if test "$ol_enable_local" != no; then
    	AC_DEFINE(LDAP_PF_LOCAL,1,[define to support PF_LOCAL])
    
    if test "$ol_link_ipv6" != no; then
    
    	AC_DEFINE(LDAP_PF_INET6,1,[define to support PF_INET6])
    
    if test "$ol_enable_cleartext" != no ; then
    	AC_DEFINE(SLAPD_CLEARTEXT,1,[define to support cleartext passwords])
    fi
    
    if test "$ol_enable_crypt" != no ; then
    
    	AC_DEFINE(SLAPD_CRYPT,1,[define to support crypt(3) passwords])
    
    if test "$ol_link_spasswd" != no ; then
    	AC_DEFINE(SLAPD_SPASSWD,1,[define to support SASL passwords])
    fi
    
    if test "$ol_enable_multimaster" != no ; then
    	AC_DEFINE(SLAPD_MULTIMASTER,1,[define to support multimaster replication])
    fi
    
    if test "$ol_enable_rlookups" != no ; then
    
    	AC_DEFINE(SLAPD_RLOOKUPS,1,[define to support reverse lookups])
    
    if test "$ol_enable_aci" != no ; then
    	AC_DEFINE(SLAPD_ACI_ENABLED,1,[define to support per-object ACIs])
    fi
    
    if test "$ol_link_modules" != no ; then
    
    	AC_DEFINE(SLAPD_MODULES,1,[define to support modules])
    
    	SLAPD_MODULES_LDFLAGS="-dlopen self"
    
    Howard Chu's avatar
    Howard Chu committed
    AC_DEFINE(SLAPD_MOD_STATIC,1,[statically linked module])
    AC_DEFINE(SLAPD_MOD_DYNAMIC,2,[dynamically linked module])
    
    
    if test "$ol_enable_bdb" != no ; then
    	BUILD_SLAPD=yes
    
    	BUILD_BDB=$ol_enable_bdb
    	if test "$ol_enable_bdb" = mod ; then
    
    		SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-bdb"
    
    		MFLAG=SLAPD_MOD_DYNAMIC
    
    	else
    		SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-bdb"
    
    		MFLAG=SLAPD_MOD_STATIC
    
    	AC_DEFINE_UNQUOTED(SLAPD_BDB,$MFLAG,[define to support BDB backend])
    
    if test "$ol_enable_dnssrv" != no ; then
    
    	BUILD_DNSSRV=$ol_enable_dnssrv
    	if test "$ol_enable_dnssrv" = mod ; then
    
    		SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-dnssrv"
    
    		MFLAG=SLAPD_MOD_DYNAMIC
    
    	else
    		SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-dnssrv"
    
    		MFLAG=SLAPD_MOD_STATIC
    
    	AC_DEFINE_UNQUOTED(SLAPD_DNSSRV,$MFLAG,[define to support DNS SRV backend])
    
    Howard Chu's avatar
    Howard Chu committed
    if test "$ol_enable_hdb" != no ; then
    	BUILD_SLAPD=yes
    
    	BUILD_HDB=$ol_enable_hdb
    	if test "$ol_enable_hdb" = mod ; then
    
    Howard Chu's avatar
    Howard Chu committed
    		SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-hdb"
    
    		MFLAG=SLAPD_MOD_DYNAMIC
    
    Howard Chu's avatar
    Howard Chu committed
    	else
    		SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-hdb"
    
    		MFLAG=SLAPD_MOD_STATIC
    
    Howard Chu's avatar
    Howard Chu committed
    	fi
    
    	AC_DEFINE_UNQUOTED(SLAPD_HDB,$MFLAG,[define to support HDB backend])
    
    Howard Chu's avatar
    Howard Chu committed
    fi
    
    
    if test "$ol_enable_ldap" != no ; then
    
    	BUILD_LDAP=$ol_enable_ldap
    	if test "$ol_enable_ldap" = mod ; then
    
    		SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldap"
    
    		MFLAG=SLAPD_MOD_DYNAMIC
    
    	else
    		SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldap"
    
    		MFLAG=SLAPD_MOD_STATIC
    
    	AC_DEFINE_UNQUOTED(SLAPD_LDAP,$MFLAG,[define to support LDAP backend])
    
    if test "$ol_link_ldbm" != no -a $ol_enable_ldbm != no; then
    
    	BUILD_SLAPD=yes
    
    	BUILD_LDBM=$ol_enable_ldbm
    	if test "$ol_enable_ldbm" = mod ; then
    
    		SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldbm"
    
    		MFLAG=SLAPD_MOD_DYNAMIC
    
    	else
    		SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldbm"
    
    		MFLAG=SLAPD_MOD_STATIC
    
    	AC_DEFINE_UNQUOTED(SLAPD_LDBM,$MFLAG,[define to support LDBM backend])
    
    if test "$ol_enable_meta" != no ; then
    	BUILD_SLAPD=yes
    
    	BUILD_META=$ol_enable_meta
    
    	if test "$ol_enable_meta" = mod ; then
    
    		SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-meta"
    
    		MFLAG=SLAPD_MOD_DYNAMIC
    
    	else
    		SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-meta"
    
    		MFLAG=SLAPD_MOD_STATIC
    
    	AC_DEFINE_UNQUOTED(SLAPD_META,$MFLAG,[define to support LDAP Metadirectory backend])
    
    if test "$ol_enable_monitor" != no ; then
    	BUILD_SLAPD=yes
    
    	BUILD_MONITOR=$ol_enable_monitor
    	if test "$ol_enable_monitor" = mod ; then
    
    		SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-monitor"
    
    		MFLAG=SLAPD_MOD_DYNAMIC
    
    	else
    		SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-monitor"
    
    		MFLAG=SLAPD_MOD_STATIC
    
    	AC_DEFINE_UNQUOTED(SLAPD_MONITOR,$MFLAG,[define to support cn=Monitor backend])
    
    if test "$ol_enable_null" != no ; then
    	BUILD_SLAPD=yes
    
    	BUILD_NULL=$ol_enable_null
    	if test "$ol_enable_null" = mod ; then
    
    		SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-null"
    
    		MFLAG=SLAPD_MOD_DYNAMIC
    
    	else
    		SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-null"
    
    		MFLAG=SLAPD_MOD_STATIC
    
    	AC_DEFINE_UNQUOTED(SLAPD_NULL,$MFLAG,[define to support NULL backend])
    
    if test "$ol_enable_passwd" != no ; then
    
    	BUILD_SLAPD=yes
    
    	BUILD_PASSWD=$ol_enable_passwd
    	if test "$ol_enable_passwd" = mod ; then
    
    		SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-passwd"
    
    		MFLAG=SLAPD_MOD_DYNAMIC
    
    	else
    		SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-passwd"
    
    		MFLAG=SLAPD_MOD_STATIC
    
    	AC_DEFINE_UNQUOTED(SLAPD_PASSWD,$MFLAG,[define to support PASSWD backend])
    
    if test "$ol_link_perl" != no ; then
    
    	BUILD_PERL=$ol_enable_perl
    	if test "$ol_enable_perl" = mod ; then
    
    		SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-perl"
    
    		MFLAG=SLAPD_MOD_DYNAMIC
    
    	else
    		SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-perl"
    
    		MFLAG=SLAPD_MOD_STATIC
    
    	AC_DEFINE_UNQUOTED(SLAPD_PERL,$MFLAG,[define to support PERL backend])
    
    if test "$ol_enable_relay" != no ; then
    	BUILD_SLAPD=yes
    
    	BUILD_RELAY=$ol_enable_relay
    	if test "$ol_enable_relay" = mod ; then
    
    		SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-relay"
    
    		MFLAG=SLAPD_MOD_DYNAMIC
    
    	else
    		SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-relay"
    
    		MFLAG=SLAPD_MOD_STATIC
    
    	AC_DEFINE_UNQUOTED(SLAPD_RELAY,$MFLAG,[define to support relay backend])
    
    if test "$ol_enable_shell" != no ; then
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    	if test "$ol_link_thread" != no ; then
    
    		AC_MSG_WARN([Use of --without-threads is recommended with back-shell])
    	fi
    
    	BUILD_SLAPD=yes
    
    	BUILD_SHELL=$ol_enable_shell
    	if test "$ol_enable_shell" = mod ; then
    
    		SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-shell"
    
    		MFLAG=SLAPD_MOD_DYNAMIC
    
    	else
    		SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-shell"
    
    		MFLAG=SLAPD_MOD_STATIC
    
    	AC_DEFINE_UNQUOTED(SLAPD_SHELL,$MFLAG,[define to support SHELL backend])
    
    if test "$ol_link_sql" != no ; then
    
    	BUILD_SQL=$ol_enable_sql
    	if test "$ol_enable_sql" = mod; then
    
    		SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-sql"
    
    		MFLAG=SLAPD_MOD_DYNAMIC
    
    	else
    		SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-sql"
    
    		MFLAG=SLAPD_MOD_STATIC
    
    	AC_DEFINE_UNQUOTED(SLAPD_SQL,$MFLAG,[define to support SQL backend])
    
    Howard Chu's avatar
    Howard Chu committed
    if test "$ol_enable_accesslog" != no ; then
    	BUILD_ACCESSLOG=$ol_enable_accesslog
    	if test "$ol_enable_accesslog" = mod ; then
    		MFLAG=SLAPD_MOD_DYNAMIC
    		SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS accesslog.la"
    	else
    		MFLAG=SLAPD_MOD_STATIC
    		SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS accesslog.o"
    	fi
    	AC_DEFINE_UNQUOTED(SLAPD_OVER_ACCESSLOG,$MFLAG,[define for In-Directory Access Logging overlay])
    fi
    
    
    if test "$ol_enable_denyop" != no ; then
    	BUILD_DENYOP=$ol_enable_denyop
    	if test "$ol_enable_denyop" = mod ; then
    
    Pierangelo Masarati's avatar
    Pierangelo Masarati committed
    		MFLAG=SLAPD_MOD_DYNAMIC
    		SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS denyop.la"
    	else
    		MFLAG=SLAPD_MOD_STATIC
    
    Howard Chu's avatar
    Howard Chu committed
    		SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS denyop.o"
    
    Pierangelo Masarati's avatar
    Pierangelo Masarati committed
    	fi
    	AC_DEFINE_UNQUOTED(SLAPD_OVER_DENYOP,$MFLAG,[define for Dynamic Group overlay])
    fi
    
    
    if test "$ol_enable_dyngroup" != no ; then
    	BUILD_DYNGROUP=$ol_enable_dyngroup
    	if test "$ol_enable_dyngroup" = mod ; then
    
    Howard Chu's avatar
    Howard Chu committed
    		MFLAG=SLAPD_MOD_DYNAMIC
    		SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dyngroup.la"
    	else
    		MFLAG=SLAPD_MOD_STATIC
    
    Howard Chu's avatar
    Howard Chu committed
    		SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS dyngroup.o"
    
    Howard Chu's avatar
    Howard Chu committed
    	fi
    	AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNGROUP,$MFLAG,[define for Dynamic Group overlay])
    fi
    
    
    if test "$ol_enable_dynlist" != no ; then
    	BUILD_DYNLIST=$ol_enable_dynlist
    	if test "$ol_enable_dynlist" = mod ; then
    		MFLAG=SLAPD_MOD_DYNAMIC
    		SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dynlist.la"
    	else
    		MFLAG=SLAPD_MOD_STATIC
    
    Howard Chu's avatar
    Howard Chu committed
    		SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS dynlist.o"
    
    	fi
    	AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNLIST,$MFLAG,[define for Dynamic List overlay])
    fi
    
    
    Howard Chu's avatar
    Howard Chu committed
    if test "$ol_enable_glue" != no ; then
    	BUILD_GLUE=$ol_enable_glue
    	if test "$ol_enable_glue" = mod ; then
    		MFLAG=SLAPD_MOD_DYNAMIC
    		SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS glue.la"
    	else
    		MFLAG=SLAPD_MOD_STATIC
    
    Howard Chu's avatar
    Howard Chu committed
    		SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS glue.o"
    
    Howard Chu's avatar
    Howard Chu committed
    	fi
    	AC_DEFINE_UNQUOTED(SLAPD_OVER_GLUE,$MFLAG,[define for Backend Glue overlay])
    fi
    
    
    if test "$ol_enable_lastmod" != no ; then
    	BUILD_LASTMOD=$ol_enable_lastmod
    	if test "$ol_enable_lastmod" = mod ; then
    		MFLAG=SLAPD_MOD_DYNAMIC
    		SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS lastmod.la"
    	else
    		MFLAG=SLAPD_MOD_STATIC
    
    Howard Chu's avatar
    Howard Chu committed
    		SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS lastmod.o"
    
    	fi
    	AC_DEFINE_UNQUOTED(SLAPD_OVER_LASTMOD,$MFLAG,[define for Last Modification overlay])
    fi
    
    
    if test "$ol_enable_ppolicy" != no ; then
    	BUILD_PPOLICY=$ol_enable_ppolicy
    	if test "$ol_enable_ppolicy" = mod ; then
    
    Howard Chu's avatar
    Howard Chu committed
    		MFLAG=SLAPD_MOD_DYNAMIC
    		SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS ppolicy.la"
    	else
    		MFLAG=SLAPD_MOD_STATIC
    
    Howard Chu's avatar
    Howard Chu committed
    		SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS ppolicy.o"
    
    Howard Chu's avatar
    Howard Chu committed
    	fi
    	AC_DEFINE_UNQUOTED(SLAPD_OVER_PPOLICY,$MFLAG,[define for Password Policy overlay])
    fi
    
    
    if test "$ol_enable_proxycache" != no ; then
    	BUILD_PROXYCACHE=$ol_enable_proxycache
    	if test "$ol_enable_proxycache" = mod ; then
    
    Howard Chu's avatar
    Howard Chu committed
    		MFLAG=SLAPD_MOD_DYNAMIC
    		SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS pcache.la"
    	else
    		MFLAG=SLAPD_MOD_STATIC
    
    Howard Chu's avatar
    Howard Chu committed
    		SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS pcache.o"
    
    Howard Chu's avatar
    Howard Chu committed
    	fi
    	AC_DEFINE_UNQUOTED(SLAPD_OVER_PROXYCACHE,$MFLAG,[define for Proxy Cache overlay])
    fi
    
    
    if test "$ol_enable_refint" != no ; then
    	BUILD_REFINT=$ol_enable_refint
    	if test "$ol_enable_refint" = mod ; then
    		MFLAG=SLAPD_MOD_DYNAMIC
    		SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS refint.la"
    	else
    		MFLAG=SLAPD_MOD_STATIC
    
    Howard Chu's avatar
    Howard Chu committed
    		SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS refint.o"
    
    	fi
    	AC_DEFINE_UNQUOTED(SLAPD_OVER_REFINT,$MFLAG,[define for Referential Integrity overlay])
    fi
    
    
    if test "$ol_enable_retcode" != no ; then
    	BUILD_RETCODE=$ol_enable_retcode
    	if test "$ol_enable_retcode" = mod ; then
    		MFLAG=SLAPD_MOD_DYNAMIC
    		SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS retcode.la"
    	else
    		MFLAG=SLAPD_MOD_STATIC
    		SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS retcode.o"
    	fi
    	AC_DEFINE_UNQUOTED(SLAPD_OVER_RETCODE,$MFLAG,[define for Referential Integrity overlay])
    fi
    
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    if test "$ol_enable_rwm" != no ; then
    
    	BUILD_RWM=$ol_enable_rwm
    	if test "$ol_enable_rwm" = mod ; then
    
    		MFLAG=SLAPD_MOD_DYNAMIC
    		SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS rwm.la"
    	else
    		MFLAG=SLAPD_MOD_STATIC
    
    		SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS rwm_x.o"
    
    	fi
    	AC_DEFINE_UNQUOTED(SLAPD_OVER_RWM,$MFLAG,[define for Rewrite/Remap overlay])
    fi
    
    
    if test "$ol_enable_syncprov" != no ; then
    	BUILD_SYNCPROV=$ol_enable_syncprov
    	if test "$ol_enable_syncprov" = mod ; then
    		MFLAG=SLAPD_MOD_DYNAMIC
    		SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS syncprov.la"
    	else
    		MFLAG=SLAPD_MOD_STATIC
    
    Howard Chu's avatar
    Howard Chu committed
    		SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS syncprov.o"
    
    	fi
    	AC_DEFINE_UNQUOTED(SLAPD_OVER_SYNCPROV,$MFLAG,[define for Syncrepl Provider overlay])
    fi