X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=configure.in;h=e0a9c7c3285aaefd0ca7b2ae5d9fea542d1c9e70;hb=acc32b9d9e731cf51d5f84ef392e9aa0c17e89de;hp=03a831a0b99806f105a97a5222b5b4fff1b86a19;hpb=888a7c4efc2104c46602401db0ad359e06a9efbb;p=openldap diff --git a/configure.in b/configure.in index 03a831a0b9..e0a9c7c328 100644 --- a/configure.in +++ b/configure.in @@ -83,6 +83,9 @@ AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION_PATCH,$OL_PATCH,Patch) OPENLDAP_LIBVERSION=$OL_API_LIB AC_SUBST(OPENLDAP_LIBVERSION)dnl +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. @@ -127,7 +130,8 @@ 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 -OL_ARG_ENABLE(kbind,[ --enable-kbind enable LDAPv2+ Kerberos IV bind (deprecated)], no)dnl +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 OL_ARG_ENABLE(x_compile,[ --enable-x-compile enable cross compiling], @@ -170,6 +174,7 @@ OL_ARG_ENABLE(lmpasswd,[ --enable-lmpasswd enable LAN Manager passwords], n 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 @@ -276,9 +281,9 @@ if test $ol_enable_slapd = no ; then if test $ol_enable_modules = yes ; then AC_MSG_WARN([slapd disabled, ignoring --enable-modules argument]) fi -dnl if test $ol_enable_multimaster = yes ; then -dnl AC_MSG_WARN([slapd disabled, ignoring --enable-multimaster argument]) -dnl fi + if test $ol_enable_multimaster = yes ; then + AC_MSG_WARN([slapd disabled, ignoring --enable-multimaster argument]) + fi if test $ol_enable_wrappers = yes ; then AC_MSG_WARN([slapd disabled, ignoring --enable-wrappers argument]) fi @@ -355,7 +360,7 @@ dnl fi ol_enable_sql=no ol_enable_modules=no -dnl ol_enable_multimaster=no + ol_enable_multimaster=no ol_enable_phonetic=no ol_enable_rlookups=no ol_enable_aci=no @@ -499,7 +504,6 @@ dnl ---------------------------------------------------------------- dnl Initialize vars LDAP_LIBS= LDIF_LIBS= -LDBM_LIB= LDBM_LIBS= LTHREAD_LIBS= LUTIL_LIBS= @@ -540,7 +544,6 @@ BUILD_SQL_DYNAMIC=static SLAPD_MODULES_LDFLAGS= SLAPD_MODULES_CPPFLAGS= -SLAPD_MODULES_LIST= SLAPD_STATIC_BACKENDS= SLAPD_DYNAMIC_BACKENDS= @@ -619,18 +622,18 @@ if test $ol_aix_threads = yes ; then fi if test -z "${CC}"; then - AC_CHECK_PROGS(CC,cc) -fi + AC_CHECK_PROGS(CC,cc gcc,missing) -dnl The default CFLAGS is empty NOT whatever AC_PROG_CC sets. -dnl (for now, let autoconf sort this out) -dnl CFLAGS=${CFLAGS-""} + if test "${CC}" = "missing" ; then + AC_MSG_ERROR([Unable to locate cc(1) or suitable replacement. Check PATH or set CC.]) + fi +fi 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). Check PATH or set AR.]) + AC_MSG_ERROR([Unable to locate ar(1) or suitable replacement. Check PATH or set AR.]) fi fi @@ -726,6 +729,14 @@ AC_CHECK_LIB(s, afopen, [ 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 and ]) + ;; +esac dnl ---------------------------------------------------------------- dnl Check for module support @@ -1017,10 +1028,25 @@ elif test $ol_enable_ipv6 != no ; then # endif ], [ol_cv_inet6_addrstrlen=yes], [ol_cv_inet6_addrstrlen=no])]) - if test $ol_cv_inet6_addrstrlen = yes ; then + + AC_CACHE_CHECK([struct sockaddr_storage],ol_cv_struct_sockaddr_storage,[ + AC_TRY_COMPILE([ +#include +#include +],[ + struct sockaddr_storage ss; +], [ol_cv_struct_sockaddr_storage=yes], + [ol_cv_struct_sockaddr_storage=no])]) + + if test $ol_cv_inet6_addrstrlen = yes \ + -a $ol_cv_struct_sockaddr_storage = yes ; then ol_link_ipv6=yes - elif test $ol_enable_ipv6 = yes ; then + elif test $ol_enable_ipv6 = yes \ + -a $ol_cv_inet6_addrstrlen = no ; then AC_MSG_ERROR([IPv6 support requires INET6_ADDRSTRLEN]) + elif test $ol_enable_ipv6 = yes \ + -a $ol_cv_struct_sockaddr_storage = no ; then + AC_MSG_ERROR([IPv6 support requires struct sockaddr_storage]) fi fi @@ -1352,12 +1378,9 @@ if test $ol_with_threads = auto -o $ol_with_threads = yes \ if test $ac_cv_header_pthread_h = yes ; then OL_POSIX_THREAD_VERSION - if test $ol_cv_pthread_version = final ; then - AC_DEFINE(HAVE_PTHREADS_FINAL,1, - [define if pthreads API compatible with final spec]) - elif test $ol_cv_pthread_version = draft4 ; then - AC_DEFINE(HAVE_PTHREADS_D4,1, - [define if pthreads API compatible with draft4 spec]) + if test $ol_cv_pthread_version != 0 ; then + AC_DEFINE_UNQUOTED(HAVE_PTHREADS,$ol_cv_pthread_version, + [define to pthreads API spec revision]) else AC_MSG_ERROR([unknown pthread version]) fi @@ -1452,9 +1475,6 @@ dnl [ol_cv_pthread_lpthread_lexc]) OL_PTHREAD_TRY([-lpthreads],[ol_cv_pthread_lib_lpthreads]) if test $ol_link_threads != no ; then - AC_DEFINE(HAVE_PTHREADS,1, - [define if you have POSIX Threads]) - LTHREAD_LIBS="$LTHREAD_LIBS $ol_link_pthreads" dnl save flags @@ -1603,7 +1623,7 @@ int main(argc, argv) #endif #endif -#if HAVE_PTHREADS_D4 +#if HAVE_PTHREADS < 6 pthread_create(&t, pthread_attr_default, task, NULL); #else pthread_create(&t, NULL, task, NULL); @@ -2180,11 +2200,23 @@ if test $ol_with_cyrus_sasl != no ; then fi fi else + OL_SASL_COMPAT + if test $ol_cv_sasl_compat = no ; then + ol_link_sasl=no + AC_MSG_ERROR([Cyrus SASL library located but incompatible]) + fi + AC_DEFINE(HAVE_CYRUS_SASL,1,[define if you have Cyrus SASL]) SASL_LIBS="$ol_link_sasl" if test $ol_enable_spasswd != no ; then ol_link_spasswd=yes fi + + ac_save_LIBS="$LIBS" + LIBS="$LIBS $ol_link_sasl" + AC_CHECK_FUNC(sasl_version, [AC_DEFINE(HAVE_SASL_VERSION,1, + [define if your SASL library has sasl_version()])]) + LIBS="$ac_save_LIBS" fi else @@ -2265,10 +2297,16 @@ fi dnl ---------------------------------------------------------------- dnl FreeBSD (and others) have crypt(3) in -lcrypt if test $ol_enable_crypt != no ; then + save_LIBS="$LIBS" + LIBS="$TLS_LIBS $LIBS" + AC_CHECK_FUNC(crypt, [have_crypt=yes], [ + LIBS="$save_LIBS" AC_CHECK_LIB(crypt, crypt, [LUTIL_LIBS="$LUTIL_LIBS -lcrypt" have_crypt=yes], [have_crypt=no])]) + LIBS="$save_LIBS" + if test $have_crypt = yes ; then AC_DEFINE(HAVE_CRYPT,1, [define if crypt(3) is available]) else @@ -2390,7 +2428,7 @@ AC_FUNC_VPRINTF if test $ac_cv_func_vprintf = yes ; then dnl check for vsnprintf - AC_CHECK_FUNCS(vsnprintf vsprintf) + AC_CHECK_FUNCS(snprintf vsnprintf) fi AC_CHECK_FUNCS( \ @@ -2401,6 +2439,7 @@ AC_CHECK_FUNCS( \ endpwent \ fcntl \ flock \ + fstat \ getdtablesize \ getgrgid \ gethostname \ @@ -2420,6 +2459,7 @@ AC_CHECK_FUNCS( \ read \ recv \ recvfrom \ + recvmsg \ setpwfile \ setgid \ setegid \ @@ -2453,6 +2493,14 @@ AC_REPLACE_FUNCS(getopt) if test "$ac_cv_func_getopt" != yes; then LIBSRCS="$LIBSRCS getopt.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]) + fi + if test "$ac_cv_func_vsnprintf" != yes; then + AC_DEFINE(vsnprintf, ber_pvt_vsnprintf, [define to snprintf routine]) + fi +fi dnl ---------------------------------------------------------------- # Check Configuration @@ -2501,9 +2549,9 @@ fi if test "$ol_link_spasswd" != no ; then AC_DEFINE(SLAPD_SPASSWD,1,[define to support SASL passwords]) fi -dnl if test "$ol_enable_multimaster" != no ; then -dnl AC_DEFINE(SLAPD_MULTIMASTER,1,[define to support multimaster replication]) -dnl 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 @@ -2529,7 +2577,6 @@ if test "$ol_enable_bdb" != no ; then [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" SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-bdb" else SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-bdb" @@ -2545,7 +2592,6 @@ if test "$ol_link_dnssrv" != no ; then [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" SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-dnssrv" else SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-dnssrv" @@ -2561,7 +2607,6 @@ if test "$ol_enable_ldap" != no ; then [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" SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldap" else SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldap" @@ -2572,13 +2617,11 @@ if test "$ol_link_ldbm" != no -a $ol_enable_ldbm != no; then AC_DEFINE(SLAPD_LDBM,1,[define to support LDBM backend]) BUILD_SLAPD=yes BUILD_LDBM=yes - LDBM_LIB="-lldbm" 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" SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldbm" else SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldbm" @@ -2595,12 +2638,13 @@ 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, [define to support dynamic LDAP Metadirectory backend]) BUILD_META=mod BUILD_META_DYNAMIC=shared - SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-meta/back_meta.la" SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-meta" else SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-meta" @@ -2616,7 +2660,6 @@ if test "$ol_enable_monitor" != no ; then [define to support dynamic cn=Monitor backend]) BUILD_MONITOR=mod BUILD_MONITOR_DYNAMIC=shared - SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-monitor/back_monitor.la" SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-monitor" else SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-monitor" @@ -2632,7 +2675,6 @@ if test "$ol_enable_null" != no ; then [define to support dynamic NULL backend]) BUILD_NULL=mod BUILD_NULL_DYNAMIC=shared - SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-null/back_null.la" SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-null" else SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-null" @@ -2648,7 +2690,6 @@ if test "$ol_enable_passwd" != no ; then [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" SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-passwd" else SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-passwd" @@ -2664,7 +2705,6 @@ if test "$ol_link_perl" != no ; then [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" SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-perl" else SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-perl" @@ -2680,7 +2720,6 @@ if test "$ol_enable_shell" != no ; then [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" SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-shell" else SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-shell" @@ -2696,7 +2735,6 @@ if test "$ol_enable_tcl" != no ; then [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" SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-tcl" else SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-tcl" @@ -2712,7 +2750,6 @@ if test "$ol_link_sql" != no ; then [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" SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-sql" else SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-sql" @@ -2739,11 +2776,16 @@ dnl if test "$ac_cv_mingw32" = yes ; then PLAT=NT SLAPD_MODULES_LDFLAGS= - SLAPD_MODULES_LIST= else PLAT=UNIX fi +if test -z "$SLAPD_STATIC_BACKENDS"; then + SLAPD_NO_STATIC='#' +else + SLAPD_NO_STATIC= +fi + AC_SUBST(LIBSRCS) AC_SUBST(PLAT) AC_SUBST(BUILD_LIBS_DYNAMIC) @@ -2775,8 +2817,6 @@ AC_SUBST(BUILD_SLAPD) AC_SUBST(BUILD_TCL_DYNAMIC) AC_SUBST(BUILD_SLURPD) -AC_SUBST(LDBM_LIB) - AC_SUBST(LDAP_LIBS) AC_SUBST(LDIF_LIBS) AC_SUBST(SLAPD_LIBS) @@ -2789,8 +2829,8 @@ AC_SUBST(MOD_TCL_LIB) AC_SUBST(SLAPD_MODULES_CPPFLAGS) AC_SUBST(SLAPD_MODULES_LDFLAGS) -AC_SUBST(SLAPD_MODULES_LIST) +AC_SUBST(SLAPD_NO_STATIC) AC_SUBST(SLAPD_STATIC_BACKENDS) AC_SUBST(SLAPD_DYNAMIC_BACKENDS) @@ -2831,9 +2871,6 @@ 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/mail500/Makefile:build/top.mk:clients/mail500/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 \