automake-1.16: Auxiliary Programs
3.7 Programs automake might require
===================================
Automake sometimes requires helper programs so that the generated
‘Makefile’ can do its work properly. There are a fairly large number of
them, and we list them here.
Although all of these files are distributed and installed with
Automake, a couple of them are maintained separately. The Automake
copies are updated before each release, but we mention the original
source in case you need more recent versions.
‘ar-lib’
This is a wrapper primarily for the Microsoft lib archiver, to make
it more POSIX-like.
‘compile’
This is a wrapper for compilers that do not accept options ‘-c’ and
‘-o’ at the same time. It is only used when absolutely required.
Such compilers are rare, with the Microsoft C/C++ Compiler as the
most notable exception. This wrapper also makes the following
common options available for that compiler, while performing file
name translation where needed: ‘-I’, ‘-L’, ‘-l’, ‘-Wl,’ and
‘-Xlinker’.
‘config.guess’
‘config.sub’
These two programs compute the canonical triplets for the given
build, host, or target architecture. These programs are updated
regularly to support new architectures and fix probes broken by
changes in new kernel versions. Each new release of Automake comes
with up-to-date copies of these programs. If your copy of Automake
is getting old, you are encouraged to fetch the latest versions of
these files from <https://savannah.gnu.org/git/?group=config>
before making a release.
‘depcomp’
This program understands how to run a compiler so that it will
generate not only the desired output but also dependency
information that is then used by the automatic dependency tracking
feature (⇒Dependencies).
‘install-sh’
This is a replacement for the ‘install’ program that works on
platforms where ‘install’ is unavailable or unusable.
‘mdate-sh’
This script is used to generate a ‘version.texi’ file. It examines
a file and prints some date information about it.
‘missing’
This wraps a number of programs that are typically only required by
maintainers. If the program in question doesn’t exist, or seems
too old, ‘missing’ will print an informative warning before failing
out, to provide the user with more context and information.
‘mkinstalldirs’
This script used to be a wrapper around ‘mkdir -p’, which is not
portable. Now we prefer to use ‘install-sh -d’ when ‘configure’
finds that ‘mkdir -p’ does not work, this makes one less script to
distribute.
For backward compatibility ‘mkinstalldirs’ is still used and
distributed when ‘automake’ finds it in a package. But it is no
longer installed automatically, and it should be safe to remove it.
‘py-compile’
This is used to byte-compile Python scripts.
‘test-driver’
This implements the default test driver offered by the parallel
testsuite harness.
‘texinfo.tex’
When Texinfo sources are in the package, this file is required for
‘make dvi’, ‘make ps’ and ‘make pdf’. The latest version can be
downloaded from <https://www.gnu.org/software/texinfo/>. A working
TeX distribution, or at least a ‘tex’ program, is also required.
Furthermore, ‘make dist’ invokes ‘make dvi’, so these become
requirements for making a distribution with Texinfo sources.
‘ylwrap’
This program wraps ‘lex’ and ‘yacc’ to rename their output files.
It also ensures that, for instance, multiple ‘yacc’ instances can
be invoked in a single directory in parallel.