libtool-patches
[Top][All Lists]
Advanced

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

[PATCH 04/12] Specify shared member in soname_spec on AIX.


From: Michael Haubenwallner
Subject: [PATCH 04/12] Specify shared member in soname_spec on AIX.
Date: Tue, 2 Oct 2012 17:34:45 +0200

On AIX, without runtime linking, we create the shared object as member
of the library archive.
* m4/libtool.m4: (soname_spec) Specify the archive member when creating
traditional lib.a shared archives on AIX.
(archive_expsym_cmds) On AIX, split $soname into both the archive file
name as well as the shared archive member name, and create the shared
archive using these results.
---
 m4/libtool.m4 |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/m4/libtool.m4 b/m4/libtool.m4
index 4413a6d..88d8799 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -2296,7 +2296,7 @@ aix[[4-9]]*)
       # We preserve .a as extension for shared libraries through AIX4.2
       # and later when we are not doing run time linking.
       library_names_spec='$libname$release.a $libname.a'
-      soname_spec='$libname$release$shared_ext$major'
+      soname_spec='$libname$release.a($libname$release$shared_ext$major)'
     fi
     shlibpath_var=LIBPATH
   fi
@@ -5084,7 +5084,7 @@ _LT_EOF
          fi
          _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
          # This is similar to how AIX traditionally builds its shared 
libraries.
-         _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o 
$output_objdir/$soname $libobjs $deplibs $wl-bnoentry $compiler_flags 
$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS 
$output_objdir/$libname$release.a $output_objdir/$soname'
+         _LT_TAGVAR(archive_expsym_cmds, $1)='func_stripname 
"$libname$release.a(" ")" "$soname"~$CC '$shared_flag' -o 
$output_objdir/$func_stripname_result $libobjs $deplibs $wl-bnoentry 
$compiler_flags $wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS 
$output_objdir/$libname$release.a $output_objdir/$func_stripname_result~$RM 
$output_objdir/$func_stripname_result'
        fi
       fi
       ;;
@@ -6076,7 +6076,7 @@ if test yes != "$_lt_caught_CXX_error"; then
            _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
            # This is similar to how AIX traditionally builds its shared
            # libraries.
-           _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o 
$output_objdir/$soname $libobjs $deplibs $wl-bnoentry $compiler_flags 
$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS 
$output_objdir/$libname$release.a $output_objdir/$soname'
+           _LT_TAGVAR(archive_expsym_cmds, $1)='func_stripname 
"$libname$release.a(" ")" "$soname"~$CC '$shared_flag' -o 
$output_objdir/$func_stripname_result $libobjs $deplibs $wl-bnoentry 
$compiler_flags $wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS 
$output_objdir/$libname$release.a $output_objdir/$func_stripname_result~$RM 
$output_objdir/$func_stripname_result'
           fi
         fi
         ;;
-- 
1.7.3.4




reply via email to

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