SHTOOL="$ac_cv_shtool"
dnl AC_SUBST(SHTOOL)dnl
-TB=`$SHTOOL echo -e %B`
-TN=`$SHTOOL echo -e %b`
+TB="`$SHTOOL echo -e '%B' 2>/dev/null`"
+TN="`$SHTOOL echo -e '%b' 2>/dev/null`"
-echo "Configuring $TB$OL_STRING$TN ..."
+echo "Configuring ${TB}${OL_STRING}${TN} ..."
dnl Determine host platform
dnl we try not to use this for much
OPENLDAP_LIBVERSION=$OL_API_LIB
AC_SUBST(OPENLDAP_LIBVERSION)dnl
+OPENLDAP_RELEASE_DATE="$OL_RELEASE_DATE"
+AC_SUBST(OPENLDAP_RELEASE_DATE)dnl
+
dnl We use autoconf features new to 2.13.
dnl aclocal.m4 should be built using aclocal from automake 1.4
dnl libtool 1.4.2 should be installed.
OL_ARG_ENABLE(proctitle,[ --enable-proctitle enable proctitle support], yes)dnl
OL_ARG_ENABLE(cache,[ --enable-cache enable caching (experimental)], no)dnl
OL_ARG_ENABLE(referrals,[ --enable-referrals enable LDAPv2+ Referrals (experimental)], no)dnl
-OL_ARG_ENABLE(kbind,[ --enable-kbind enable LDAPv2+ Kerberos IV bind (deprecated)], no)dnl
+dnl OL_ARG_ENABLE(kbind,[ --enable-kbind enable LDAPv2+ Kerberos IV bind (deprecated)], no)dnl
+ol_enable_kbind=${ol_enable_kbind-no}
OL_ARG_ENABLE(ipv6,[ --enable-ipv6 enable IPv6 support], auto)dnl
OL_ARG_ENABLE(local,[ --enable-local enable AF_LOCAL (AF_UNIX) socket support], auto)dnl
OL_ARG_ENABLE(x_compile,[ --enable-x-compile enable cross compiling],
OL_ARG_ENABLE(spasswd,[ --enable-spasswd enable (Cyrus) SASL password verification], no)dnl
OL_ARG_ENABLE(modules,[ --enable-modules enable dynamic module support], no)dnl
dnl OL_ARG_ENABLE(multimaster,[ --enable-multimaster enable multimaster replication], no)dnl
+ol_enable_multimaster=${ol_enable_multimaster-no}
OL_ARG_ENABLE(phonetic,[ --enable-phonetic enable phonetic/soundex], no)dnl
OL_ARG_ENABLE(rewrite,[ --enable-rewrite enable DN rewriting in back-ldap and back-meta], no)dnl
OL_ARG_ENABLE(rlookups,[ --enable-rlookups enable reverse lookups of client hostnames], no)dnl
if test $ol_enable_modules = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-modules argument])
fi
-dnl if test $ol_enable_multimaster = yes ; then
-dnl AC_MSG_WARN([slapd disabled, ignoring --enable-multimaster argument])
-dnl fi
+ if test $ol_enable_multimaster = yes ; then
+ AC_MSG_WARN([slapd disabled, ignoring --enable-multimaster argument])
+ fi
if test $ol_enable_wrappers = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-wrappers argument])
fi
ol_enable_sql=no
ol_enable_modules=no
-dnl ol_enable_multimaster=no
+ ol_enable_multimaster=no
ol_enable_phonetic=no
ol_enable_rlookups=no
ol_enable_aci=no
dnl Initialize vars
LDAP_LIBS=
LDIF_LIBS=
-LDBM_LIB=
LDBM_LIBS=
LTHREAD_LIBS=
LUTIL_LIBS=
fi
if test -z "${CC}"; then
- AC_CHECK_PROGS(CC,cc)
-fi
+ AC_CHECK_PROGS(CC,cc gcc,missing)
-dnl The default CFLAGS is empty NOT whatever AC_PROG_CC sets.
-dnl (for now, let autoconf sort this out)
-dnl CFLAGS=${CFLAGS-""}
+ if test "${CC}" = "missing" ; then
+ AC_MSG_ERROR([Unable to locate cc(1) or suitable replacement. Check PATH or set CC.])
+ fi
+fi
if test -z "${AR}"; then
AC_CHECK_PROGS(AR,ar gar,missing)
if test "${AR}" = "missing" ; then
- AC_MSG_ERROR([Unable to locate ar(1). Check PATH or set AR.])
+ AC_MSG_ERROR([Unable to locate ar(1) or suitable replacement. Check PATH or set AR.])
fi
fi
AC_LIBTOOL_DLOPEN
AC_PROG_LIBTOOL
-AC_PROG_AWK
OL_PROG_LN_H
AC_PROG_LN_S
-AC_PATH_PROG(SENDMAIL, sendmail, /usr/lib/sendmail,
- $PATH:/usr/libexec:/usr/lib:/usr/sbin:/usr/etc:/etc)
-AC_PATH_PROG(EDITOR, vi, /usr/ucb/vi, $PATH:/usr/ucb)
-
dnl ----------------------------------------------------------------
dnl Perl
ol_link_perl=no
AC_EXEEXT
AC_OBJEXT
-AC_DEFINE_UNQUOTED( EXEEXT, "${EXEEXT}", [defined to be the EXE extension])
+AC_DEFINE_UNQUOTED(EXEEXT, "${EXEEXT}", [defined to be the EXE extension])
dnl ----------------------------------------------------------------
dnl BeOS requires -lbe -lroot -lnet
AC_DEFINE(HAVE_AIX_SECURITY,1,[define if you have AIX security lib])
])
+dnl ----------------------------------------------------------------
+dnl Check for IBM OS/390
+case "$target" in
+*-ibm-openedition)
+ ac_cv_func_getopt=no
+ AC_DEFINE(BOTH_STRINGS_H,1,[define to use both <string.h> and <strings.h>])
+ ;;
+esac
dnl ----------------------------------------------------------------
dnl Check for module support
# endif
], [ol_cv_inet6_addrstrlen=yes], [ol_cv_inet6_addrstrlen=no])])
- if test $ol_cv_inet6_addrstrlen = yes ; then
+
+ AC_CACHE_CHECK([struct sockaddr_storage],ol_cv_struct_sockaddr_storage,[
+ AC_TRY_COMPILE([
+#include <sys/types.h>
+#include <sys/socket.h>
+],[
+ struct sockaddr_storage ss;
+], [ol_cv_struct_sockaddr_storage=yes],
+ [ol_cv_struct_sockaddr_storage=no])])
+
+ if test $ol_cv_inet6_addrstrlen = yes \
+ -a $ol_cv_struct_sockaddr_storage = yes ; then
ol_link_ipv6=yes
- elif test $ol_enable_ipv6 = yes ; then
+ elif test $ol_enable_ipv6 = yes \
+ -a $ol_cv_inet6_addrstrlen = no ; then
AC_MSG_ERROR([IPv6 support requires INET6_ADDRSTRLEN])
+ elif test $ol_enable_ipv6 = yes \
+ -a $ol_cv_struct_sockaddr_storage = no ; then
+ AC_MSG_ERROR([IPv6 support requires struct sockaddr_storage])
fi
fi
if test $ol_with_tls != no ; then
AC_CHECK_HEADERS(openssl/ssl.h ssl.h)
- if test $ac_cv_header_openssl_ssl_h = yes -o $ac_cv_header_ssl_h = yes ; then
+ if test $ac_cv_header_openssl_ssl_h = yes \
+ -o $ac_cv_header_ssl_h = yes ; then
AC_CHECK_LIB(ssl, SSLeay_add_ssl_algorithms,
[have_ssleay=yes
need_rsaref=no],
if test $ac_cv_header_pthread_h = yes ; then
OL_POSIX_THREAD_VERSION
- if test $ol_cv_pthread_version = final ; then
- AC_DEFINE(HAVE_PTHREADS_FINAL,1,
- [define if pthreads API compatible with final spec])
- elif test $ol_cv_pthread_version = draft4 ; then
- AC_DEFINE(HAVE_PTHREADS_D4,1,
- [define if pthreads API compatible with draft4 spec])
+ if test $ol_cv_pthread_version != 0 ; then
+ AC_DEFINE_UNQUOTED(HAVE_PTHREADS,$ol_cv_pthread_version,
+ [define to pthreads API spec revision])
else
AC_MSG_ERROR([unknown pthread version])
fi
OL_PTHREAD_TRY([-lpthreads],[ol_cv_pthread_lib_lpthreads])
if test $ol_link_threads != no ; then
- AC_DEFINE(HAVE_PTHREADS,1,
- [define if you have POSIX Threads])
-
LTHREAD_LIBS="$LTHREAD_LIBS $ol_link_pthreads"
dnl save flags
dnl All POSIX Thread (final) implementations should have
dnl sched_yield instead of pthread yield.
- dnl check for both
- AC_CHECK_FUNCS(sched_yield pthread_yield)
+ dnl check for both, and thr_yield for Solaris
+ AC_CHECK_FUNCS(sched_yield pthread_yield thr_yield)
if test $ac_cv_func_sched_yield = no -a \
- $ac_cv_func_pthread_yield = no ; then
+ $ac_cv_func_pthread_yield = no -a \
+ $ac_cv_func_thr_yield = no ; then
dnl Digital UNIX has sched_yield() in -lrt
AC_CHECK_LIB(rt, sched_yield,
[LTHREAD_LIBS="$LTHREAD_LIBS -lrt"
ac_cv_func_sched_yield=yes],
[ac_cv_func_sched_yield=no])
fi
- if test $ac_cv_func_sched_yield = no -a \
- $ac_cv_func_pthread_yield = no ; then
- dnl Solaris has sched_yield() stub in -lposix4
- dnl but we'll use thr_yield instead.
- AC_CHECK_FUNCS(thr_yield)
- fi
if test $ac_cv_func_sched_yield = no -a \
$ac_cv_func_pthread_yield = no -a \
"$ac_cv_func_thr_yield" = no ; then
#endif
#endif
-#if HAVE_PTHREADS_D4
+#if HAVE_PTHREADS < 6
pthread_create(&t, pthread_attr_default, task, NULL);
#else
pthread_create(&t, NULL, task, NULL);
#endif
-#if HAVE_SCHED_YIELD
- sched_yield(); /* make sure task runs first */
-#else
-#ifdef HAVE_PTHREAD_YIELD
- pthread_yield(); /* make sure task runs first */
-#endif
+ /* make sure task runs first */
+#if HAVE_THR_YIELD
+ thr_yield();
+#elif defined( HAVE_SCHED_YIELD )
+ sched_yield();
+#elif defined( HAVE_PTHREAD_YIELD )
+ pthread_yield();
#endif
exit(2);
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])
+ ])
+
AC_CHECK_LIB(iodbc,SQLDriverConnect,[have_iodbc=yes],[have_iodbc=no])
if test $have_iodbc = yes ; then
ol_link_sql="-liodbc"
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"
fi
else
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], [
+ LIBS="$save_LIBS"
AC_CHECK_LIB(crypt, crypt, [LUTIL_LIBS="$LUTIL_LIBS -lcrypt"
have_crypt=yes], [have_crypt=no])])
+ LIBS="$save_LIBS"
+
if test $have_crypt = yes ; then
AC_DEFINE(HAVE_CRYPT,1, [define if crypt(3) is available])
else
if test $ac_cv_func_vprintf = yes ; then
dnl check for vsnprintf
- AC_CHECK_FUNCS(vsnprintf vsprintf)
+ AC_CHECK_FUNCS(snprintf vsnprintf)
fi
AC_CHECK_FUNCS( \
endpwent \
fcntl \
flock \
+ fstat \
getdtablesize \
getgrgid \
gethostname \
read \
recv \
recvfrom \
- recvmsg \
setpwfile \
setgid \
setegid \
if test "$ac_cv_func_getopt" != yes; then
LIBSRCS="$LIBSRCS getopt.c"
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])
+ fi
+fi
dnl ----------------------------------------------------------------
# Check Configuration
if test "$ol_link_spasswd" != no ; then
AC_DEFINE(SLAPD_SPASSWD,1,[define to support SASL passwords])
fi
-dnl if test "$ol_enable_multimaster" != no ; then
-dnl AC_DEFINE(SLAPD_MULTIMASTER,1,[define to support multimaster replication])
-dnl fi
+if test "$ol_enable_multimaster" != no ; then
+ AC_DEFINE(SLAPD_MULTIMASTER,1,[define to support multimaster replication])
+fi
if test "$ol_enable_phonetic" != no ; then
AC_DEFINE(SLAPD_PHONETIC,1,[define to support phonetic])
fi
AC_DEFINE(SLAPD_LDBM,1,[define to support LDBM backend])
BUILD_SLAPD=yes
BUILD_LDBM=yes
- LDBM_LIB="-lldbm"
if test "$ol_with_ldbm_module" != static ; then
AC_DEFINE(SLAPD_LDBM_DYNAMIC,1,
[define to support dynamic LDBM backend])
fi
if test "$ol_enable_shell" != no ; then
+ if test "$ol_link_thread" != no ; then
+ AC_MSG_WARN([Use of --without-threads is recommended with back-shell])
+ fi
AC_DEFINE(SLAPD_SHELL,1,[define to support SHELL backend])
BUILD_SLAPD=yes
BUILD_SHELL=yes
PLAT=UNIX
fi
+if test -z "$SLAPD_STATIC_BACKENDS"; then
+ SLAPD_NO_STATIC='#'
+else
+ SLAPD_NO_STATIC=
+fi
+
AC_SUBST(LIBSRCS)
AC_SUBST(PLAT)
AC_SUBST(BUILD_LIBS_DYNAMIC)
AC_SUBST(BUILD_TCL_DYNAMIC)
AC_SUBST(BUILD_SLURPD)
-AC_SUBST(LDBM_LIB)
-
AC_SUBST(LDAP_LIBS)
AC_SUBST(LDIF_LIBS)
AC_SUBST(SLAPD_LIBS)
AC_SUBST(SLAPD_MODULES_CPPFLAGS)
AC_SUBST(SLAPD_MODULES_LDFLAGS)
+AC_SUBST(SLAPD_NO_STATIC)
AC_SUBST(SLAPD_STATIC_BACKENDS)
AC_SUBST(SLAPD_DYNAMIC_BACKENDS)
doc/man/man5/Makefile:build/top.mk:doc/man/man5/Makefile.in:build/man.mk \
doc/man/man8/Makefile:build/top.mk:doc/man/man8/Makefile.in:build/man.mk \
clients/Makefile:build/top.mk:clients/Makefile.in:build/dir.mk \
-clients/mail500/Makefile:build/top.mk:clients/mail500/Makefile.in:build/rules.mk \
-clients/ud/Makefile:build/top.mk:clients/ud/Makefile.in:build/rules.mk \
-clients/maildap/Makefile:build/top.mk:clients/maildap/Makefile.in:build/rules.mk \
clients/tools/Makefile:build/top.mk:clients/tools/Makefile.in:build/rules.mk \
include/Makefile:build/top.mk:include/Makefile.in \
libraries/Makefile:build/top.mk:libraries/Makefile.in:build/dir.mk \