build: handle @ALLOCA@-vs-non-recursive make problems
authorJim Meyering <meyering@redhat.com>
Sun, 9 Sep 2012 19:49:42 +0000 (21:49 +0200)
committerJim Meyering <meyering@redhat.com>
Tue, 11 Sep 2012 09:23:16 +0000 (11:23 +0200)
commitada994274cacac427e7a2004e7bd6c16e7f140a7
tree25d7b1318c0c244023bdddd507d6b8fcf07aeaca
parent640fb7a108eec6242c85481fbc0093f67147918b
build: handle @ALLOCA@-vs-non-recursive make problems

Here is a good reason to avoid alloca with non-recursive make.  These:

    $ grep @ALLOCA lib/gnulib.mk
    lib_libcoreutils_a_LIBADD += lib/@ALLOCA@
    lib_libcoreutils_a_DEPENDENCIES += lib/@ALLOCA@

would lead to this, when @ALLOCA@ expands to the empty string,
which is essentially "always", now:

    $ grep ' lib/$' Makefile
    lib_libcoreutils_a_LIBADD = $(gl_LIBOBJS) lib/
    lib_libcoreutils_a_DEPENDENCIES = $(gl_LIBOBJS) lib/

Tell the prefix-adding script not to add a prefix when the word it's
prefixing is "@ALLOCA@".  That is fine for most cases, but what about
when the expansion of @ALLOCA@ is nonempty?

* build-aux/prefix-gnulib-mk (prefix_word): Exclude @ALLOCA@.
* gl/m4/non-recursive-gnulib-prefix-hack.m4: Prefix non-empty
$ALLOCA with "lib/".  FIXME: I'm not sure this is required,
now that we...
Use AC_CONFIG_LIBOBJ_DIR([lib]).
Without using AC_CONFIG_LIBOBJ_DIR([lib]), automake (not autoconf)
would complain of failure to find aclocal.c, due to the use of
AC_LIBSOURCES(alloca.c).
gl/build-aux/prefix-gnulib-mk
gl/m4/non-recursive-gnulib-prefix-hack.m4