Subject: automake: autoreconf -i fails if macro dir does not exist (it should automatically create new directories)

From: "David A. Wheeler" <[email-masked]>
Date: Wed, 15 Feb 2012 09:58:20 -0500 (EST)

Problem:
"autoreconf -i" fails if you follow the libtool advice and use put this in configure.ac:
 AC_CONFIG_MACRO_DIR([m4])
and add "-I m4" to ACLOCAL_AMFLAGS in Makefile.am

It will instead report:
aclocal: couldn't open directory `m4': No such file or directory
autoreconf: aclocal failed with exit status: 1

The whole point of "autoreconf -i" is to create "whatever is needed",
and clearly MACRO_DIRs are needed, yet autoreconf fails to do so.  Therefore, this is a bug.

This is *especially* a problem when using the widely-used "git" tool,
because "git" does not store empty directories (only files). The symptom is that
you "git clone" a fresh repository, and then "autoreconf -i" fails.  You can work around this using:
"mkdir m4 ; touch m4/dummy ; git add m4/dummy" or similar, but you shouldn't need
to work around this at all.

This is already a bug report in Debian:
 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=565663
reported against automake 1.11.

Solution:
Please patch aclocal (part of automake) to automatically create these directories.

A patch has already been created in 2010:
  http://permalink.gmane.org/gmane.linux.debian.devel.bugs.general/678260
  http://permalink.gmane.org/gmane.comp.sysutils.automake.patches/3859

--- David A. Wheeler