From 92ca4053a380d0c37ada74fdf340bbba5e2a0f30 Mon Sep 17 00:00:00 2001 From: Ken Raeburn Date: Mon, 26 Apr 2004 05:36:49 +0000 Subject: [PATCH] * shlib.conf (INIT_FINI_PREP): New variable. Default to a no-op, but let each platform set setup routines to process initialization and finalization options for the default MAKE_SHLIB_COMMAND value. (case mips-sgi-irix*): Define LDCOMBINE_TAIL to use the library's export list. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16274 dc483132-0cff-0310-8789-dd5450dbe970 --- src/config/ChangeLog | 9 +++++++++ src/config/shlib.conf | 12 ++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/config/ChangeLog b/src/config/ChangeLog index fb7806973..9e583fe40 100644 --- a/src/config/ChangeLog +++ b/src/config/ChangeLog @@ -1,3 +1,12 @@ +2004-04-26 Ken Raeburn + + * shlib.conf (INIT_FINI_PREP): New variable. Default to a no-op, + but let each platform set setup routines to process + initialization and finalization options for the default + MAKE_SHLIB_COMMAND value. + (case mips-sgi-irix*): Define LDCOMBINE_TAIL to use the library's + export list. + 2004-04-24 Ken Raeburn * pre.in (PERL): New variable. diff --git a/src/config/shlib.conf b/src/config/shlib.conf index 64ac7c1b5..8af4b2cc9 100644 --- a/src/config/shlib.conf +++ b/src/config/shlib.conf @@ -18,9 +18,8 @@ PFOBJEXT=.po CC_LINK_STATIC='$(CC) $(PROG_LIBPATH) $(CFLAGS) $(LDFLAGS)' # This will do for most platforms, and we'll substitute for # LDCOMBINE, SHLIB_EXPFLAGS, and LDCOMBINE_TAIL below. -# ** Perhaps we should drop LDCOMBINE* as separate substitutions? -#MAKE_SHLIB_COMMAND='$(LDCOMBINE) -o $@ $$objlist $(SHLIB_EXPFLAGS) $(LDCOMBINE_TAIL)' MAKE_SHLIB_COMMAND=x +INIT_FINI_PREP=: # Default to static or shared libraries? default_static=no @@ -128,6 +127,7 @@ mips-sgi-irix*) SHLIBEXT=.so SHOBJEXT=.o LDCOMBINE='$(CC) -shared -Wl,-ignore_unresolved -Wl,-update_registry -Wl,$(BUILDTOP)/so_locations -Wl,-soname -Wl,lib$(LIB)$(SHLIBSEXT)' + LDCOMBINE_TAIL='-Wl,-exports_file -Wl,$(SHLIB_EXPORT_FILE)' SHLIB_EXPFLAGS='-rpath $(SHLIB_RDIRS) $(SHLIB_DIRS) $(SHLIB_EXPLIBS)' # no gprof for Irix... PROFFLAGS=-p @@ -337,9 +337,13 @@ mips-*-netbsd*) CC_LINK_STATIC='$(CC) $(PROG_LIBPATH) $(CFLAGS) $(LDFLAGS)' # $(PROG_RPATH) is here to handle things like a shared tcl library RUN_ENV='LIBPATH=`echo $(PROG_LIBPATH) | sed -e "s/-L//g" -e "s/ /:/g"`:$(PROG_RPATH):/usr/lib:/usr/local/lib; export LIBPATH; ' - + ;; esac if test "${MAKE_SHLIB_COMMAND}" = "x" ; then - MAKE_SHLIB_COMMAND="${LDCOMBINE} -o \$@ \$\$objlist \$(SHLIB_EXPFLAGS) ${LDCOMBINE_TAIL}" + if test "${INIT_FINI_PREP}" != ":"; then + MAKE_SHLIB_COMMAND="${INIT_FINI_PREP} && ${LDCOMBINE} -o \$@ \$\$objlist \$(SHLIB_EXPFLAGS) ${LDCOMBINE_TAIL}" + else + MAKE_SHLIB_COMMAND="${LDCOMBINE} -o \$@ \$\$objlist \$(SHLIB_EXPFLAGS) ${LDCOMBINE_TAIL}" + fi fi -- 2.26.2