ITS#10516 slapd: force make to check dynamic backends

Also streamline build of static backends.
This commit is contained in:
Howard Chu 2026-06-01 18:55:39 +01:00 committed by Quanah Gibson-Mount
parent 5be6295e53
commit 64f247b8a4
15 changed files with 23 additions and 72 deletions

View file

@ -17,7 +17,7 @@
#
LIBRARY = $(LIBBASE).la
LIBSTAT = lib$(LIBBASE).a
LIBSTAT = libobj.a
MKDEPFLAG = -l

View file

@ -15,7 +15,7 @@
SLAPTOOLS=slapadd slapcat slapdn slapindex slapmodify slappasswd slaptest slapauth slapacl slapschema
PROGRAMS=slapd $(SLAPTOOLS)
XPROGRAMS=sslapd libbackends.a .backend liboverlays.a
XPROGRAMS=sslapd libbackends.a liboverlays.a
XSRCS=version.c
SUBDIRS=back-* slapi overlays pwmods
@ -66,6 +66,7 @@ SLAP_DIR=
SLAPD_STATIC_DEPENDS=@SLAPD_NO_STATIC@ libbackends.a liboverlays.a
SLAPD_STATIC_BACKENDS=@SLAPD_STATIC_BACKENDS@
SLAPD_DYNAMIC_BACKENDS=@SLAPD_DYNAMIC_BACKENDS@
SLAPD_STATIC_TARGETS:=$(SLAPD_STATIC_BACKENDS:%=%/libobj.a)
SLAPI_LIBS=@LIBSLAPI@ @SLAPI_LIBS@
@ -273,9 +274,11 @@ slapd: $(SLAPD_DEPENDS) @LIBSLAPI@
sslapd: version.o
$(LTLINK) -static -o $@ $(OBJS) version.o $(LIBS) $(WRAP_LIBS)
dummy $(SLAPD_DYNAMIC_BACKENDS): slapd
dummy $(SLAPD_DYNAMIC_BACKENDS): slapd FORCE
cd $@ && $(MAKE) $(MFLAGS) all
@touch $@
$(SLAPD_STATIC_TARGETS): FORCE
cd $(@D) && $(MAKE) $(MFLAGS) all
dynamic_overlays: slapd
cd overlays && $(MAKE) $(MFLAGS) dynamic
@ -287,23 +290,10 @@ dynamic_pwmods: slapd
# In Windows, dynamic backends have to be built after slapd. For this
# reason, we only build static backends now and dynamic backends later.
#
.backend: FORCE
@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; \
fi; \
done; \
echo " "; \
fi
libbackends.a: .backend
libbackends.a: $(SLAPD_STATIC_TARGETS)
@$(RM) -r tmp
@$(MKDIR) tmp
@-for i in back-*/*.a; do \
@-for i in $?; do \
( \
cd tmp; \
$(AR) x ../$$i; \
@ -311,13 +301,12 @@ libbackends.a: .backend
for j in *.o; do \
mv $$j $${pre}$$j; \
done; \
$(AR) ruv libbackends.a *.o 2>&1 | grep -v truncated; \
$(AR) ruv ../libbackends.a *.o 2>&1 | grep -v truncated; \
$(RM) *.o __.SYMDEF ________64ELEL_ ; \
echo "added backend library $$i"; \
echo ""; \
); \
done
@mv -f tmp/libbackends.a ./libbackends.a
@$(RM) -r tmp
@if test ! -z "$(RANLIB)" ; then \
$(RANLIB) libbackends.a; \

View file

@ -44,7 +44,5 @@ LIBBASE = back_asyncmeta
XINCPATH = -I.. -I$(srcdir)/..
XDEFS = $(MODULES_CPPFLAGS)
all-local-lib: ../.backend
all-local-lib: libobj.a
../.backend: lib$(LIBBASE).a
@touch $@

View file

@ -39,8 +39,5 @@ LIBBASE = back_dnssrv
XINCPATH = -I.. -I$(srcdir)/..
XDEFS = $(MODULES_CPPFLAGS)
all-local-lib: ../.backend
../.backend: lib$(LIBBASE).a
@touch $@
all-local-lib: libobj.a

View file

@ -38,8 +38,5 @@ LIBBASE = back_ldap
XINCPATH = -I.. -I$(srcdir)/..
XDEFS = $(MODULES_CPPFLAGS)
all-local-lib: ../.backend
../.backend: lib$(LIBBASE).a
@touch $@
all-local-lib: libobj.a

View file

@ -34,8 +34,5 @@ LIBBASE = back_ldif
XINCPATH = -I.. -I$(srcdir)/..
XDEFS = $(MODULES_CPPFLAGS)
all-local-lib: ../.backend
../.backend: lib$(LIBBASE).a
@touch $@
all-local-lib: libobj.a

View file

@ -47,10 +47,7 @@ LIBBASE = back_mdb
XINCPATH = -I.. -I$(srcdir)/.. -I$(MDB_SUBDIR)
XDEFS = $(MODULES_CPPFLAGS)
all-local-lib: ../.backend
../.backend: lib$(LIBBASE).a
@touch $@
all-local-lib: libobj.a
mdb.lo: $(MDB_SUBDIR)/mdb.c
$(LTCOMPILE_MOD) $(MDB_SUBDIR)/mdb.c

View file

@ -38,8 +38,5 @@ LIBBASE = back_meta
XINCPATH = -I.. -I$(srcdir)/..
XDEFS = $(MODULES_CPPFLAGS)
all-local-lib: ../.backend
../.backend: lib$(LIBBASE).a
@touch $@
all-local-lib: libobj.a

View file

@ -42,8 +42,5 @@ LIBBASE = back_monitor
XINCPATH = -I.. -I$(srcdir)/.. -I$(srcdir)/../slapi
XDEFS = $(MODULES_CPPFLAGS)
all-local-lib: ../.backend
../.backend: lib$(LIBBASE).a
@touch $@
all-local-lib: libobj.a

View file

@ -34,8 +34,5 @@ LIBBASE = back_null
XINCPATH = -I.. -I$(srcdir)/..
XDEFS = $(MODULES_CPPFLAGS)
all-local-lib: ../.backend
../.backend: lib$(LIBBASE).a
@touch $@
all-local-lib: libobj.a

View file

@ -34,8 +34,5 @@ LIBBASE = back_passwd
XINCPATH = -I.. -I$(srcdir)/..
XDEFS = $(MODULES_CPPFLAGS)
all-local-lib: ../.backend
../.backend: lib$(LIBBASE).a
@touch $@
all-local-lib: libobj.a

View file

@ -34,8 +34,5 @@ LIBBASE = back_relay
XINCPATH = -I.. -I$(srcdir)/..
XDEFS = $(MODULES_CPPFLAGS)
all-local-lib: ../.backend
../.backend: lib$(LIBBASE).a
@touch $@
all-local-lib: libobj.a

View file

@ -40,8 +40,5 @@ LIBBASE = back_sock
XINCPATH = -I.. -I$(srcdir)/..
XDEFS = $(MODULES_CPPFLAGS)
all-local-lib: ../.backend
../.backend: lib$(LIBBASE).a
@touch $@
all-local-lib: libobj.a

View file

@ -38,8 +38,5 @@ LIBBASE = back_sql
XINCPATH = -I.. -I$(srcdir)/.. $(SLAPD_SQL_INCLUDES)
XDEFS = $(MODULES_CPPFLAGS)
all-local-lib: ../.backend
../.backend: lib$(LIBBASE).a
@touch $@
all-local-lib: libobj.a

View file

@ -47,8 +47,5 @@ LIBBASE = back_wt
XINCPATH = -I.. -I$(srcdir)/..
XDEFS = $(MODULES_CPPFLAGS)
all-local-lib: ../.backend
../.backend: lib$(LIBBASE).a
@touch $@
all-local-lib: libobj.a