summaryrefslogtreecommitdiffstats
path: root/src/config/lib.in
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@mit.edu>2005-02-09 00:11:14 +0000
committerKen Raeburn <raeburn@mit.edu>2005-02-09 00:11:14 +0000
commit78de391d385a134571247f17061b95290c819f9e (patch)
tree9df6dfb9c3e7db1155eefb8d359ec53db332cfe7 /src/config/lib.in
parentf81f4f5f751cf393c5e54b3eeec774598adbff65 (diff)
downloadkrb5-78de391d385a134571247f17061b95290c819f9e.tar.gz
krb5-78de391d385a134571247f17061b95290c819f9e.tar.xz
krb5-78de391d385a134571247f17061b95290c819f9e.zip
Build system support for a library having more than one init/fini symbol
defined, when using linker options to specify these functions. Now LIBINITFUNC/LIBFINIFUNC are considered lists of symbols, ordered from lowest-level (init run first, fini run last) to highest-level. * lib.in (config.status): Change target to be in $thisconfigdir rather than local. (osf1.exports): Create a temporary file then rename into place. Add options for library init/fini symbols, handling multiple values. * shlib.conf (case alpha*-dec-osf*): Don't handle init/fini symbols here. (case mips-sgi-irix*): Handle multiple init/fini symbols. Always set $initfini before it gets used. (case *-*-solaris*, not gcc): Handle multiple init/fini symbols. (case *-*-aix*): Handle multiple fini symbols. ticket: 2916 status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17088 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/config/lib.in')
-rw-r--r--src/config/lib.in17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/config/lib.in b/src/config/lib.in
index 7ebdb3ff32..eea4601d59 100644
--- a/src/config/lib.in
+++ b/src/config/lib.in
@@ -57,7 +57,20 @@ binutils.versions: $(SHLIB_EXPORT_FILE) Makefile
echo >> binutils.versions "};"
osf1.exports: $(SHLIB_EXPORT_FILE) Makefile
- sed "s/^/-exported_symbol /" < $(SHLIB_EXPORT_FILE) > osf1.exports
+ $(RM) osf1.tmp osf1.exports
+ sed "s/^/-exported_symbol /" < $(SHLIB_EXPORT_FILE) > osf1.tmp
+ for f in . $(LIBINITFUNC); do \
+ if test "$$f" != "." ; then \
+ echo " -init $$f"__auxinit >> osf1.tmp; \
+ else :; fi; \
+ done
+ a=""; \
+ for f in . $(LIBFINIFUNC); do \
+ if test "$$f" != "." ; then \
+ a="-fini $$f $$a"; \
+ else :; fi; \
+ done; echo " $$a" >> osf1.tmp; \
+ mv -f osf1.tmp osf1.exports
lib$(LIBBASE)$(PFLIBEXT): $(PFOBJLISTS)
$(RM) $@
@@ -120,7 +133,7 @@ install-profiled:
$(RANLIB) $(DESTDIR)$(KRB5_LIBDIR)/lib$(LIBBASE)$(PFLIBEXT)
Makefile: $(SRCTOP)/config/lib.in
-config.status: $(SRCTOP)/config/shlib.conf
+$(thisconfigdir)/config.status: $(SRCTOP)/config/shlib.conf
# Use the following if links need to be made to $(TOPLIBD):
# all-unix:: all-liblinks