From bf7f1046d40f9436355c8223c431b19e01d6b5ec Mon Sep 17 00:00:00 2001 From: Howard Chu <hyc@openldap.org> Date: Sat, 8 Dec 2001 04:01:30 +0000 Subject: [PATCH] Add SLAPD_STATIC_BACKENDS and SLAPD_DYNAMIC_BACKENDS macros to simplify backend build rules. --- configure.in | 39 +++++++++++++++++++++++++++++++++ servers/slapd/Makefile.in | 46 +++++++++++++++++---------------------- 2 files changed, 59 insertions(+), 26 deletions(-) diff --git a/configure.in b/configure.in index 64b6f291d8..3bffa4f0a6 100644 --- a/configure.in +++ b/configure.in @@ -513,6 +513,9 @@ SLAPD_MODULES_LDFLAGS= SLAPD_MODULES_CPPFLAGS= SLAPD_MODULES_LIST= +SLAPD_STATIC_BACKENDS= +SLAPD_DYNAMIC_BACKENDS= + SLAPD_PERL_LDFLAGS= MOD_PERL_LDFLAGS= PERL_CPPFLAGS= @@ -2428,6 +2431,9 @@ if test "$ol_enable_bdb" != no ; then 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" fi fi @@ -2441,6 +2447,9 @@ if test "$ol_link_dnssrv" != no ; then 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" fi fi @@ -2454,6 +2463,9 @@ if test "$ol_enable_ldap" != no ; then 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" fi fi @@ -2468,6 +2480,9 @@ if test "$ol_link_ldbm" != no -a $ol_enable_ldbm != no; then 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" fi fi @@ -2487,6 +2502,9 @@ if test "$ol_enable_meta" != no ; then 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" fi fi @@ -2500,6 +2518,9 @@ if test "$ol_enable_monitor" != no ; then 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" fi fi @@ -2513,6 +2534,9 @@ if test "$ol_enable_passwd" != no ; then 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" fi fi @@ -2526,6 +2550,9 @@ if test "$ol_link_perl" != no ; then 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" fi fi @@ -2539,6 +2566,9 @@ if test "$ol_enable_shell" != no ; then 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" fi fi @@ -2552,6 +2582,9 @@ if test "$ol_enable_tcl" != no ; then 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" fi fi @@ -2565,6 +2598,9 @@ if test "$ol_link_sql" != no ; then 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" fi fi @@ -2639,6 +2675,9 @@ AC_SUBST(SLAPD_MODULES_CPPFLAGS) AC_SUBST(SLAPD_MODULES_LDFLAGS) AC_SUBST(SLAPD_MODULES_LIST) +AC_SUBST(SLAPD_STATIC_BACKENDS) +AC_SUBST(SLAPD_DYNAMIC_BACKENDS) + AC_SUBST(PERL_CPPFLAGS) AC_SUBST(SLAPD_PERL_LDFLAGS) AC_SUBST(MOD_PERL_LDFLAGS) diff --git a/servers/slapd/Makefile.in b/servers/slapd/Makefile.in index ccb98fdd23..9e463aba55 100644 --- a/servers/slapd/Makefile.in +++ b/servers/slapd/Makefile.in @@ -40,6 +40,8 @@ LDAP_LIBDIR= ../../libraries SLAP_DIR= SLAPD_MODULES=@SLAPD_MODULES_LIST@ +SLAPD_STATIC_BACKENDS=@SLAPD_STATIC_BACKENDS@ +SLAPD_DYNAMIC_BACKENDS=@SLAPD_DYNAMIC_BACKENDS@ XDEFS = $(MODULES_CPPFLAGS) XLDFLAGS = $(MODULES_LDFLAGS) $(SLAPD_MODULES) @@ -225,23 +227,17 @@ slapd.exp: libslapd.a slapd: $(SLAPD_DEPENDS) $(LTLINK) -o $@ $(SLAPD_OBJECTS) $(LIBS) $(WRAP_LIBS) - @msg="building dynamic backends..."; \ - for i in back-*; do \ - if test -d $$i -a -f $$i/Makefile ; then \ - grep '^BUILD_MOD[ ]*=[ ]*mod[ ]*$$' $$i/Makefile \ - > /dev/null 2>&1; \ - if test $$? = 0; then \ - if test -n "$$msg"; then \ - echo ""; echo "$$msg"; \ - msg=""; \ - fi; \ - echo ""; echo " cd $$i; $(MAKE) $(MFLAGS) all"; \ + @if test -n "$(SLAPD_DYNAMIC_BACKENDS)"; then \ + echo "building dynamic backends..."; \ + for i in XX $(SLAPD_DYNAMIC_BACKENDS); do \ + if test $$i != XX; then \ + echo " "; echo " cd $$i; $(MAKE) $(MFLAGS) all"; \ ( cd $$i; $(MAKE) $(MFLAGS) all ); \ - if test $$? != 0 ; then exit 1; fi ; \ + if test $$? != 0; then exit 1; fi; \ fi; \ - fi; \ - done; \ - echo "" + done; \ + echo " "; \ + fi cd tools; $(MAKE) $(MFLAGS) all sslapd: version.o @@ -252,19 +248,17 @@ sslapd: version.o # reason, we only build static backends now and dynamic backends later. # .backend: FORCE - @echo ""; echo "building static backends..."; \ - for i in back-*; do \ - if test -d $$i -a -f $$i/Makefile ; then \ - grep '^BUILD_MOD[ ]*=[ ]*mod[ ]*$$' $$i/Makefile \ - > /dev/null 2>&1; \ - if test $$? != 0; then \ - echo ""; echo " cd $$i; $(MAKE) $(MFLAGS) all"; \ + @if test -n "$(SLAPD_STATIC_BACKENDS)"; then \ + echo "building static backends..."; \ + for i in XX $(SLAPD_STATIC_BACKENDS); do \ + if test $$i != XX; then \ + echo " "; echo " cd $$i; $(MAKE) $(MFLAGS) all"; \ ( cd $$i; $(MAKE) $(MFLAGS) all ); \ - if test $$? != 0 ; then exit 1; fi ; \ + if test $$? != 0; then exit 1; fi; \ fi; \ - fi; \ - done; \ - echo "" + done; \ + echo " "; \ + fi libbackends.a: .backend @$(RM) -r tmp -- GitLab