Richard W.M. Jones
2013-Feb-19 15:38 UTC
[Libguestfs] [PATCH] build: Only add 'serial-tests' for automake >= 1.12.
From: "Richard W.M. Jones" <rjones at redhat.com> Earlier versions of automake complain if they get a configuration parameter which they don't understand. The error is: configure.ac:27: error: option 'serial-tests' not recognized Use some m4 hackery to work around this. --- configure.ac | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 105b2e7..b0158c7 100644 --- a/configure.ac +++ b/configure.ac @@ -24,7 +24,21 @@ m4_define([libguestfs_release], [11]) AC_INIT([libguestfs],libguestfs_major.libguestfs_minor.libguestfs_release) AC_CONFIG_AUX_DIR([build-aux]) -AM_INIT_AUTOMAKE([foreign serial-tests]) + +dnl Initialize automake. automake < 1.12 didn't have serial-tests and +dnl gives an error if it sees this, but for automake >= 1.13 +dnl serial-tests is required so we have to include it. Solution is to +dnl test for the version of automake (by running an external command) +dnl and provide it if necessary. Note we have to do this entirely using +dnl m4 macros since automake queries this macro by running +dnl 'autoconf --trace ...'. +m4_define([serial_tests], [ + m4_esyscmd([automake --version | + head -1 | + awk '{split ($NF,a,"."); if (a[1] == 1 && a[2] >= 12) { print "serial-tests" }}' + ]) +]) +AM_INIT_AUTOMAKE(foreign serial_tests) dnl NB: Do not [quote] this parameter. m4_ifndef([AM_SILENT_RULES], [m4_define([AM_SILENT_RULES],[])]) AM_SILENT_RULES([yes]) # make --enable-silent-rules the default. -- 1.8.1.2
Apparently Analagous Threads
- [PATCH] build: Remove support for automake < 1.13.
- [PATCH libguestfs] build: enable automake's color-tests option
- [PATCH libguestfs] build: daemon/do_debug: parameters aren't always unused
- [PATCH] automake: Admit defeat and use 'subdir-objects'.
- [PATCH 1/4] build: Use LT_INIT in configure.ac.