summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/config/ChangeLog4
-rw-r--r--src/config/shlib.conf14
2 files changed, 14 insertions, 4 deletions
diff --git a/src/config/ChangeLog b/src/config/ChangeLog
index a080f85d4..3b0985361 100644
--- a/src/config/ChangeLog
+++ b/src/config/ChangeLog
@@ -1,5 +1,9 @@
2004-04-29 Ken Raeburn <raeburn@mit.edu>
+ * shlib.conf (alpha*-dec-osf*): Add support for export list, using
+ a temporary file, and init/fini functions.
+ (mips-sgi-irix*): Previous support should not be used with gcc.
+
* pre.in (EXTRA_FILES): New variable.
* post.in (clean-unix): Delete extra files.
diff --git a/src/config/shlib.conf b/src/config/shlib.conf
index bc4a4dbdf..854dbc2c8 100644
--- a/src/config/shlib.conf
+++ b/src/config/shlib.conf
@@ -36,7 +36,9 @@ alpha*-dec-osf*)
SHLIBEXT=.so
# Alpha OSF/1 doesn't need separate PIC objects
SHOBJEXT=.o
- LDCOMBINE='$(CC) -shared -Wl,-expect_unresolved -Wl,\* -Wl,-update_registry -Wl,$(BUILDTOP)/so_locations -Wl,-soname -Wl,lib$(LIB)$(SHLIBSEXT)'
+ INIT_FINI_PREP='if test -z "$(LIBINITFUNC)"; then initfini=""; else initfini="-Wl,-init,$(LIBINITFUNC)__auxinit"; fi; if test -z "$(LIBFINIFUNC)";then :;else initfini="$$initfini -Wl,-fini,$(LIBFINIFUNC)"; fi'
+ LDCOMBINE='sed "s/^/-exported_symbol /" < $(SHLIB_EXPORT_FILE) > export && $(CC) -shared -Wl,-expect_unresolved -Wl,\* -Wl,-update_registry -Wl,$(BUILDTOP)/so_locations -Wl,-soname -Wl,lib$(LIB)$(SHLIBSEXT) -Wl,-hidden -Wl,-input,export $$initfini'
+ EXTRA_FILES="$EXTRA_FILES export"
SHLIB_EXPFLAGS='-rpath $(SHLIB_RDIRS) $(SHLIB_DIRS) $(SHLIB_EXPLIBS)'
PROFFLAGS=-pg
RPATH_FLAG='-Wl,-rpath -Wl,'
@@ -129,9 +131,13 @@ mips-sgi-irix*)
SHLIBSEXT='.so.$(LIBMAJOR)'
SHLIBEXT=.so
SHOBJEXT=.o
- use_linker_init_option=yes
- use_linker_fini_option=yes
- INIT_FINI_PREP='if test -z "$(LIBINITFUNC)"; then initfini=""; else initfini="-Wl,-init,$(LIBINITFUNC)__auxinit"; fi; if test -z "$(LIBFINIFUNC)";then :;else initfini="$$initfini -Wl,-fini,$(LIBFINIFUNC)"; fi'
+ if test "$krb5_cv_prog_gcc" = yes; then
+ :
+ else
+ use_linker_init_option=yes
+ use_linker_fini_option=yes
+ INIT_FINI_PREP='if test -z "$(LIBINITFUNC)"; then initfini=""; else initfini="-Wl,-init,$(LIBINITFUNC)__auxinit"; fi; if test -z "$(LIBFINIFUNC)";then :;else initfini="$$initfini -Wl,-fini,$(LIBFINIFUNC)"; fi'
+ fi
LDCOMBINE='$(CC) -shared -Wl,-ignore_unresolved -Wl,-update_registry -Wl,$(BUILDTOP)/so_locations -Wl,-soname -Wl,lib$(LIB)$(SHLIBSEXT) $$initfini'
LDCOMBINE_TAIL='-Wl,-exports_file -Wl,$(SHLIB_EXPORT_FILE)'
SHLIB_EXPFLAGS='-rpath $(SHLIB_RDIRS) $(SHLIB_DIRS) $(SHLIB_EXPLIBS)'