X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=configure.in;h=1d77cf01d0c884d4c596f1714283cfa574019639;hb=a66c98705ef878885d7152459bb2cb5a1b1f7462;hp=0ec757fdc4496a1508a44f6d0ab0dce52c235b1e;hpb=82eed24c3defbd564ccc3c603a563ca4099ebe57;p=openldap diff --git a/configure.in b/configure.in index 0ec757fdc4..1d77cf01d0 100644 --- a/configure.in +++ b/configure.in @@ -1,6 +1,6 @@ dnl $OpenLDAP$ dnl -dnl Copyright 1998-2002 The OpenLDAP Foundation. All Rights Reserved. +dnl Copyright 1998-2003 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 @@ -16,7 +16,7 @@ define([AC_INIT_BINSH], # $]OpenLDAP[$ # from] translit([$OpenLDAP$], $")] [ -# Copyright 1998-2002 The OpenLDAP Foundation. All Rights Reserved. +# 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 @@ -24,7 +24,7 @@ define([AC_INIT_BINSH], # http://www.OpenLDAP.org/license.html or in file LICENSE in the # top-level directory of the distribution. -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 ---------------------------------------------------------------- @@ -60,10 +60,15 @@ fi SHTOOL="$ac_cv_shtool" dnl AC_SUBST(SHTOOL)dnl -TB=`$SHTOOL echo -e %B` -TN=`$SHTOOL echo -e %b` +TB="`$SHTOOL echo -e '%B' 2>/dev/null`" +TN="`$SHTOOL echo -e '%b' 2>/dev/null`" -echo "Configuring $TB$OL_STRING$TN ..." +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 @@ -126,10 +131,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 @@ -143,7 +149,7 @@ 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], +OL_ARG_WITH(fetch,[ --with-fetch with fetch(3) 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]) @@ -168,7 +174,6 @@ 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 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 @@ -178,9 +183,11 @@ 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 installation of slapi library], 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, @@ -233,7 +240,6 @@ dnl ---------------------------------------------------------------- AC_ARG_WITH(xxliboptions,[ Library Generation & Linking Options]) AC_ENABLE_STATIC -dnl AC_DISABLE_SHARED AC_ENABLE_SHARED dnl ---------------------------------------------------------------- @@ -242,6 +248,9 @@ 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 @@ -346,6 +355,7 @@ if test $ol_enable_slapd = no ; then fi # force settings to no + ol_enable_slapi=no ol_enable_bdb=no ol_enable_dnssrv=no ol_enable_ldap=no @@ -516,6 +526,9 @@ BUILD_SLURPD=no BUILD_THREAD=no +BUILD_SLAPI=no +SLAPD_SLAPI_DEPEND= + BUILD_BDB=no BUILD_DNSSRV=no BUILD_LDAP=no @@ -564,6 +577,9 @@ SASL_LIBS= TERMCAP_LIBS= TLS_LIBS= MODULES_LIBS= +SLAPI_LIBS= +LIBSLAPI= +LIBSLAPITOOLS= AUTH_LIBS= SLAPD_SLP_LIBS= @@ -641,14 +657,9 @@ AC_LIBTOOL_WIN32_DLL AC_LIBTOOL_DLOPEN AC_PROG_LIBTOOL -AC_PROG_AWK OL_PROG_LN_H AC_PROG_LN_S -AC_PATH_PROG(SENDMAIL, sendmail, /usr/lib/sendmail, - $PATH:/usr/libexec:/usr/lib:/usr/sbin:/usr/etc:/etc) -AC_PATH_PROG(EDITOR, vi, /usr/ucb/vi, $PATH:/usr/ucb) - dnl ---------------------------------------------------------------- dnl Perl ol_link_perl=no @@ -701,7 +712,7 @@ AC_MINGW32 AC_EXEEXT AC_OBJEXT -AC_DEFINE_UNQUOTED( EXEEXT, "${EXEEXT}", [defined to be the EXE extension]) +AC_DEFINE_UNQUOTED(EXEEXT, "${EXEEXT}", [defined to be the EXE extension]) dnl ---------------------------------------------------------------- dnl BeOS requires -lbe -lroot -lnet @@ -825,9 +836,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 \ @@ -1109,7 +1123,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 @@ -1242,7 +1256,8 @@ ol_link_tls=no if test $ol_with_tls != no ; then AC_CHECK_HEADERS(openssl/ssl.h ssl.h) - if test $ac_cv_header_openssl_ssl_h = yes -o $ac_cv_header_ssl_h = yes ; then + if test $ac_cv_header_openssl_ssl_h = yes \ + -o $ac_cv_header_ssl_h = yes ; then AC_CHECK_LIB(ssl, SSLeay_add_ssl_algorithms, [have_ssleay=yes need_rsaref=no], @@ -1306,47 +1321,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 @@ -1624,12 +1598,13 @@ int main(argc, argv) pthread_create(&t, NULL, task, NULL); #endif -#if HAVE_SCHED_YIELD - sched_yield(); /* make sure task runs first */ -#else -#ifdef HAVE_PTHREAD_YIELD - pthread_yield(); /* make sure task runs first */ -#endif + /* make sure task runs first */ +#if HAVE_THR_YIELD + thr_yield(); +#elif defined( HAVE_SCHED_YIELD ) + sched_yield(); +#elif defined( HAVE_PTHREAD_YIELD ) + pthread_yield(); #endif exit(2); @@ -1846,8 +1821,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 ) @@ -1864,14 +1838,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 @@ -1916,6 +1890,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 @@ -2020,12 +2020,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 @@ -2093,6 +2097,10 @@ dnl ---------------------------------------------------------------- dnl SQL ol_link_sql=no if test $ol_enable_sql != no ; then + AC_CHECK_HEADERS(sql.h sqlext.h,[],[ + AC_MSG_ERROR([could not locate SQL headers]) + ]) + AC_CHECK_LIB(iodbc,SQLDriverConnect,[have_iodbc=yes],[have_iodbc=no]) if test $have_iodbc = yes ; then ol_link_sql="-liodbc" @@ -2478,15 +2486,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]) @@ -2503,6 +2516,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]) @@ -2511,10 +2542,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 @@ -2706,6 +2733,9 @@ if test "$ol_link_perl" != no ; then fi if test "$ol_enable_shell" != no ; then + if test "$ol_link_thread" != no ; then + AC_MSG_WARN([Use of --without-threads is recommended with back-shell]) + fi AC_DEFINE(SLAPD_SHELL,1,[define to support SHELL backend]) BUILD_SLAPD=yes BUILD_SHELL=yes @@ -2760,6 +2790,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 @@ -2785,6 +2821,8 @@ AC_SUBST(PLAT) 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_LDAP) @@ -2839,6 +2877,9 @@ 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) @@ -2892,6 +2933,7 @@ servers/slapd/back-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile 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/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 \