Skip to content
Snippets Groups Projects
configure.in 68.7 KiB
Newer Older
		fi
	fi
fi

if test $ol_link_readline = yes ; then
	AC_DEFINE(HAVE_READLINE, 1, [define if you have -lreadline])
fi


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"
			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

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
Howard Chu's avatar
Howard Chu committed
			LIBOBJS="$LIBOBJS setproctitle.o"
			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 Checks for typedefs, structures, and compiler characteristics.
AC_TYPE_MODE_T
AC_TYPE_OFF_T
AC_TYPE_PID_T
AC_TYPE_SIGNAL
AC_TYPE_SIZE_T

AC_CHECK_TYPE(ssize_t, [signed int])
AC_CHECK_TYPE(caddr_t,	[char *])

AC_STRUCT_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_DEFINE(CROSS_COMPILING, 1, [define if cross compiling])
else
	AC_C_BIGENDIAN
fi

AC_COMPILE_CHECK_SIZEOF(short) 
AC_COMPILE_CHECK_SIZEOF(int) 
AC_COMPILE_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)
else
	AC_DEFINE(LBER_INT_T,int)
AC_DEFINE(LBER_LEN_T,long)
AC_DEFINE(LBER_SOCKET_T,int)
AC_DEFINE(LBER_TAG_T,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
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(vsnprintf vsprintf)
AC_CHECK_FUNCS(		\
	bcopy			\
	closesocket		\
	flock			\
	gethostname		\
	lockf			\
	memcpy			\
	memmove			\
	mkstemp			\
	recv			\
	recvfrom		\
	setpwfile		\
	setsid			\
	signal			\
	sigset			\
	strerror		\
	strrchr			\
	strsep			\
	strtol			\
	strtoul			\
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.
AC_REPLACE_FUNCS(getopt tempnam)
Howard Chu's avatar
Howard Chu committed
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

dnl ----------------------------------------------------------------
dnl Sort out defines

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_enable_cache" = no ; then
	AC_DEFINE(LDAP_NOCACHE,1,
		[define this to remove -lldap cache support])
if test "$ol_link_kbind" != no ; then
	AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND,LDAP_VENDOR_VERSION)
fi
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)
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_kpasswd" != no ; then
	AC_DEFINE(SLAPD_KPASSWD,1,[define to support Kerberos 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_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_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"
if test "$ol_enable_bdb" != no ; then
	AC_DEFINE(SLAPD_BDB,1,[define to support BDB backend])
	BUILD_SLAPD=yes
	BUILD_BDB=yes
	if test "$ol_with_bdb_module" != static ; then
		AC_DEFINE(SLAPD_BDB_DYNAMIC,1,
			[define to support dynamic BDB backend])
		BUILD_BDB=mod
		BUILD_BDB_DYNAMIC=shared
		SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-bdb/back_bdb.la"
	fi
fi

if test "$ol_link_dnssrv" != no ; then
	AC_DEFINE(SLAPD_DNSSRV,1,[define to support DNS SRV backend])
	BUILD_SLAPD=yes
	BUILD_DNSSRV=yes
	if test "$ol_with_dnssrv_module" != static ; then
		AC_DEFINE(SLAPD_DNSSRV_DYNAMIC,1,
			[define to support dynamic DNS SRV backend])
		BUILD_DNSSRV=mod
		BUILD_DNSSRV_DYNAMIC=shared
		SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-dnssrv/back_dnssrv.la"
	fi
fi

if test "$ol_enable_ldap" != no ; then
	AC_DEFINE(SLAPD_LDAP,1,[define to support LDAP backend])
	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"
if test "$ol_link_ldbm" != no ; then
	AC_DEFINE(SLAPD_LDBM,1,[define to support LDBM backend])
	BUILD_SLAPD=yes
	BUILD_LDBM=yes
	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"
if test "$ol_enable_passwd" != no ; then
	AC_DEFINE(SLAPD_PASSWD,1,[define to support PASSWD backend])
	BUILD_SLAPD=yes
	BUILD_PASSWD=yes
	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"
if test "$ol_link_perl" != no ; then
	AC_DEFINE(SLAPD_PERL,1,[define to support PERL backend])
	BUILD_SLAPD=yes
	BUILD_PERL=yes
	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"
if test "$ol_enable_shell" != no ; then
	AC_DEFINE(SLAPD_SHELL,1,[define to support SHELL backend])
	BUILD_SLAPD=yes
	BUILD_SHELL=yes
	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"
if test "$ol_enable_tcl" != no ; then
	AC_DEFINE(SLAPD_TCL,1,[define to support TCL backend])
	if test "$ol_with_tcl_module" != static; then
		AC_DEFINE(SLAPD_TCL_DYNAMIC,1,
			[define to support dynamic TCL backend])
		BUILD_TCL=mod
		BUILD_TCL_DYNAMIC=shared
		SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-tcl/back_tcl.la"
if test "$ol_link_sql" != no ; then
	AC_DEFINE(SLAPD_SQL,1,[define to support SQL backend])
	BUILD_SLAPD=yes
	BUILD_SQL=yes
	if test "$ol_with_sql_module" != static; then
		AC_DEFINE(SLAPD_SQL_DYNAMIC,1,
			[define to support dynamic SQL backend])
		BUILD_SQL=mod
		BUILD_SQL_DYNAMIC=shared
		SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-sql/back_sql.la"
	fi
fi

if test "$ol_enable_slurpd" != no -a "$ol_link_threads" != no -a \
	$BUILD_SLAPD = yes ; then
	BUILD_SLURPD=yes
fi

dnl ----------------------------------------------------------------

Howard Chu's avatar
Howard Chu committed
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_SLAPD)
  AC_SUBST(BUILD_BDB)
  AC_SUBST(BUILD_DNSSRV)
  AC_SUBST(BUILD_LDBM)
  AC_SUBST(BUILD_PASSWD)
  AC_SUBST(BUILD_PERL)
  AC_SUBST(BUILD_SHELL)
Kurt Zeilenga's avatar
Kurt Zeilenga committed
  AC_SUBST(BUILD_BDB_DYNAMIC)
  AC_SUBST(BUILD_DNSSRV_DYNAMIC)
  AC_SUBST(BUILD_LDAP_DYNAMIC)
  AC_SUBST(BUILD_LDBM_DYNAMIC)
  AC_SUBST(BUILD_PASSWD_DYNAMIC)
  AC_SUBST(BUILD_PERL_DYNAMIC)
  AC_SUBST(BUILD_SHELL_DYNAMIC)
  AC_SUBST(BUILD_SQL_DYNAMIC)
  AC_SUBST(BUILD_TCL_DYNAMIC)
AC_SUBST(BUILD_SLURPD)

AC_SUBST(LDAP_LIBS)
AC_SUBST(LDIF_LIBS)
AC_SUBST(SLAPD_LIBS)
AC_SUBST(SLURPD_LIBS)
AC_SUBST(LDBM_LIBS)
AC_SUBST(LTHREAD_LIBS)
AC_SUBST(LUTIL_LIBS)
Julio Sánchez Fernández's avatar
 
Julio Sánchez Fernández committed
AC_SUBST(WRAP_LIBS)
AC_SUBST(SLAPD_MODULES_CPPFLAGS)
AC_SUBST(SLAPD_MODULES_LDFLAGS)
AC_SUBST(SLAPD_PERL_LDFLAGS)
AC_SUBST(KRB4_LIBS)
AC_SUBST(KRB5_LIBS)
AC_SUBST(SASL_LIBS)
AC_SUBST(TERMCAP_LIBS)
Bart Hartgers's avatar
 
Bart Hartgers committed
AC_SUBST(TLS_LIBS)
AC_SUBST(AUTH_LIBS)
AC_SUBST(SLAPD_SQL_LDFLAGS)
AC_SUBST(SLAPD_SQL_LIBS)
AC_SUBST(SLAPD_SQL_INCLUDES)

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/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 	\
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/liblunicode/Makefile:build/top.mk:libraries/liblunicode/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/slapd/Makefile:build/top.mk:servers/slapd/Makefile.in:build/srv.mk \
servers/slapd/back-bdb/Makefile:build/top.mk:servers/slapd/back-bdb/Makefile.in:build/mod.mk \
servers/slapd/back-dnssrv/Makefile:build/top.mk:servers/slapd/back-dnssrv/Makefile.in:build/mod.mk \
servers/slapd/back-ldap/Makefile:build/top.mk:servers/slapd/back-ldap/Makefile.in:build/mod.mk \
servers/slapd/back-ldbm/Makefile:build/top.mk:servers/slapd/back-ldbm/Makefile.in:build/mod.mk \
servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefile.in:build/mod.mk \
servers/slapd/back-perl/Makefile:build/top.mk:servers/slapd/back-perl/Makefile.in:build/mod.mk \
servers/slapd/back-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile.in:build/mod.mk \
servers/slapd/back-sql/Makefile:build/top.mk:servers/slapd/back-sql/Makefile.in:build/mod.mk \
servers/slapd/back-tcl/Makefile:build/top.mk:servers/slapd/back-tcl/Makefile.in:build/mod.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/Makefile:build/top.mk:contrib/Makefile.in:build/dir.mk \
contrib/saucer/Makefile:build/top.mk:contrib/saucer/Makefile.in:build/rules.mk \
contrib/web_ldap/Makefile:build/top.mk:contrib/web_ldap/Makefile.in:build/rules.mk \
Kurt Zeilenga's avatar
Kurt Zeilenga committed
,[
date > stamp-h
echo Please \"make depend\" to build dependencies
])