libtool-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 02/12] Prepare -dlopen option for shared archive members.


From: Michael Haubenwallner
Subject: [PATCH 02/12] Prepare -dlopen option for shared archive members.
Date: Tue, 2 Oct 2012 17:34:43 +0200

* build-aux/ltmain.m4sh: (func_mode_execute) For the -dlopen option,
when testing if the file to be dlopen'ed exists, strip the optional
shared archive member (seen on AIX) from dlname first.
---
 build-aux/ltmain.m4sh |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/build-aux/ltmain.m4sh b/build-aux/ltmain.m4sh
index 14f3c37..22b56a1 100644
--- a/build-aux/ltmain.m4sh
+++ b/build-aux/ltmain.m4sh
@@ -1777,10 +1777,20 @@ func_mode_execute ()
        func_dirname "$file" "" "."
        dir=$func_dirname_result
 
-       if test -f "$dir/$objdir/$dlname"; then
+       # dlname may be "archive(member)" on AIX
+       case $dlname in
+       *'('*')')
+         # func_stripname does not work with '(*)',
+         # need to pass '(member)' instead.
+         func_stripname '' "`IFS='()'; set -- $dlname; echo \"($2)\"`" 
"$dlname"
+         ;;
+       *) func_stripname_result="$dlname" ;;
+       esac
+
+       if test -f "$dir/$objdir/$func_stripname_result"; then
          func_append dir "/$objdir"
        else
-         if test ! -f "$dir/$dlname"; then
+         if test ! -f "$dir/$func_stripname_result"; then
            func_fatal_error "cannot find \`$dlname' in \`$dir' or 
\`$dir/$objdir'"
          fi
        fi
-- 
1.7.3.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]