You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							66 lines
						
					
					
						
							1.4 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							66 lines
						
					
					
						
							1.4 KiB
						
					
					
				| dnl Two functions for checking for availability of C99 style | |
| dnl __VA_ARGS__ and GNU style args... variadic macro support. | |
| 
 | |
| AC_DEFUN([AX_C99_VARIADIC_MACROS], | |
| [ | |
| AH_TEMPLATE([HAS_C99_VARIADIC_MACROS], | |
|   [Defined if the compiler supports C99 style variadic macros with | |
|     __VA_ARGS__.]) | |
| 
 | |
| AC_CACHE_CHECK([for C99 variadic macros], [ac_cv_c99_variadic_macros], | |
| [ | |
|   AC_LANG_ASSERT([C++]) | |
| 
 | |
|   AC_COMPILE_IFELSE( | |
|     [AC_LANG_PROGRAM( | |
|       [[ | |
| #include <cstdio> | |
| #include <cstdlib> | |
|       ]], | |
|       [[ | |
|         using namespace std; | |
| #define MACRO(buf, ...) (sprintf (buf, "%d", __VA_ARGS__)) | |
|         char a[10]; | |
|         MACRO(a, 1); | |
|         if (a[0] != '1') | |
|           abort (); | |
|         if (a[1] != 0) | |
|           abort (); | |
|       ]] | |
|     )], | |
|     [ac_cv_c99_variadic_macros=yes], | |
|     [ac_cv_c99_variadic_macros=no]) | |
| ]) | |
| ]) | |
| 
 | |
| 
 | |
| AC_DEFUN([AX_GNU_VARIADIC_MACROS], | |
| [ | |
| AH_TEMPLATE([HAS_GNU_VARIADIC_MACROS], | |
|   [Defined if the compiler supports GNU style variadic macros.]) | |
| 
 | |
| AC_CACHE_CHECK([for GNU style variadic macros], [ac_cv_gnu_variadic_macros], | |
| [ | |
|   AC_LANG_ASSERT([C++]) | |
| 
 | |
|   AC_COMPILE_IFELSE( | |
|     [AC_LANG_PROGRAM( | |
|       [[ | |
| #include <cstdio> | |
| #include <cstdlib> | |
|       ]], | |
|       [[ | |
|         using namespace std; | |
| #define MACRO(buf, args...) (sprintf (buf, "%d", args)) | |
|         char a[10]; | |
|         MACRO(a, 1); | |
|         if (a[0] != '1') | |
|           abort (); | |
|         if (a[1] != 0) | |
|           abort (); | |
|       ]] | |
|     )], | |
|     [ac_cv_gnu_variadic_macros=yes], | |
|     [ac_cv_gnu_variadic_macros=no]) | |
| ]) | |
| ])
 |