1999-03-07 Alexandre Oliva <oliva@dcc.unicamp.br>
+ * 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
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.
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
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
# 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"