From: Ralf Wildenhues Date: Sat, 24 Feb 2007 16:11:21 +0000 (+0000) Subject: * doc/libtool.texi (Install mode, libtool script contents): X-Git-Tag: release-2-1b~170 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e34d7507d63faeb4ddaa75b1ecf87ee5aad1aa37;p=thirdparty%2Flibtool.git * doc/libtool.texi (Install mode, libtool script contents): Describe current and system-specific DESTDIR limitations. * tests/destdir.at: XFAIL if `fast_install' is no. --- diff --git a/ChangeLog b/ChangeLog index 50f8be8c8..7663f3c28 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2007-02-24 Ralf Wildenhues + * doc/libtool.texi (Install mode, libtool script contents): + Describe current and system-specific DESTDIR limitations. + * tests/destdir.at: XFAIL if `fast_install' is no. + * doc/libtool.texi (LT_INIT): Fix typo. * doc/libtool.texi (Libtool test suite): Mention the new diff --git a/doc/libtool.texi b/doc/libtool.texi index 13b3202fd..6ee8e6980 100644 --- a/doc/libtool.texi +++ b/doc/libtool.texi @@ -1565,7 +1565,13 @@ analyzing the destination path given in the original expected installation path established during @code{libtool --mode=link}. Thus, end-users need change nothing, and @command{automake}-style -@code{make install DESTDIR=/tmp} will Just Work(tm). +@code{make 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 @@ -5500,6 +5506,11 @@ 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 @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 diff --git a/tests/destdir.at b/tests/destdir.at index b403235a4..75c5a830a 100644 --- a/tests/destdir.at +++ b/tests/destdir.at @@ -22,7 +22,10 @@ AT_BANNER([DESTDIR tests]) # 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