From: Dmitry Kovalev Date: Thu, 16 Mar 2000 18:54:11 +0000 (+0000) Subject: update Unix build environment to support back-sql X-Git-Tag: LDBM_PRE_GIANT_RWLOCK~3144 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=8dc136ddd6e4677689982ddb20d93d5cf86e66c0;p=openldap update Unix build environment to support back-sql 2 more steps left: add back-sql directory itself, and update Win32 build environment. --- diff --git a/build/top.mk b/build/top.mk index 0e8a4b387f..84581cd54b 100644 --- a/build/top.mk +++ b/build/top.mk @@ -135,8 +135,12 @@ TERMCAP_LIBS = @TERMCAP_LIBS@ SLAPD_PERL_LDFLAGS = @SLAPD_PERL_LDFLAGS@ LINK_BINS_DYNAMIC = @LINK_BINS_DYNAMIC@ +SLAPD_SQL_LDFLAGS = @SLAPD_SQL_LDFLAGS@ +SLAPD_SQL_INCLUDES = @SLAPD_SQL_INCLUDES@ +SLAPD_SQL_LIBS = @SLAPD_SQL_LIBS@ + LDAPD_LIBS = @LDAPD_LIBS@ -SLAPD_LIBS = @SLAPD_LIBS@ @SLAPD_PERL_LDFLAGS@ +SLAPD_LIBS = @SLAPD_LIBS@ @SLAPD_PERL_LDFLAGS@ @SLAPD_SQL_LDFLAGS@ @SLAPD_SQL_LIBS@ SLURPD_LIBS = @SLURPD_LIBS@ # Our Defaults diff --git a/configure.in b/configure.in index e81e607940..5190c513d8 100644 --- a/configure.in +++ b/configure.in @@ -141,6 +141,7 @@ OL_ARG_ENABLE(phonetic,[ --enable-phonetic enable phonetic/soundex], no)dnl OL_ARG_ENABLE(quipu,[ --enable-quipu build quipu migration tools], no)dnl OL_ARG_ENABLE(rlookups,[ --enable-rlookups enable reverse lookups], auto)dnl OL_ARG_ENABLE(aci,[ --enable-aci enable per-object ACIs], no)dnl +OL_ARG_ENABLE(discreteaci,[ --enable-discreteaci enable discrete rights in ACIs], no)dnl OL_ARG_ENABLE(wrappers,[ --enable-wrappers enable tcp wrapper support], no)dnl OL_ARG_ENABLE(dynamic,[ --enable-dynamic enable linking built binaries with dynamic libs], no)dnl @@ -171,6 +172,9 @@ OL_ARG_WITH(shell_module,[ --with-shell-module module type], static, OL_ARG_ENABLE(tcl,[ --enable-tcl enable tcl backend], no)dnl OL_ARG_WITH(tcl_module,[ --with-tcl-module module type], 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, + [static dynamic]) dnl ---------------------------------------------------------------- dnl SLURPD OPTIONS @@ -220,6 +224,9 @@ if test $ol_enable_slapd = no ; then 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 if test $ol_enable_modules = yes ; then AC_MSG_WARN([slapd disabled, ignoring --enable-modules argument]) fi @@ -241,6 +248,9 @@ if test $ol_enable_slapd = no ; then if test $ol_enable_aci = yes ; then AC_MSG_WARN([slapd disabled, ignoring --enable-aci argument]) fi + if test $ol_enable_discreteaci = yes ; then + AC_MSG_WARN([slapd disabled, ignoring --enable-discreteaci argument]) + fi if test $ol_with_ldbm_api != auto ; then AC_MSG_WARN([slapd disabled, ignoring --with-ldbm-api argument]) fi @@ -268,6 +278,9 @@ if test $ol_enable_slapd = no ; then 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 if test $ol_enable_slurpd = yes ; then AC_MSG_ERROR([slurpd requires slapd]) fi @@ -280,6 +293,7 @@ if test $ol_enable_slapd = no ; then ol_enable_perl=no ol_enable_shell=no ol_enable_tcl=no + ol_enable_sql=no ol_enable_modules=no ol_enable_multimaster=no @@ -287,6 +301,7 @@ if test $ol_enable_slapd = no ; then ol_enable_quipu=no ol_enable_rlookups=no ol_enable_aci=no + ol_enable_discreteaci=no ol_enable_wrappers=no ol_enable_dynamic=no @@ -300,6 +315,7 @@ if test $ol_enable_slapd = no ; then ol_with_perl_module=static ol_with_shell_module=static ol_with_tcl_module=static + ol_with_sql_module=static ol_enable_slurpd=no @@ -327,7 +343,8 @@ elif test $ol_enable_ldbm = no ; then $ol_enable_passwd = no -a \ $ol_enable_perl = no -a \ $ol_enable_shell = no -a \ - $ol_enable_tcl = no ; then + $ol_enable_tcl = no -a \ + $ol_enable_sql = no ; then AC_MSG_ERROR([slapd requires a backend]) fi @@ -415,6 +432,7 @@ BUILD_PERL=no BUILD_QUIPU=no BUILD_SHELL=no BUILD_TCL=no +BUILD_SQL=no BUILD_THREAD=no BUILD_BDB2_DYNAMIC=static @@ -424,6 +442,7 @@ BUILD_PASSWD_DYNAMIC=static BUILD_PERL_DYNAMIC=static BUILD_SHELL_DYNAMIC=static BUILD_TCL_DYNAMIC=static +BUILD_SQL_DYNAMIC=static SLAPD_MODULES_LDFLAGS= SLAPD_MODULES_CPPFLAGS= @@ -433,6 +452,10 @@ SLAPD_PERL_LDFLAGS= MOD_PERL_LDFLAGS= PERL_CPPFLAGS= +SLAPD_SQL_LDFLAGS= +SLAPD_SQL_LIBS= +SLAPD_SQL_INCLUDES= + MOD_TCL_LIB= KRB4_LIBS= KRB5_LIBS= @@ -620,6 +643,7 @@ else ol_with_perl_module=static ol_with_shell_module=static ol_with_tcl_module=static + ol_with_sql_module=static fi dnl ---------------------------------------------------------------- @@ -2201,6 +2225,9 @@ fi if test "$ol_enable_aci" != no ; then AC_DEFINE(SLAPD_ACI_ENABLED,1,[define to support per-object ACIs]) fi +if test "$ol_enable_discreteaci" != no ; then + AC_DEFINE(SLAPD_ACI_DISCRETE_RIGHTS,1,[define to support discrete rights in ACIs]) +fi if test "$ol_link_modules" != no ; then AC_DEFINE(SLAPD_MODULES,1,[define to support modules]) @@ -2299,6 +2326,20 @@ if test "$ol_enable_tcl" != no ; then fi fi +if test "$ol_enable_sql" != no ; then + AC_DEFINE(SLAPD_SQL,1,[define to support SQL backend]) + BUILD_SLAPD=yes + BUILD_SQL=yes + SLAPD_SQL_LIBS=-liodbc + if test "$ol_with_sql_module" != static; then + AC_DEFINE(SLAPD_SQL_DYNAMIC,1, + [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" + fi +fi + if test "$ol_enable_slurpd" != no -a "$ol_link_threads" != no -a \ $BUILD_SLAPD = yes ; then BUILD_SLURPD=yes @@ -2343,6 +2384,7 @@ AC_SUBST(BUILD_SLAPD) AC_SUBST(BUILD_QUIPU) AC_SUBST(BUILD_SHELL) AC_SUBST(BUILD_TCL) + AC_SUBST(BUILD_SQL) AC_SUBST(BUILD_BDB2_DYNAMIC) AC_SUBST(BUILD_LDAP_DYNAMIC) AC_SUBST(BUILD_LDBM_DYNAMIC) @@ -2350,6 +2392,7 @@ AC_SUBST(BUILD_SLAPD) AC_SUBST(BUILD_PERL_DYNAMIC) AC_SUBST(BUILD_SHELL_DYNAMIC) AC_SUBST(BUILD_TCL_DYNAMIC) + AC_SUBST(BUILD_SQL_DYNAMIC) AC_SUBST(BUILD_SLURPD) AC_SUBST(LDAP_LIBS) @@ -2380,6 +2423,10 @@ AC_SUBST(TERMCAP_LIBS) AC_SUBST(TLS_LIBS) AC_SUBST(MODULES_LIBS) +AC_SUBST(SLAPD_SQL_LDFLAGS) +AC_SUBST(SLAPD_SQL_LIBS) +AC_SUBST(SLAPD_SQL_INCLUDES) + dnl ---------------------------------------------------------------- dnl final output dnl @@ -2420,6 +2467,7 @@ 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-tcl/Makefile:build/top.mk:servers/slapd/back-tcl/Makefile.in:build/mod.mk \ +servers/slapd/back-sql/Makefile:build/top.mk:servers/slapd/back-sql/Makefile.in:build/mod.mk \ servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.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 \ diff --git a/include/portable.h.in b/include/portable.h.in index 22615384d6..2477548a6a 100644 --- a/include/portable.h.in +++ b/include/portable.h.in @@ -931,6 +931,11 @@ /* define to support dynamic TCL backend */ #undef SLAPD_TCL_DYNAMIC +/* define to support SQL backend */ +#undef SLAPD_SQL + +/* define to support dynamic SQL backend */ +#undef SLAPD_SQL_DYNAMIC /* begin of postamble */ diff --git a/servers/slapd/Makefile.in b/servers/slapd/Makefile.in index 077c1699ec..734284f3cd 100644 --- a/servers/slapd/Makefile.in +++ b/servers/slapd/Makefile.in @@ -36,14 +36,15 @@ LDAP_LIBDIR= ../../libraries SLAP_DIR= SLAPD_MODULES=@SLAPD_MODULES_LIST@ + XDEFS = $(MODULES_CPPFLAGS) XLDFLAGS = $(MODULES_LDFLAGS) $(SLAPD_MODULES) # $(LTHREAD_LIBS) must be last XLIBS = libbackends.a -lavl -lldbm -lldif -llutil -lldap_r -llber XXLIBS = $(LDBM_LIBS) $(SLAPD_LIBS) \ - $(SLAPD_PERL_LDFLAGS) $(SECURITY_LIBS) \ - $(LDIF_LIBS) $(LUTIL_LIBS) + $(SECURITY_LIBS) \ + $(LDIF_LIBS) $(LUTIL_LIBS) XXXLIBS = $(LTHREAD_LIBS) $(MODULES_LIBS) BUILD_OPT = "--enable-slapd" @@ -51,6 +52,9 @@ BUILD_SRV = @BUILD_SLAPD@ all-local-srv: all-cffiles +NT_GEN_DEFS = -DLIBLUTIL_DECL=dllexport -DLIBAVL_DECL=dllexport \ + -DLIBLDBM_DECL=dllexport -DLIBLDIF_DECL=dllexport + NT_DYN_DEFS = -DLIBLBER_DECL=dllimport -DLIBLDAP_DECL=dllimport DEFINES = $(@PLAT@_@LIB_LINKAGE@_DEFS) diff --git a/servers/slapd/backend.c b/servers/slapd/backend.c index 9bdf4d2981..ff481a74b8 100644 --- a/servers/slapd/backend.c +++ b/servers/slapd/backend.c @@ -42,6 +42,9 @@ #ifdef SLAPD_NTDOMAIN #include "back-domain/external.h" #endif +#ifdef SLAPD_SQL +#include "back-sql/external.h" +#endif static BackendInfo binfo[] = { #if defined(SLAPD_LDAP) && !defined(SLAPD_LDAP_DYNAMIC) @@ -67,6 +70,9 @@ static BackendInfo binfo[] = { #endif #if defined(SLAPD_NTDOMAIN) && !defined(SLAPD_NTDOMAIN_DYNAMIC) {"ntdom", domain_back_initialize}, +#endif +#if defined(SLAPD_SQL) && !defined(SLAPD_SQL_DYNAMIC) + {"sql", sql_back_initialize}, #endif {NULL} };