dnl $OpenLDAP$
-
+dnl
dnl Copyright 1998,1999 The OpenLDAP Foundation. All Rights Reserved.
dnl
dnl Redistribution and use in source and binary forms are permitted only
dnl as authorized by the OpenLDAP Public License. A copy of this
dnl license is available at http://www.OpenLDAP.org/license.html or
dnl in file LICENSE in the top-level directory of the distribution.
-
+dnl
+dnl ----------------------------------------------------------------
+dnl Redefine AC_INIT_BINSH to provide RCS IDs and copyright notice
+dnl at top of generated configure script. Prints simple copyright.
+define([AC_INIT_BINSH],
+[[#! /bin/sh
+# $]OpenLDAP[$
+# from] translit([$OpenLDAP$], $")] [
+
+# Copyright 1998,1999 The OpenLDAP Foundation. All Rights Reserved.
+#
+# Redistribution and use in source and binary forms are permitted only
+# as authorized by the OpenLDAP Public License. A copy of this
+# license is available at http://www.OpenLDAP.org/license.html or
+# in file LICENSE in the top-level directory of the distribution.
+
+echo "Copyright 1998-1999 The OpenLDAP Foundation, All Rights Reserved."
+echo "Copying restrictions apply, see COPYRIGHT file."
+])dnl
+dnl ----------------------------------------------------------------
dnl Disable config.cache!
define([AC_CACHE_LOAD], )dnl
define([AC_CACHE_SAVE], )dnl
-
+dnl ================================================================
dnl Configure.in for OpenLDAP
AC_INIT(build/version)dnl
AC_CONFIG_AUX_DIR(build)dnl
-OPENLDAP_ID=OL_RCS_ID(OpenLDAP)
OL_VERSION=`cat $ac_aux_dir/version`
if test -z "$OL_VERSION"; then
AC_MSG_ERROR([could not determine version])
fi
-dnl ----------------------------------------------------------------
+echo "Configuring OpenLDAP $OL_VERSION ..."
+
dnl Determine host platform
dnl we try not to use this for much
AC_CANONICAL_SYSTEM
AC_CONFIG_HEADER(include/portable.h include/ldap_features.h include/lber_types.h)dnl
-dnl ----------------------------------------------------------------
+dnl ================================================================
dnl Start Args
AC_MSG_CHECKING(configure arguments)
AC_PREFIX_DEFAULT(/usr/local)
top_builddir=`pwd`
AC_SUBST(top_builddir)dnl
+dnl ----------------------------------------------------------------
+dnl --with-subdir
ldap_subdir="/openldap"
AC_ARG_WITH(subdir,
AC_SUBST(ldap_subdir)dnl
+dnl ----------------------------------------------------------------
+dnl General "enable" options
OL_ARG_ENABLE(debug,[ --enable-debug enable debugging], yes)dnl
-dnl ol_enable_syslog=no
OL_ARG_ENABLE(syslog,[ --enable-syslog enable syslog support], auto)dnl
OL_ARG_ENABLE(proctitle,[ --enable-proctitle enable proctitle support], yes)dnl
OL_ARG_ENABLE(cache,[ --enable-cache enable caching], yes)dnl
OL_ARG_ENABLE(x_compile,[ --enable-x-compile enable cross compiling],
no, [yes no])dnl
+dnl ----------------------------------------------------------------
dnl General "with" options
OL_ARG_ENABLE(dmalloc,[ --enable-dmalloc enable debug malloc support], no)dnl
OL_ARG_WITH(fetch,[ --with-fetch with fetch URL support],
auto, [auto yes no] )
OL_ARG_WITH(kerberos,[ --with-kerberos with Kerberos support],
- auto, [auto k5 k4 afs yes no])
+ auto, [auto k5 kth k4 afs yes no])
OL_ARG_WITH(readline,[ --with-readline with readline support],
auto, [auto yes no] )
OL_ARG_WITH(threads,[ --with-threads use threads],
- auto, [auto posix mach pth lwp yes no manual] )
+ auto, [auto nt posix mach pth lwp yes no manual] )
OL_ARG_WITH(tls,[ --with-tls with TLS/SSL support],
auto, [auto ssleay openssl yes no] )
OL_ARG_WITH(yielding_select,[ --with-yielding-select with implicitly yielding select],
auto, [auto yes no manual] )
+dnl ----------------------------------------------------------------
dnl Server options
-
+dnl ----------------------------------------------------------------
dnl LDAPD OPTIONS
AC_ARG_WITH(xxldapdoptions,[LDAPD (X.500-to-LDAP Gateway) Options:])
OL_ARG_ENABLE(ldapd,[ --enable-ldapd enable building ldapd], no)dnl
+dnl ----------------------------------------------------------------
dnl SLAPD OPTIONS
AC_ARG_WITH(xxslapdoptions,[SLAPD (Standalone LDAP Daemon) Options:])
OL_ARG_ENABLE(slapd,[ --enable-slapd enable building slapd], yes)dnl
OL_ARG_ENABLE(aci,[ --enable-aci enable per-object ACIs], no)dnl
OL_ARG_ENABLE(discreteaci,[ --enable-discreteaci enable discrete rights in ACIs], no)dnl
OL_ARG_ENABLE(wrappers,[ --enable-wrappers enable tcp wrapper support], no)dnl
+OL_ARG_ENABLE(dynamic,[ --enable-dynamic enable linking built binaries with dynamic libs], no)dnl
dnl SLAPD Backend options
OL_ARG_ENABLE(bdb2,[ --enable-bdb2 enable bdb2 backend], no)dnl
OL_ARG_WITH(tcl_module,[ --with-tcl-module module type], static,
[static dynamic])
+dnl ----------------------------------------------------------------
dnl SLURPD OPTIONS
AC_ARG_WITH(xxslurpdoptions,[SLURPD (Replication Daemon) Options:])
OL_ARG_ENABLE(slurpd,[ --enable-slurpd enable building slurpd], auto)dnl
+dnl ----------------------------------------------------------------
AC_ARG_WITH(xxliboptions,[Library Generation & Linking Options])
AC_ENABLE_STATIC
dnl AC_DISABLE_SHARED
AC_ENABLE_SHARED
+dnl ----------------------------------------------------------------
+
dnl General "enable" options
# validate options
if test $ol_enable_dns = yes ; then
ol_enable_aci=no
ol_enable_discreteaci=no
ol_enable_wrappers=no
+ ol_enable_dynamic=no
ol_with_ldbm_api=no
ol_with_ldbm_type=no
AC_MSG_RESULT(done)
-## Initialize vars
+dnl ----------------------------------------------------------------
+dnl Initialize vars
LDAP_LIBS=
LDIF_LIBS=
LDBM_LIBS=
SLAPD_MODULES_LIST=
SLAPD_PERL_LDFLAGS=
-SLAPD_PERL_CPPFLAGS=
+MOD_PERL_LDFLAGS=
+PERL_CPPFLAGS=
+MOD_TCL_LIB=
KRB_LIBS=
READLINE_LIBS=
SASL_LIBS=
TLS_LIBS=
MODULES_LIBS=
-dnl ----------------------------------------------------------------
+dnl ================================================================
dnl Checks for programs
dnl AC_PROG_INSTALL
AC_DEFINE(HAVE_MKVERSION, 1, [define this if you have mkversion])
+dnl ----------------------------------------------------------------
dnl
dnl Determine which C translator to use
dnl
dnl (for now, let autoconf sort this out)
dnl CFLAGS=${CFLAGS-""}
+AC_LIBTOOL_WIN32_DLL
AC_LIBTOOL_DLOPEN
AC_PROG_LIBTOOL
-dnl AC_PROG_MAKE_SET
AC_PROG_AWK
OL_PROG_LN_H
AC_PATH_PROG(EDITOR, vi, /usr/ucb/vi, $PATH:/usr/ucb)
AC_PATH_PROG(FINGER, finger, /usr/ucb/finger, $PATH:/usr/ucb)
+dnl ----------------------------------------------------------------
+dnl Perl
ol_link_perl=no
if test $ol_enable_perl != no ; then
AC_PATH_PROG(PERLBIN, perl, /usr/bin/perl)
fi
else
- SLAPD_PERL_LDFLAGS="`$PERLBIN -MExtUtils::Embed -e ldopts|sed -e s/-lc//`"
- SLAPD_PERL_CPPFLAGS="`$PERLBIN -MExtUtils::Embed -e ccopts`"
-
+ PERL_CPPFLAGS="`$PERLBIN -MExtUtils::Embed -e ccopts`"
+ if test x"$ol_with_perl_module" = "xstatic" ; then
+ SLAPD_PERL_LDFLAGS="`$PERLBIN -MExtUtils::Embed -e ldopts|sed -e s/-lc//`"
+ else
+ MOD_PERL_LDFLAGS="`$PERLBIN -MExtUtils::Embed -e ldopts|sed -e s/-lc//`"
+ fi
dnl should check perl version
ol_link_perl=yes
fi
AC_PROG_CPP
+dnl ----------------------------------------------------------------
+dnl Cross compiling checks
if test $cross_compiling = yes -a $ol_enable_x_compile = yes; then
AC_MSG_WARN([cross compiling.... some functionality will be removed.])
AC_MSG_ERROR([ if cross compiling, add --enable-x-compile.])
fi
+dnl ----------------------------------------------------------------
dnl Checks for UNIX Variants
AC_AIX
AC_ISC_POSIX
AC_MINIX
+dnl ----------------------------------------------------------------
dnl Checks for system services
AC_CYGWIN
AC_MINGW32
AC_DEFINE_UNQUOTED( EXEEXT, "${EXEEXT}", [defined to be the EXE extension])
+dnl ----------------------------------------------------------------
dnl BeOS requires -lbe -lroot -lnet
AC_CHECK_LIB(be, be_app, [LIBS="$LIBS -lbe -lroot -lnet"], :, [-lroot -lnet])
+dnl ----------------------------------------------------------------
dnl OpenLDAP requires STDC features
AM_PROG_CC_STDC
if test "X${am_cv_prog_cc_stdc}" = "Xno" ; then
AC_MSG_ERROR([OpenLDAP requires compiler to support STDC constructs.])
fi
+dnl ----------------------------------------------------------------
dnl Check cc depend flags
OL_MKDEPEND
if test "${ol_cv_mkdep}" = no ; then
AC_MSG_WARN([do not know how to generate dependencies])
fi
-dnl
+dnl ----------------------------------------------------------------
dnl Check for module support
-dnl
ol_link_modules=no
if test $ol_enable_modules != no ; then
AC_CHECK_HEADERS(ltdl.h)
if test $ac_cv_header_ltdl_h = no ; then
AC_MSG_ERROR([could not locate libtool ltdl.h])
-
fi
- AC_CHECK_LIB(ltdl, lt_dlinit)
+ AC_CHECK_LIB(ltdl, lt_dlinit, [
+ MODULES_LIBS=-lltdl
+ AC_DEFINE(HAVE_LIBLTDL,1,[define if you have libtool -ltdl])
+ ])
+
if test "$ac_cv_lib_ltdl_lt_dlinit" = no ; then
AC_MSG_ERROR([could not locate libtool -lltdl])
fi
arpa/inet.h \
arpa/nameser.h \
assert.h \
+ conio.h \
crypt.h \
+ direct.h \
errno.h \
fcntl.h \
filio.h \
getopt.h \
grp.h \
+ io.h \
libutil.h \
limits.h \
locale.h \
memory.h \
psap.h \
pwd.h \
+ process.h \
resolv.h \
sgtty.h \
shadow.h \
syslog.h \
termios.h \
unistd.h \
+ winsock.h \
)
+
dnl ----------------------------------------------------------------
dnl Checks for libraries
+dnl HP-UX requires -lV3
+AC_CHECK_LIB(V3, sigset)
+
+dnl Gotta check for winsock manually
+if test $ac_cv_header_winsock_h = yes; then
+ AC_CACHE_CHECK([for winsock], [ol_cv_winsock],
+ AC_TRY_LINK([#include <winsock.h>],[
+ socket(0,0,0);
+ select(0,NULL,NULL,NULL,NULL);
+ closesocket(0);
+ gethostname(NULL,0);
+ ],[ol_cv_winsock=yes],[ol_cv_winsock=no])])
+
+ if test $ol_cv_winsock = yes ; then
+ AC_DEFINE(HAVE_WINSOCK,1,[define if you have winsock])
+ ac_cv_func_socket=yes
+ ac_cv_func_select=yes
+ ac_cv_func_closesocket=yes
+ ac_cv_func_gethostname=yes
+ fi
+fi
+
dnl Find socket()
dnl Likely combinations:
dnl -lsocket [ -lnsl_s | -lnsl ]
dnl hopefully we won't include too many libraries
AC_CHECK_LIB(socket, main)
AC_CHECK_LIB(net, main)
- AC_CHECK_LIB(net, socket)
AC_CHECK_LIB(nsl_s, main)
AC_CHECK_LIB(nsl, main)
AC_CHECK_LIB(inet, socket)
dnl require select
AC_CHECK_FUNC(select, :, AC_MSG_ERROR([select() required.]))
-dnl AC_CHECK_FUNCS(socketpair)
-dnl Select arg types
-dnl (if this detection becomes permenent, it and the select() detection
-dnl should be done before the yielding select test)
-AC_FUNC_SELECT_ARGTYPES
+if test "${ac_cv_header_winsock_h}" != yes; then
+ dnl Select arg types
+ dnl (if this detection becomes permenent, it and the select() detection
+ dnl should be done before the yielding select test)
+ AC_FUNC_SELECT_ARGTYPES
+fi
dnl check to see if system call automatically restart
dnl AC_SYS_RESTARTABLE_SYSCALLS
+dnl ----------------------------------------------------------------
dnl require POSIX regex
AC_CHECK_HEADERS( regex.h )
if test "$ac_cv_header_regex_h" != yes ; then
AC_MSG_ERROR([broken POSIX regex!])
fi
-dnl HP-UX requires -lV3
-AC_CHECK_LIB(V3, sigset)
-
+dnl ----------------------------------------------------------------
dnl Check for resolver routines
AC_CHECK_FUNC(res_search,:)
if test $ac_cv_func_res_search = no ; then
fi
-# ISODE tests
+dnl ----------------------------------------------------------------
+dnl ISODE tests
ol_link_isode=no
if test $ol_enable_ldapd != no ; then
AC_MSG_WARN([ldapd is not supported and may suffer from bit rot.])
AC_PATH_PROG(PEPSY, pepsy)
fi
+dnl ----------------------------------------------------------------
+dnl QUIPU
if test $ol_enable_quipu != no ; then
AC_CHECK_HEADERS(quipu/commonarg.h)
fi
fi
-dnl
-dnl check for kerberos
-dnl
+dnl ----------------------------------------------------------------
+dnl Kerberos
ol_link_kerberos=no
if test $ol_with_kerberos = auto -o $ol_with_kerberos = k5 ; then
if test $ac_cv_header_kerberosIV_krb_h = yes ; then
AC_CHECK_LIB(krb4, main, [have_k5=yes], [have_k5=no],
- [-lkrb5 -ldes425])
+ [-lkrb5 -ldes425 -lcrypto -lcom_err])
if test $have_k5 = yes ; then
ol_with_kerberos=found
ol_link_kerberos=yes
- KRB_LIBS="-lkrb4 -lkrb5 -ldes425"
+ KRB_LIBS="-lkrb4 -lkrb5 -ldes425 -lcrypto -lcom_err"
LIBS="$KRB_LIBS $LIBS"
fi
fi
-if test $ol_with_kerberos = auto -o $ol_with_kerberos = k4 ; then
- AC_CHECK_HEADERS(krb.h des.h)
+if test $ol_with_kerberos = auto -o $ol_with_kerberos = k4 \
+ -o $ol_with_kerberos = kth ; then
+
+ AC_CHECK_HEADERS(krb.h des.h krb-archaeology.h )
if test $ac_cv_header_krb_h = yes ; then
AC_CHECK_LIB(krb, main, [have_k4=yes], [have_k4=no], [-ldes])
ol_link_kerberos=yes
KRB_LIBS="-lkrb -ldes"
+
+ if test $ac_cv_header_krb_archaeology_h = yes ; then
+ AC_DEFINE(HAVE_KTH_KERBEROS, 1,
+ [define if you have Kth Kerberos])
+ fi
fi
fi
fi
if test $ol_link_kerberos = yes ; then
AC_DEFINE(HAVE_KERBEROS, 1, [define if you have Kerberos])
+
+elif test $ol_with_kerberos != auto -a $ol_with_kerberos != no ; then
+ AC_ERROR([Kerberos detection failed.])
fi
-dnl
-dnl Check for SSL/TLS
-dnl
+dnl ----------------------------------------------------------------
+dnl TLS/SSL
ol_link_tls=no
if test $ol_with_tls != no ; then
AC_DEFINE(HAVE_TLS, 1, [define if you have TLS])
fi
+dnl ----------------------------------------------------------------
dnl Tests for reentrant functions necessary to build a
dnl thread_safe -lldap.
AC_CHECK_FUNCS( \
AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_REENTRANT,1)
fi
+dnl ----------------------------------------------------------------
+dnl Threads?
ol_link_threads=no
+
+if test $ol_with_threads = auto -o $ol_with_threads = yes \
+ -o $ol_with_threads = nt ; then
+
+ OL_NT_THREADS
+
+ if test "$ol_cv_nt_threads" = yes ; then
+ ol_link_threads=nt
+ ol_with_threads=found
+ ol_with_yielding_select=yes
+
+ AC_DEFINE(HAVE_NT_SERVICE_MANAGER,1,[if you have NT Service Manager])
+ AC_DEFINE(HAVE_NT_EVENT_LOG,1,[if you have NT Event Log])
+ fi
+
+ if test $ol_with_threads = nt ; then
+ AC_MSG_ERROR([could not locate NT Threads])
+ fi
+fi
+
if test $ol_with_threads = auto -o $ol_with_threads = yes \
-o $ol_with_threads = posix ; then
AC_CHECK_HEADERS(thread.h synch.h)
fi
-if test $ol_link_threads != no ; then
+if test $ol_link_threads != no -a $ol_link_threads != nt ; then
dnl needed to get reentrant/threadsafe versions
dnl
AC_DEFINE(REENTRANT,1)
[define this to use DBBTREE w/ LDBM backend])
fi
+ OL_BERKELEY_DB2_DB_THREAD
+
dnl $ol_cv_lib_db2 should be yes or -ldb
dnl (it could be no, but that would be an error
if test $ol_cv_lib_db2 != yes ; then
ol_link_bdb2=no
if test $ol_link_ldbm = db2 -a $ol_enable_bdb2 != no ; then
- ol_link_bdb2=yes
+ if test $ol_cv_berkeley_db2_db_thread != no ; then
+ ol_link_bdb2=yes
+ else
+ AC_MSG_WARN([Installed BerkeleyDB does not provide DB_THREAD support.])
+ fi
fi
if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = db ; then
ol_enable_ldbm=no
fi
+dnl ----------------------------------------------------------------
+if test $ol_enable_dynamic = yes -a $enable_shared = yes ; then
+ LINK_BINS_DYNAMIC="yes"
+else
+ LINK_BINS_DYNAMIC="no"
+fi
+
+dnl ----------------------------------------------------------------
if test $ol_enable_wrappers != no ; then
AC_CHECK_HEADERS(tcpd.h)
if test $ac_cv_header_tcpd_h != yes ; then
have_wrappers=no
else
- AC_CHECK_LIB(wrap, main,
- [have_wrappers=yes], [have_wrappers=no])
+ AC_TRY_COMPILE([
+int allow_severity = 0;
+int deny_severity = 0;
+ ],[hosts_access()],[have_wrappers=yes],[have_wrappers=no])
fi
if test $have_wrappers = yes ; then
AC_DEFINE(HAVE_TCPD,1, [define if you have -lwrap])
- SLAPD_LIBS="$SLAPD_LIBS -lwrap"
+ WRAP_LIBS="-lwrap"
dnl We add another check for -lnsl since some libwrap's
dnl need it, but it isn't always included from above
AC_MSG_WARN(disabling wrappers support)
ol_enable_wrappers=no
+ WRAP_LIBS=""
fi
fi
+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
ol_enable_syslog=$ac_cv_func_openlog
fi
+dnl ----------------------------------------------------------------
if test $ol_enable_dmalloc != no ; then
AC_CHECK_HEADERS(dmalloc.h)
AC_CHECK_LIB(dmalloc, dmalloc_shutdown)
fi
+dnl ----------------------------------------------------------------
+dnl TCL
if test $ol_enable_tcl != no ; then
AC_CHECK_HEADERS(tcl.h)
if test $ac_cv_header_tcl_h != yes ; then
have_tcl=no
else
- AC_CHECK_LIB(tcl,main,
- [have_tcl=yes; SLAPD_LIBS="$SLAPD_LIBS -ltcl"],
- [have_tcl=no])
-
- if test $have_tcl != yes; then
- AC_CHECK_LIB(tcl7.6,main,
- [have_tcl=yes; SLAPD_LIBS="$SLAPD_LIBS -ltcl7.6"],
- [have_tcl=no])
- fi
-
- if test $have_tcl != yes; then
- AC_CHECK_LIB(tcl8.0,main,
- [have_tcl=yes; SLAPD_LIBS="$SLAPD_LIBS -ltcl8.0"],
- [have_tcl=no])
- fi
+ for lib in tcl tcl7.6 tcl8.0 tcl8.2 ; do
+ AC_CHECK_LIB($lib,main,
+ [have_tcl=yes
+ if test x"$ol_with_tcl_module" = "xstatic" ; then
+ SLAPD_LIBS="$SLAPD_LIBS -l${lib}"
+ else
+ MOD_TCL_LIB="-l${lib}"
+ fi;break],[have_tcl=no])
+ done
fi
if test $have_tcl != yes ; then
fi
fi
-# ud needs termcap (should insert check here)
+dnl ----------------------------------------------------------------
+dnl ud needs termcap (should insert check here)
ol_link_termcap=no
AC_CHECK_HEADERS(termcap.h ncurses.h)
TERMCAP_LIBS=
fi
+dnl ----------------------------------------------------------------
dnl
-dnl Check for fetch URL support
-dnl should be extended to support other fetch URL APIs
+dnl Check for Cyrus SASL
dnl
ol_link_sasl=no
if test $ol_with_cyrus_sasl != no ; then
fi
fi
+dnl ----------------------------------------------------------------
+dnl Check for entropy sources
+if test $cross_compiling != 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
fi
fi
+dnl ----------------------------------------------------------------
dnl
dnl Check for GNU readline
dnl
fi
-# FreeBSD (and others) have crypt(3) in -lcrypt
+dnl ----------------------------------------------------------------
+dnl FreeBSD (and others) have crypt(3) in -lcrypt
if test $ol_enable_crypt != no ; then
AC_CHECK_FUNC(crypt, [have_crypt=yes], [
AC_CHECK_LIB(crypt, crypt, [LUTIL_LIBS="$LUTIL_LIBS -lcrypt"
fi
fi
-# FreeBSD (and others) have setproctitle(3) in -lutil
+dnl ----------------------------------------------------------------
+dnl FreeBSD (and others) have setproctitle(3) in -lutil
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
- LIBOBJS="$LIBOBJS setproctitle.o"])])
+ LIBOBJS="$LIBOBJS setproctitle.o"
+ LIBSRCS="$LIBSRCS setproctitle.c"])])
if test $have_setproctitle = yes ; then
AC_DEFINE(HAVE_SETPROCTITLE,1,
dnl ----------------------------------------------------------------
dnl Checks for typedefs, structures, and compiler characteristics.
-AC_TYPE_GETGROUPS dnl requires AC_TYPE_UID_T
AC_TYPE_MODE_T
AC_TYPE_OFF_T
AC_TYPE_PID_T
AM_TYPE_PTRDIFF_T
AC_TYPE_SIGNAL
-OL_TYPE_SIG_ATOMIC_T
AC_TYPE_SIZE_T
+
+AC_CHECK_TYPE(ssize_t, [signed int])
+AC_CHECK_TYPE(caddr_t, [char *])
+
OL_TYPE_SOCKLEN_T
AC_STRUCT_ST_BLKSIZE
AC_HEADER_TIME
AC_STRUCT_TM
+AC_TYPE_UID_T
+OL_TYPE_SIG_ATOMIC_T
+
+dnl AC_TYPE_GETGROUPS
+
OL_STRUCT_PASSWD_PW_GECOS
OL_STRUCT_PASSWD_PW_PASSWD
if test $cross_compiling = yes ; then
AC_DEFINE(CROSS_COMPILING, 1, [define if cross compiling])
-
- AC_DEFINE(LBER_INT_T,long)
- AC_DEFINE(LBER_TAG_T,long)
- AC_DEFINE(LBER_SOCKET_T,int)
-
else
AC_C_BIGENDIAN
- AC_CHECK_SIZEOF(short)
- AC_CHECK_SIZEOF(int)
- AC_CHECK_SIZEOF(long)
+fi
- if test "$ac_cv_sizeof_int" -lt 4 ; then
- AC_MSG_WARN([OpenLDAP requires 'int' to be 32 bits or greater.])
+AC_COMPILE_CHECK_SIZEOF(short)
+AC_COMPILE_CHECK_SIZEOF(int)
+AC_COMPILE_CHECK_SIZEOF(long)
- AC_DEFINE(LBER_INT_T,long)
- AC_DEFINE(LBER_TAG_T,long)
- AC_DEFINE(LBER_SOCKET_T,int)
- else
- AC_DEFINE(LBER_INT_T,int)
- AC_DEFINE(LBER_TAG_T,long)
- AC_DEFINE(LBER_SOCKET_T,int)
- fi
+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)
+else
+ AC_DEFINE(LBER_INT_T,int)
fi
AC_DEFINE(LBER_LEN_T,long)
+AC_DEFINE(LBER_SOCKET_T,int)
+AC_DEFINE(LBER_TAG_T,long)
dnl ----------------------------------------------------------------
dnl Checks for library functions.
OL_FUNC_INET_ATON
-dnl we should use vfork instead of fork in a number of places...
-dnl AC_FUNC_VFORK
+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 We actually may need to replace more than this.
AC_REPLACE_FUNCS(getopt tempnam)
+if test "$ac_cv_func_getopt" != yes; then
+ LIBSRCS="$LIBSRCS getopt.c"
+fi
+
+if test "$ac_cv_func_tempnam" != yes; then
+ LIBSRCS="$LIBSRCS tempnam.c"
+fi
+
dnl ----------------------------------------------------------------
# Check Configuration
OL_SYS_ERRLIST
if test "$ol_link_modules" != no ; then
AC_DEFINE(SLAPD_MODULES,1,[define to support modules])
BUILD_SLAPD=yes
- MODULES_LIBS=-lltdl
SLAPD_MODULES_LDFLAGS="-dlopen self"
fi
dnl ----------------------------------------------------------------
+if test "$LINK_BINS_DYNAMIC" = yes; then
+ LIB_LINKAGE=DYN
+ LT_LIB_LINKAGE=shared
+else
+ LIB_LINKAGE=STAT
+ LT_LIB_LINKAGE=static
+fi
+
+if test "$ac_cv_mingw32" = yes ; then
+ PLAT=NT
+ DYN_EXT=dll
+else
+ PLAT=UNIX
+ DYN_EXT=so
+fi
+
+AC_SUBST(LIBSRCS)
+
+AC_SUBST(PLAT)
+AC_SUBST(LIB_LINKAGE)
+AC_SUBST(LT_LIB_LINKAGE)
+AC_SUBST(DYN_EXT)
+
AC_SUBST(BUILD_LDAPD)
AC_SUBST(BUILD_SLAPD)
AC_SUBST(BUILD_BDB2)
AC_SUBST(LDBM_LIBS)
AC_SUBST(LTHREAD_LIBS)
AC_SUBST(LUTIL_LIBS)
+AC_SUBST(WRAP_LIBS)
+AC_SUBST(MOD_TCL_LIB)
+AC_SUBST(LINK_BINS_DYNAMIC)
AC_SUBST(SLAPD_MODULES_CPPFLAGS)
AC_SUBST(SLAPD_MODULES_LDFLAGS)
AC_SUBST(SLAPD_MODULES_LIST)
-AC_SUBST(SLAPD_PERL_CPPFLAGS)
+AC_SUBST(PERL_CPPFLAGS)
AC_SUBST(SLAPD_PERL_LDFLAGS)
+AC_SUBST(MOD_PERL_LDFLAGS)
AC_SUBST(KRB_LIBS)
AC_SUBST(READLINE_LIBS)