From 634eb1518febc5bd54da0f6fedbf88153a5c8ff3 Mon Sep 17 00:00:00 2001 From: Ken Raeburn Date: Thu, 27 Oct 2005 09:38:05 +0000 Subject: [PATCH] If configure scripts set build_dynobj=yes, force build of shared objects and not static objects; set it in the db2 directories. Fix up some bugs in Mac support just checked in for building plugin modules. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17461 dc483132-0cff-0310-8789-dd5450dbe970 --- src/ChangeLog | 2 ++ src/aclocal.m4 | 5 +++++ src/config/ChangeLog | 5 +++++ src/config/libnover.in | 2 +- src/config/shlib.conf | 2 +- src/modules/kdb/db2/ChangeLog | 4 +++- src/modules/kdb/db2/Makefile.in | 2 +- src/modules/kdb/db2/configure.in | 1 + src/modules/kdb/db2/libdb2/ChangeLog | 6 ++++++ src/modules/kdb/db2/libdb2/Makefile.in | 4 ++-- src/modules/kdb/db2/libdb2/configure.in | 1 + 11 files changed, 28 insertions(+), 6 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index d0e7d2eb1..0fd3139af 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -2,6 +2,8 @@ * aclocal.m4 (KRB5_BUILD_LIBRARY_WITH_DEPS): Substitute DYNOBJ_EXPDEPS and DYNOBJ_EXPFLAGS. + (KRB5_LIB_AUX): If build_dynobj is set to yes, ensure that OBJS.SH + is in OBJLISTS and that OBJS.ST is not. 2005-10-26 Ken Raeburn diff --git a/src/aclocal.m4 b/src/aclocal.m4 index 13e3d527f..4041a8107 100644 --- a/src/aclocal.m4 +++ b/src/aclocal.m4 @@ -1327,6 +1327,11 @@ else SHLIBSEXT=.so.s-nobuild fi +if test "$build_dynobj" = yes; then + OBJLISTS=`echo $OBJLISTS | sed -e s/OBJS.ST//g -e s/OBJS.SH//g` + OBJLISTS="$OBJLISTS OBJS.SH" +fi + if test -z "$LIBLIST"; then AC_MSG_ERROR([must enable one of shared or static libraries]) fi diff --git a/src/config/ChangeLog b/src/config/ChangeLog index 43609e070..7471e1fbd 100644 --- a/src/config/ChangeLog +++ b/src/config/ChangeLog @@ -1,5 +1,10 @@ 2005-10-27 Ken Raeburn + * libnover.in (LIBLIST): Use DYNOBJEXT instead of SHLIBEXT. + * shlib.conf (*-*-darwin*): Include SHLIB_DIRS, and + DYNOBJ_EXPLIBS_WITH_LOADER instead of + DYNOBJ_EXPFLAGS_WITH_LOADER. + * post.in (.depend): Don't run sed, just use perl. Use new name of perl script. diff --git a/src/config/libnover.in b/src/config/libnover.in index 79b8e9f8f..3896e8462 100644 --- a/src/config/libnover.in +++ b/src/config/libnover.in @@ -34,7 +34,7 @@ dummy-target-1 $(SUBDIROBJLISTS) $(SUBDIROBJLISTS:.ST=.SH) $(SUBDIROBJLISTS:.ST= PARSE_OBJLISTS= set -x && $(PERL) -p -e 'BEGIN { $$SIG{__WARN__} = sub {die @_} }; $$e=$$ARGV; $$e =~ s/OBJS\...$$//; s/^/ /; s/ $$//; s/ / $$e/g;' SHLIBVEXT=$(SHLIBEXT) -LIBLIST=$(LIBBASE)$(SHLIBEXT) +LIBLIST=$(LIBBASE)$(DYNOBJEXT) LIBINSTLIST=install-shared $(LIBBASE)$(DYNOBJEXT): $(SHOBJLISTS) $(DYNOBJ_EXPDEPS) $(SHLIB_EXPORT_FILE_DEP) diff --git a/src/config/shlib.conf b/src/config/shlib.conf index 6ebbbf684..cc42c75be 100644 --- a/src/config/shlib.conf +++ b/src/config/shlib.conf @@ -282,7 +282,7 @@ mips-*-netbsd*) DYNOBJEXT=.so SHLIB_EXPORT_FILE_DEP=darwin.exports DYNOBJ_EXPDEPS='$(DYNOBJ_EXPDEPS_WITH_LOADER)' - DYNOBJ_EXPFLAGS='$(DYNOBJ_EXPFLAGS_WITH_LOADER)' + DYNOBJ_EXPFLAGS='$(SHLIB_DIRS) $(DYNOBJ_EXPLIBS_WITH_LOADER)' MAKE_DYNOBJ_COMMAND='$(CC) -bundle $(CFLAGS) -bundle_loader $(DYNOBJ_LOADER_PROG) $(LDFLAGS) -o $@ $$objlist $(DYNOBJ_EXPFLAGS) -exported_symbols_list darwin.exports' LDCOMBINE='$(CC) -undefined warning -dynamiclib -compatibility_version $(LIBMAJOR) -current_version $(LIBMAJOR).$(LIBMINOR) -install_name "$(KRB5_LIBDIR)/$(LIBPREFIX)$(LIBBASE)$(SHLIBVEXT)" $(CFLAGS) $(LDFLAGS)' CC_LINK_SHARED='$(CC) $(PROG_LIBPATH) -dynamic $(CFLAGS) $(LDFLAGS)' diff --git a/src/modules/kdb/db2/ChangeLog b/src/modules/kdb/db2/ChangeLog index d2dcbe18f..22537d4eb 100644 --- a/src/modules/kdb/db2/ChangeLog +++ b/src/modules/kdb/db2/ChangeLog @@ -1,6 +1,8 @@ 2005-10-27 Ken Raeburn - * Makefile.in (DYNOBJ_LOADER_PROG, DYNOBJ_EXPFLAGS_WITH_LOADER, + * configure.in: Set build_dynobj=yes. + + * Makefile.in (DYNOBJ_LOADER_PROG, DYNOBJ_EXPLIBS_WITH_LOADER, DYNOBJ_EXPDEPS_WITH_LOADER): New variables. 2005-10-13 Ken Raeburn diff --git a/src/modules/kdb/db2/Makefile.in b/src/modules/kdb/db2/Makefile.in index 67662bf34..465a95497 100644 --- a/src/modules/kdb/db2/Makefile.in +++ b/src/modules/kdb/db2/Makefile.in @@ -63,7 +63,7 @@ STLIBOBJS= \ db2_exp.o DYNOBJ_LOADER_PROG = $(BUILDTOP)/kdc/krb5kdc -DYNOBJ_EXPFLAGS_WITH_LOADER = -lgssrpc $(KDB5_DB_LIB) +DYNOBJ_EXPLIBS_WITH_LOADER = -lgssrpc $(KDB5_DB_LIB) DYNOBJ_EXPDEPS_WITH_LOADER = $(GSSRPC_DEPLIBS) all-unix:: $(LIBBASE)$(SO_EXT) diff --git a/src/modules/kdb/db2/configure.in b/src/modules/kdb/db2/configure.in index 234c1cc0a..9f958db12 100644 --- a/src/modules/kdb/db2/configure.in +++ b/src/modules/kdb/db2/configure.in @@ -1,5 +1,6 @@ K5_AC_INIT(configure.in) enable_shared=yes +build_dynobj=yes CONFIG_RULES AC_CHECK_HEADERS(unistd.h) AC_TYPE_MODE_T diff --git a/src/modules/kdb/db2/libdb2/ChangeLog b/src/modules/kdb/db2/libdb2/ChangeLog index 617a075eb..c7e92cfa2 100644 --- a/src/modules/kdb/db2/libdb2/ChangeLog +++ b/src/modules/kdb/db2/libdb2/ChangeLog @@ -1,3 +1,9 @@ +2005-10-27 Ken Raeburn + + * configure.in: Set build_dynobj=yes. + + * Makefile.in (all-unix, clean-unix): Drop liblinks dependencies. + 2005-10-04 Ken Raeburn * Directory moved from util/db2 to modules/kdb/db2/libdb2. diff --git a/src/modules/kdb/db2/libdb2/Makefile.in b/src/modules/kdb/db2/libdb2/Makefile.in index 75553edf3..693773e67 100644 --- a/src/modules/kdb/db2/libdb2/Makefile.in +++ b/src/modules/kdb/db2/libdb2/Makefile.in @@ -15,9 +15,9 @@ RELDIR=../modules/kdb/db2/libdb2 HDRDIR=$(BUILDTOP)/include HDRS = $(HDRDIR)/db.h $(HDRDIR)/db-config.h $(HDRDIR)/db-ndbm.h -all-unix:: all-liblinks includes +all-unix:: includes all-prerecurse: include/config.h include/db-config.h -clean-unix:: clean-liblinks clean-libs clean-includes +clean-unix:: clean-libs clean-includes includes:: $(HDRS) diff --git a/src/modules/kdb/db2/libdb2/configure.in b/src/modules/kdb/db2/libdb2/configure.in index dadaa48df..9a339b0bb 100644 --- a/src/modules/kdb/db2/libdb2/configure.in +++ b/src/modules/kdb/db2/libdb2/configure.in @@ -1,6 +1,7 @@ dnl Process this file with autoconf to produce a configure script. K5_AC_INIT(db/db.c) AC_CONFIG_HEADER(include/config.h include/db-config.h) +build_dynobj=yes CONFIG_RULES AC_PATH_PROG(FALSE,false,:) -- 2.26.2