From 01f0aa766287e796b5a44360dd71935650cd82f4 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Sat, 29 Oct 2005 14:21:02 +0000 Subject: [PATCH] * libltdl/config/ltmain.m4sh (func_mode_link): With `-static', only link statically against uninstalled libtool libraries. Fixes 1.5.x regression to match documented behavior. * NEWS: Updated. --- ChangeLog | 8 ++++++++ NEWS | 2 ++ libltdl/config/ltmain.m4sh | 9 +++++++-- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 27487ac8..fd57f256 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2005-10-29 Howard Chu + + * libltdl/config/ltmain.m4sh (func_mode_link): + With `-static', only link statically against uninstalled + libtool libraries. Fixes 1.5.x regression to match documented + behavior. + * NEWS: Updated. + 2005-10-27 Stepan Kasal * HACKING: Update note about use of `$#' in m4 macros. diff --git a/NEWS b/NEWS index c7c68d30..bb2b2c17 100644 --- a/NEWS +++ b/NEWS @@ -26,6 +26,8 @@ New in 1.9h: 2005-??-??; CVS version 2.1a, Libtool team: * Detection of compiler wrappers like distcc/ccache and $host_alias prefix. * Initial Support for FC (modern Fortran). * Fixed a regression that prevented use of libltdl without autotools. +* Fixed a branch-1-5/HEAD regression to only link uninstalled libraries + statically with `-static'. * Bug fixes. New in 1.9f: 2004-10-23; CVS version 1.9e, Libtool team: diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh index ea982b0d..0c012de2 100644 --- a/libltdl/config/ltmain.m4sh +++ b/libltdl/config/ltmain.m4sh @@ -2218,14 +2218,15 @@ func_mode_link () compile_command="$compile_command $link_static_flag" finalize_command="$finalize_command $link_static_flag" fi + prefer_static_libs=yes else if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi + prefer_static_libs=built fi build_libtool_libs=no build_old_libs=yes - prefer_static_libs=yes break ;; esac @@ -3598,8 +3599,12 @@ func_mode_link () fi link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test "$use_static_libs" = built && test "$installed" = yes; then + use_static_libs=no + fi if test -n "$library_names" && - { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + { test "$use_static_libs" = no || test -z "$old_library"; }; then case $host in *cygwin* | *mingw*) # No point in relinking DLLs because paths are not encoded