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
autoheader to create config.h.in,
automake to create Makefile.in,
check the completeness of configure.ac,
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 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,
stores information for the other tools, so that when you invoke
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.