Subject: regression: 1.14 may use ac_aux_dir before it is defined

From: Peter Hutterer <[email-masked]>
Date: Wed, 27 Nov 2013 10:43:42 +1000

automake 1.14 may use $ac_aux_dir before it is defined, leading to error
messages such as 

   /bin/sh: /home/david/missing: No such file or directory

The configure script runs this:

    # expand $ac_aux_dir to an absolute path
    am_aux_dir=`cd $ac_aux_dir && pwd`

before the definition of ac_aux_dir, so $am_aux_dir is always $HOME, which
causes the above error later.

Turns out the culprit is, at least in our case, AC_SYSTEM_EXTENSIONS. Simple
reproducer:

    AC_PREREQ([2.62])
    AC_INIT([test], [0.0])
    AC_USE_SYSTEM_EXTENSIONS
    AM_INIT_AUTOMAKE([1.11 foreign])

    AC_CONFIG_FILES([Makefile])
    AC_OUTPUT

With automake 1.13.4 this works, 1.14 breaks. Moving the call to
AC_USE_SYSTEM_EXTENSIONS below AM_INIT_AUTOMAKE makes it work again. It gets
a bit convoluted to find the direct cause but I suspect it's the AC_PROG_CC
changes in 34001a987a6de, and it looks like AC_USE_SYSTEM_EXTENSIONS calls
that after a few levels of nesting (where I got lost, sorry). In case it
matters, above testcase tested with autoconf from git (v2.69-112-gf181785).

Bisect range:
    good: 1.13.4
    bad: b7bdb2c3f2fb66a2384123670fb47b83d30c4bf9
Bisected to:
    commit 34001a987a6defdb70f6f3c17cce9d9c665fe6e8
    "compile: use 'compile' script when "-c -o" is used with losing compilers"

Cheers,
   Peter