* shlib.conf (INIT_FINI_PREP): New variable. Default to a no-op, but let each
authorKen Raeburn <raeburn@mit.edu>
Mon, 26 Apr 2004 05:36:49 +0000 (05:36 +0000)
committerKen Raeburn <raeburn@mit.edu>
Mon, 26 Apr 2004 05:36:49 +0000 (05:36 +0000)
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
src/config/shlib.conf

index fb780697356b130a5582f4344f7ec58cf860618a..9e583fe401c0f569065b90a15e7f9982d5d4e0e1 100644 (file)
@@ -1,3 +1,12 @@
+2004-04-26  Ken Raeburn  <raeburn@mit.edu>
+
+       * 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  <raeburn@mit.edu>
 
        * pre.in (PERL): New variable.
index 64ac7c1b536dad0556d5808b09588c19adc7e1eb..8af4b2cc9c9331e49f43e967b29ff0d8e0af698b 100644 (file)
@@ -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