branch master updated: Fix shared library support on Android.

Ileana Dumitrescu <[email protected]>
Newsgroups gmane.comp.gnu.libtool.cvs
Message-ID <[email protected]>
This is an automated email from the git hooks/post-receive script.

ildumi pushed a commit to branch master
in repository libtool.

The following commit(s) were added to refs/heads/master by this push:
     new 47c71f61 Fix shared library support on Android.
47c71f61 is described below

commit 47c71f61df9ace4956cc943f291480315174726b
Author: Bruno Haible <[email protected]>
AuthorDate: Mon Sep 18 12:47:08 2023 +0200

    Fix shared library support on Android.
    
    This patch fixes two problems:
    1) A libtool library created with the -release option and no -version-info
       option was, when built with --enable-shared, installed without the
       symlink libNAME.so -> libNAME-RELEASE.so. This led to subsequent failures
       during "make install" of shared libraries that depend on it.
    2) Executables were created without a RUNPATH property. These executables
       then did not find their shared libraries when run.
    
    * m4/libtool.m4: On Android, fix library_names_spec and
    hardcode_libdir_flag_spec.
---
 m4/libtool.m4 | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/m4/libtool.m4 b/m4/libtool.m4
index 695ccac4..20d2c3ab 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -2839,7 +2839,7 @@ linux*android*)
   version_type=none # Android doesn't support versioned libraries.
   need_lib_prefix=no
   need_version=no
-  library_names_spec='$libname$release$shared_ext'
+  library_names_spec='$libname$release$shared_ext $libname$shared_ext'
   soname_spec='$libname$release$shared_ext'
   finish_cmds=
   shlibpath_var=LD_LIBRARY_PATH
@@ -2851,8 +2851,9 @@ linux*android*)
   hardcode_into_libs=yes
 
   dynamic_linker='Android linker'
-  # Don't embed -rpath directories since the linker doesn't support them.
-  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+  # -rpath works at least for libraries that are not overridden by
+  # libraries installed in system locations.
+  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
   ;;
 
 # This must be glibc/ELF.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.