summaryrefslogtreecommitdiff
path: root/Makefile.am
diff options
context:
space:
mode:
authorMichael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>2014-11-29 15:05:05 +0000
committerGary V. Vaughan <gary@gnu.org>2014-11-29 16:35:17 +0000
commit8fa719e81dba828d3e22cd59f825fac456c20809 (patch)
treea496e535e4c5a084a510fdae45448fd0743a6ece /Makefile.am
parentcbeefbc8f0ac527f7c7f14cbc8b3fc9de0ff2b77 (diff)
downloadlibtool-8fa719e81dba828d3e22cd59f825fac456c20809.tar.gz
libtool: optional filename-based shlib versioning on aix.
Support filename-based shared library versioning on AIX with the lib.so library filename extension, which is used with runtime linking only. Runtime linking is enabled by the -brtl linker flag for executables and the -G linker flag for Shared Objects. The behaviour is similar to Linux/SVR4 DT_SONAME, hence the name "aix-soname=svr4". * Makefile.am (TESTS_ENVIRONMENT): Pass with_aix_soname value via lt_cv_with_aix_soname into testsuite. * configure.ac: AC_SUBST with_aix_soname for testsuite. * libltdl/loaders/dlopen.c (vm_open): Use RTLD_MEMBER flag for dlopen when the filename does specify an archive member between "()". Otherways, retry with appending LT_SHARED_LIB_MEMBER when loading fails without but archive file seems to exist. * m4/libtool.m4 (dynamic_linker): Describe configured shared library versioning variant according to with_aix_soname and runtime linking. (soname_spec, library_names_spec, shlibpath_overrides_runpath) (postinstall_cmds, postuninstall_cmds, hardcode_direct) (hardcode_direct_absolute, no_undefined_flag) (allow_undefined_flag): Set according to with_aix_soname and runtime linking configuration. (export_symbols_cmds): Decorate symbols with the weak keyword. (archive_expsym_cmds): Create both shared libraries according to with_aix_soname and runtime linking configuration. Filter -brtl linker flag from compiler_flags for shared libraries due to its side effects. (enable_static): Respect with_aix_soname for disabling as well. * m4/ltdl.m4 (LT_SHARED_LIB_MEMBER): Define, set based on the value of the shared_archive_member_spec libtool variable. * m4/ltoptions.m4 (_LT_WITH_AIX_SONAME): New. Provides commandline option --with-aix-soname=aix|svr4|both. Declares $shared_archive_member_spec as libtool variable. (_LT_SET_OPTIONS): Define LT_INIT options "aix-soname=aix", "aix-soname=svr4", "aix-soname=both". Default is "aix-soname=aix". * doc/libtool.texi (LT_INIT): Document new options. * tests/deplibs-ident.at: To define whether this test should XFAIL, use hardcode_action, hardcode_direct, hardcode_direct_absolute configuration settings instead of platforms aix, bitrig, hppa-hpux, interix or openbsd. * tests/versioning.at: When shared_archive_member_spec is defined and LDFLAGS contain -brtl, we can run the versioning check. * NEWS: Update. Signed-off-by: Gary V. Vaughan <gary@gnu.org>
Diffstat (limited to 'Makefile.am')
-rw-r--r--Makefile.am1
1 files changed, 1 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am
index 38f2dbd5..60a067e5 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -740,6 +740,7 @@ TESTS_ENVIRONMENT = MAKE="$(MAKE)" CC="$(CC)" CFLAGS="$(CFLAGS)" \
F77="$(F77)" FFLAGS="$(FFLAGS)" \
FC="$(FC)" FCFLAGS="$(FCFLAGS)" \
GCJ="$(GCJ)" GCJFLAGS="$(GCJFLAGS)" \
+ lt_cv_with_aix_soname="$(with_aix_soname)" \
lt_cv_to_host_file_cmd="$(to_host_file_cmd)" \
lt_cv_to_tool_file_cmd="$(to_tool_file_cmd)"