www.delorie.com/gnu/docs/autoconf/autoconf_180.html   search  
Buy the book!


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

17.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 very long process for complex `configure.ac'.

This is why all these tools, instead of running directly M4, invoke autom4te (see section 8.2.1 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 will also store information for the other tools, so that when you invoke autoheader or automake etc., re-processing `configure.ac' is not needed. The speed up is frequently of 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 8.2.2 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 Coreutils is twice slower without the cache although `--force' implies that the cache is not fully exploited, and eight times slower than without `--force'.

  webmaster     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003