Node:Transformation Examples, Next:, Previous:Transformation Options, Up:Transforming Names



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 a Sun 4 configured with --target=i960-vxworks is normally installed as i960-vxworks-as, rather than as, which could be confused with a native Sun 4 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.