In install mode, libtool interprets most of the elements of
mode-args as an installation command beginning with
cp
, or a BSD-compatible install
program.
The following components of mode-args are treated specially:
When installing into a temporary staging area, rather than the
final prefix
, this argument is used to reflect the
temporary path, in much the same way automake
uses
DESTDIR
. For instance, if prefix
is /usr/local,
but inst-prefix-dir is /tmp, then the object will be
installed under /tmp/usr/local/. If the installed object
is a libtool library, then the internal fields of that library
will reflect only prefix
, not inst-prefix-dir:
# Directory that this library needs to be installed in: libdir='/usr/local/lib'
not
# Directory that this library needs to be installed in: libdir='/tmp/usr/local/lib'
inst-prefix
is also used to ensure that if the installed
object must be relinked upon installation, that it is relinked
against the libraries in inst-prefix-dir/prefix
,
not prefix
.
In truth, this option is not really intended for use when calling
libtool directly; it is automatically used when libtool --mode=install
calls libtool --mode=relink
. Libtool does this by
analyzing the destination path given in the original
libtool --mode=install
command and comparing it to the
expected installation path established during libtool --mode=link
.
Thus, end-users need change nothing, and automake
-style
make install DESTDIR=/tmp
will Just Work(tm) most of the time.
For systems where fast installation cannot be turned on, relinking
may be needed. In this case, a ‘DESTDIR’ install will fail.
Currently it is not generally possible to install into a temporary staging area that contains needed third-party libraries that are not yet visible at their final location.
The rest of the mode-args are interpreted as arguments to the
cp
or install
command.
The command is run, and any necessary unprivileged post-installation commands are also completed.