source: web/old/remctl-2.14/m4/vamacros.m4 @ f6f3e91

web
Last change on this file since f6f3e91 was f6f3e91, checked in by Jessica B. Hamrick <jhamrick@…>, 15 years ago

Preserve directory hierarchy (not sure what happened to it)

  • Property mode set to 100644
File size: 1.9 KB
Line 
1dnl Check for support for variadic macros.
2dnl
3dnl This file defines two macros for probing for compiler support for variadic
4dnl macros.  Provided are RRA_C_C99_VAMACROS, which checks for support for the
5dnl C99 variadic macro syntax, namely:
6dnl
7dnl     #define macro(...) fprintf(stderr, __VA_ARGS__)
8dnl
9dnl and RRA_C_GNU_VAMACROS, which checks for support for the older GNU
10dnl variadic macro syntax, namely:
11dnl
12dnl    #define macro(args...) fprintf(stderr, args)
13dnl
14dnl They set HAVE_C99_VAMACROS or HAVE_GNU_VAMACROS as appropriate.
15dnl
16dnl Written by Russ Allbery <rra@stanford.edu>
17dnl Copyright 2006, 2008, 2009
18dnl     Board of Trustees, Leland Stanford Jr. University
19dnl
20dnl See LICENSE for licensing terms.
21
22AC_DEFUN([_RRA_C_C99_VAMACROS_SOURCE], [[
23#include <stdio.h>
24#define error(...) fprintf(stderr, __VA_ARGS__)
25
26int
27main(void) {
28    error("foo");
29    error("foo %d", 0);
30    return 0;
31}
32]])
33
34AC_DEFUN([RRA_C_C99_VAMACROS],
35[AC_CACHE_CHECK([for C99 variadic macros], [rra_cv_c_c99_vamacros],
36    [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_RRA_C_C99_VAMACROS_SOURCE])],
37        [rra_cv_c_c99_vamacros=yes],
38        [rra_cv_c_c99_vamacros=no])])
39 AS_IF([test $rra_cv_c_c99_vamacros = yes],
40    [AC_DEFINE([HAVE_C99_VAMACROS], 1,
41        [Define if the compiler supports C99 variadic macros.])])])
42
43AC_DEFUN([_RRA_C_GNU_VAMACROS_SOURCE], [[
44#include <stdio.h>
45#define error(args...) fprintf(stderr, args)
46
47int
48main(void) {
49    error("foo");
50    error("foo %d", 0);
51    return 0;
52}
53]])
54
55AC_DEFUN([RRA_C_GNU_VAMACROS],
56[AC_CACHE_CHECK([for GNU-style variadic macros], [rra_cv_c_gnu_vamacros],
57    [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_RRA_C_GNU_VAMACROS_SOURCE])],
58        [rra_cv_c_gnu_vamacros=yes],
59        [rra_cv_c_gnu_vamacros=no])])
60 AS_IF([test $rra_cv_c_gnu_vamacros = yes],
61    [AC_DEFINE([HAVE_GNU_VAMACROS], 1,
62        [Define if the compiler supports GNU-style variadic macros.])])])
Note: See TracBrowser for help on using the repository browser.