Previous: Variables reserved for the user, Up: General ideas [Contents][Index]
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.
ansi2knr.c
ansi2knr.1
These two files are used for de-ANSI-fication support (they are deprecated now, and will be removed in the next major Automake release; see Automatic de-ANSI-fication (deprecated, soon to be removed)).
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 http://savannah.gnu.org/git/?group=config before making a release.
config-ml.in
This file is not a program, it is a configure fragment used for multilib support (see Support for Multilibs (deprecated, soon to be removed).). Since the Automake multilib support has been deprecated and targeted for removal, this file is going to be removed from the Automake core in the next major release. The master copy of this file is maintained in the GCC tree at http://gcc.gnu.org/svn.html.
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 (see Automatic dependency tracking).
elisp-comp
This program is used to byte-compile Emacs Lisp code.
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,
missing
prints an informative warning and attempts to fix
things so that the build can continue.
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.
symlink-tree
This program duplicates a tree of directories, using symbolic links instead of copying files. Such an operation is performed when building multilibs (see Support for Multilibs (deprecated, soon to be removed).). Since the Automake multilib support has been deprecated and targeted for removal, this file is going to be removed from the Automake core in the next major release. The master copy of this file is maintained in the GCC tree at http://gcc.gnu.org/svn.html.
texinfo.tex
Not a program, this file is required for ‘make dvi’, ‘make ps’ and ‘make pdf’ to work when Texinfo sources are in the package. The latest version can be downloaded from http://www.gnu.org/software/texinfo/.
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.
Previous: Variables reserved for the user, Up: General ideas [Contents][Index]