exec-prefix corresponds to the variable exec-prefix for
configure, which passes it on to the Makefile it creates.
exec-prefix sets the root installation for
host-dependent files as follows:
configure supports several more options which allow you to
specify in great detail where different files are installed. The
locations given in this appendix do not take into account highly
customized installations, but fairly ordinary gnats installations
should be covered by the material here. For a complete list of options
./configure --help in the
gnats subdirectory of the distribution.
Since most installations are not intended to be distributed around a network, the default value for exec-prefix is the value of prefix, i.e., /usr/local. However, using exec-prefix saves space when you are installing a package on several different platforms for which many files are identical; rather than duplicate them for each host, these files can be shared in a common repository, and you can use symbolic links on each host to find the host-dependent files.
Use exec-prefix in conjunction with prefix to share
host-independent files, like libraries and
info documents. For
for each host: configure --prefix=/usr/gnu --exec-prefix=/usr/gnu/H-host make all install ...
Using this paradigm, all host-dependent binary files are installed into /usr/gnu/H-host/bin, while files which do not depend on the host type for which they were configured are installed into /usr/gnu.
You can then use a different symbolic link for /usr/gnu on each host (/usr is usually specific to a particular machine; it is always specific to a particular architecture).
on host-1: ln -s /usr/gnu/H-host-1 /usr/gnu on host-2: ln -s /usr/gnu/H-host-2 /usr/gnu
To the end user, then, placing /usr/gnu/bin in her or his
PATH simply works transparently for each host type.
You can change exec-prefix on the command line to
configure --exec-prefix=exec-prefix ...
We recommend that you consult Using
configure (Cygnus configure), before attempting this.