From 450b97095e27646fcd1e4b83c99477d7253b987b Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Thu, 14 Jun 2012 00:56:40 -0400 Subject: [PATCH] Fix: re-enable compatibility with autoconf < 2.64 > I tried to build the latest urcu (git master e51500) on a Centos 6.2 box, and got: > > jscott@dxi0-62:~/src/userspace-rcu$ make -j4 > CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /users/jscott/src/userspace-rcu/config/missing --run aclocal-1.11 -I > +config > CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /users/jscott/src/userspace-rcu/config/missing --run autoconf > cd . && /bin/sh /users/jscott/src/userspace-rcu/config/missing --run automake-1.11 --foreign > configure:4010: error: possibly undefined macro: m4_ifnblank > If this token and others are legitimate, please use m4_pattern_allow. > See the Autoconf documentation. > make: *** [configure] Error 1 > make: *** Waiting for unfinished jobs.... > > Some digging showed that the macro m4_ifnblank requires autoconf 2.64. Centos 6.2 has autoconf 2.63. :( > > I just worked around it by reverting commit a767fd locally, then I can build fine. Reported-by: John Steele Scott Signed-off-by: Mathieu Desnoyers --- config/ax_tls.m4 | 18 +++++++++++++++++- configure.ac | 2 +- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/config/ax_tls.m4 b/config/ax_tls.m4 index 033e3b1..5ab1a41 100644 --- a/config/ax_tls.m4 +++ b/config/ax_tls.m4 @@ -44,7 +44,23 @@ # modified version of the Autoconf Macro, you may extend this special # exception to the GPL to apply to your modified version as well. -#serial 10 +#serial 11 + +# Define m4_ifblank and m4_ifnblank macros from introduced in +# autotools 2.64 m4sugar.m4 if using an earlier autotools. + +ifdef([m4_ifblank], [], [ +m4_define([m4_ifblank], +[m4_if(m4_translit([[$1]], [ ][ ][ +]), [], [$2], [$3])]) +]) + + +ifdef([m4_ifnblank], [], [ +m4_define([m4_ifnblank], +[m4_if(m4_translit([[$1]], [ ][ ][ +]), [], [$3], [$2])]) +]) AC_DEFUN([AX_TLS], [ AC_MSG_CHECKING(for thread local storage (TLS) class) diff --git a/configure.ac b/configure.ac index db34935..6935939 100644 --- a/configure.ac +++ b/configure.ac @@ -28,7 +28,7 @@ AH_TEMPLATE([CONFIG_RCU_COMPAT_ARCH], [Compatibility mode for i386 which lacks c AH_TEMPLATE([CONFIG_RCU_ARM_HAVE_DMB], [Use the dmb instruction if available for use on ARM.]) AH_TEMPLATE([CONFIG_RCU_TLS], [TLS provided by the compiler.]) -AX_TLS([AC_DEFINE_UNQUOTED([CONFIG_RCU_TLS], $ac_cv_tls)], []) +AX_TLS(AC_DEFINE_UNQUOTED([CONFIG_RCU_TLS], $ac_cv_tls), [:]) # Checks for programs. AC_PROG_CC -- 2.34.1