File: ast_gcc_attribute.m4

package info (click to toggle)
asterisk 1%3A11.13.1~dfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 43,308 kB
  • sloc: ansic: 550,310; sh: 12,057; cpp: 5,944; makefile: 3,079; perl: 3,076; yacc: 2,156; xml: 675; sql: 406; python: 381; tcl: 113; php: 62
file content (35 lines) | stat: -rw-r--r-- 999 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Helper function to check for gcc attributes.
# AST_GCC_ATTRIBUTE([attribute name], [attribute syntax], [attribute scope], [makeopts flag])

AC_DEFUN([AST_GCC_ATTRIBUTE],
[
AC_MSG_CHECKING(for compiler 'attribute $1' support)
saved_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Wall -Wno-unused -Werror"
m4_ifval([$4],$4=0)

if test "x$2" = "x"
then
AC_COMPILE_IFELSE(
	[AC_LANG_PROGRAM([$3 void __attribute__(($1)) *test(void *muffin, ...) {return (void *) 0;}],
			[])],
	AC_MSG_RESULT(yes)
	m4_ifval([$4],$4=1)
	AC_DEFINE_UNQUOTED([HAVE_ATTRIBUTE_$1], 1, [Define to 1 if your GCC C compiler supports the '$1' attribute.]),
	AC_MSG_RESULT(no)
)
else
AC_COMPILE_IFELSE(
	[AC_LANG_PROGRAM([$3 void __attribute__(($2)) *test(void *muffin, ...) {return (void *) 0;}],
			[])],
	AC_MSG_RESULT(yes)
	m4_ifval([$4],$4=1)
	AC_DEFINE_UNQUOTED([HAVE_ATTRIBUTE_$1], 1, [Define to 1 if your GCC C compiler supports the '$1' attribute.]),
	AC_MSG_RESULT(no)
)
fi

m4_ifval([$4],[AC_SUBST($4)])
CFLAGS="$saved_CFLAGS"
]
)