Signed-off-by: Alon Bar-Lev <alon.bar...@gmail.com>
---
 m4/ax_varargs.m4 |   78 ++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 55 insertions(+), 23 deletions(-)

diff --git a/m4/ax_varargs.m4 b/m4/ax_varargs.m4
index fd5e8b0..37cdebe 100644
--- a/m4/ax_varargs.m4
+++ b/m4/ax_varargs.m4
@@ -6,18 +6,34 @@ dnl
 dnl @version
 dnl @author James Yonan <j...@yonan.net>, Matthias Andree 
<matthias.and...@web.de>
 AC_DEFUN([AX_CPP_VARARG_MACRO_GCC], [dnl
-    AS_VAR_PUSHDEF([VAR],[ax_cv_cpp_vararg_macro_gcc])dnl
-    AC_CACHE_CHECK([for GNU GCC vararg macro support], VAR, [dnl
-      AC_COMPILE_IFELSE([AC_LANG_SOURCE([
-       #define macro(a, b...) func(a, b)
-       int func(int a, int b, int c);
-       int test() { return macro(1, 2, 3); }
-       ])], [ VAR=yes ], [VAR=no])])
-    if test $VAR = yes ; then
-    AC_DEFINE([HAVE_CPP_VARARG_MACRO_GCC], 1,
-      [Define to 1 if your compiler supports GNU GCC-style variadic macros])
-    fi
-    AS_VAR_POPDEF([VAR])dnl
+       AS_VAR_PUSHDEF([VAR], [ax_cv_cpp_vararg_macro_gcc])dnl
+       AC_CACHE_CHECK(
+               [for GNU GCC vararg macro support],
+               [VAR],
+               [AC_COMPILE_IFELSE(
+                       [AC_LANG_PROGRAM(
+                               ,
+                               [[
+#define macro(a, b...) func(a, b)
+int func(int a, int b, int c);
+int test() { return macro(1, 2, 3); }
+                               ]]
+                       )],
+                       [VAR=yes],
+                       [VAR=no]
+               )]
+       )dnl
+
+       AS_VAR_IF(
+               [VAR],
+               [yes],
+               [AC_DEFINE(
+                       [HAVE_CPP_VARARG_MACRO_GCC],
+                       [1], 
+                       [Define to 1 if your compiler supports GNU GCC-style 
variadic macros]
+               )]
+       )dnl
+       AS_VAR_POPDEF([VAR])dnl
 ])

 dnl @synopsis AX_CPP_VARARG_MACRO_ISO
@@ -28,16 +44,32 @@ dnl
 dnl @version
 dnl @author James Yonan <j...@yonan.net>, Matthias Andree 
<matthias.and...@web.de>
 AC_DEFUN([AX_CPP_VARARG_MACRO_ISO], [dnl
-    AS_VAR_PUSHDEF([VAR],[ax_cv_cpp_vararg_macro_iso])dnl
-    AC_CACHE_CHECK([for ISO C 1999 vararg macro support], VAR, [dnl
-      AC_COMPILE_IFELSE([AC_LANG_SOURCE([
+       AS_VAR_PUSHDEF([VAR],[ax_cv_cpp_vararg_macro_iso])dnl
+       AC_CACHE_CHECK(
+               [for ISO C 1999 vararg macro support],
+               [VAR],
+               [AC_COMPILE_IFELSE(
+                       [AC_LANG_PROGRAM(
+                               ,
+                               [[
 #define macro(a, ...) func(a, __VA_ARGS__)
-       int func(int a, int b, int c);
-       int test() { return macro(1, 2, 3); }
-       ])], [ VAR=yes ], [VAR=no])])
-    if test $VAR = yes ; then
-    AC_DEFINE([HAVE_CPP_VARARG_MACRO_ISO], 1,
-      [Define to 1 if your compiler supports ISO C99 variadic macros])
-    fi
-    AS_VAR_POPDEF([VAR])dnl
+int func(int a, int b, int c);
+int test() { return macro(1, 2, 3); }
+                               ]]
+                       )],
+                       [VAR=yes],
+                       [VAR=no]
+               )]
+       )dnl
+
+       AS_VAR_IF(
+               [VAR],
+               [yes],
+               [AC_DEFINE(
+                       [HAVE_CPP_VARARG_MACRO_ISO],
+                       [1], 
+                       [Define to 1 if your compiler supports ISO C99 variadic 
macros]
+               )]
+       )dnl
+       AS_VAR_POPDEF([VAR])dnl
 ])
-- 
1.7.3.4


Reply via email to