summaryrefslogtreecommitdiffstats
path: root/m4
diff options
context:
space:
mode:
Diffstat (limited to 'm4')
-rw-r--r--m4/ax_varargs.m478
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 <jim@yonan.net>, Matthias Andree <matthias.andree@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 <jim@yonan.net>, Matthias Andree <matthias.andree@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
])