1dnl @synopsis AX_CPP_VARARG_MACRO_GCC 2dnl 3dnl Test if the preprocessor understands GNU GCC-style vararg macros. 4dnl If it does, defines HAVE_CPP_VARARG_MACRO_GCC to 1. 5dnl 6dnl @version 7dnl @author James Yonan <jim@yonan.net>, Matthias Andree <matthias.andree@web.de> 8AC_DEFUN([AX_CPP_VARARG_MACRO_GCC], [dnl 9 AS_VAR_PUSHDEF([VAR], [ax_cv_cpp_vararg_macro_gcc])dnl 10 AC_CACHE_CHECK( 11 [for GNU GCC vararg macro support], 12 [VAR], 13 [AC_COMPILE_IFELSE( 14 [AC_LANG_PROGRAM( 15 [[ 16#define macro(a, b...) func(a, b) 17int func(int a, int b, int c); 18 ]], 19 [[ 20int i = macro(1, 2, 3); 21 ]] 22 )], 23 [VAR=yes], 24 [VAR=no] 25 )] 26 )dnl 27 28 AS_VAR_IF( 29 [VAR], 30 [yes], 31 [AC_DEFINE( 32 [HAVE_CPP_VARARG_MACRO_GCC], 33 [1], 34 [Define to 1 if your compiler supports GNU GCC-style variadic macros] 35 )] 36 )dnl 37 AS_VAR_POPDEF([VAR])dnl 38]) 39 40dnl @synopsis AX_CPP_VARARG_MACRO_ISO 41dnl 42dnl Test if the preprocessor understands ISO C 1999 vararg macros. 43dnl If it does, defines HAVE_CPP_VARARG_MACRO_ISO to 1. 44dnl 45dnl @version 46dnl @author James Yonan <jim@yonan.net>, Matthias Andree <matthias.andree@web.de> 47AC_DEFUN([AX_CPP_VARARG_MACRO_ISO], [dnl 48 AS_VAR_PUSHDEF([VAR],[ax_cv_cpp_vararg_macro_iso])dnl 49 AC_CACHE_CHECK( 50 [for ISO C 1999 vararg macro support], 51 [VAR], 52 [AC_COMPILE_IFELSE( 53 [AC_LANG_PROGRAM( 54 [[ 55#define macro(a, ...) func(a, __VA_ARGS__) 56int func(int a, int b, int c); 57 ]], 58 [[ 59int i = macro(1, 2, 3); 60 ]] 61 )], 62 [VAR=yes], 63 [VAR=no] 64 )] 65 )dnl 66 67 AS_VAR_IF( 68 [VAR], 69 [yes], 70 [AC_DEFINE( 71 [HAVE_CPP_VARARG_MACRO_ISO], 72 [1], 73 [Define to 1 if your compiler supports ISO C99 variadic macros] 74 )] 75 )dnl 76 AS_VAR_POPDEF([VAR])dnl 77]) 78