Newer
Older
dnl check for both
AC_CHECK_FUNCS(sched_yield pthread_yield)
if test $ac_cv_func_sched_yield = no -a \
$ac_cv_func_pthread_yield = no ; then
dnl Digital UNIX has sched_yield() in -lrt
AC_CHECK_LIB(rt, sched_yield,
[LTHREAD_LIBS="$LTHREAD_LIBS -lrt"
AC_DEFINE(HAVE_SCHED_YIELD,1,
[Define if you have the sched_yield function.])
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
AC_MSG_WARN([could not locate sched_yield() or pthread_yield()])
fi
dnl Check functions for compatibility
AC_CHECK_FUNCS(pthread_kill)
dnl Check for pthread_detach with <pthread.h> inclusion
dnl as it's symbol may have been mangled.
AC_CACHE_CHECK([for pthread_detach with <pthread.h>],
[ol_cv_func_pthread_detach], [
dnl save the flags
AC_TRY_LINK([
#include <pthread.h>
#ifndef NULL
#define NULL (void*)0
#endif
],
[pthread_detach(NULL);],
[ol_cv_func_pthread_detach=yes],
[ol_cv_func_pthread_detach=no])
])
if test $ol_cv_func_pthread_detach = no ; then
AC_MSG_ERROR([could not locate pthread_detach()])
fi
AC_DEFINE(HAVE_PTHREAD_DETACH,1,
[define if you have pthread_detach function])
dnl Check for setconcurreny functions
AC_CHECK_FUNCS( \
pthread_setconcurrency \
OL_SYS_LINUX_THREADS
OL_LINUX_THREADS
if test $ol_cv_linux_threads = error; then
AC_MSG_ERROR([LinuxThreads header/library mismatch]);
fi
AC_CACHE_CHECK([if pthread_create() works],
ol_cv_pthread_create_works,[
[ol_cv_pthread_create_works=yes],
[ol_cv_pthread_create_works=no],
[dnl assume yes
ol_cv_pthread_create_works=yes])])
if test $ol_cv_pthread_create_works = no ; then
AC_MSG_ERROR([pthread_create is not usable, check environment settings])
dnl Check if select causes an yield
if test $ol_with_yielding_select = auto ; then
AC_CACHE_CHECK([if select yields when using pthreads],
ol_cv_pthread_select_yields,[
AC_TRY_RUN([
#include <sys/types.h>
#include <sys/time.h>
#include <unistd.h>
#include <pthread.h>
#ifndef NULL
static void *task(p)
void *p;
fd_set rfds;
tv.tv_sec=10;
FD_ZERO(&rfds);
FD_SET(fildes[0], &rfds);
/* we're not interested in any fds */
i = select(FD_SETSIZE, &rfds, NULL, NULL, &tv);
if(i < 0) {
perror("select");
exit(0); /* if we exit here, the select blocked the whole process */
int main(argc, argv)
int argc;
char **argv;
/* create a pipe to select */
if(pipe(&fildes[0])) {
perror("select");
#ifdef HAVE_PTHREAD_SETCONCURRENCY
(void) pthread_setconcurrency(2);
#else
#ifdef HAVE_THR_SETCONCURRENCY
/* Set Solaris LWP concurrency to 2 */
thr_setconcurrency(2);
#if HAVE_PTHREADS_D4
pthread_create(&t, pthread_attr_default, task, NULL);
#else
pthread_create(&t, NULL, task, NULL);
#if HAVE_SCHED_YIELD
sched_yield(); /* make sure task runs first */
#else
pthread_yield(); /* make sure task runs first */
#endif
#endif
[ol_cv_pthread_select_yields=yes],
[ol_cv_pthread_select_yields=cross])])
if test $ol_cv_pthread_select_yields = cross ; then
AC_MSG_ERROR([crossing compiling: use --with-yielding_select=yes|no|manual])
fi
if test $ol_cv_pthread_select_yields = yes ; then
ol_with_yielding_select=yes
dnl restore flags
CPPFLAGS="$save_CPPFLAGS"
LIBS="$save_LIBS"
else
AC_MSG_ERROR([could not link with POSIX Threads])
fi
fi
if test $ol_with_threads = posix ; then
AC_MSG_ERROR([could not locate POSIX Threads])
fi
fi
if test $ol_with_threads = auto -o $ol_with_threads = yes \
-o $ol_with_threads = mach ; then
dnl check for Mach CThreads
AC_CHECK_HEADERS(mach/cthreads.h)
if test $ac_cv_header_mach_cthreads_h = yes ; then
ol_with_threads=found
dnl check for cthread support in current $LIBS
AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
if test $ol_link_threads = no ; then
dnl try -all_load
dnl this test needs work
AC_CACHE_CHECK([for cthread_fork with -all_load],
[ol_cv_cthread_all_load], [
dnl save the flags
save_LIBS="$LIBS"
LIBS="-all_load $LIBS"
AC_TRY_LINK([#include <mach/cthreads.h>],[
cthread_fork((void *)0, (void *)0);
], ol_cv_cthread_all_load=yes, ol_cv_cthread_all_load=no)
dnl restore the LIBS
LIBS="$save_LIBS"
])
if test $ol_cv_cthread_all_load = yes ; then
LTHREAD_LIBS="$LTHREAD_LIBS -all_load"
ol_link_threads=mach
fi
if test $ol_link_threads != no ; then
: check for cthread specific functionality here
AC_DEFINE(HAVE_MACH_CTHREADS,1,
[define if you have Mach Cthreads])
else
AC_MSG_ERROR([could not link with Mach CThreads])
fi
fi
if test $ol_with_threads = mach ; then
AC_MSG_ERROR([could not locate Mach CThreads])
if test $ol_with_threads = auto -o $ol_with_threads = yes \
-o $ol_with_threads = lwp ; then
dnl check for SunOS5 LWP
AC_CHECK_HEADERS(thread.h synch.h)
if test $ac_cv_header_thread_h = yes -a $ac_cv_header_synch_h = yes ; then
AC_CHECK_LIB(thread, thr_create, [have_thr=yes], [have_thr=no])
if test $have_thr = yes ; then
AC_DEFINE(HAVE_THR,1,
[if you have Solaris LWP (thr) package])
LTHREAD_LIBS="$LTHREAD_LIBS -lthread"
if test $ol_with_yielding_select = auto ; then
ol_with_yielding_select=yes
dnl Check for setconcurreny functions
AC_CHECK_FUNCS( \
thr_setconcurrency \
thr_getconcurrency \
)
fi
fi
dnl check for SunOS4 LWP
AC_CHECK_HEADERS(lwp/lwp.h)
if test $ac_cv_header_lwp_lwp_h = yes ; then
AC_CHECK_LIB(lwp, lwp_create, [have_lwp=yes], [have_lwp=no])
if test $have_lwp = yes ; then
AC_DEFINE(HAVE_LWP,1,
[if you have SunOS LWP package])
if test $ol_with_yielding_select = auto ; then
ol_with_yielding_select=no
if test $ol_with_yielding_select = yes ; then
AC_DEFINE(HAVE_YIELDING_SELECT,1,
[define if select implicitly yields])
fi
if test $ol_with_threads = manual ; then
dnl User thinks he can manually configure threads.
AC_MSG_WARN([thread defines and link options must be set manually])
AC_CHECK_HEADERS(pthread.h sched.h)
AC_CHECK_FUNCS(sched_yield pthread_yield)
OL_HEADER_LINUX_THREADS
AC_CHECK_HEADERS(mach/cthreads.h)
AC_CHECK_HEADERS(lwp/lwp.h)
AC_CHECK_HEADERS(thread.h synch.h)
fi
Kurt Zeilenga
committed
dnl needed to get reentrant/threadsafe versions
dnl
Kurt Zeilenga
committed
AC_DEFINE(_REENTRANT,1)
Kurt Zeilenga
committed
AC_DEFINE(_THREAD_SAFE,1)
AC_DEFINE(_THREADSAFE,1)
dnl The errno declaration may dependent upon _REENTRANT.
dnl If it does, we must link with thread support.
AC_CACHE_CHECK([for thread specific errno],
[ol_cv_errno_thread_specific], [
AC_TRY_LINK([#include <errno.h>], [errno = 0;],
[ol_cv_errno_thread_specific=yes],
[ol_cv_errno_thread_specific=no])
])
dnl The h_errno declaration may dependent upon _REENTRANT.
dnl If it does, we must link with thread support.
AC_CACHE_CHECK([for thread specific h_errno],
[ol_cv_h_errno_thread_specific], [
AC_TRY_LINK([#include <netdb.h>], [h_errno = 0;],
[ol_cv_h_errno_thread_specific=yes],
[ol_cv_h_errno_thread_specific=no])
])
if test $ol_cv_errno_thread_specific != yes \
-o $ol_cv_h_errno_thread_specific != yes ; then
LIBS="$LTHREAD_LIBS $LIBS"
LTHREAD_LIBS=""
fi
Kurt Zeilenga
committed
dnl When in thread environment, use
dnl #if defined( HAVE_REENTRANT_FUNCTIONS ) \
dnl || defined( HAVE_FUNC_R )
dnl func_r(...);
dnl #else
dnl # if defined( HAVE_THREADS )
dnl /* lock */
dnl # endif
dnl func(...);
dnl # if defined( HAVE_THREADS )
dnl /* unlock */
dnl # endif
Kurt Zeilenga
committed
dnl #endif
dnl
dnl HAVE_REENTRANT_FUNCTIONS is derived from:
dnl _POSIX_REENTRANT_FUNCTIONS
dnl _POSIX_THREAD_SAFE_FUNCTIONS
dnl _POSIX_THREADSAFE_FUNCTIONS
dnl
dnl and is currently defined in lthread.h
dnl
dnl HAVE_THREADS is defined by lthread.h iff -UNO_THREADS
dnl
dnl libldap/*.c should only include <lthread.h> iff
dnl LDAP_R_COMPILE is defined. ie:
dnl #ifdef LDAP_R_COMPILE
dnl # include LDAP_R_COMPILE
dnl #endif
dnl
dnl specifically for compiling the threadsafe version of
dnl the ldap library (-lldap_r).
Kurt Zeilenga
committed
dnl
dnl dnl check for reentrant/threadsafe functions
dnl dnl
dnl dnl note: these should only be used when linking
dnl dnl with $LTHREAD_LIBS
dnl dnl
dnl save_CPPFLAGS="$CPPFLAGS"
dnl save_LIBS="$LIBS"
dnl LIBS="$LTHREAD_LIBS $LIBS"
dnl AC_CHECK_FUNCS( \
dnl gmtime_r \
dnl gethostbyaddr_r gethostbyname_r \
dnl feof_unlocked unlocked_feof \
dnl putc_unlocked unlocked_putc \
dnl flockfile ftrylockfile \
dnl )
dnl CPPFLAGS="$save_CPPFLAGS"
dnl LIBS="$save_LIBS"
Kurt Zeilenga
committed
if test $ol_link_threads = no ; then
if test $ol_with_threads = yes ; then
AC_MSG_ERROR([no suitable thread support])
fi
if test $ol_with_threads = auto ; then
AC_MSG_WARN([no suitable thread support, disabling threads])
AC_DEFINE(NO_THREADS,1,
[define if you have (or want) no threads])
if test $ol_link_threads != no ; then
AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_THREAD_SAFE,1)
fi
dnl ----------------------------------------------------------------
ol_link_ldbm=no
if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = db2 ; then
OL_BERKELEY_DB2
if test $ol_cv_berkeley_db2 = yes ; then
ol_link_ldbm=db2
ol_with_ldbm_api=db2
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_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
LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_db2"
fi
fi
fi
ol_link_bdb2=no
if test $ol_link_ldbm = db2 -a $ol_enable_bdb2 != no ; then
ol_link_bdb2=yes
fi
if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = db ; then
OL_BERKELEY_DB
if test $ol_cv_berkeley_db = yes ; then
ol_link_ldbm=db
ol_with_ldbm_api=db
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
if test $ol_with_ldbm_api = manual ; then
dnl User thinks he can manually configure LDBM api.
AC_MSG_WARN([LDBM defines and link options must be set manually])
AC_CHECK_HEADERS(db.h db_185.h gdbm.h ndbm.h)
fi
if test $ol_link_ldbm = no -a $ol_with_ldbm_type = btree ; then
AC_MSG_WARN(Could not find LDBM with BTREE support)
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 = auto ; then
AC_MSG_WARN([skipping automatic checking for NDBM, must be manually enabled.])
elif 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
AC_MSG_WARN(could not find suitable LDBM backend)
if test $ol_enable_ldbm = yes ; then
AC_MSG_ERROR(select appropriate LDBM options or disable)
fi
AC_MSG_WARN(disabling LDBM)
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])
fi
AC_DEFINE(HAVE_TCPD,1, [define if you have -lwrap])
Ben Collins
committed
dnl We add another check for -lnsl since some libwrap's
dnl need it, but it isn't always included from above
AC_CHECK_LIB(nsl, main)
else
AC_MSG_WARN(could not find -lwrap)
if test $ol_enable_wrappers = yes ; then
AC_MSG_ERROR(could not find wrappers, select appropriate options or disable)
fi
AC_MSG_WARN(disabling wrappers support)
ol_enable_wrappers=no
fi
fi
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
if test $ol_enable_dmalloc != no ; then
AC_CHECK_HEADERS(dmalloc.h)
AC_CHECK_LIB(dmalloc, dmalloc_shutdown)
fi
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
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
fi
if test $have_tcl != yes ; then
AC_MSG_WARN([could not find -ltcl])
if test $ol_enable_tcl = yes ; then
AC_MSG_ERROR([could not find tcl, select appropriate options or disable])
fi
ol_enable_tcl=no
fi
fi
# ud needs termcap (should insert check here)
ol_link_termcap=no
AC_CHECK_HEADERS(termcap.h ncurses.h)
if test $ol_link_termcap = no ; then
AC_CHECK_LIB(termcap, tputs, [have_termcap=yes], [have_termcap=no])
if test $have_termcap = yes ; then
AC_DEFINE(HAVE_TERMCAP, 1, [define if you have -ltermcap])
ol_link_termcap=yes
TERMCAP_LIBS=-ltermcap
fi
fi
if test $ol_link_termcap = no ; then
AC_CHECK_LIB(ncurses, initscr, [have_ncurses=yes], [have_ncurses=no])
if test $have_ncurses = yes ; then
AC_DEFINE(HAVE_NCURSES, 1, [define if you have -lncurses])
ol_link_termcap=yes
TERMCAP_LIBS=-lncurses
fi
fi
if test $ol_link_termcap = no ; then
AC_DEFINE(NO_TERMCAP,1, [define if you have no termcap support])
dnl
dnl Check for fetch URL support
dnl should be extended to support other fetch URL APIs
dnl
ol_link_sasl=no
if test $ol_with_cyrus_sasl != no ; then
AC_CHECK_HEADER(sasl.h)
if test $ac_cv_header_sasl_h = yes ; then
AC_CHECK_LIB(sasl, sasl_client_init,
[have_cyrus_sasl=yes], [have_cyrus_sasl=no])
if test $have_cyrus_sasl != no ; then
AC_DEFINE(HAVE_CYRUS_SASL,1,[define if you have Cyrus SASL])
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
ol_link_sasl=yes
fi
fi
if test $ol_link_sasl = no -a $ol_with_cyrus_sasl = yes ; then
AC_MSG_ERROR(no suitable API for --with-cyrus-sasl=$ol_with_cyrus_sasl)
fi
fi
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
LDIF_LIBS="$LDIF_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
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
dnl
dnl Check for GNU readline
dnl
ol_link_readline=no
if test $ol_with_readline != no ; then
AC_CHECK_HEADERS(readline/readline.h readline/history.h)
if test $ac_cv_header_readline_readline_h = yes ; then
save_LIBS="$LIBS"
LIBS="$TERMCAP_LIBS $LIBS"
AC_CHECK_LIB(readline, readline,
[have_readline=yes], [have_readline=no])
LIBS="$save_LIBS"
if test $have_readline = yes ; then
ol_with_readline=found
ol_link_readline=yes
READLINE_LIBS="-lreadline"
fi
fi
fi
if test $ol_link_readline = yes ; then
AC_DEFINE(HAVE_READLINE, 1, [define if you have -lreadline])
fi
# 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"
have_crypt=yes], [have_crypt=no])])
if test $have_crypt = yes ; then
AC_DEFINE(HAVE_CRYPT,1, [define if crypt(3) is available])
else
AC_MSG_WARN(could not find crypt)
if test $ol_enable_crypt = yes ; then
AC_MSG_ERROR(could not find crypt, select appropriate options or disable)
fi
AC_MSG_WARN(disabling crypt support)
ol_enable_crypt=no
fi
fi
# 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"])])
if test $have_setproctitle = yes ; then
AC_DEFINE(HAVE_SETPROCTITLE,1,
[define if setproctitle(3) is available])
dnl ----------------------------------------------------------------
dnl Checks for typedefs, structures, and compiler characteristics.
Kurt Zeilenga
committed
AC_TYPE_GETGROUPS dnl requires AC_TYPE_UID_T
AC_TYPE_MODE_T
AC_TYPE_OFF_T
AC_TYPE_PID_T
Kurt Zeilenga
committed
AM_TYPE_PTRDIFF_T
OL_TYPE_SIG_ATOMIC_T
OL_TYPE_SOCKLEN_T
AC_STRUCT_ST_BLKSIZE
AC_HEADER_TIME
AC_STRUCT_TM
OL_STRUCT_PASSWD_PW_GECOS
OL_STRUCT_PASSWD_PW_PASSWD
OL_C_VOLATILE
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)
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)
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
AC_DEFINE(LBER_LEN_T,long)
dnl ----------------------------------------------------------------
dnl Checks for library functions.
AC_FUNC_MEMCMP
dnl AM_FUNC_MKTIME dnl checks for sys/time.h and unistd.h
dnl AM_FUNC_STRTOD
dnl we should use vfork instead of fork in a number of places...
if test $ac_cv_func_vprintf = yes ; then
dnl check for vsnprintf
AC_CHECK_FUNCS(vsnprintf vsprintf)
endgrent \
endpwent \
getdtablesize \
Ben Collins
committed
getpass \
getpwnam \
getspnam \
gettimeofday \
initgroups \
lockf \
memcpy \
memmove \
mkstemp \
setgid \
setegid \
setuid \
seteuid \
write \
send \
sendto \
dnl We actually may need to replace more than this.
dnl ----------------------------------------------------------------
# Check Configuration
OL_SYS_ERRLIST
dnl ----------------------------------------------------------------
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])
fi
if test "$ol_enable_libui" = yes ; then
AC_DEFINE(LDAP_LIBUI,1,
[define this for LDAP User Interface support])
if test "$ol_enable_cache" = no ; then
AC_DEFINE(LDAP_NOCACHE,1,
[define this to remove -lldap cache support])
if test "$ol_enable_dns" != no ; then
AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_DNS,LDAP_VENDOR_VERSION)
if test "$ol_enable_proctitle" != no ; then
AC_DEFINE(LDAP_PROCTITLE,1,
[define this for LDAP process title support])
if test "$ol_enable_referrals" != no ; then
AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_REFERRALS,LDAP_VENDOR_VERSION)
if test "$ol_enable_cldap" != no ; then
AC_DEFINE(LDAP_CONNECTIONLESS,1,[define to support CLDAP])
if test "$ol_enable_crypt" != no ; then
AC_DEFINE(SLAPD_CRYPT,1,[define to support crypt(3) passwords])
if test "$ol_enable_cleartext" != no ; then
AC_DEFINE(SLAPD_CLEARTEXT,1,[define to support cleartext passwords])
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])
if test "$ol_enable_rlookups" != no ; then
AC_DEFINE(SLAPD_RLOOKUPS,1,[define to support reverse lookups])
if test "$ol_link_modules" != no ; then
AC_DEFINE(SLAPD_MODULES,1,[define to support modules])
MODULES_LIBS=-lltdl
SLAPD_MODULES_LDFLAGS="-dlopen self"
if test "$ol_link_bdb2" != no ; then
AC_DEFINE(SLAPD_BDB2,1,[define to support BDB2 backend])
BUILD_SLAPD=yes
BUILD_BDB2=yes
Bastiaan Bakker
committed
if test "$ol_with_bdb2_module" != static ; then
AC_DEFINE(SLAPD_BDB2_DYNAMIC,1,
[define to support dynamic BDB2 backend])
BUILD_BDB2=mod
BUILD_BDB2_DYNAMIC=shared
SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-bdb2/back_bdb2.la"
Bastiaan Bakker
committed
fi
fi
if test "$ol_enable_ldap" != no ; then
AC_DEFINE(SLAPD_LDAP,1,[define to support LDAP backend])
BUILD_SLAPD=yes
BUILD_LDAP=yes
Bastiaan Bakker
committed
if test "$ol_with_ldap_module" != static ; then
AC_DEFINE(SLAPD_LDAP_DYNAMIC,1,
[define to support dynamic LDAP backend])
BUILD_LDAP=mod
BUILD_LDAP_DYNAMIC=shared
SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-ldap/back_ldap.la"
Bastiaan Bakker
committed
fi
fi
if test "$ol_link_ldbm" != no ; then
AC_DEFINE(SLAPD_LDBM,1,[define to support LDBM backend])
Bastiaan Bakker
committed
if test "$ol_with_ldbm_module" != static ; then
AC_DEFINE(SLAPD_LDBM_DYNAMIC,1,
[define to support dynamic LDBM backend])
BUILD_LDBM=mod
BUILD_LDBM_DYNAMIC=shared
SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-ldbm/back_ldbm.la"
Bastiaan Bakker
committed
fi
if test "$ol_enable_passwd" != no ; then
AC_DEFINE(SLAPD_PASSWD,1,[define to support PASSWD backend])
Bastiaan Bakker
committed
if test "$ol_with_passwd_module" != static ; then
AC_DEFINE(SLAPD_PASSWD_DYNAMIC,1,
[define to support dynamic PASSWD backend])
BUILD_PASSWD=mod
BUILD_PASSWD_DYNAMIC=shared
SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-passwd/back_passwd.la"
Bastiaan Bakker
committed
fi
if test "$ol_link_perl" != no ; then
AC_DEFINE(SLAPD_PERL,1,[define to support PERL backend])
BUILD_SLAPD=yes
BUILD_PERL=yes
Bastiaan Bakker
committed
if test "$ol_with_perl_module" != static ; then
AC_DEFINE(SLAPD_PERL_DYNAMIC,1,
[define to support dynamic PERL backend])
BUILD_PERL=mod
BUILD_PERL_DYNAMIC=shared
SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-perl/back_perl.la"
Bastiaan Bakker
committed
fi
if test "$ol_enable_shell" != no ; then
AC_DEFINE(SLAPD_SHELL,1,[define to support SHELL backend])
Bastiaan Bakker
committed
if test "$ol_with_shell_module" != static ; then
AC_DEFINE(SLAPD_SHELL_DYNAMIC,1,
[define to support dynamic SHELL backend])
BUILD_SHELL=mod
BUILD_SHELL_DYNAMIC=shared
SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-shell/back_shell.la"
Bastiaan Bakker
committed
fi
if test "$ol_enable_tcl" != no ; then
AC_DEFINE(SLAPD_TCL,1,[define to support TCL backend])
BUILD_SLAPD=yes
BUILD_TCL=yes
Bastiaan Bakker
committed
if test "$ol_with_tcl_module" != static; then
AC_DEFINE(SLAPD_TCL_DYNAMIC,1,
[define to support dynamic TCL backend])
SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-tcl/back_tcl.la"
Bastiaan Bakker
committed
fi
if test "$ol_enable_slurpd" != no -a "$ol_link_threads" != no -a \
$BUILD_SLAPD = yes ; then
BUILD_SLURPD=yes
fi
if test "$ol_link_isode" != no ; then
dnl ----------------------------------------------------------------
AC_SUBST(BUILD_LDAPD)