From: Alexandre Oliva Date: Sun, 7 Mar 1999 22:34:30 +0000 (+0000) Subject: * ltconfig.in (enable_fast_install): force it to no only if we X-Git-Tag: release-1-2f~82 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=39088c67ab1d558df7f74ca176ac7a32feb1d2e3;p=thirdparty%2Flibtool.git * ltconfig.in (enable_fast_install): force it to no only if we need relink; in the other cases, set it to needless * ltmain.in (fast_install): if needless, set relink_command empty * doc/libtool.texi (fast_install, shlibpath_overrides_runpath): document the new behavior --- diff --git a/ChangeLog b/ChangeLog index 8ea34c403..75d33830f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 1999-03-07 Alexandre Oliva + * ltconfig.in (enable_fast_install): force it to no only if we + need relink; in the other cases, set it to needless + * ltmain.in (fast_install): if needless, set relink_command empty + * doc/libtool.texi (fast_install, shlibpath_overrides_runpath): + document the new behavior + * ltconfig.in (enable_fast_install): test whether it can be forced off after shlibpath_overrides_runpath and enable_shared are set diff --git a/doc/libtool.texi b/doc/libtool.texi index f35ade7d0..6c4f69bc5 100644 --- a/doc/libtool.texi +++ b/doc/libtool.texi @@ -3457,6 +3457,23 @@ Commands to extract exported symbols from @var{libobjs} to the file @var{export_symbols}. @end defvar +@defvar fast_install +Determines whether libtool will privilege the installer or the +developer. The assumption is that installers will seldom run programs +in the build tree, and the developer will seldom install. This is only +meaningful on platforms in which @var{shlibpath_overrides_runpath} is +not @samp{yes}, so @var{fast_install} will be set to @samp{needless} in +this case. If @var{fast_install} set to @samp{yes}, libtool will create +programs that search for installed libraries, and, if a program is run +in the build tree, a new copy will be linked on-demand to use the +yet-to-be-installed libraries. If set to @samp{no}, libtool will create +programs that use the yet-to-be-installed libraries, and will link +a new copy of the program at install time. The default value is +@samp{yes} or @samp{needless}, depending on platform and configuration +flags, and it can be turned from @samp{yes} to @samp{no} with the +configure flag @samp{--disable-fast-install}. +@end defvar + @defvar finish_cmds Commands to tell the dynamic linker how to find shared libraries in a specific directory. @@ -3622,11 +3639,10 @@ hardcode in the resulting executable. Indicates whether it is possible to override the hard-coded library search path of a program with an environment variable. If this is set to no, libtool may have to create two copies of a program in the build -tree, one to be installed and one to be run in the build tree only. The -latter will be created on-demand, only if the program is actually run in -the build tree. If this is set to yes, libtool will set -@code{shlibpath_var} in the wrapper script before starting the program. -The default value is unknown, which is equivalent to no. +tree, one to be installed and one to be run in the build tree only. +When each of these copies is created depends on the value of +@code{fast_install}. The default value is @samp{unknown}, which is +equivalent to @samp{no}. @end defvar @defvar shlibpath_var diff --git a/ltconfig.in b/ltconfig.in index 07b6b86f3..3d75dc320 100755 --- a/ltconfig.in +++ b/ltconfig.in @@ -1868,11 +1868,13 @@ test "$enable_shared" = yes || enable_static=yes echo "checking whether to build static libraries... $enable_static" 1>&6 -if test "$hardcode_action" = relink || - test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not supported/necessary +if test "$hardcode_action" = relink; then + # Fast installation is not supported enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless fi echo $ac_n "checking for objdir... $ac_c" 1>&6 diff --git a/ltmain.in b/ltmain.in index 5833fce35..3b5cbc23e 100644 --- a/ltmain.in +++ b/ltmain.in @@ -2538,15 +2538,15 @@ static const void *lt_preloaded_setup() { # AGH! Flame the AIX and HP-UX people for me, will ya? $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 $echo "$modename: \`$output' will be relinked during installation" 1>&2 - elif test "$shlibpath_overrides_rpath" = yes; then - # Fast installation is not necessary - link_command="$finalize_var$compile_command$finalize_rpath" - relink_command= else - if test "$fast_install" = yes; then + if test "$fast_install" != no; then link_command="$finalize_var$compile_command$finalize_rpath" - relink_command="$compile_var$compile_command$compile_rpath" - relink_command=`echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` + if test "$fast_install" = yes; then + relink_command=`echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` + else + # needless + relink_command= + fi else link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath"