File: autoconf.info, Node: Transformation Examples, Next: Transformation Rules, Prev: Transformation Options, Up: Transforming Names 15.7.2 Transformation Examples ------------------------------ 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.