Merged revisions 214357 via svnmerge from
[asterisk/asterisk.git] / autoconf / ast_gcc_attribute.m4
1 # Helper function to check for gcc attributes.
2 # AST_GCC_ATTRIBUTE([attribute name], [attribute syntax], [attribute scope])
3
4 AC_DEFUN([AST_GCC_ATTRIBUTE],
5 [
6 AC_MSG_CHECKING(for compiler 'attribute $1' support)
7 saved_CFLAGS="$CFLAGS"
8 CFLAGS="$CFLAGS -Wall -Wno-unused -Werror"
9
10 if test "x$2" = "x"
11 then
12 AC_COMPILE_IFELSE(
13         AC_LANG_PROGRAM([$3 void __attribute__(($1)) *test(void *muffin, ...) {return (void *) 0;}],
14                         []),
15         AC_MSG_RESULT(yes)
16         AC_DEFINE_UNQUOTED([HAVE_ATTRIBUTE_$1], 1, [Define to 1 if your GCC C compiler supports the '$1' attribute.]),
17         AC_MSG_RESULT(no)
18 )
19 else
20 AC_COMPILE_IFELSE(
21         AC_LANG_PROGRAM([$3 void __attribute__(($2)) *test(void *muffin, ...) {return (void *) 0;}],
22                         []),
23         AC_MSG_RESULT(yes)
24         AC_DEFINE_UNQUOTED([HAVE_ATTRIBUTE_$1], 1, [Define to 1 if your GCC C compiler supports the '$1' attribute.]),
25         AC_MSG_RESULT(no)
26 )
27 fi
28
29 CFLAGS="$saved_CFLAGS"
30 ]
31 )