Next: Header Present But Cannot Be Compiled, Previous: How Do I #define
Installation Directories?, Up: Frequent Autoconf Questions, with answers [Contents][Index]
What is this directory autom4te.cache? Can I safely remove it?
In the GNU Build System, configure.ac plays a central
role and is read by many tools: autoconf
to create
configure, autoheader
to create config.h.in,
automake
to create Makefile.in, autoscan
to
check the completeness of configure.ac, autoreconf
to
check the GNU Build System components that are used. To
“read configure.ac” actually means to compile it with M4,
which can be a long process for complex configure.ac.
This is why all these tools, instead of running directly M4, invoke
autom4te
(see Invoking autom4te
) which, while answering to
a specific demand, stores additional information in
autom4te.cache for future runs. For instance, if you run
autoconf
, behind the scenes, autom4te
also
stores information for the other tools, so that when you invoke
autoheader
or automake
etc., reprocessing
configure.ac is not needed. The speed up is frequently 30%,
and is increasing with the size of configure.ac.
But it is and remains being simply a cache: you can safely remove it.
Can I permanently get rid of it?
The creation of this cache can be disabled from
~/.autom4te.cfg, see Customizing autom4te
, for more
details. You should be aware that disabling the cache slows down the
Autoconf test suite by 40%. The more GNU Build System
components are used, the more the cache is useful; for instance
running ‘autoreconf -f’ on the Core Utilities is twice slower without
the cache although --force implies that the cache is
not fully exploited, and eight times slower than without
--force.