Node:Transformation Examples, Next:Transformation Rules, Previous:Transformation Options, Up:Transforming Names
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.