mirror of
git://git.savannah.gnu.org/libtool.git
synced 2025-02-11 15:00:08 +08:00
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> |
||
---|---|---|
.. | ||
.gitignore | ||
libtool.texi | ||
notes.texi | ||
PLATFORMS |