Next: Transformation Rules, Previous: Transformation Options, Up: Transforming Program Names When Installing [Contents][Index]
These transformations are useful with programs that can be part of a cross-compilation development environment. For example, a cross-assembler running on x86-64 configured with --target=aarch64-linux-gnu is normally installed as aarch64-linux-gnu-as, rather than as, which could be confused with a native x86-64 assembler.
You can force a program name to begin with g, if you don’t want
GNU programs installed on your system to shadow other programs with
the same name. For example, if you configure GNU diff
with
--program-prefix=g, then when you run ‘make install’ it is
installed as /usr/local/bin/gdiff.
As a more sophisticated example, you could use
--program-transform-name='s/^/g/; s/^gg/g/; s/^gless/less/'
to prepend ‘g’ to most of the program names in a source tree,
excepting those like gdb
that already have one and those like
less
and lesskey
that aren’t GNU programs. (That is
assuming that you have a source tree containing those programs that is
set up to use this feature.)
One way to install multiple versions of some programs simultaneously is to append a version number to the name of one or both. For example, if you want to keep Autoconf version 1 around for awhile, you can configure Autoconf version 2 using --program-suffix=2 to install the programs as /usr/local/bin/autoconf2, /usr/local/bin/autoheader2, etc. Nevertheless, pay attention that only the binaries are renamed, therefore you’d have problems with the library files which might overlap.