Skip to content
Snippets Groups Projects
configure.in 46.8 KiB
Newer Older
  • Learn to ignore specific revisions
  • Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    	exit(0); /* if we exit here, the select blocked the whole process */
    
    int main(argc, argv)
    	int argc;
    	char **argv;
    
    {
    	pthread_t t;
    
    	/* create a pipe to select */
    	if(pipe(&fildes[0])) {
    		perror("select");
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    		exit(1);
    
    #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
    
    #ifdef HAVE_PTHREAD_YIELD
    
    	pthread_yield();	/* make sure task runs first */
    #endif
    #endif
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    
    	exit(2);
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    				[ol_cv_pthread_select_yields=no],
    				[ol_cv_pthread_select_yields=yes], [
    
    				AC_MSG_ERROR([crossing compiling: use --with-yielding_select=yes|no|manual])])])
    				AC_MSG_RESULT($ol_cv_pthread_select_yields)
    
    				if test $ol_cv_pthread_select_yields = yes ; then
    
    			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
    
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    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], [
    
    				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])
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    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"
    
    			ol_link_threads=thr
    
    			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])
    
    			LTHREAD_LIBS="$LTHREAD_LIBS -llwp"
    
    			ol_link_threads=lwp
    
    			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.
    
    	ol_link_threads=yes
    
    
    	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_LINUX_THREADS
    
    	AC_CHECK_HEADERS(mach/cthreads.h)
    	AC_CHECK_HEADERS(lwp/lwp.h)
    	AC_CHECK_HEADERS(thread.h synch.h)
    fi
    
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    if test $ol_link_threads != no ; then  
    
    	dnl needed to get reentrant/threadsafe versions
    	dnl
    
    	AC_DEFINE(REENTRANT,1)
    
    	AC_DEFINE(THREAD_SAFE,1)
    
    	AC_DEFINE(THREADSAFE,1)
    
    	AC_DEFINE(_THREADSAFE,1)
    
    
    	dnl this might cause the errno symbol to be
    	dnl replaced with a function to get a thread specific errno.
    	dnl check to see if everything needs to be compiled
    	dnl with the thread libraries
    	AC_CACHE_CHECK([for thread specific errno],
    		[ol_cv_errno_thread_specific], [
    
    		AC_TRY_LINK([#include <errno.h>], [int x = errno;],
    
    			[ol_cv_errno_thread_specific=yes],
    			[ol_cv_errno_thread_specific=no])
    	])
    
    	if test $ol_cv_errno_thread_specific != yes ; then
    		LIBS="$LTHREAD_LIBS $LIBS"
    		LTHREAD_LIBS=""
    	fi
    
    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
    
    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 LDAP_R_COMIPLE is defined by libldap_r/Makefile.in
    dnl specifically for compiling the threadsafe version of
    dnl	the ldap library (-lldap_r).
    
    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"
    
    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])
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    		ol_with_threads=no
    
    	AC_DEFINE(NO_THREADS,1,
    		[define if you have (or want) no threads])
    
    	LTHREAD_LIBS=""
    fi
    
    
    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)
    		else
    			AC_DEFINE(LDBM_USE_DBBTREE,1)
    		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)
    		else
    			AC_DEFINE(LDBM_USE_DBBTREE,1)
    		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.
    
    	ol_link_ldbm=yes
    
    
    	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)
    
    	ol_with_ldbm_api=none
    
    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)
    
    	ol_enable_ldbm=no
    
    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
    
    
    	if test $have_wrappers = yes ; then
    
    		AC_DEFINE(HAVE_TCPD,1, [define if you have -lwrap])
    
    		SLAPD_LIBS="$SLAPD_LIBS -lwrap"
    	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
    
    
    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])
    
    	TERMCAP_LIBS=
    fi
    
    
    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
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    		AC_DEFINE(HAVE_CRYPT,1)
    
    	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
    
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    # 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)
    	fi
    fi
    
    
    dnl ----------------------------------------------------------------
    dnl Checks for header files.
    AC_HEADER_STDC
    
    if test $ac_cv_header_stdc != yes; then
    
    	AC_MSG_WARN([could not Standard C compliant headers])
    
    fi
    
    AC_HEADER_DIRENT
    AC_HEADER_SYS_WAIT
    
    AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL
    if test $am_cv_sys_posix_termios = yes ; then
    
    	AC_DEFINE(HAVE_POSIX_TERMIOS,1,
    		[define if you have POSIX termios])
    
    AC_CHECK_HEADERS(	\
    
    	arpa/inet.h		\
    	arpa/nameser.h		\
    
    	crypt.h			\
    
    	errno.h			\
    	fcntl.h			\
    	filio.h			\
    	getopt.h		\
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    	libutil.h		\
    
    	limits.h		\
    
    	malloc.h		\
    
    	memory.h		\
    
    	regex.h			\
    
    	sgtty.h			\
    
    	stdarg.h		\
    	stddef.h		\
    	string.h		\
    	strings.h		\
    
    	sys/file.h		\
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    	sys/filio.h		\
    
    	sys/errno.h		\
    	sys/ioctl.h		\
    	sys/param.h		\
    
    	sys/socket.h	\
    	sys/syslog.h	\
    
    	sys/types.h		\
    	syslog.h		\
    	termios.h		\
    
    )
    
    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
    
    AC_TYPE_SIGNAL
    
    AC_TYPE_SIZE_T
    AC_STRUCT_ST_BLKSIZE
    AC_HEADER_TIME
    AC_STRUCT_TM
    
    OL_C_UPPER_LOWER
    AC_C_CONST
    
    if test $cross_compiling = yes ; then
    
    	AC_DEFINE(CROSS_COMPILING, 1, [define if cross compiling])
    
    	AC_CHECK_SIZEOF(short) 
    	AC_CHECK_SIZEOF(int) 
    	AC_CHECK_SIZEOF(long)
    
    dnl ----------------------------------------------------------------
    dnl Checks for library functions.
    AC_FUNC_MEMCMP
    
    dnl AM_FUNC_MKTIME dnl checks for sys/time.h and unistd.h
    
    AC_FUNC_STRFTIME
    
    AC_FUNC_VPRINTF
    
    
    if test $ac_cv_func_vprintf = yes ; then
    	dnl check for vsnprintf
    
    	AC_CHECK_FUNCS(vsnprintf vsprintf)
    
    AC_CHECK_FUNCS(		\
    	bcopy			\
    	flock			\
    	getdtablesize	\
    
    	gethostname		\
    
    	gettimeofday	\
    
    	lockf			\
    	memcpy			\
    	memmove			\
    	mkstemp			\
    	select			\
    	setpwfile		\
    	setsid			\
    	signal			\
    	sigset			\
    
    	socket			\
    
    	strerror		\
    
    	strrchr			\
    	strsep			\
    
    	strtol			\
    	strtoul			\
    
    Bart Hartgers's avatar
     
    Bart Hartgers committed
    	strspn			\
    
    	sysconf			\
    	waitpid			\
    )
    
    
    dnl We actually may need to replace more than this.
    
    AC_REPLACE_FUNCS(getopt tempnam)
    
    
    dnl ----------------------------------------------------------------
    # Check Configuration
    OL_SYS_ERRLIST
    
    dnl ----------------------------------------------------------------
    dnl Sort out defines
    
    
    if test "$ol_enable_debug" != no ; then
    
    	AC_DEFINE(LDAP_DEBUG,1)
    fi
    
    if test "$ol_enable_syslog" = yes ; then
    
    if test "$ol_enable_libui" = yes ; then
    
    	AC_DEFINE(LDAP_LIBUI,1)
    fi
    
    if test "$ol_enable_cache" = no ; then
    
    	AC_DEFINE(LDAP_NOCACHE,1)
    fi
    
    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
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    	AC_DEFINE(LDAP_PROCTITLE,1)
    fi
    
    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)
    fi
    
    
    if test "$ol_enable_aclgroups" != no ; then
    
    	AC_DEFINE(SLAPD_ACLGROUPS,1)
    
    if test "$ol_enable_crypt" != no ; then
    
    	AC_DEFINE(SLAPD_CRYPT,1)
    fi
    
    if test "$ol_enable_cleartext" != no ; then
    
    if test "$ol_enable_phonetic" != no ; then
    
    	AC_DEFINE(SLAPD_PHONETIC,1)
    fi
    
    if test "$ol_enable_rlookups" != no ; then
    
    	AC_DEFINE(SLAPD_RLOOKUPS,1)
    fi
    
    
    if test "$ol_link_bdb2" != no ; then
    	AC_DEFINE(SLAPD_BDB2,1)
    	BUILD_SLAPD=yes
    	BUILD_BDB2=yes
    fi
    
    
    if test "$ol_link_ldbm" != no ; then
    
    	AC_DEFINE(SLAPD_LDBM,1)
    	BUILD_SLAPD=yes
    	BUILD_LDBM=yes
    fi
    
    
    if test "$ol_enable_passwd" != no ; then
    
    	AC_DEFINE(SLAPD_PASSWD,1)
    	BUILD_SLAPD=yes
    	BUILD_PASSWD=yes
    fi
    
    
    if test "$ol_enable_perl" != no ; then
    	AC_DEFINE(SLAPD_PERL,1)
    	BUILD_SLAPD=yes
    	BUILD_PERL=yes
    fi
    
    
    if test "$ol_enable_shell" != no ; then
    
    	AC_DEFINE(SLAPD_SHELL,1)
    	BUILD_SLAPD=yes
    	BUILD_SHELL=yes
    fi
    
    
    if test "$ol_enable_tcl" != no ; then
    	AC_DEFINE(SLAPD_TCL,1)
    	BUILD_SLAPD=yes
    	BUILD_TCL=yes
    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
    
    	BUILD_LDAPD=yes
    
    dnl ----------------------------------------------------------------
    
    AC_SUBST(BUILD_LDAPD)
    AC_SUBST(BUILD_SLAPD)
    
      AC_SUBST(BUILD_LDBM)
      AC_SUBST(BUILD_PASSWD)
    
      AC_SUBST(BUILD_PERL)
    
      AC_SUBST(BUILD_SHELL)
    
    AC_SUBST(BUILD_SLURPD)
    
    AC_SUBST(LDAP_LIBS)
    AC_SUBST(LDAPD_LIBS)
    AC_SUBST(SLAPD_LIBS)
    AC_SUBST(SLURPD_LIBS)
    AC_SUBST(LDBM_LIBS)
    AC_SUBST(LTHREAD_LIBS)
    AC_SUBST(LUTIL_LIBS)
    
    
    AC_SUBST(SLAPD_PERL_CPPFLAGS)
    AC_SUBST(SLAPD_PERL_LDFLAGS)
    
    
    AC_SUBST(KRB_LIBS)
    
    AC_SUBST(TERMCAP_LIBS)
    
    Bart Hartgers's avatar
     
    Bart Hartgers committed
    AC_SUBST(TLS_LIBS)
    
    
    dnl ----------------------------------------------------------------
    dnl final output
    dnl
    
    AC_OUTPUT( \
    Makefile:build/top.mk:Makefile.in:build/dir.mk \
    doc/Makefile:build/top.mk:doc/Makefile.in:build/dir.mk \
    doc/man/Makefile:build/top.mk:doc/man/Makefile.in:build/dir.mk \
    doc/man/man1/Makefile:build/top.mk:doc/man/man1/Makefile.in:build/man.mk \
    doc/man/man3/Makefile:build/top.mk:doc/man/man3/Makefile.in:build/man.mk \
    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/finger/Makefile:build/top.mk:clients/finger/Makefile.in:build/rules.mk \
    clients/fax500/Makefile:build/top.mk:clients/fax500/Makefile.in:build/rules.mk \
    clients/gopher/Makefile:build/top.mk:clients/gopher/Makefile.in:build/rules.mk \
    clients/mail500/Makefile:build/top.mk:clients/mail500/Makefile.in:build/rules.mk \
    clients/rcpt500/Makefile:build/top.mk:clients/rcpt500/Makefile.in:build/rules.mk \
    clients/ud/Makefile:build/top.mk:clients/ud/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 	\
    
    libraries/libavl/Makefile:build/top.mk:libraries/libavl/Makefile.in:build/lib.mk:build/lib-static.mk	\
    libraries/liblber/Makefile:build/top.mk:libraries/liblber/Makefile.in:build/lib.mk:build/lib-shared.mk	\
    libraries/libldap/Makefile:build/top.mk:libraries/libldap/Makefile.in:build/lib.mk:build/lib-shared.mk	\
    
    libraries/libldap_r/Makefile:build/top.mk:libraries/libldap_r/Makefile.in:build/lib.mk:build/lib-shared.mk	\
    
    libraries/libldbm/Makefile:build/top.mk:libraries/libldbm/Makefile.in:build/lib.mk:build/lib-static.mk	\
    libraries/libldif/Makefile:build/top.mk:libraries/libldif/Makefile.in:build/lib.mk:build/lib-static.mk	\
    libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk:build/lib-static.mk	\
    
    servers/Makefile:build/top.mk:servers/Makefile.in:build/dir.mk \
    servers/ldapd/Makefile:build/top.mk:servers/ldapd/Makefile.in:build/srv.mk \
    servers/slapd/Makefile:build/top.mk:servers/slapd/Makefile.in:build/srv.mk \
    
    servers/slapd/back-bdb2/Makefile:build/top.mk:servers/slapd/back-bdb2/Makefile.in:build/srv.mk \
    
    servers/slapd/back-ldbm/Makefile:build/top.mk:servers/slapd/back-ldbm/Makefile.in:build/srv.mk \
    servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefile.in:build/srv.mk \
    
    servers/slapd/back-perl/Makefile:build/top.mk:servers/slapd/back-perl/Makefile.in:build/srv.mk \
    
    servers/slapd/back-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile.in:build/srv.mk \
    
    servers/slapd/back-tcl/Makefile:build/top.mk:servers/slapd/back-tcl/Makefile.in:build/srv.mk \
    
    servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.mk \
    servers/slapd/tools/Makefile:build/top.mk:servers/slapd/tools/Makefile.in \
    servers/slurpd/Makefile:build/top.mk:servers/slurpd/Makefile.in:build/srv.mk \
    
    tests/Makefile:build/top.mk:tests/Makefile.in:build/dir.mk \
    tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk \
    
    contrib/saucer/Makefile:build/top.mk:contrib/saucer/Makefile.in:build/rules.mk \
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    ,[
    date > stamp-h
    echo Please \"make depend\" to build dependencies
    ])