Newer
Older
dnl This work is part of OpenLDAP Software <http://www.openldap.org/>.
dnl Redistribution and use in source and binary forms, with or without
dnl modification, are permitted only as authorized by the OpenLDAP
dnl Public License.
dnl
dnl A copy of this license is available in the file LICENSE in the
dnl top-level directory of the distribution or, alternatively, at
dnl <http://www.OpenLDAP.org/license.html>.
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$], $")] [
# This work is part of OpenLDAP Software <http://www.openldap.org/>.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted only as authorized by the OpenLDAP
# Public License.
#
# A copy of this license is available in the file LICENSE in the
# top-level directory of the distribution or, alternatively, at
# <http://www.OpenLDAP.org/license.html>.
echo "Copyright 1998-2004 The OpenLDAP Foundation. All rights reserved."
echo " Restrictions apply, see COPYRIGHT and LICENSE files."
dnl ----------------------------------------------------------------
dnl Disable config.cache!
define([AC_CACHE_LOAD], )dnl
define([AC_CACHE_SAVE], )dnl
dnl ================================================================
AC_INIT(build/version.sh)dnl
# set unset (borrowed from autoconf 2.49c)
if (OL_FOO=OL_FOO; unset OL_FOO) >/dev/null 2>&1; then
ol_unset=unset
else
ol_unset=false
fi
# unset CDPATH
$ol_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; }
AC_CONFIG_AUX_DIR(build)dnl
eval `$ac_aux_dir/version.sh`
if test -z "$OL_STRING"; then
AC_MSG_ERROR([could not determine version])
fi
if test -f "$ac_aux_dir/shtool" -a ! -d $ac_aux_dir/shtool; then
ac_cv_shtool="$ac_aux_dir/shtool"
else
AC_MSG_ERROR([no shtool found in $ac_aux_dir])
fi
SHTOOL="$ac_cv_shtool"
dnl AC_SUBST(SHTOOL)dnl
TB="`$SHTOOL echo -e '%B' 2>/dev/null`"
TN="`$SHTOOL echo -e '%b' 2>/dev/null`"
OPENLDAP_CVS=""
if test -d $ac_aux_dir/CVS; then
OPENLDAP_CVS="(from CVS sources) "
fi
echo "Configuring ${TB}${OL_STRING}${TN} ${OPENLDAP_CVS}..."
dnl Determine host platform
dnl we try not to use this for much
AC_CANONICAL_SYSTEM
AM_INIT_AUTOMAKE([$OL_PACKAGE],[$OL_VERSION], [no defines])dnl
AC_SUBST(PACKAGE)dnl
AC_SUBST(VERSION)dnl
AC_DEFINE_UNQUOTED(OPENLDAP_PACKAGE,"$PACKAGE",Package)
AC_DEFINE_UNQUOTED(OPENLDAP_VERSION,"$VERSION",Version)
AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION,$OL_API_INC,Version)
AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION_MAJOR,$OL_MAJOR,Major)
AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION_MINOR,$OL_MINOR,Minor)
AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION_PATCH,$OL_PATCH,Patch)
OPENLDAP_LIBRELEASE=$OL_API_LIB_RELEASE
AC_SUBST(OPENLDAP_LIBRELEASE)dnl
OPENLDAP_LIBVERSION=$OL_API_LIB_VERSION
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.
AC_PREREQ(2.13)dnl Required Autoconf version
Kurt Zeilenga
committed
AC_CONFIG_HEADER(include/portable.h include/ldap_features.h include/lber_types.h)dnl
Kurt Zeilenga
committed
dnl ================================================================
dnl Start Args
AC_MSG_CHECKING(configure arguments)
AC_PREFIX_DEFAULT(/usr/local)
Kurt Zeilenga
committed
top_builddir=`pwd`
AC_SUBST(top_builddir)dnl
dnl ----------------------------------------------------------------
dnl --with-subdir
[ --with-subdir=DIR change default subdirectory used for installs],
[case "$withval" in
no) ldap_subdir=""
;;
yes)
;;
/*|\\*)
ldap_subdir="$withval"
;;
*)
ldap_subdir="/$withval"
;;
esac
])dnl
AC_SUBST(ldap_subdir)dnl
dnl ----------------------------------------------------------------
dnl General "enable" options
OL_ARG_ENABLE(debug,[ --enable-debug enable debugging], yes)dnl
OL_ARG_ENABLE(dynamic,[ --enable-dynamic enable linking built binaries with dynamic libs], no)dnl
OL_ARG_ENABLE(syslog,[ --enable-syslog enable syslog support], auto)dnl
OL_ARG_ENABLE(proctitle,[ --enable-proctitle enable proctitle support], yes)dnl
dnl OL_ARG_ENABLE(referrals,[ --enable-referrals enable LDAPv2+ Referrals (experimental)], no)dnl
ol_enable_referrals=${ol_enable_referrals-no}
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
dnl ----------------------------------------------------------------
dnl OL_ARG_ENABLE(dmalloc,[ --enable-dmalloc enable debug malloc support], no)dnl
OL_ARG_WITH(cyrus_sasl,[ --with-cyrus-sasl with Cyrus SASL support],
auto, [auto yes no] )
OL_ARG_WITH(fetch,[ --with-fetch with fetch(3) URL support],
auto, [auto yes no] )
dnl OL_ARG_WITH(kerberos,[ --with-kerberos with Kerberos support],
dnl auto, [auto k5 k5only k425 kth k4 afs yes no])
OL_ARG_WITH(threads,[ --with-threads with threads],
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 ----------------------------------------------------------------
dnl ----------------------------------------------------------------
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 (experimental)], no)dnl
OL_ARG_ENABLE(cleartext,[ --enable-cleartext enable cleartext passwords], yes)dnl
OL_ARG_ENABLE(crypt,[ --enable-crypt enable crypt(3) passwords], no)dnl
OL_ARG_ENABLE(lmpasswd,[ --enable-lmpasswd enable LAN Manager passwords], no)dnl
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(rewrite,[ --enable-rewrite enable DN rewriting in back-ldap and the rwm overlay], auto)dnl
OL_ARG_ENABLE(rlookups,[ --enable-rlookups enable reverse lookups of client hostnames], no)dnl
OL_ARG_ENABLE(slapi,[ --enable-slapi enable SLAPI support (experimental)], no)dnl
OL_ARG_ENABLE(slp,[ --enable-slp enable SLPv2 support], no)dnl
OL_ARG_ENABLE(wrappers,[ --enable-wrappers enable tcp wrapper support], no)dnl
Pierangelo Masarati
committed
OL_ARG_ENABLE(bdb,[ --enable-bdb enable Berkeley DB backend], yes)dnl
OL_ARG_WITH(bdb_module,[ --with-bdb-module module type static|dynamic], static,
[static dynamic])
OL_ARG_ENABLE(dnssrv,[ --enable-dnssrv enable dnssrv backend], no)dnl
OL_ARG_WITH(dnssrv_module,[ --with-dnssrv-module module type static|dynamic], static,
[static dynamic])
OL_ARG_ENABLE(hdb,[ --enable-hdb enable Hierarchical DB backend], no)dnl
OL_ARG_WITH(hdb_module,[ --with-hdb-module module type static|dynamic], static,
[static dynamic])
OL_ARG_ENABLE(ldap,[ --enable-ldap enable ldap backend], no)dnl
OL_ARG_WITH(ldap_module,[ --with-ldap-module module type static|dynamic], static,
[static dynamic])
OL_ARG_ENABLE(ldbm,[ --enable-ldbm enable ldbm backend], no)dnl
OL_ARG_WITH(ldbm_api,[ --with-ldbm-api with LDBM API auto|berkeley|bcompat|mdbm|gdbm], auto,
[auto berkeley bcompat mdbm gdbm])
OL_ARG_WITH(ldbm_module,[ --with-ldbm-module module type static|dynamic], static,
[static dynamic])
OL_ARG_WITH(ldbm_type,[ --with-ldbm-type use LDBM type auto|btree|hash], auto,
[auto btree hash])
OL_ARG_ENABLE(meta,[ --enable-meta enable metadirectory backend], no)dnl
OL_ARG_WITH(meta_module,[ --with-meta-module module type static|dynamic], static,
[static dynamic])
OL_ARG_ENABLE(monitor,[ --enable-monitor enable monitor backend], yes)dnl
OL_ARG_WITH(monitor_module,[ --with-monitor-module module type static|dynamic], static,
[static dynamic])
OL_ARG_ENABLE(null,[ --enable-null enable null backend], no)dnl
OL_ARG_WITH(null_module,[ --with-null-module module type static|dynamic], static,
[static dynamic])
OL_ARG_ENABLE(passwd,[ --enable-passwd enable passwd backend], no)dnl
OL_ARG_WITH(passwd_module,[ --with-passwd-module module type static|dynamic], static,
[static dynamic])
OL_ARG_ENABLE(perl,[ --enable-perl enable perl backend], no)dnl
OL_ARG_WITH(perl_module,[ --with-perl-module module type static|dynamic], static,
[static dynamic])
Pierangelo Masarati
committed
OL_ARG_ENABLE(relay,[ --enable-relay enable relay backend], yes)dnl
OL_ARG_WITH(relay_module,[ --with-relay-module module type static|dynamic], static,
[static dynamic])
OL_ARG_ENABLE(shell,[ --enable-shell enable shell backend], no)dnl
OL_ARG_WITH(shell_module,[ --with-shell-module module type static|dynamic], static,
[static dynamic])
OL_ARG_ENABLE(sql,[ --enable-sql enable sql backend], no)dnl
OL_ARG_WITH(sql_module,[ --with-sql-module module type static|dynamic], static,
[static dynamic])
dnl ----------------------------------------------------------------
dnl SLAPD Overlay Options
AC_ARG_WITH(xxslapoverlays,[
SLAPD Overlay Options:])
OL_ARG_ENABLE(chain,[ --enable-chain LDAP Chain Response no|yes|mod], no,
OL_ARG_ENABLE(denyop,[ --enable-denyop Deny Operation overlay no|yes|mod], no,
OL_ARG_ENABLE(dyngroup,[ --enable-dyngroup Dynamic Group overlay no|yes|mod], no,
OL_ARG_ENABLE(ppolicy,[ --enable-ppolicy Password Policy overlay no|yes|mod], no,
OL_ARG_ENABLE(proxycache,[ --enable-proxycache Proxy Cache overlay no|yes|mod], no,
OL_ARG_ENABLE(rwm,[ --enable-rwm Rewrite/Remap overlay no|yes|mod], no,
Pierangelo Masarati
committed
[no yes mod])
dnl ----------------------------------------------------------------
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])
Kurt Zeilenga
committed
dnl ----------------------------------------------------------------
Kurt Zeilenga
committed
dnl General "enable" options
# validate options
if test $ol_enable_slapd = no ; then
dnl SLAPD was specificallly disabled
Pierangelo Masarati
committed
if test $ol_enable_slapi = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-slapi argument])
fi
if test $ol_enable_bdb = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-bdb argument])
fi
if test $ol_enable_dnssrv = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-dnssrv argument])
fi
if test $ol_enable_hdb = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-hdb argument])
fi
if test $ol_enable_ldap = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-ldap argument])
AC_MSG_WARN([slapd disabled, ignoring --enable-ldbm argument])
if test $ol_enable_meta = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-meta argument])
fi
AC_MSG_WARN([slapd disabled, ignoring --enable-monitor argument])
fi
if test $ol_enable_null = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-null argument])
fi
AC_MSG_WARN([slapd disabled, ignoring --enable-passwd argument])
if test $ol_enable_perl = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-perl argument])
Pierangelo Masarati
committed
if test $ol_enable_relay = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-relay argument])
fi
AC_MSG_WARN([slapd disabled, ignoring --enable-shell argument])
if test $ol_enable_sql = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-sql argument])
fi
if test $ol_enable_modules = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-modules argument])
if test $ol_enable_multimaster = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-multimaster argument])
fi
AC_MSG_WARN([slapd disabled, ignoring --enable-wrappers argument])
fi
if test $ol_enable_rlookups = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-rlookups argument])
if test $ol_enable_aci = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-aci argument])
fi
AC_MSG_WARN([slapd disabled, ignoring --with-ldbm-api argument])
fi
if test $ol_with_ldbm_type != auto ; then
AC_MSG_WARN([slapd disabled, ignoring --with-ldbm-type argument])
if test $ol_with_bdb_module != static ; then
AC_MSG_WARN([slapd disabled, ignoring --with-bdb-module argument])
fi
if test $ol_with_dnssrv_module != static ; then
AC_MSG_WARN([slapd disabled, ignoring --with-dnssrv-module argument])
fi
if test $ol_with_hdb_module != static ; then
AC_MSG_WARN([slapd disabled, ignoring --with-hdb-module argument])
fi
Bastiaan Bakker
committed
if test $ol_with_ldap_module != static ; then
AC_MSG_WARN([slapd disabled, ignoring --with-ldap-module argument])
fi
if test $ol_with_ldbm_module != static ; then
AC_MSG_WARN([slapd disabled, ignoring --with-ldbm-module argument])
fi
if test $ol_with_meta_module != static ; then
AC_MSG_WARN([slapd disabled, ignoring --with-meta-module argument])
fi
if test $ol_with_monitor_module != static ; then
AC_MSG_WARN([slapd disabled, ignoring --with-monitor-module argument])
fi
if test $ol_with_null_module != static ; then
AC_MSG_WARN([slapd disabled, ignoring --with-null-module argument])
fi
Bastiaan Bakker
committed
if test $ol_with_passwd_module != static ; then
AC_MSG_WARN([slapd disabled, ignoring --with-passwd-module argument])
fi
if test $ol_with_perl_module != static ; then
AC_MSG_WARN([slapd disabled, ignoring --with-perl-module argument])
fi
Pierangelo Masarati
committed
if test $ol_with_relay_module != static ; then
AC_MSG_WARN([slapd disabled, ignoring --with-relay-module argument])
fi
Bastiaan Bakker
committed
if test $ol_with_shell_module != static ; then
AC_MSG_WARN([slapd disabled, ignoring --with-shell-module argument])
fi
if test $ol_with_sql_module != static ; then
AC_MSG_WARN([slapd disabled, ignoring --with-sql-module argument])
fi
if test $ol_enable_rewrite = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-rewrite argument])
fi
dnl overlays
if test $ol_with_chain != no ; then
AC_MSG_WARN([slapd disabled, ignoring --with-chain argument])
fi
if test $ol_with_denyop != no ; then
AC_MSG_WARN([slapd disabled, ignoring --with-denyop argument])
fi
if test $ol_with_dyngroup != no ; then
AC_MSG_WARN([slapd disabled, ignoring --with-dyngroup argument])
fi
if test $ol_with_ppolicy != no ; then
AC_MSG_WARN([slapd disabled, ignoring --with-ppolicy argument])
fi
if test $ol_with_proxycache != no ; then
AC_MSG_WARN([slapd disabled, ignoring --with-proxycache argument])
fi
Pierangelo Masarati
committed
if test $ol_with_rwm != no ; then
AC_MSG_WARN([slapd disabled, ignoring --with-rwm argument])
fi
Pierangelo Masarati
committed
ol_enable_slapi=no
ol_enable_monitor=no
ol_enable_null=no
Pierangelo Masarati
committed
ol_enable_relay=no
ol_enable_multimaster=no
ol_enable_aci=no
ol_enable_wrappers=no
ol_with_ldbm_api=no
ol_with_ldbm_type=no
ol_with_dnssrv_module=static
Bastiaan Bakker
committed
ol_with_ldap_module=static
ol_with_ldbm_module=static
ol_with_monitor_module=static
ol_with_null_module=static
Bastiaan Bakker
committed
ol_with_passwd_module=static
ol_with_perl_module=static
Pierangelo Masarati
committed
ol_with_relay_module=static
Bastiaan Bakker
committed
ol_with_shell_module=static
ol_with_sql_module=static
Bastiaan Bakker
committed
ol_enable_chain=no
ol_enable_denyop=no
ol_enable_dyngroup=no
ol_enable_ppolicy=no
ol_enable_proxycache=no
ol_enable_rwm=no
elif test $ol_enable_ldbm = no ; then
dnl SLAPD without LDBM
if test $ol_with_ldbm_api != auto ; then
AC_MSG_WARN([LDBM disabled, ignoring --with-ldbm-api argument])
fi
if test $ol_with_ldbm_type != auto ; then
AC_MSG_WARN([LDBM disabled, ignoring --with-ldbm-type argument])
Bastiaan Bakker
committed
if test $ol_with_ldbm_module != static ; then
AC_MSG_WARN([LDBM disabled, ignoring --with-ldbm-module argument])
fi
if test $ol_enable_modules != yes -a \
$ol_enable_dnssrv = no -a \
$ol_enable_monitor = no -a \
$ol_enable_null = no -a \
$ol_enable_passwd = no -a \
$ol_enable_perl = no -a \
Pierangelo Masarati
committed
$ol_enable_relay = no -a \
$ol_enable_shell = no -a \
$ol_enable_sql = no ; then
if test $ol_enable_slapd = yes ; then
AC_MSG_ERROR([slapd requires a backend])
else
AC_MSG_WARN([skipping slapd, no backend specified])
ol_enable_slapd=no
fi
fi
ol_with_ldbm_api=no
ol_with_ldbm_type=no
Bastiaan Bakker
committed
ol_with_ldbm_module=static
ol_with_ldbm_api=berkeley
fi
else
dnl SLAPD with LDBM
if test $ol_with_ldbm_api = gdbm -a \
$ol_with_ldbm_type = btree ; then
AC_MSG_ERROR([GDBM only supports LDBM type hash])
if test $ol_with_ldbm_api = mdbm -a \
$ol_with_ldbm_type = btree ; then
AC_MSG_ERROR([MDBM only supports LDBM type hash])
fi
if test $ol_with_ldbm_api = ndbm -a \
$ol_with_ldbm_type = btree ; then
AC_MSG_ERROR([NDBM only supports LDBM type hash])
if test $ol_with_ldbm_api = auto ; then
ol_with_ldbm_api=berkeley
elif test $ol_with_ldbm_api != berkeley ; then
fi
elif test $ol_enable_bdb = auto ; then
if test $ol_with_ldbm_api != berkeley \
-o $ol_with_ldbm_api != auto ; then
AC_MSG_WARN([LDBM API not compatible with BDB, disabling BDB])
ol_enable_bdb=no
fi
fi
if test $ol_enable_chain != no -a $ol_enable_ldap = no ; then
AC_MSG_ERROR([--enable-chain requires --enable-ldap])
fi
if test $ol_enable_meta = yes -a $ol_enable_ldap = no ; then
AC_MSG_ERROR([--enable-meta requires --enable-ldap])
fi
if test $ol_enable_slurpd = yes ; then
dnl SLURPD was specifically enabled
if test $ol_with_threads = no ; then
if test $ol_enable_lmpasswd = yes ; then
if test $ol_with_tls = no ; then
AC_MSG_ERROR([LAN Manager passwords require OpenSSL])
fi
fi
if test $ol_with_kerberos = no ; then
AC_MSG_ERROR([options require --with-kerberos])
ol_with_kerberos=yes
if test $ol_with_kerberos = auto ; then
ol_with_kerberos=no
elif test $ol_with_kerberos != no ; then
AC_MSG_WARN([Kerberos detection enabled unnecessarily]);
ol_with_kerberos=no
if test $ol_enable_spasswd = yes ; then
if test $ol_with_cyrus_sasl = no ; then
AC_MSG_ERROR([options require --with-cyrus-sasl])
fi
dnl ----------------------------------------------------------------
dnl Initialize vars
LDAP_LIBS=
LDBM_LIBS=
LTHREAD_LIBS=
LUTIL_LIBS=
SLAPD_LIBS=
SLURPD_LIBS=
BUILD_SLAPD=no
BUILD_SLURPD=no
Pierangelo Masarati
committed
BUILD_SLAPI=no
SLAPD_SLAPI_DEPEND=
BUILD_LDAP=no
BUILD_MONITOR=no
BUILD_NULL=no
Pierangelo Masarati
committed
BUILD_RELAY=no
BUILD_DNSSRV_DYNAMIC=static
BUILD_LDAP_DYNAMIC=static
BUILD_LDBM_DYNAMIC=static
BUILD_MONITOR_DYNAMIC=static
BUILD_NULL_DYNAMIC=static
BUILD_PASSWD_DYNAMIC=static
BUILD_PERL_DYNAMIC=static
Pierangelo Masarati
committed
BUILD_RELAY_DYNAMIC=static
BUILD_SQL_DYNAMIC=static
Bastiaan Bakker
committed
Pierangelo Masarati
committed
BUILD_RWM=no
SLAPD_MODULES_LDFLAGS=
SLAPD_MODULES_CPPFLAGS=
SLAPD_STATIC_BACKENDS=
SLAPD_DYNAMIC_BACKENDS=
Ben Collins
committed
MOD_PERL_LDFLAGS=
PERL_CPPFLAGS=
SLAPD_SQL_LDFLAGS=
SLAPD_SQL_LIBS=
SLAPD_SQL_INCLUDES=
KRB4_LIBS=
KRB5_LIBS=
MODULES_LIBS=
Pierangelo Masarati
committed
SLAPI_LIBS=
SLAPD_SLP_LIBS=
dnl ================================================================
AC_DEFINE(HAVE_MKVERSION, 1, [define this if you have mkversion])
dnl ----------------------------------------------------------------
dnl
dnl Determine which C translator to use
dnl
dnl AIX Thread requires we use cc_r or xlc_r.
dnl But only do this IF AIX and CC is not set
dnl and threads are auto|yes|posix.
dnl If we find cc_r|xlc_r, force pthreads and assume
dnl pthread_create is in $LIBS (ie: don't bring in
dnl any additional thread libraries)
dnl If we do not find cc_r|xlc_r, disable threads
ol_aix_threads=no
if test -z "$CC" ; then
auto | yes | posix) ol_aix_threads=yes ;;
if test $ol_aix_threads = yes ; then
if test -z "${CC}" ; then
AC_CHECK_PROGS(CC,cc_r xlc_r cc)
if test "$CC" = cc ; then
dnl no CC! don't allow --with-threads
if test $ol_with_threads != auto ; then
AC_MSG_ERROR([--with-threads requires cc_r (or other suitable compiler) on AIX])
else
AC_MSG_WARN([disabling threads, no cc_r on AIX])
fi
ol_with_threads=no
fi
fi
if test "${CC}" = "cc_r" -o "${CC}" = "xlc_r" ; then
ol_with_threads=posix
ol_cv_pthread_create=yes
fi
fi
AC_MSG_ERROR([Unable to locate cc(1) or suitable replacement. Check PATH or set CC.])
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) or suitable replacement. Check PATH or set AR.])
AC_LIBTOOL_DLOPEN
OL_PROG_LN_H
AC_PROG_LN_S
dnl ----------------------------------------------------------------
dnl Perl
ol_link_perl=no
if test $ol_enable_perl != no ; then
AC_PATH_PROG(PERLBIN, perl, /usr/bin/perl)
if test "no$PERLBIN" = "no" ; then
if test $ol_enable_perl = yes ; then
AC_MSG_ERROR([could not locate perl])
fi
Ben Collins
committed
PERL_CPPFLAGS="`$PERLBIN -MExtUtils::Embed -e ccopts`"
PERL_LDFLAGS="`$PERLBIN -MExtUtils::Embed -e ldopts|sed -e 's/ -lc / /' -e 's/ -lc$//'`"
if test x"$ol_with_perl_module" = "xstatic" ; then
Ben Collins
committed
else
Ben Collins
committed
fi
dnl should check perl version
ol_link_perl=yes
fi
AC_PROG_CPP
dnl ----------------------------------------------------------------
dnl Checks for UNIX Variants
dnl AC_AIX
dnl AC_ISC_POSIX
dnl AC_MINIX
dnl ----------------------------------------------------------------
dnl Checks for system services
AC_CYGWIN
AC_MINGW32
AC_EXEEXT
AC_OBJEXT
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 ----------------------------------------------------------------
Kurt Zeilenga
committed
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.])
Kurt Zeilenga
committed
fi
dnl ----------------------------------------------------------------
dnl Check cc depend flags
OL_MKDEPEND
if test "${ol_cv_mkdep}" = no ; then
# this will soon become an error
AC_MSG_WARN([do not know how to generate dependencies])
fi
dnl ----------------------------------------------------------------
dnl Check for AIX security library
AC_CHECK_LIB(s, afopen, [
AUTH_LIBS=-ls
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
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
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
ol_link_modules=yes
else
ol_with_dnssrv_module=static
ol_with_ldap_module=static
ol_with_ldbm_module=static
ol_with_monitor_module=static
ol_with_null_module=static
ol_with_passwd_module=static
ol_with_perl_module=static
Pierangelo Masarati
committed
ol_with_relay_module=static
ol_with_shell_module=static
ol_with_sql_module=static
if test $ol_enable_chain = mod ; then
if test $ol_enable_denyop = mod ; then
if test $ol_enable_dyngroup = mod ; then
if test $ol_enable_ppolicy = mod ; then
if test $ol_enable_proxycache = mod ; then
AC_MSG_WARN([building static proxycache overlay])
if test $ol_enable_rwm = mod ; then
Pierangelo Masarati
committed
AC_MSG_WARN([building static rwm overlay])
Pierangelo Masarati
committed
fi
fi
dnl ----------------------------------------------------------------
dnl Checks for header files.
OL_HEADER_STDC
if test $ol_cv_header_stdc != yes; then
AC_MSG_WARN([could not locate 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])
fi
AC_CHECK_HEADERS( \
arpa/inet.h \
arpa/nameser.h \
assert.h \
bits/types.h \
crypt.h \
errno.h \
fcntl.h \
filio.h \
getopt.h \
grp.h \
libutil.h \
limits.h \
locale.h \
netinet/tcp.h \
malloc.h \
memory.h \
psap.h \
pwd.h \
sgtty.h \
shadow.h \
stddef.h \
string.h \
strings.h \
sysexits.h \
sys/file.h \
sys/filio.h \
sys/errno.h \
sys/ioctl.h \
sys/param.h \
sys/resource.h \
sys/select.h \
sys/socket.h \
sys/stat.h \
sys/syslog.h \
sys/time.h \
sys/types.h \
sys/uio.h \
syslog.h \
termios.h \
unistd.h \
winsock.h \
)
dnl ----------------------------------------------------------------
dnl HP-UX requires -lV3
dnl this is not needed on newer versions of HP-UX
AC_CHECK_LIB(V3, sigset)
dnl The following is INTENTIONALLY scripted out because shell does not
dnl support variable names with the '@' character, which is what
dnl autoconf would try to generate if one merely used AC_SEARCH_LIBS
if test "$ac_cv_header_winsock_h" = yes; then
AC_CACHE_CHECK([for winsock], [ol_cv_winsock],
save_LIBS="$LIBS"
for curlib in ws2_32 wsock32; do
LIBS="$LIBS -l$curlib"
socket(0,0,0);
select(0,NULL,NULL,NULL,NULL);
closesocket(0);
gethostname(NULL,0);
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
AC_DEFINE(HAVE_WINSOCK2, 1,
[define if you have winsock2])
fi
break
dnl Find socket()
dnl Likely combinations:
dnl -lsocket [ -lnsl_s | -lnsl ]
dnl -linet
dnl hopefully we won't include too many libraries
AC_CHECK_LIB(socket, main)
AC_CHECK_LIB(net, main)
AC_CHECK_LIB(nsl_s, main)
AC_CHECK_LIB(nsl, main)
AC_CHECK_LIB(inet, socket)
AC_CHECK_LIB(gen, main)
])
AC_CHECK_FUNC(select, :, AC_MSG_ERROR([select() required.]))