diff options
author | Michael Haubenwallner <haubi@gentoo.org> | 2010-05-20 08:22:16 +0000 |
---|---|---|
committer | Michael Haubenwallner <haubi@gentoo.org> | 2010-05-20 08:22:16 +0000 |
commit | 551f2edeb8be239942d1eb43d8474e577ceebfea (patch) | |
tree | 2a9c7d080e77c4e8dba4a2f721802d7a0e88448c /eclass | |
parent | x86 stable wrt bug #316539 (diff) | |
download | gentoo-2-551f2edeb8be239942d1eb43d8474e577ceebfea.tar.gz gentoo-2-551f2edeb8be239942d1eb43d8474e577ceebfea.tar.bz2 gentoo-2-551f2edeb8be239942d1eb43d8474e577ceebfea.zip |
Change ELT-patches for AIX to use import files as soname-emulator (bug#213277).
This requires switching libtool to force -no-undefined behaviour on AIX.
Additionally, get_libname() now does return .so and versions like Linux.
Diffstat (limited to 'eclass')
44 files changed, 274 insertions, 194 deletions
diff --git a/eclass/ELT-patches/aix-noundef/1.4d b/eclass/ELT-patches/aix-noundef/1.4d new file mode 100644 index 000000000000..b2b8d09544af --- /dev/null +++ b/eclass/ELT-patches/aix-noundef/1.4d @@ -0,0 +1,12 @@ +--- ltmain.sh.orig 2009-12-06 22:35:17 +0100 ++++ ltmain.sh 2009-12-06 22:35:44 +0100 +@@ -1111,6 +1111,9 @@ + # that all symbols are satisfied, otherwise we get a static library. + allow_undefined=yes + ;; ++ *-aix*) ++ allow_undefined=no ++ ;; + *) + allow_undefined=yes + ;; diff --git a/eclass/ELT-patches/aixrtl/1.4.0d-Ggxx b/eclass/ELT-patches/aixrtl/1.4.0d-Ggxx deleted file mode 100644 index 4a54cf3c9c72..000000000000 --- a/eclass/ELT-patches/aixrtl/1.4.0d-Ggxx +++ /dev/null @@ -1,10 +0,0 @@ ---- configure -+++ configure -@@ -4657,6 +4657,7 @@ - fi - esac - shared_flag='-shared' -+ shared_flag="$shared_flag "'${wl}-G' - else - # not using gcc - if test "$host_cpu" = ia64; then diff --git a/eclass/ELT-patches/aixrtl/1.4.0d-Gxlc b/eclass/ELT-patches/aixrtl/1.4.0d-Gxlc deleted file mode 100644 index 979d52ae241c..000000000000 --- a/eclass/ELT-patches/aixrtl/1.4.0d-Gxlc +++ /dev/null @@ -1,11 +0,0 @@ ---- configure -+++ configure -@@ -4664,7 +4664,7 @@ - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else -- if test "$aix_use_runtimelinking" = yes; then -+ if true || test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' diff --git a/eclass/ELT-patches/aixrtl/1.4.0d-Gxlcxx b/eclass/ELT-patches/aixrtl/1.4.0d-Gxlcxx deleted file mode 100644 index 3556ea9ab708..000000000000 --- a/eclass/ELT-patches/aixrtl/1.4.0d-Gxlcxx +++ /dev/null @@ -1,11 +0,0 @@ ---- configure -+++ configure -@@ -2494,7 +2494,7 @@ - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else -- if test "$aix_use_runtimelinking" = yes; then -+ if true || test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' diff --git a/eclass/ELT-patches/aixrtl/1.4.0d-ifc b/eclass/ELT-patches/aixrtl/1.4.0d-ifc deleted file mode 100644 index f2a687bd9862..000000000000 --- a/eclass/ELT-patches/aixrtl/1.4.0d-ifc +++ /dev/null @@ -1,11 +0,0 @@ ---- configure -+++ configure -@@ -2444,7 +2444,7 @@ - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then -- aix_use_runtimelinking=yes -+# aix_use_runtimelinking=yes - break - fi - done diff --git a/eclass/ELT-patches/aixrtl/1.4.0d-ifcxx b/eclass/ELT-patches/aixrtl/1.4.0d-ifcxx deleted file mode 100644 index 75caac48b6dc..000000000000 --- a/eclass/ELT-patches/aixrtl/1.4.0d-ifcxx +++ /dev/null @@ -1,11 +0,0 @@ ---- configure -+++ configure -@@ -4614,7 +4614,7 @@ - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then -- aix_use_runtimelinking=yes -+# aix_use_runtimelinking=yes - break - fi - done diff --git a/eclass/ELT-patches/aixrtl/1.4.3-casecxx b/eclass/ELT-patches/aixrtl/1.4.3-casecxx deleted file mode 100644 index 23c786e9d481..000000000000 --- a/eclass/ELT-patches/aixrtl/1.4.3-casecxx +++ /dev/null @@ -1,11 +0,0 @@ ---- configure -+++ configure -@@ -1466,7 +1466,7 @@ - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) -- aix_use_runtimelinking=yes -+# aix_use_runtimelinking=yes - break - ;; - esac diff --git a/eclass/ELT-patches/aixrtl/1.4.3-needversion b/eclass/ELT-patches/aixrtl/1.4.3-needversion deleted file mode 100644 index c5c3b8cd9995..000000000000 --- a/eclass/ELT-patches/aixrtl/1.4.3-needversion +++ /dev/null @@ -1,11 +0,0 @@ ---- configure -+++ configure -@@ -1964,7 +1964,7 @@ - aix4* | aix5*) - version_type=linux - need_lib_prefix=no -- need_version=no -+ need_version=yes - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 diff --git a/eclass/ELT-patches/aixrtl/1.4d-cmds-c b/eclass/ELT-patches/aixrtl/1.4d-cmds-c new file mode 100644 index 000000000000..ec1c8cd7381c --- /dev/null +++ b/eclass/ELT-patches/aixrtl/1.4d-cmds-c @@ -0,0 +1,9 @@ +--- configure ++++ configure +@@ -4678,5 +4688,5 @@ + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" +- archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" ++ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"'~${STRIP} -e $output_objdir/$soname~{ echo "#!$soname"; cat $export_symbols; } > $output_objdir/$libname.imp~$RM $output_objdir/$realname; $AR $AR_FLAGS $output_objdir/$realname $output_objdir/$libname.imp $output_objdir/$soname~set dummy $linknames; linknames=; shift; '"while eval 'test \$''# -gt 0'; do eval 'test \"x\$''1\" = \"x\$soname\"' || eval 'linknames=\"\$''linknames \$''1\"'; shift; done" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' diff --git a/eclass/ELT-patches/aixrtl/1.4d-cmds-cxx b/eclass/ELT-patches/aixrtl/1.4d-cmds-cxx new file mode 100644 index 000000000000..1eb99f97bf53 --- /dev/null +++ b/eclass/ELT-patches/aixrtl/1.4d-cmds-cxx @@ -0,0 +1,10 @@ +--- configure ++++ configure +@@ -2508,6 +2508,6 @@ + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + +- archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" ++ archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"'~${STRIP} -e $output_objdir/$soname~{ echo "#!$soname"; cat $export_symbols; } > $output_objdir/$libname.imp~$RM $output_objdir/$realname; $AR $AR_FLAGS $output_objdir/$realname $output_objdir/$libname.imp $output_objdir/$soname~set dummy $linknames; linknames=; shift; '"while eval 'test \$''# -gt 0'; do eval 'test \"x\$''1\" = \"x\$soname\"' || eval 'linknames=\"\$''linknames \$''1\"'; shift; done" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' diff --git a/eclass/ELT-patches/aixrtl/1.4d-noundef-c b/eclass/ELT-patches/aixrtl/1.4d-noundef-c new file mode 100644 index 000000000000..e4fe86e16810 --- /dev/null +++ b/eclass/ELT-patches/aixrtl/1.4d-noundef-c @@ -0,0 +1,9 @@ +--- configure ++++ configure +@@ -4678,5 +4678,5 @@ + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. +- allow_undefined_flag='-berok' ++ allow_undefined_flag=unsupported + # Determine the default libpath from the value encoded in an empty executable. diff --git a/eclass/ELT-patches/aixrtl/1.4d-noundef-cxx b/eclass/ELT-patches/aixrtl/1.4d-noundef-cxx new file mode 100644 index 000000000000..b997057598ff --- /dev/null +++ b/eclass/ELT-patches/aixrtl/1.4d-noundef-cxx @@ -0,0 +1,9 @@ +--- configure ++++ configure +@@ -2508,5 +2508,5 @@ + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. +- allow_undefined_flag_CXX='-berok' ++ allow_undefined_flag_CXX=unsupported + # Determine the default libpath from the value encoded in an empty executable. diff --git a/eclass/ELT-patches/aixrtl/1.4d-postinst b/eclass/ELT-patches/aixrtl/1.4d-postinst new file mode 100644 index 000000000000..cb6de550dc86 --- /dev/null +++ b/eclass/ELT-patches/aixrtl/1.4d-postinst @@ -0,0 +1,15 @@ +--- configure ++++ configure +@@ -1029,7 +1029,11 @@ + # If using run time linking (on AIX 4.2 or later) use lib<name>.so + # instead of lib<name>.a to let people know that these are not + # typical AIX shared libraries. +- library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' ++ library_names_spec='${libname}${release}${shared_ext}${versuffix}.a ${libname}${release}${shared_ext}$major $libname${shared_ext}' ++ soname_spec='${libname}${release}${shared_ext}$major' ++ # we ship the shared object as part of the import archive, ++ # and unpack the shared object for standalone access. ++ postinstall_cmds='rm -f $destdir/$dlname~$AR x $destdir/$realname $destdir/$dlname' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. diff --git a/eclass/ELT-patches/aixrtl/1.4d-use-rtl-c b/eclass/ELT-patches/aixrtl/1.4d-use-rtl-c new file mode 100644 index 000000000000..9b2d227ef465 --- /dev/null +++ b/eclass/ELT-patches/aixrtl/1.4d-use-rtl-c @@ -0,0 +1,11 @@ +--- configure ++++ configure +@@ -4606,7 +4606,7 @@ + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi +- aix_use_runtimelinking=no ++ aix_use_runtimelinking=yes + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we diff --git a/eclass/ELT-patches/aixrtl/1.4d-use-rtl-cxx b/eclass/ELT-patches/aixrtl/1.4d-use-rtl-cxx new file mode 100644 index 000000000000..fb223cbc401a --- /dev/null +++ b/eclass/ELT-patches/aixrtl/1.4d-use-rtl-cxx @@ -0,0 +1,11 @@ +--- configure ++++ configure +@@ -2436,7 +2436,7 @@ + exp_sym_flag='-Bexport' + no_entry_flag="" + else +- aix_use_runtimelinking=no ++ aix_use_runtimelinking=yes + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we diff --git a/eclass/ELT-patches/aixrtl/1.4.0d-Ggcc b/eclass/ELT-patches/aixrtl/1.4d-with-G-gcc index 14cfa29c4053..478685ad4dc9 100644 --- a/eclass/ELT-patches/aixrtl/1.4.0d-Ggcc +++ b/eclass/ELT-patches/aixrtl/1.4d-with-G-gcc @@ -1,10 +1,12 @@ --- configure +++ configure -@@ -4657,6 +4657,7 @@ +@@ -4657,6 +4657,9 @@ fi esac shared_flag='-shared' -+ shared_flag="$shared_flag "'${wl}-G' ++ if test "$aix_use_runtimelinking" = yes; then ++ shared_flag="$shared_flag "'${wl}-G ${wl}-bernotok' ++ fi else # not using gcc if test "$host_cpu" = ia64; then diff --git a/eclass/ELT-patches/aixrtl/1.4d-with-G-gxx b/eclass/ELT-patches/aixrtl/1.4d-with-G-gxx new file mode 100644 index 000000000000..845438416dbe --- /dev/null +++ b/eclass/ELT-patches/aixrtl/1.4d-with-G-gxx @@ -0,0 +1,12 @@ +--- configure ++++ configure +@@ -2487,6 +2487,9 @@ + fi + esac + shared_flag='-shared' ++ if test "$aix_use_runtimelinking" = yes; then ++ shared_flag="$shared_flag "'${wl}-G ${wl}-bernotok' ++ fi + else + # not using gcc + if test "$host_cpu" = ia64; then diff --git a/eclass/ELT-patches/aixrtl/1.4d-with-G-xlc b/eclass/ELT-patches/aixrtl/1.4d-with-G-xlc new file mode 100644 index 000000000000..cfcfb5baf337 --- /dev/null +++ b/eclass/ELT-patches/aixrtl/1.4d-with-G-xlc @@ -0,0 +1,11 @@ +--- configure ++++ configure +@@ -4665,7 +4665,7 @@ + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then +- shared_flag='${wl}-G' ++ shared_flag='${wl}-G ${wl}-bernotok' + else + shared_flag='${wl}-bM:SRE' + fi diff --git a/eclass/ELT-patches/aixrtl/1.4d-with-G-xlcxx b/eclass/ELT-patches/aixrtl/1.4d-with-G-xlcxx new file mode 100644 index 000000000000..8d0959098f22 --- /dev/null +++ b/eclass/ELT-patches/aixrtl/1.4d-with-G-xlcxx @@ -0,0 +1,11 @@ +--- configure ++++ configure +@@ -2495,7 +2495,7 @@ + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then +- shared_flag='${wl}-G' ++ shared_flag='${wl}-G ${wl}-bernotok' + else + shared_flag='${wl}-bM:SRE' + fi diff --git a/eclass/ELT-patches/aixrtl/1.5-postinst b/eclass/ELT-patches/aixrtl/1.5-postinst new file mode 100644 index 000000000000..f6212322acc2 --- /dev/null +++ b/eclass/ELT-patches/aixrtl/1.5-postinst @@ -0,0 +1,15 @@ +--- configure ++++ configure +@@ -1156,7 +1156,11 @@ + # If using run time linking (on AIX 4.2 or later) use lib<name>.so + # instead of lib<name>.a to let people know that these are not + # typical AIX shared libraries. +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ++ library_names_spec='${libname}${release}${shared_ext}${versuffix}.a ${libname}${release}${shared_ext}$major $libname${shared_ext}' ++ soname_spec='${libname}${release}${shared_ext}$major' ++ # we ship the shared object as part of the import archive, ++ # and unpack the shared object for standalone access. ++ postinstall_cmds='rm -f $destdir/$dlname~$AR x $destdir/$realname $destdir/$dlname' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. diff --git a/eclass/ELT-patches/aixrtl/1.5.00-casertl b/eclass/ELT-patches/aixrtl/1.5.00-casertl deleted file mode 100644 index d035ea82b6a9..000000000000 --- a/eclass/ELT-patches/aixrtl/1.5.00-casertl +++ /dev/null @@ -1,11 +0,0 @@ ---- configure.aixrtl 2007-04-03 11:08:36 +0200 -+++ configure 2007-04-03 11:13:25 +0200 -@@ -15941,7 +15941,7 @@ - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) -- aix_use_runtimelinking=yes -+# aix_use_runtimelinking=yes - break - ;; - esac diff --git a/eclass/ELT-patches/aixrtl/1.5.12-Ggcc b/eclass/ELT-patches/aixrtl/1.5.12-Ggcc deleted file mode 100644 index f8954fa4d55a..000000000000 --- a/eclass/ELT-patches/aixrtl/1.5.12-Ggcc +++ /dev/null @@ -1,11 +0,0 @@ ---- configure -+++ configure -@@ -5402,7 +5402,7 @@ - fi - esac - shared_flag='-shared' -- if test "$aix_use_runtimelinking" = yes; then -+ if true || test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else diff --git a/eclass/ELT-patches/aixrtl/1.5.12-Ggxx b/eclass/ELT-patches/aixrtl/1.5.12-Ggxx deleted file mode 100644 index 90017a359e01..000000000000 --- a/eclass/ELT-patches/aixrtl/1.5.12-Ggxx +++ /dev/null @@ -1,11 +0,0 @@ ---- configure -+++ configure -@@ -2796,7 +2796,7 @@ - fi - esac - shared_flag='-shared' -- if test "$aix_use_runtimelinking" = yes; then -+ if true || test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else diff --git a/eclass/ELT-patches/aixrtl/1.5.12-with-G-gcc b/eclass/ELT-patches/aixrtl/1.5.12-with-G-gcc new file mode 100644 index 000000000000..7fe024ffd6ff --- /dev/null +++ b/eclass/ELT-patches/aixrtl/1.5.12-with-G-gcc @@ -0,0 +1,11 @@ +--- configure ++++ configure +@@ -5403,7 +5403,7 @@ + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then +- shared_flag="$shared_flag "'${wl}-G' ++ shared_flag="$shared_flag "'${wl}-G ${wl}-bernotok' + fi + else + # not using gcc diff --git a/eclass/ELT-patches/aixrtl/1.5.12-with-G-gxx b/eclass/ELT-patches/aixrtl/1.5.12-with-G-gxx new file mode 100644 index 000000000000..c9db9c1cb5e6 --- /dev/null +++ b/eclass/ELT-patches/aixrtl/1.5.12-with-G-gxx @@ -0,0 +1,11 @@ +--- configure ++++ configure +@@ -2797,7 +2797,7 @@ + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then +- shared_flag="$shared_flag "'${wl}-G' ++ shared_flag="$shared_flag "'${wl}-G ${wl}-bernotok' + fi + else + # not using gcc diff --git a/eclass/ELT-patches/aixrtl/1.5.22-Ggcc b/eclass/ELT-patches/aixrtl/1.5.22-Ggcc deleted file mode 100644 index 798b3b71e2c3..000000000000 --- a/eclass/ELT-patches/aixrtl/1.5.22-Ggcc +++ /dev/null @@ -1,11 +0,0 @@ ---- configure -+++ configure -@@ -5726,7 +5726,7 @@ - ;; - esac - shared_flag='-shared' -- if test "$aix_use_runtimelinking" = yes; then -+ if true || test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else diff --git a/eclass/ELT-patches/aixrtl/1.5.22-Ggxx b/eclass/ELT-patches/aixrtl/1.5.22-Ggxx deleted file mode 100644 index 10f3ccc122c4..000000000000 --- a/eclass/ELT-patches/aixrtl/1.5.22-Ggxx +++ /dev/null @@ -1,11 +0,0 @@ ---- configure -+++ configure -@@ -2932,7 +2932,7 @@ - ;; - esac - shared_flag='-shared' -- if test "$aix_use_runtimelinking" = yes; then -+ if true || test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else diff --git a/eclass/ELT-patches/aixrtl/1.5.22-Gxlc b/eclass/ELT-patches/aixrtl/1.5.22-Gxlc deleted file mode 100644 index 73e88e82f0aa..000000000000 --- a/eclass/ELT-patches/aixrtl/1.5.22-Gxlc +++ /dev/null @@ -1,11 +0,0 @@ ---- configure -+++ configure -@@ -12902,7 +12902,7 @@ - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else -- if test "$aix_use_runtimelinking" = yes; then -+ if true || test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' diff --git a/eclass/ELT-patches/aixrtl/1.5.22-cmds-c b/eclass/ELT-patches/aixrtl/1.5.22-cmds-c new file mode 100644 index 000000000000..e90153e2b67c --- /dev/null +++ b/eclass/ELT-patches/aixrtl/1.5.22-cmds-c @@ -0,0 +1,11 @@ +--- configure.orig 2009-12-04 17:59:31 +0100 ++++ configure 2009-12-04 18:02:29 +0100 +@@ -8603,7 +8603,7 @@ + if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" +- archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" ++ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"'~${STRIP} -e $output_objdir/$soname~{ echo "#!$soname"; cat $export_symbols; } > $output_objdir/$libname.imp~rm -f $output_objdir/$realname; $AR $AR_FLAGS $output_objdir/$realname $output_objdir/$libname.imp $output_objdir/$soname~set dummy $linknames; linknames=; shift; '"while eval 'test \$''# -gt 0'; do eval 'test \"x\$''1\" = \"x\$soname\"' || eval 'linknames=\"\$''linknames \$''1\"'; shift; done" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' diff --git a/eclass/ELT-patches/aixrtl/1.5.22-cmds-cxx b/eclass/ELT-patches/aixrtl/1.5.22-cmds-cxx new file mode 100644 index 000000000000..5154cd546da4 --- /dev/null +++ b/eclass/ELT-patches/aixrtl/1.5.22-cmds-cxx @@ -0,0 +1,10 @@ +--- configure ++++ configure +@@ -2956,6 +2956,6 @@ + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + +- archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" ++ archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"'~${STRIP} -e $output_objdir/$soname~{ echo "#!$soname"; cat $export_symbols; } > $output_objdir/$libname.imp~$RM $output_objdir/$realname; $AR $AR_FLAGS $output_objdir/$realname $output_objdir/$libname.imp $output_objdir/$soname~set dummy $linknames; linknames=; shift; '"while eval 'test \$''# -gt 0'; do eval 'test \"x\$''1\" = \"x\$soname\"' || eval 'linknames=\"\$''linknames \$''1\"'; shift; done" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' diff --git a/eclass/ELT-patches/aixrtl/1.5.22-with-G-xlc b/eclass/ELT-patches/aixrtl/1.5.22-with-G-xlc new file mode 100644 index 000000000000..e1dcb9ad5504 --- /dev/null +++ b/eclass/ELT-patches/aixrtl/1.5.22-with-G-xlc @@ -0,0 +1,11 @@ +--- configure ++++ configure +@@ -5737,7 +5741,7 @@ + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then +- shared_flag='${wl}-G' ++ shared_flag='${wl}-G ${wl}-bernotok' + else + shared_flag='${wl}-bM:SRE' + fi diff --git a/eclass/ELT-patches/aixrtl/1.5.26-needversion b/eclass/ELT-patches/aixrtl/1.5.26-needversion deleted file mode 100644 index 8d6079fef632..000000000000 --- a/eclass/ELT-patches/aixrtl/1.5.26-needversion +++ /dev/null @@ -1,11 +0,0 @@ ---- configure -+++ configure -@@ -1371,7 +1371,7 @@ - aix[[4-9]]*) - version_type=linux - need_lib_prefix=no -- need_version=no -+ need_version=yes - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 diff --git a/eclass/ELT-patches/aixrtl/2.1b-Ggxx b/eclass/ELT-patches/aixrtl/2.1b-Ggxx deleted file mode 100644 index 9b5f0250641a..000000000000 --- a/eclass/ELT-patches/aixrtl/2.1b-Ggxx +++ /dev/null @@ -1,11 +0,0 @@ ---- configure -+++ configure -@@ -5478,7 +5478,7 @@ - fi - esac - shared_flag='-shared' -- if test "$aix_use_runtimelinking" = yes; then -+ if true || test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else diff --git a/eclass/ELT-patches/aixrtl/2.1b-Gxlc b/eclass/ELT-patches/aixrtl/2.1b-Gxlc deleted file mode 100644 index f513019c29af..000000000000 --- a/eclass/ELT-patches/aixrtl/2.1b-Gxlc +++ /dev/null @@ -1,11 +0,0 @@ ---- configure -+++ configure -@@ -5488,7 +5488,7 @@ - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else -- if test "$aix_use_runtimelinking" = yes; then -+ if true || test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' diff --git a/eclass/ELT-patches/aixrtl/2.1b-casecxx b/eclass/ELT-patches/aixrtl/2.1b-casecxx deleted file mode 100644 index 198432a1d93d..000000000000 --- a/eclass/ELT-patches/aixrtl/2.1b-casecxx +++ /dev/null @@ -1,11 +0,0 @@ ---- configure -+++ configure -@@ -5431,7 +5431,7 @@ - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) -- aix_use_runtimelinking=yes -+# aix_use_runtimelinking=yes - break - ;; - esac diff --git a/eclass/ELT-patches/aixrtl/2.1b-cmds-c b/eclass/ELT-patches/aixrtl/2.1b-cmds-c new file mode 100644 index 000000000000..9ade6c8db785 --- /dev/null +++ b/eclass/ELT-patches/aixrtl/2.1b-cmds-c @@ -0,0 +1,11 @@ +--- configure ++++ configure +@@ -4622,7 +4622,7 @@ + if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" +- archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" ++ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"'~${STRIP} -e $output_objdir/$soname~{ echo "#!$soname"; cat $export_symbols; } > $output_objdir/$libname.imp~$RM $output_objdir/$realname; $AR $AR_FLAGS $output_objdir/$realname $output_objdir/$libname.imp $output_objdir/$soname~set dummy $linknames; linknames=; shift; '"while eval 'test \$''# -gt 0'; do eval 'test \"x\$''1\" = \"x\$soname\"' || eval 'func_append linknames \" \$''1\"'; shift; done" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' diff --git a/eclass/ELT-patches/aixrtl/2.1b-cmds-cxx b/eclass/ELT-patches/aixrtl/2.1b-cmds-cxx new file mode 100644 index 000000000000..b56facc6a712 --- /dev/null +++ b/eclass/ELT-patches/aixrtl/2.1b-cmds-cxx @@ -0,0 +1,11 @@ +--- configure ++++ configure +@@ -5567,7 +5567,7 @@ + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + +- archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" ++ archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"'~${STRIP} -e $output_objdir/$soname~{ echo "#!$soname"; cat $export_symbols; } > $output_objdir/$libname.imp~$RM $output_objdir/$realname; $AR $AR_FLAGS $output_objdir/$realname $output_objdir/$libname.imp $output_objdir/$soname~set dummy $linknames; linknames=; shift; '"while eval 'test \$''# -gt 0'; do eval 'test \"x\$''1\" = \"x\$soname\"' || eval 'func_append linknames \" \$''1\"'; shift; done" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' diff --git a/eclass/ELT-patches/aixrtl/2.1b-noundef-c b/eclass/ELT-patches/aixrtl/2.1b-noundef-c new file mode 100644 index 000000000000..d29b123031bb --- /dev/null +++ b/eclass/ELT-patches/aixrtl/2.1b-noundef-c @@ -0,0 +1,11 @@ +--- configure ++++ configure +@@ -4622,7 +4622,7 @@ + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. +- allow_undefined_flag='-berok' ++ allow_undefined_flag=unsupported + # Determine the default libpath from the value encoded in an + # empty executable. + cat >conftest.$ac_ext <<_ACEOF diff --git a/eclass/ELT-patches/aixrtl/2.1b-noundef-cxx b/eclass/ELT-patches/aixrtl/2.1b-noundef-cxx new file mode 100644 index 000000000000..d7863daf565b --- /dev/null +++ b/eclass/ELT-patches/aixrtl/2.1b-noundef-cxx @@ -0,0 +1,11 @@ +--- configure ++++ configure +@@ -5567,7 +5567,7 @@ + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. +- allow_undefined_flag_CXX='-berok' ++ allow_undefined_flag_CXX=unsupported + # Determine the default libpath from the value encoded in an empty + # executable. + cat >conftest.$ac_ext <<_ACEOF diff --git a/eclass/ELT-patches/aixrtl/2.1b-use-rtl-cxx b/eclass/ELT-patches/aixrtl/2.1b-use-rtl-cxx new file mode 100644 index 000000000000..e73aecf52fe2 --- /dev/null +++ b/eclass/ELT-patches/aixrtl/2.1b-use-rtl-cxx @@ -0,0 +1,11 @@ +--- configure ++++ configure +@@ -5488,7 +5488,7 @@ + exp_sym_flag='-Bexport' + no_entry_flag="" + else +- aix_use_runtimelinking=no ++ aix_use_runtimelinking=yes + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we diff --git a/eclass/ELT-patches/aixrtl/2.1b-with-G-gxx b/eclass/ELT-patches/aixrtl/2.1b-with-G-gxx new file mode 100644 index 000000000000..04190aa9389f --- /dev/null +++ b/eclass/ELT-patches/aixrtl/2.1b-with-G-gxx @@ -0,0 +1,11 @@ +--- configure ++++ configure +@@ -5479,7 +5479,7 @@ + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then +- shared_flag="$shared_flag "'${wl}-G' ++ shared_flag="$shared_flag "'${wl}-G ${wl}-bernotok' + fi + else + # not using gcc diff --git a/eclass/ELT-patches/aixrtl/2.1b-with-G-xlcxx b/eclass/ELT-patches/aixrtl/2.1b-with-G-xlcxx new file mode 100644 index 000000000000..8fba1321800c --- /dev/null +++ b/eclass/ELT-patches/aixrtl/2.1b-with-G-xlcxx @@ -0,0 +1,11 @@ +--- configure ++++ configure +@@ -5554,7 +5554,7 @@ + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then +- shared_flag='${wl}-G' ++ shared_flag='${wl}-G ${wl}-bernotok' + else + shared_flag='${wl}-bM:SRE' + fi diff --git a/eclass/libtool.eclass b/eclass/libtool.eclass index def0f2e840d0..ca65070406ff 100644 --- a/eclass/libtool.eclass +++ b/eclass/libtool.eclass @@ -1,6 +1,6 @@ # Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/libtool.eclass,v 1.88 2010/05/11 04:45:48 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/libtool.eclass,v 1.89 2010/05/20 08:22:15 haubi Exp $ # # Maintainer: base-system@gentoo.org # @@ -170,8 +170,8 @@ elibtoolize() { elt_patches="${elt_patches} uclibc-conf uclibc-ltconf" case "${CHOST}" in - *-aix*) - elt_patches="${elt_patches} hardcode aixrtl" + *-aix*) # see bug #213277 + elt_patches="${elt_patches} hardcode aixrtl aix-noundef" ;; *-darwin*) elt_patches="${elt_patches} darwin-ltconf darwin-ltmain darwin-conf" diff --git a/eclass/multilib.eclass b/eclass/multilib.eclass index 39b30fcd4061..768a3beaa32c 100644 --- a/eclass/multilib.eclass +++ b/eclass/multilib.eclass @@ -1,6 +1,6 @@ # Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/multilib.eclass,v 1.77 2009/10/08 20:10:56 grobian Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/multilib.eclass,v 1.78 2010/05/20 08:22:15 haubi Exp $ # @ECLASS: multilib.eclass # @MAINTAINER: @@ -532,7 +532,6 @@ get_libname() { case ${CHOST} in *-cygwin|mingw*|*-mingw*) libname="dll";; *-darwin*) libname="dylib";; - *-aix*) libname="a";; *-mint*) libname="irrelevant";; hppa*-hpux*) libname="sl";; *) libname="so";; @@ -544,7 +543,6 @@ get_libname() { for ver in "$@" ; do case ${CHOST} in *-darwin*) echo ".${ver}.${libname}";; - *-aix*) echo ".${libname}";; *-mint*) echo ".${libname}";; *) echo ".${libname}.${ver}";; esac |