Next: Present But Cannot Be Compiled Prev: Defining Directories Up: FAQ
19.6 What is `autom4te.cache'?
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
This is why all these tools, instead of running directly M4, invoke
`autom4te' (Note: autom4te Invocation) 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 Note: 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
automatically generated by info2www