Cheers,
Ralf
2007-02-24 Ralf Wildenhues <address@hidden>
* doc/libtool.texi (Install mode, libtool script contents):
Describe current and system-specific DESTDIR limitations.
* tests/destdir.at: XFAIL if `fast_install' is no.
Index: doc/libtool.texi
===================================================================
RCS file: /cvsroot/libtool/libtool/doc/libtool.texi,v
retrieving revision 1.221
diff -u -r1.221 libtool.texi
--- doc/libtool.texi 24 Feb 2007 08:52:13 -0000 1.221
+++ doc/libtool.texi 24 Feb 2007 08:58:27 -0000
@@ -1565,7 +1565,13 @@
expected installation path established during @code{libtool --mode=link}.
Thus, end-users need change nothing, and @command{automake}-style
address@hidden install DESTDIR=/tmp} will Just Work(tm).
address@hidden install DESTDIR=/tmp} will Just Work(tm) most of the time.
+For systems where fast installation can not be turned on, relinking
+may be needed. In this case, a @samp{DESTDIR} install will fail.
+
+Currently it is not generally possible to install into a temporary
+staging area that contains needed third-party libraries which are
+not yet visible at their final location.
@end table
The rest of the @var{mode-args} are interpreted as arguments to the
@@ -5395,6 +5401,11 @@
@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 @option{--disable-fast-install}.
+
+On some systems, the linker always hardcodes paths to dependent libraries
+into the output. In this case, @var{fast_install} is never set to @samp{yes},
+and relinking at install time is triggered. This also means that @var{DESTDIR}
+installation does not work as expected.
@end defvar
@defvar finish_cmds
Index: tests/destdir.at
===================================================================
RCS file: /cvsroot/libtool/libtool/tests/destdir.at,v
retrieving revision 1.3
diff -u -r1.3 destdir.at
--- tests/destdir.at 12 Feb 2007 22:29:05 -0000 1.3
+++ tests/destdir.at 24 Feb 2007 08:58:27 -0000
@@ -22,7 +22,10 @@
# Common setup for the next few tests.
m4_pushdef([_LT_DIRSETUP],
-[LDFLAGS="$LDFLAGS -no-undefined"
+[# DESTDIR installs do not work with relink at install time.
+AT_XFAIL_IF([eval `$LIBTOOL --config | grep '^fast_install='`
+ case $fast_install in no) :;; *) false;; esac])
+LDFLAGS="$LDFLAGS -no-undefined"
if test -n "$we_are_on_a_safe_system"; then # let's read shorter cmdlines.
DESTDIR=/tmp/dest
prefix=/tmp/inst