Previous: , Up: General ideas   [Contents][Index]


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.

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]