X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=configure.in;h=be8a6f487d68321c70746301f14184373916fec9;hb=c4c6a38a0b8b48a3a733a43357b9eda7bf6d3acf;hp=49a10f83d14a5b9377fe7a2a818c2a29c85f9431;hpb=97b211174a29904beccff320128264c562cde750;p=openldap diff --git a/configure.in b/configure.in index 49a10f83d1..be8a6f487d 100644 --- a/configure.in +++ b/configure.in @@ -1,14 +1,19 @@ dnl $OpenLDAP$ +dnl This work is part of OpenLDAP Software . +dnl +dnl Copyright 1998-2003 The OpenLDAP Foundation. +dnl All rights reserved. dnl -dnl Copyright 1998-2002 The OpenLDAP Foundation. All Rights Reserved. -dnl 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. A copy of this license is available at -dnl http://www.OpenLDAP.org/license.html or in file LICENSE in the -dnl top-level directory of the distribution. +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 . dnl dnl ---------------------------------------------------------------- +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], @@ -16,15 +21,20 @@ define([AC_INIT_BINSH], # $]OpenLDAP[$ # from] translit([$OpenLDAP$], $")] [ -# Copyright 1998-2002 The OpenLDAP Foundation. All Rights Reserved. -# +# This work is part of OpenLDAP Software . +# +# Copyright 1998-2003 The OpenLDAP Foundation. +# All rights reserved. +# # 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 at -# http://www.OpenLDAP.org/license.html or in file LICENSE in the -# top-level directory of the distribution. +# Public License. +# +# A copy of this license is available in the file LICENSE in the +# top-level directory of the distribution or, alternatively, at +# . -echo "Copyright 1998-2002 The OpenLDAP Foundation, All Rights Reserved." +echo "Copyright 1998-2003 The OpenLDAP Foundation. All rights reserved." echo " Restrictions apply, see COPYRIGHT and LICENSE files." ])dnl dnl ---------------------------------------------------------------- @@ -131,10 +141,11 @@ 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 -OL_ARG_ENABLE(cache,[ --enable-cache enable caching (experimental)], no)dnl -OL_ARG_ENABLE(referrals,[ --enable-referrals enable LDAPv2+ Referrals (experimental)], no)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 @@ -148,12 +159,11 @@ dnl OL_ARG_ENABLE(dmalloc,[ --enable-dmalloc enable debug malloc support], no OL_ARG_WITH(cyrus_sasl,[ --with-cyrus-sasl with Cyrus SASL support], auto, [auto yes no] ) -OL_ARG_WITH(fetch,[ --with-fetch with freeBSD fetch URL support], - auto, [auto yes no] ) -OL_ARG_WITH(kerberos,[ --with-kerberos with Kerberos support], - auto, [auto k5 k5only k425 kth k4 afs yes no]) -OL_ARG_WITH(readline,[ --with-readline with readline support], +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_with_kerberos=${ol_with_kerberos-auto} 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], @@ -173,19 +183,20 @@ 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(dynamic,[ --enable-dynamic enable linking built binaries with dynamic libs], no)dnl -OL_ARG_ENABLE(kpasswd,[ --enable-kpasswd enable Kerberos password verification], no)dnl +dnl OL_ARG_ENABLE(kpasswd,[ --enable-kpasswd enable Kerberos password verification], no)dnl +ol_enable_kpasswd=${ol_enable_kpasswd-no} 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(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 -OL_ARG_ENABLE(slp, [ --enable-slp enable SLPv2 support], 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 + dnl SLAPD Backend options 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, @@ -193,6 +204,9 @@ OL_ARG_WITH(bdb_module,[ --with-bdb-module module type static|dynamic], s 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]) @@ -206,7 +220,7 @@ OL_ARG_WITH(ldbm_type,[ --with-ldbm-type use LDBM type auto|btree|hash], au 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], no)dnl +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 @@ -224,9 +238,17 @@ OL_ARG_WITH(shell_module,[ --with-shell-module module type 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]) -OL_ARG_ENABLE(tcl,[ --enable-tcl enable tcl backend], no)dnl -OL_ARG_WITH(tcl_module,[ --with-tcl-module module type static|dynamic], static, - [static dynamic]) + +dnl ---------------------------------------------------------------- +dnl SLAPD Overlay Options +AC_ARG_WITH(xxslapoverlays,[ +SLAPD Overlay Options:]) +OL_ARG_WITH(dyngroup,[ --with-dyngroup Dynamic Group overlay no|yes|mod], no, + [no yes mod]) +OL_ARG_WITH(proxycache,[ --with-proxycache Proxy Cache overlay no|yes|mod], no, + [no yes mod]) +OL_ARG_WITH(rwm,[ --with-rwm Rewrite/Remap overlay no|yes|mod], no, + [no yes mod]) dnl ---------------------------------------------------------------- dnl SLURPD OPTIONS @@ -238,7 +260,6 @@ dnl ---------------------------------------------------------------- AC_ARG_WITH(xxliboptions,[ Library Generation & Linking Options]) AC_ENABLE_STATIC -dnl AC_DISABLE_SHARED AC_ENABLE_SHARED dnl ---------------------------------------------------------------- @@ -247,12 +268,18 @@ dnl General "enable" options # validate options if test $ol_enable_slapd = no ; then dnl SLAPD was specificallly disabled + 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]) fi @@ -277,9 +304,6 @@ if test $ol_enable_slapd = no ; then if test $ol_enable_shell = yes ; then AC_MSG_WARN([slapd disabled, ignoring --enable-shell argument]) fi - if test $ol_enable_tcl = yes ; then - AC_MSG_WARN([slapd disabled, ignoring --enable-tcl argument]) - fi if test $ol_enable_sql = yes ; then AC_MSG_WARN([slapd disabled, ignoring --enable-sql argument]) fi @@ -292,9 +316,6 @@ if test $ol_enable_slapd = no ; then if test $ol_enable_wrappers = yes ; then AC_MSG_WARN([slapd disabled, ignoring --enable-wrappers argument]) fi - if test $ol_enable_phonetic = yes ; then - AC_MSG_WARN([slapd disabled, ignoring --enable-phonetic argument]) - fi if test $ol_enable_rlookups = yes ; then AC_MSG_WARN([slapd disabled, ignoring --enable-rlookups argument]) fi @@ -313,6 +334,9 @@ if test $ol_enable_slapd = no ; then 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 if test $ol_with_ldap_module != static ; then AC_MSG_WARN([slapd disabled, ignoring --with-ldap-module argument]) fi @@ -337,9 +361,6 @@ if test $ol_enable_slapd = no ; then if test $ol_with_shell_module != static ; then AC_MSG_WARN([slapd disabled, ignoring --with-shell-module argument]) fi - if test $ol_with_tcl_module != static ; then - AC_MSG_WARN([slapd disabled, ignoring --with-tcl-module argument]) - fi if test $ol_with_sql_module != static ; then AC_MSG_WARN([slapd disabled, ignoring --with-sql-module argument]) fi @@ -349,10 +370,21 @@ if test $ol_enable_slapd = no ; then if test $ol_enable_rewrite = yes ; then AC_MSG_WARN([slapd disabled, ignoring --enable-rewrite argument]) fi + if test $ol_with_dyngroup != no ; then + AC_MSG_WARN([slapd disabled, ignoring --with-dyngroup argument]) + fi + if test $ol_with_proxycache != no ; then + AC_MSG_WARN([slapd disabled, ignoring --with-proxycache argument]) + fi + if test $ol_with_rwm != no ; then + AC_MSG_WARN([slapd disabled, ignoring --with-rwm argument]) + fi # force settings to no + ol_enable_slapi=no ol_enable_bdb=no ol_enable_dnssrv=no + ol_enable_hdb=no ol_enable_ldap=no ol_enable_ldbm=no ol_enable_meta=no @@ -361,22 +393,20 @@ if test $ol_enable_slapd = no ; then ol_enable_passwd=no ol_enable_perl=no ol_enable_shell=no - ol_enable_tcl=no ol_enable_sql=no ol_enable_modules=no ol_enable_multimaster=no - ol_enable_phonetic=no ol_enable_rlookups=no ol_enable_aci=no ol_enable_wrappers=no - ol_enable_dynamic=no ol_with_ldbm_api=no ol_with_ldbm_type=no ol_with_bdb_module=static ol_with_dnssrv_module=static + ol_with_hdb_module=static ol_with_ldap_module=static ol_with_ldbm_module=static ol_with_meta_module=static @@ -385,13 +415,16 @@ if test $ol_enable_slapd = no ; then ol_with_passwd_module=static ol_with_perl_module=static ol_with_shell_module=static - ol_with_tcl_module=static ol_with_sql_module=static ol_enable_slurpd=no ol_enable_rewrite=no + ol_with_dyngroup=no + ol_with_proxycache=no + ol_with_rwm=no + elif test $ol_enable_ldbm = no ; then dnl SLAPD without LDBM @@ -410,6 +443,7 @@ elif test $ol_enable_ldbm = no ; then if test $ol_enable_modules != yes -a \ $ol_enable_bdb = no -a \ $ol_enable_dnssrv = no -a \ + $ol_enable_hdb = no -a \ $ol_enable_ldap = no -a \ $ol_enable_meta = no -a \ $ol_enable_monitor = no -a \ @@ -417,8 +451,7 @@ elif test $ol_enable_ldbm = no ; then $ol_enable_passwd = no -a \ $ol_enable_perl = no -a \ $ol_enable_shell = no -a \ - $ol_enable_sql = no -a \ - $ol_enable_tcl = no ; then + $ol_enable_sql = no ; then if test $ol_enable_slapd = yes ; then AC_MSG_ERROR([slapd requires a backend]) @@ -432,7 +465,7 @@ elif test $ol_enable_ldbm = no ; then ol_with_ldbm_type=no ol_with_ldbm_module=static - if test $ol_enable_bdb != no ; then + if test $ol_enable_bdb != no -o $ol_enable_hdb != no; then ol_with_ldbm_api=berkeley fi @@ -451,11 +484,11 @@ else AC_MSG_ERROR([NDBM only supports LDBM type hash]) fi - if test $ol_enable_bdb = yes ; then + if test $ol_enable_bdb = yes -o $ol_enable_hdb = yes ; then if test $ol_with_ldbm_api = auto ; then ol_with_ldbm_api=berkeley elif test $ol_with_ldbm_api != berkeley ; then - AC_MSG_ERROR([LDBM API not compatible with BDB]) + AC_MSG_ERROR([LDBM API not compatible with BDB/HDB]) fi elif test $ol_enable_bdb = auto ; then @@ -508,7 +541,6 @@ AC_MSG_RESULT(done) dnl ---------------------------------------------------------------- dnl Initialize vars LDAP_LIBS= -LDIF_LIBS= LDBM_LIBS= LTHREAD_LIBS= LUTIL_LIBS= @@ -521,8 +553,12 @@ BUILD_SLURPD=no BUILD_THREAD=no +BUILD_SLAPI=no +SLAPD_SLAPI_DEPEND= + BUILD_BDB=no BUILD_DNSSRV=no +BUILD_HDB=no BUILD_LDAP=no BUILD_LDBM=no BUILD_META=no @@ -532,10 +568,10 @@ BUILD_PASSWD=no BUILD_PERL=no BUILD_SHELL=no BUILD_SQL=no -BUILD_TCL=no BUILD_BDB_DYNAMIC=static BUILD_DNSSRV_DYNAMIC=static +BUILD_HDB_DYNAMIC=static BUILD_LDAP_DYNAMIC=static BUILD_LDBM_DYNAMIC=static BUILD_META_DYNAMIC=static @@ -544,9 +580,14 @@ BUILD_NULL_DYNAMIC=static BUILD_PASSWD_DYNAMIC=static BUILD_PERL_DYNAMIC=static BUILD_SHELL_DYNAMIC=static -BUILD_TCL_DYNAMIC=static BUILD_SQL_DYNAMIC=static +BUILD_DYNGROUP=no +BUILD_PROXYCACHE=no +BUILD_RWM=no + +SLAPD_DYNAMIC_OVERLAYS= + SLAPD_MODULES_LDFLAGS= SLAPD_MODULES_CPPFLAGS= @@ -561,14 +602,14 @@ SLAPD_SQL_LDFLAGS= SLAPD_SQL_LIBS= SLAPD_SQL_INCLUDES= -MOD_TCL_LIB= KRB4_LIBS= KRB5_LIBS= -READLINE_LIBS= SASL_LIBS= -TERMCAP_LIBS= TLS_LIBS= MODULES_LIBS= +SLAPI_LIBS= +LIBSLAPI= +LIBSLAPITOOLS= AUTH_LIBS= SLAPD_SLP_LIBS= @@ -646,12 +687,6 @@ AC_LIBTOOL_WIN32_DLL AC_LIBTOOL_DLOPEN AC_PROG_LIBTOOL -LTSTATIC="" -if test "${OPENLDAP_CVS}"; then - LTSTATIC="-static" -fi -AC_SUBST(LTSTATIC)dnl - OL_PROG_LN_H AC_PROG_LN_S @@ -668,10 +703,12 @@ if test $ol_enable_perl != no ; then else 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 - SLAPD_PERL_LDFLAGS="`$PERLBIN -MExtUtils::Embed -e ldopts|sed -e s/-lc//`" + SLAPD_PERL_LDFLAGS="$PERL_LDFLAGS" else - MOD_PERL_LDFLAGS="`$PERLBIN -MExtUtils::Embed -e ldopts|sed -e s/-lc//`" + MOD_PERL_LDFLAGS="$PERL_LDFLAGS" fi dnl should check perl version ol_link_perl=yes @@ -766,6 +803,7 @@ if test $ol_enable_modules != no ; then else ol_with_bdb_module=static ol_with_dnssrv_module=static + ol_with_hdb_module=static ol_with_ldap_module=static ol_with_ldbm_module=static ol_with_meta_module=static @@ -774,8 +812,19 @@ else ol_with_passwd_module=static ol_with_perl_module=static ol_with_shell_module=static - ol_with_tcl_module=static ol_with_sql_module=static + if test $ol_with_dyngroup = mod ; then + AC_MSG_WARN([building static dyngroup overlay]) + ol_with_dyngroup = yes + fi + if test $ol_with_proxycache = mod ; then + AC_MSG_WARN([building static proxycache overlay]) + ol_with_proxycache = yes + fi + if test $ol_with_rwm = mod ; then + AC_MSG_WARN([building static rwm overlay]) + ol_with_rwm = yes + fi fi dnl ---------------------------------------------------------------- @@ -798,6 +847,7 @@ AC_CHECK_HEADERS( \ arpa/inet.h \ arpa/nameser.h \ assert.h \ + bits/types.h \ conio.h \ crypt.h \ direct.h \ @@ -831,9 +881,12 @@ AC_CHECK_HEADERS( \ sys/resource.h \ sys/select.h \ sys/socket.h \ + sys/stat.h \ sys/syslog.h \ sys/time.h \ sys/types.h \ + sys/ucred.h \ + sys/uio.h \ syslog.h \ termios.h \ unistd.h \ @@ -1018,7 +1071,7 @@ fi dnl ---------------------------------------------------------------- dnl PF_INET6 support requires getaddrinfo and INET6_ADDRSTRLEN dnl PF_LOCAL may use getaddrinfo in available -AC_CHECK_FUNCS( getaddrinfo gai_strerror inet_ntop ) +AC_CHECK_FUNCS( getaddrinfo getnameinfo gai_strerror inet_ntop ) ol_link_ipv6=no if test $ac_cv_func_getaddrinfo = no -o $ac_cv_func_inet_ntop = no ; then @@ -1115,7 +1168,7 @@ if test $ol_with_kerberos = yes -o $ol_with_kerberos = auto \ else have_krb5=no - AC_MSG_WARN([Unrecongized Kerberos5 Implementation]) + AC_MSG_WARN([Unrecognized Kerberos5 Implementation]) fi if test $have_krb5 = yes ; then @@ -1292,8 +1345,10 @@ else AC_WARN([TLS data protection not supported!]) fi +WITH_TLS=no if test $ol_link_tls = yes ; then AC_DEFINE(HAVE_TLS, 1, [define if you have TLS]) + WITH_TLS=yes elif test $ol_with_tls = auto ; then AC_WARN([Could not locate TLS/SSL package]) @@ -1313,47 +1368,6 @@ if test $ol_enable_lmpasswd != no; then AC_DEFINE(SLAPD_LMHASH, 1, [define to support LAN Manager passwords]) fi -dnl ---------------------------------------------------------------- -dnl Tests for reentrant functions necessary to build a -dnl thread_safe -lldap. -AC_CHECK_FUNCS( \ - ctime_r \ - gethostbyname_r gethostbyaddr_r \ -) - -if test "$ac_cv_func_ctime_r" = no ; then - ol_cv_func_ctime_r_nargs=0 -else - OL_FUNC_CTIME_R_NARGS -dnl OL_FUNC_CTIME_R_TYPE -fi - -if test "$ac_cv_func_gethostbyname_r" = yes ; then - OL_FUNC_GETHOSTBYNAME_R_NARGS -else - ol_cv_func_gethostbyname_r_nargs=0 -fi - -if test "$ac_cv_func_gethostbyaddr_r" = yes ; then - OL_FUNC_GETHOSTBYADDR_R_NARGS -else - ol_cv_func_gethostbyaddr_r_nargs=0 -fi - -if test "$ac_cv_func_ctime_r" = yes \ - -a "$ol_cv_func_ctime_r_nargs" -ge 2 \ - -a "$ol_cv_func_ctime_r_nargs" -le 3 \ - -a "$ac_cv_func_gethostbyname_r" = yes \ - -a "$ol_cv_func_gethostbyname_r_nargs" -ge 5 \ - -a "$ol_cv_func_gethostbyname_r_nargs" -le 6 \ - -a "$ac_cv_func_gethostbyaddr_r" = yes \ - -a "$ol_cv_func_gethostbyaddr_r_nargs" -ge 5 \ - -a "$ol_cv_func_gethostbyaddr_r_nargs" -le 6 \ - ; then - - AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_REENTRANT,1) -fi - dnl ---------------------------------------------------------------- dnl Threads? ol_link_threads=no @@ -1854,8 +1868,7 @@ if test $ol_link_threads != no -a $ol_link_threads != nt ; then fi dnl When in thread environment, use -dnl #if defined( HAVE_REENTRANT_FUNCTIONS ) \ -dnl || defined( HAVE_FUNC_R ) +dnl #if defined( HAVE_REENTRANT_FUNCTIONS ) || defined( HAVE_FUNC_R ) dnl func_r(...); dnl #else dnl # if defined( HAVE_THREADS ) @@ -1872,14 +1885,14 @@ dnl _POSIX_REENTRANT_FUNCTIONS dnl _POSIX_THREAD_SAFE_FUNCTIONS dnl _POSIX_THREADSAFE_FUNCTIONS dnl -dnl and is currently defined in lthread.h +dnl and is currently defined in dnl -dnl HAVE_THREADS is defined by lthread.h iff -UNO_THREADS +dnl HAVE_THREADS is defined by iff -UNO_THREADS dnl -dnl libldap/*.c should only include iff +dnl libldap/*.c should only include iff dnl LDAP_R_COMPILE is defined. ie: dnl #ifdef LDAP_R_COMPILE -dnl # include LDAP_R_COMPILE +dnl # include dnl #endif dnl dnl LDAP_R_COMPILE is defined by libldap_r/Makefile.in @@ -1924,6 +1937,32 @@ if test $ol_link_threads != no ; then AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_THREAD_SAFE,1) fi +dnl ---------------------------------------------------------------- +dnl Tests for reentrant functions necessary to build -lldap_r +AC_CHECK_FUNCS( \ + ctime_r \ + gethostbyname_r gethostbyaddr_r \ +) + +if test "$ac_cv_func_ctime_r" = no ; then + ol_cv_func_ctime_r_nargs=0 +else + OL_FUNC_CTIME_R_NARGS +dnl OL_FUNC_CTIME_R_TYPE +fi + +if test "$ac_cv_func_gethostbyname_r" = yes ; then + OL_FUNC_GETHOSTBYNAME_R_NARGS +else + ol_cv_func_gethostbyname_r_nargs=0 +fi + +if test "$ac_cv_func_gethostbyaddr_r" = yes ; then + OL_FUNC_GETHOSTBYADDR_R_NARGS +else + ol_cv_func_gethostbyaddr_r_nargs=0 +fi + dnl ---------------------------------------------------------------- ol_link_ldbm=no @@ -1973,6 +2012,9 @@ elif test $ol_enable_bdb != no -a $ol_link_ldbm = berkeley ; then ol_enable_bdb=no fi fi +if test $ol_enable_hdb = yes -a $ol_link_ldbm != berkeley ; then + AC_MSG_ERROR(HDB: BerkeleyDB not available) +fi if test $ol_link_ldbm = no -a $ol_with_ldbm_type = btree ; then AC_MSG_WARN(Could not find LDBM with BTREE support) @@ -2028,12 +2070,16 @@ if test $ol_link_ldbm = no -a $ol_enable_ldbm != no ; then fi dnl ---------------------------------------------------------------- + if test $ol_enable_dynamic = yes -a $enable_shared = yes ; then BUILD_LIBS_DYNAMIC=shared AC_DEFINE(LDAP_LIBS_DYNAMIC, 1, [define if LDAP libs are dynamic]) + LTSTATIC="" else BUILD_LIBS_DYNAMIC=static + LTSTATIC="-static" fi +AC_SUBST(LTSTATIC)dnl dnl ---------------------------------------------------------------- if test $ol_enable_wrappers != no ; then @@ -2074,7 +2120,7 @@ hosts_access(req) AC_DEFINE(HAVE_TCPD,1, [define if you have -lwrap]) WRAP_LIBS="-lwrap" elif test $ol_enable_wrappers = yes ; then - AC_MSG_ERROR([could not find TCP wrappers, select apppropriate options ore disable]) + AC_MSG_ERROR([could not find TCP wrappers, select apppropriate options or disable]) else AC_MSG_WARN([could not find TCP wrappers, support disabled]) WRAP_LIBS="" @@ -2123,63 +2169,6 @@ if test $ol_enable_sql != no ; then fi fi -dnl ---------------------------------------------------------------- -dnl TCL -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 - for lib in tcl tcl7.6 tcl8.0 tcl8.2 ; do - AC_CHECK_LIB($lib,main, - [have_tcl=yes - if test x"$ol_with_tcl_module" = "xstatic" ; then - SLAPD_LIBS="$SLAPD_LIBS -l${lib}" - else - MOD_TCL_LIB="-l${lib}" - fi;break],[have_tcl=no]) - done - 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 - -dnl ---------------------------------------------------------------- -dnl 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 dnl Check for Cyrus SASL @@ -2264,7 +2253,7 @@ 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" + LUTIL_LIBS="$LUTIL_LIBS $ol_link_fetch" ol_link_fetch=freebsd elif test $ol_with_fetch != auto ; then @@ -2272,35 +2261,6 @@ if test $ol_with_fetch != no ; then fi fi -dnl ---------------------------------------------------------------- -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 - - dnl ---------------------------------------------------------------- dnl FreeBSD (and others) have crypt(3) in -lcrypt if test $ol_enable_crypt != no ; then @@ -2363,6 +2323,16 @@ fi dnl ---------------------------------------------------------------- dnl Checks for typedefs, structures, and compiler characteristics. + +dnl Checks for long long +AC_CACHE_CHECK([long long], ol_cv_type_long_long, [ + AC_TRY_COMPILE([], [long long x;], + [ol_cv_type_long_long=yes], + [ol_cv_type_long_long=no])]) +if test $ol_cv_type_long_long = yes; then + AC_DEFINE(HAVE_LONG_LONG, 1, [define if you have 'long long']) +fi + AC_TYPE_MODE_T AC_TYPE_OFF_T AC_TYPE_PID_T @@ -2483,6 +2453,9 @@ AC_CHECK_FUNCS( \ strstr \ strtol \ strtoul \ + strtoq \ + strtouq \ + strtoll \ strspn \ sysconf \ usleep \ @@ -2490,15 +2463,20 @@ AC_CHECK_FUNCS( \ wait4 \ write \ send \ + sendmsg \ sendto \ ) dnl We actually may need to replace more than this. -AC_REPLACE_FUNCS(getopt) +AC_REPLACE_FUNCS(getopt getpeereid) if test "$ac_cv_func_getopt" != yes; then LIBSRCS="$LIBSRCS getopt.c" fi +if test "$ac_cv_func_getpeereid" != yes; then + OL_MSGHDR_MSG_ACCRIGHTS + LIBSRCS="$LIBSRCS getpeereid.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]) @@ -2515,6 +2493,24 @@ OL_SYS_ERRLIST dnl ---------------------------------------------------------------- dnl Sort out defines +if test "$ol_enable_slapi" != no ; then + dnl This check is donel also if --enable-modules is used; + dnl it is duplicated here, 'cause it'd be cached anyway + AC_CHECK_HEADERS(ltdl.h) + + if test $ac_cv_header_ltdl_h != yes ; then + AC_MSG_ERROR([could not locate ]) + fi + AC_CHECK_LIB(ltdl, lt_dlinit, [ + SLAPI_LIBS=-lltdl + LIBSLAPI=libslapi.a + LIBSLAPITOOLS=../libslapi.a + AC_DEFINE(HAVE_LIBLTDL,1,[define if you have libtool -ltdl]) + ],[AC_MSG_ERROR([could not locate libtool -lltdl])]) + + AC_DEFINE(LDAP_SLAPI,1, [define this to add SLAPI code]) +fi + if test "$ol_enable_debug" != no ; then AC_DEFINE(LDAP_DEBUG,1, [define this to add debugging code]) @@ -2523,10 +2519,6 @@ if test "$ol_enable_syslog" = yes ; then AC_DEFINE(LDAP_SYSLOG,1, [define this to add syslog code]) fi -if test "$ol_enable_cache" = no ; then - AC_DEFINE(LDAP_NOCACHE,1, - [define this to remove -lldap cache support]) -fi if test "$ol_link_kbind" != no ; then AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND,LDAP_VENDOR_VERSION) fi @@ -2558,9 +2550,6 @@ 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 if test "$ol_enable_rlookups" != no ; then AC_DEFINE(SLAPD_RLOOKUPS,1,[define to support reverse lookups]) fi @@ -2574,6 +2563,9 @@ if test "$ol_link_modules" != no ; then SLAPD_MODULES_LDFLAGS="-dlopen self" fi +AC_DEFINE(SLAPD_MOD_STATIC,1,[statically linked module]) +AC_DEFINE(SLAPD_MOD_DYNAMIC,2,[dynamically linked module]) + if test "$ol_enable_bdb" != no ; then AC_DEFINE(SLAPD_BDB,1,[define to support BDB backend]) BUILD_SLAPD=yes @@ -2604,6 +2596,21 @@ if test "$ol_link_dnssrv" != no ; then fi fi +if test "$ol_enable_hdb" != no ; then + AC_DEFINE(SLAPD_HDB,1,[define to support HDB backend]) + BUILD_SLAPD=yes + BUILD_HDB=yes + if test "$ol_with_hdb_module" != static ; then + AC_DEFINE(SLAPD_HDB_DYNAMIC,1, + [define to support dynamic HDB backend]) + BUILD_HDB=mod + BUILD_HDB_DYNAMIC=shared + SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-hdb" + else + SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-hdb" + fi +fi + if test "$ol_enable_ldap" != no ; then AC_DEFINE(SLAPD_LDAP,1,[define to support LDAP backend]) BUILD_SLAPD=yes @@ -2644,7 +2651,6 @@ if test "$ol_enable_meta" != no ; then AC_DEFINE(SLAPD_META,1,[define to support LDAP Metadirectory backend]) BUILD_SLAPD=yes BUILD_META=yes - BUILD_LDAP=yes BUILD_REWRITE=yes if test "$ol_with_meta_module" != static ; then AC_DEFINE(SLAPD_META_DYNAMIC,1, @@ -2735,21 +2741,6 @@ if test "$ol_enable_shell" != no ; then fi fi -if test "$ol_enable_tcl" != no ; then - AC_DEFINE(SLAPD_TCL,1,[define to support TCL backend]) - BUILD_SLAPD=yes - BUILD_TCL=yes - 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_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-tcl" - else - SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-tcl" - fi -fi - if test "$ol_link_sql" != no ; then AC_DEFINE(SLAPD_SQL,1,[define to support SQL backend]) BUILD_SLAPD=yes @@ -2765,6 +2756,40 @@ if test "$ol_link_sql" != no ; then fi fi +if test "$ol_with_dyngroup" != no ; then + BUILD_DYNGROUP=$ol_with_dyngroup + if test "$ol_with_dyngroup" = mod ; then + MFLAG=SLAPD_MOD_DYNAMIC + SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dyngroup.la" + else + MFLAG=SLAPD_MOD_STATIC + fi + AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNGROUP,$MFLAG,[define for Dynamic Group overlay]) +fi + +if test "$ol_with_proxycache" != no ; then + BUILD_PROXYCACHE=$ol_with_proxycache + if test "$ol_with_proxycache" = mod ; then + MFLAG=SLAPD_MOD_DYNAMIC + SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS pcache.la" + else + MFLAG=SLAPD_MOD_STATIC + fi + AC_DEFINE_UNQUOTED(SLAPD_OVER_PROXYCACHE,$MFLAG,[define for Proxy Cache overlay]) +fi + +if test "$ol_with_rwm " != no ; then + BUILD_REWRITE=yes + BUILD_RWM=$ol_with_rwm + if test "$ol_with_rwm" = mod ; then + MFLAG=SLAPD_MOD_DYNAMIC + SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS rwm.la" + else + MFLAG=SLAPD_MOD_STATIC + fi + AC_DEFINE_UNQUOTED(SLAPD_OVER_RWM,$MFLAG,[define for Rewrite/Remap overlay]) +fi + if test "$ol_enable_slurpd" != no -a "$ol_link_threads" != no -a \ $BUILD_SLAPD = yes ; then BUILD_SLURPD=yes @@ -2775,6 +2800,12 @@ if test "$ol_enable_rewrite" != no ; then BUILD_REWRITE=yes fi +if test "$ol_enable_slapi" != no ; then + AC_DEFINE(ENABLE_SLAPI,1,[define to enable slapi library]) + BUILD_SLAPI=yes + SLAPD_SLAPI_DEPEND=libslapi.a +fi + dnl ---------------------------------------------------------------- dnl @@ -2797,11 +2828,15 @@ fi AC_SUBST(LIBSRCS) AC_SUBST(PLAT) +AC_SUBST(WITH_TLS) AC_SUBST(BUILD_LIBS_DYNAMIC) AC_SUBST(BUILD_SLAPD) + AC_SUBST(BUILD_SLAPI) + AC_SUBST(SLAPD_SLAPI_DEPEND) AC_SUBST(BUILD_BDB) AC_SUBST(BUILD_DNSSRV) + AC_SUBST(BUILD_HDB) AC_SUBST(BUILD_LDAP) AC_SUBST(BUILD_LDBM) AC_SUBST(BUILD_META) @@ -2811,9 +2846,9 @@ AC_SUBST(BUILD_SLAPD) AC_SUBST(BUILD_PERL) AC_SUBST(BUILD_SHELL) AC_SUBST(BUILD_SQL) - AC_SUBST(BUILD_TCL) AC_SUBST(BUILD_BDB_DYNAMIC) AC_SUBST(BUILD_DNSSRV_DYNAMIC) + AC_SUBST(BUILD_HDB_DYNAMIC) AC_SUBST(BUILD_LDAP_DYNAMIC) AC_SUBST(BUILD_LDBM_DYNAMIC) AC_SUBST(BUILD_META_DYNAMIC) @@ -2823,18 +2858,18 @@ AC_SUBST(BUILD_SLAPD) AC_SUBST(BUILD_PERL_DYNAMIC) AC_SUBST(BUILD_SHELL_DYNAMIC) AC_SUBST(BUILD_SQL_DYNAMIC) - AC_SUBST(BUILD_TCL_DYNAMIC) + AC_SUBST(BUILD_DYNGROUP) + AC_SUBST(BUILD_PROXYCACHE) + AC_SUBST(BUILD_RWM) 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) AC_SUBST(WRAP_LIBS) -AC_SUBST(MOD_TCL_LIB) AC_SUBST(SLAPD_MODULES_CPPFLAGS) AC_SUBST(SLAPD_MODULES_LDFLAGS) @@ -2842,6 +2877,7 @@ AC_SUBST(SLAPD_MODULES_LDFLAGS) AC_SUBST(SLAPD_NO_STATIC) AC_SUBST(SLAPD_STATIC_BACKENDS) AC_SUBST(SLAPD_DYNAMIC_BACKENDS) +AC_SUBST(SLAPD_DYNAMIC_OVERLAYS) AC_SUBST(PERL_CPPFLAGS) AC_SUBST(SLAPD_PERL_LDFLAGS) @@ -2849,11 +2885,12 @@ AC_SUBST(MOD_PERL_LDFLAGS) AC_SUBST(KRB4_LIBS) AC_SUBST(KRB5_LIBS) -AC_SUBST(READLINE_LIBS) AC_SUBST(SASL_LIBS) -AC_SUBST(TERMCAP_LIBS) AC_SUBST(TLS_LIBS) AC_SUBST(MODULES_LIBS) +AC_SUBST(SLAPI_LIBS) +AC_SUBST(LIBSLAPI) +AC_SUBST(LIBSLAPITOOLS) AC_SUBST(AUTH_LIBS) AC_SUBST(SLAPD_SLP_LIBS) @@ -2883,12 +2920,9 @@ clients/Makefile:build/top.mk:clients/Makefile.in:build/dir.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 \ libraries/librewrite/Makefile:build/top.mk:libraries/librewrite/Makefile.in:build/lib.mk:build/lib-static.mk \ @@ -2896,6 +2930,7 @@ 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-hdb/Makefile:build/top.mk:servers/slapd/back-hdb/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-meta/Makefile:build/top.mk:servers/slapd/back-meta/Makefile.in:build/mod.mk \ @@ -2905,13 +2940,16 @@ servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefi 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/slapi/Makefile:build/top.mk:servers/slapd/slapi/Makefile.in:build/lib.mk:build/lib-shared.mk \ +servers/slapd/overlays/Makefile:build/top.mk:servers/slapd/overlays/Makefile.in:build/lib.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/run \ tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk \ ,[ +chmod +x tests/run date > stamp-h echo Please run \"make depend\" to build dependencies ])