X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;ds=sidebyside;f=configure.in;h=366d5cfa0b6183f537d07d2aa30ab19e174656d5;hb=559397c44a95609ea50a38d64a206aaa9cdd2969;hp=6e249799468a519954792a1dc360fccc4cb915c4;hpb=0d2d12cd23efd628fa84345994a560328525ba57;p=openldap diff --git a/configure.in b/configure.in index 6e24979946..366d5cfa0b 100644 --- a/configure.in +++ b/configure.in @@ -195,47 +195,76 @@ OL_ARG_ENABLE(slapi,[ --enable-slapi enable SLAPI support (experimenta OL_ARG_ENABLE(slp,[ --enable-slp enable SLPv2 support], no)dnl OL_ARG_ENABLE(wrappers,[ --enable-wrappers enable tcp wrapper support], no)dnl - +dnl ---------------------------------------------------------------- +dnl SLAPD Backend Options Backends="bdb dnssrv hdb ldap ldbm meta monitor null \ passwd perl relay shell sql" -dnl SLAPD Backend options -OL_ARG_ENABLE(bdb,[ --enable-bdb enable Berkeley DB backend no|yes|mod], yes, [no yes mod])dnl -OL_ARG_ENABLE(dnssrv,[ --enable-dnssrv enable dnssrv backend no|yes|mod], no, [no yes mod])dnl -OL_ARG_ENABLE(hdb,[ --enable-hdb enable Hierarchical DB backend no|yes|mod], no, [no yes mod])dnl -OL_ARG_ENABLE(ldap,[ --enable-ldap enable ldap backend no|yes|mod], no, [no yes mod])dnl -OL_ARG_ENABLE(ldbm,[ --enable-ldbm enable ldbm backend no|yes|mod], no, [no yes mod])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_type,[ --with-ldbm-type use LDBM type auto|btree|hash], auto, - [auto btree hash]) -OL_ARG_ENABLE(meta,[ --enable-meta enable metadirectory backend no|yes|mod], no, [no yes mod])dnl -OL_ARG_ENABLE(monitor,[ --enable-monitor enable monitor backend no|yes|mod], yes, [no yes mod])dnl -OL_ARG_ENABLE(null,[ --enable-null enable null backend no|yes|mod], no, [no yes mod])dnl -OL_ARG_ENABLE(passwd,[ --enable-passwd enable passwd backend no|yes|mod], no, [no yes mod])dnl -OL_ARG_ENABLE(perl,[ --enable-perl enable perl backend no|yes|mod], no, [no yes mod])dnl -OL_ARG_ENABLE(relay,[ --enable-relay enable relay backend no|yes|mod], yes, [no yes mod])dnl -OL_ARG_ENABLE(shell,[ --enable-shell enable shell backend no|yes|mod], no, [no yes mod])dnl -OL_ARG_ENABLE(sql,[ --enable-sql enable sql backend no|yes|mod], no, [no yes mod])dnl +AC_ARG_WITH(xxslapbackends,[ +SLAPD Backend Options:]) + +OL_ARG_ENABLE(backends,[ --enable-backends enable all available backends no|yes|mod], + no, [no yes mod])dnl +OL_ARG_ENABLE(bdb,[ --enable-bdb enable Berkeley DB backend no|yes|mod], + yes, [no yes mod])dnl +OL_ARG_ENABLE(dnssrv,[ --enable-dnssrv enable dnssrv backend no|yes|mod], + no, [no yes mod])dnl +OL_ARG_ENABLE(hdb,[ --enable-hdb enable Hierarchical DB backend no|yes|mod], + no, [no yes mod])dnl +OL_ARG_ENABLE(ldap,[ --enable-ldap enable ldap backend no|yes|mod], + no, [no yes mod])dnl +OL_ARG_ENABLE(ldbm,[ --enable-ldbm enable ldbm backend no|yes|mod], no, + [no yes mod])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_type,[ --with-ldbm-type use LDBM type auto|btree|hash], + auto, [auto btree hash]) +OL_ARG_ENABLE(meta,[ --enable-meta enable metadirectory backend no|yes|mod], + no, [no yes mod])dnl +OL_ARG_ENABLE(monitor,[ --enable-monitor enable monitor backend no|yes|mod], + yes, [no yes mod])dnl +OL_ARG_ENABLE(null,[ --enable-null enable null backend no|yes|mod], + no, [no yes mod])dnl +OL_ARG_ENABLE(passwd,[ --enable-passwd enable passwd backend no|yes|mod], + no, [no yes mod])dnl +OL_ARG_ENABLE(perl,[ --enable-perl enable perl backend no|yes|mod], + no, [no yes mod])dnl +OL_ARG_ENABLE(relay,[ --enable-relay enable relay backend no|yes|mod], + yes, [no yes mod])dnl +OL_ARG_ENABLE(shell,[ --enable-shell enable shell backend no|yes|mod], + no, [no yes mod])dnl +OL_ARG_ENABLE(sql,[ --enable-sql enable sql backend no|yes|mod], + no, [no yes mod])dnl dnl ---------------------------------------------------------------- dnl SLAPD Overlay Options -Overlays="chain denyop dyngroup ppolicy proxycache rwm" +Overlays="chain denyop dyngroup lastmod ppolicy proxycache rwm \ + refint unique" AC_ARG_WITH(xxslapoverlays,[ SLAPD Overlay Options:]) -OL_ARG_ENABLE(chain,[ --enable-chain LDAP Chain Response no|yes|mod], no, - [no yes mod]) -OL_ARG_ENABLE(denyop,[ --enable-denyop Deny Operation overlay no|yes|mod], no, - [no yes mod]) -OL_ARG_ENABLE(dyngroup,[ --enable-dyngroup Dynamic Group overlay no|yes|mod], no, - [no yes mod]) -OL_ARG_ENABLE(ppolicy,[ --enable-ppolicy Password Policy overlay no|yes|mod], no, - [no yes mod]) -OL_ARG_ENABLE(proxycache,[ --enable-proxycache Proxy Cache overlay no|yes|mod], no, - [no yes mod]) -OL_ARG_ENABLE(rwm,[ --enable-rwm Rewrite/Remap overlay no|yes|mod], no, - [no yes mod]) + +OL_ARG_ENABLE(overlays,[ --enable-overlays enable all available overlays no|yes|mod], + no, [no yes mod])dnl +OL_ARG_ENABLE(chain,[ --enable-chain LDAP Chain Response no|yes|mod], + no, [no yes mod]) +OL_ARG_ENABLE(denyop,[ --enable-denyop Deny Operation overlay no|yes|mod], + no, [no yes mod]) +OL_ARG_ENABLE(dyngroup,[ --enable-dyngroup Dynamic Group overlay no|yes|mod], + no, [no yes mod]) +OL_ARG_ENABLE(lastmod,[ --enable-lastmod Last Modification overlay no|yes|mod], + no, [no yes mod]) +OL_ARG_ENABLE(ppolicy,[ --enable-ppolicy Password Policy overlay no|yes|mod], + no, [no yes mod]) +OL_ARG_ENABLE(proxycache,[ --enable-proxycache Proxy Cache overlay no|yes|mod], + no, [no yes mod]) +OL_ARG_ENABLE(refint,[ --enable-refint Referential Integrity overlay no|yes|mod], + no, [no yes mod]) +OL_ARG_ENABLE(rwm,[ --enable-rwm Rewrite/Remap overlay no|yes|mod], + no, [no yes mod]) +OL_ARG_ENABLE(unique,[ --enable-unique Attribute Uniqueness overlay no|yes|mod], + no, [no yes mod]) + dnl ---------------------------------------------------------------- dnl SLURPD OPTIONS @@ -252,12 +281,35 @@ AC_ENABLE_SHARED dnl ---------------------------------------------------------------- dnl General "enable" options +# Activate any backends that were not explicitly enabled. +# Note that back_bdb defaults to "yes" so this loop won't touch it. +if test $ol_enable_backends != no ; then + for i in $Backends; do + eval "ol_tmp=\$ol_enable_$i" + if test $ol_tmp = no ; then + eval "ol_enable_$i=$ol_enable_backends" + fi + done +fi +# Activate the overlays +if test $ol_enable_overlays != no ; then + for i in $Overlays; do + eval "ol_tmp=\$ol_enable_$i" + if test $ol_tmp = no ; then + eval "ol_enable_$i=$ol_enable_overlays" + fi + done +fi + # 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_backends != no ; then + AC_MSG_WARN([slapd disabled, ignoring --enable-backends argument]) + fi for i in $Backends; do eval "ol_tmp=\$ol_enable_$i" if test $ol_tmp != no ; then @@ -293,6 +345,9 @@ if test $ol_enable_slapd = no ; then AC_MSG_WARN([slapd disabled, ignoring --enable-rewrite argument]) fi dnl overlays + if test $ol_enable_overlays != no ; then + AC_MSG_WARN([slapd disabled, ignoring --enable-overlays argument]) + fi for i in $Overlays; do eval "ol_tmp=\$ol_enable_$i" if test $ol_tmp != no ; then @@ -304,6 +359,8 @@ if test $ol_enable_slapd = no ; then # force settings to no ol_enable_slapi=no + ol_enable_backends=no + ol_enable_overlays=no ol_enable_modules=no ol_enable_multimaster=no ol_enable_rlookups=no @@ -372,19 +429,12 @@ else AC_MSG_ERROR([NDBM only supports LDBM type hash]) fi - if test $ol_enable_bdb = yes -o $ol_enable_hdb = yes ; then + if test $ol_enable_bdb != no -o $ol_enable_hdb != no ; 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/HDB]) 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 fi @@ -469,9 +519,12 @@ BUILD_SQL=no BUILD_CHAIN=no BUILD_DENYOP=no BUILD_DYNGROUP=no +BUILD_LASTMOD=no BUILD_PPOLICY=no BUILD_PROXYCACHE=no +BUILD_REFINT=no BUILD_RWM=no +BUILD_UNIQUE=no SLAPD_DYNAMIC_OVERLAYS= @@ -829,6 +882,10 @@ fi dnl check to see if system call automatically restart dnl AC_SYS_RESTARTABLE_SYSCALLS +dnl ---------------------------------------------------------------- +# strerror checks +OL_STRERROR + dnl ---------------------------------------------------------------- dnl require POSIX regex AC_CHECK_HEADERS( regex.h ) @@ -914,6 +971,11 @@ if test $ac_cv_func_res_query = no ; then ac_cv_func_res_query=$ac_cv_lib_resolv___res_query fi +if test $ac_cv_func_res_query = no ; then + AC_CHECK_LIB(resolv, _res_9_query) + ac_cv_func_res_query=$ac_cv_lib_resolv_res_9_query +fi + if test "$ac_cv_func_res_query" = yes ; then AC_DEFINE(HAVE_RES_QUERY,1, [define if you have res_query()]) @@ -927,6 +989,8 @@ if test "$ol_enable_dnssrv" != no -a "$ol_link_dnssrv" = no ; then AC_MSG_ERROR([DNSSRV requires res_query()]) fi +AC_CHECK_FUNCS( hstrerror ) + dnl ---------------------------------------------------------------- dnl PF_INET6 support requires getaddrinfo and INET6_ADDRSTRLEN dnl PF_LOCAL may use getaddrinfo in available @@ -1849,22 +1913,17 @@ if test $ol_with_ldbm_api = auto \ fi fi -if test $ol_enable_bdb = yes -a $ol_link_ldbm != berkeley ; then - AC_MSG_ERROR(BDB: BerkeleyDB not available) -elif test $ol_enable_bdb != no -a $ol_link_ldbm = berkeley ; then - OL_BDB_COMPAT - - if test $ol_cv_bdb_compat = yes ; then - ol_enable_bdb=yes - elif test $ol_enable_bdb = yes ; then - AC_MSG_ERROR([BDB: BerkeleyDB version incompatible]) +if test $ol_enable_bdb != no -o $ol_enable_hdb != no; then + if test $ol_link_ldbm != berkeley ; then + AC_MSG_ERROR(BDB/HDB: BerkeleyDB not available) else - ol_enable_bdb=no + OL_BDB_COMPAT + + if test $ol_cv_bdb_compat != yes ; then + AC_MSG_ERROR([BDB/HDB: BerkeleyDB version incompatible]) + fi 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]) @@ -1910,13 +1969,13 @@ if test $ol_with_ldbm_api = ndbm ; then fi if test $ol_link_ldbm = no -a $ol_enable_ldbm != no ; then - AC_MSG_WARN([could not find suitable LDBM backend]) - if test $ol_enable_ldbm = yes ; then - AC_MSG_ERROR([select appropriate LDBM options or disable]) - fi + AC_MSG_ERROR([could not find suitable LDBM backend]) +fi - AC_MSG_WARN(disabling LDBM) - ol_enable_ldbm=no +if test $ol_enable_bdb = yes -o \ + $ol_enable_hdb = yes -o \ + $ol_enable_ldbm = yes ; then + SLAPD_LIBS="$SLAPD_LIBS \$(LDBM_LIBS)" fi dnl ---------------------------------------------------------------- @@ -2023,6 +2082,7 @@ dnl ---------------------------------------------------------------- dnl dnl Check for Cyrus SASL dnl +WITH_SASL=no ol_link_sasl=no ol_link_spasswd=no if test $ol_with_cyrus_sasl != no ; then @@ -2063,6 +2123,8 @@ if test $ol_with_cyrus_sasl != no ; then AC_CHECK_FUNC(sasl_version, [AC_DEFINE(HAVE_SASL_VERSION,1, [define if your SASL library has sasl_version()])]) LIBS="$ac_save_LIBS" + + WITH_SASL=yes fi else @@ -2219,6 +2281,7 @@ fi AC_COMPILE_CHECK_SIZEOF(short) AC_COMPILE_CHECK_SIZEOF(int) AC_COMPILE_CHECK_SIZEOF(long) +AC_COMPILE_CHECK_SIZEOF(wchar_t) if test "$ac_cv_sizeof_int" -lt 4 ; then AC_MSG_WARN([OpenLDAP requires 'int' to be 32 bits or greater.]) @@ -2297,7 +2360,6 @@ AC_CHECK_FUNCS( \ signal \ sigset \ strdup \ - strerror \ strpbrk \ strrchr \ strsep \ @@ -2337,10 +2399,6 @@ if test "$ac_cv_func_snprintf" != yes -o "$ac_cv_func_vsnprintf" != yes; then fi fi -dnl ---------------------------------------------------------------- -# Check Configuration -OL_SYS_ERRLIST - dnl ---------------------------------------------------------------- dnl Sort out defines @@ -2620,6 +2678,17 @@ if test "$ol_enable_dyngroup" != no ; then AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNGROUP,$MFLAG,[define for Dynamic Group overlay]) fi +if test "$ol_enable_lastmod" != no ; then + BUILD_LASTMOD=$ol_enable_lastmod + if test "$ol_enable_lastmod" = mod ; then + MFLAG=SLAPD_MOD_DYNAMIC + SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS lastmod.la" + else + MFLAG=SLAPD_MOD_STATIC + fi + AC_DEFINE_UNQUOTED(SLAPD_OVER_LASTMOD,$MFLAG,[define for Last Modification overlay]) +fi + if test "$ol_enable_ppolicy" != no ; then BUILD_PPOLICY=$ol_enable_ppolicy if test "$ol_enable_ppolicy" = mod ; then @@ -2642,6 +2711,17 @@ if test "$ol_enable_proxycache" != no ; then AC_DEFINE_UNQUOTED(SLAPD_OVER_PROXYCACHE,$MFLAG,[define for Proxy Cache overlay]) fi +if test "$ol_enable_refint" != no ; then + BUILD_REFINT=$ol_enable_refint + if test "$ol_enable_refint" = mod ; then + MFLAG=SLAPD_MOD_DYNAMIC + SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS refint.la" + else + MFLAG=SLAPD_MOD_STATIC + fi + AC_DEFINE_UNQUOTED(SLAPD_OVER_REFINT,$MFLAG,[define for Referential Integrity overlay]) +fi + if test "$ol_enable_rwm" != no ; then BUILD_REWRITE=yes BUILD_RWM=$ol_enable_rwm @@ -2654,6 +2734,17 @@ if test "$ol_enable_rwm" != no ; then AC_DEFINE_UNQUOTED(SLAPD_OVER_RWM,$MFLAG,[define for Rewrite/Remap overlay]) fi +if test "$ol_enable_unique" != no ; then + BUILD_UNIQUE=$ol_enable_unique + if test "$ol_enable_unique" = mod ; then + MFLAG=SLAPD_MOD_DYNAMIC + SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS unique.la" + else + MFLAG=SLAPD_MOD_STATIC + fi + AC_DEFINE_UNQUOTED(SLAPD_OVER_UNIQUE,$MFLAG,[define for Attribute Uniqueness overlay]) +fi + if test "$ol_enable_slurpd" != no -a "$ol_link_threads" != no -a \ $BUILD_SLAPD = yes ; then BUILD_SLURPD=yes @@ -2692,6 +2783,7 @@ fi AC_SUBST(LIBSRCS) AC_SUBST(PLAT) +AC_SUBST(WITH_SASL) AC_SUBST(WITH_TLS) AC_SUBST(BUILD_LIBS_DYNAMIC) @@ -2717,9 +2809,12 @@ dnl overlays AC_SUBST(BUILD_CHAIN) AC_SUBST(BUILD_DENYOP) AC_SUBST(BUILD_DYNGROUP) + AC_SUBST(BUILD_LASTMOD) AC_SUBST(BUILD_PPOLICY) AC_SUBST(BUILD_PROXYCACHE) + AC_SUBST(BUILD_REFINT) AC_SUBST(BUILD_RWM) + AC_SUBST(BUILD_UNIQUE) AC_SUBST(BUILD_SLURPD) AC_SUBST(LDAP_LIBS)