20.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 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, 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.