Files
asterisk/autoconf/ast_gcc_attribute.m4
Kevin P. Fleming c4acb78d1e Merged revisions 200764 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r200764 | kpfleming | 2009-06-15 20:28:08 -0500 (Mon, 15 Jun 2009) | 11 lines
  
  Ensure that configure-script testing for compiler attributes actually works.
  
  The configure script tests for compiler attributes didn't actually enable
  enough warnings or provide a proper test harness to determine whether the 
  compiler supports the attribute in question or not; this caused gcc 4.1 to
  report that it supports 'weakref', but it doesn't actually support it in the
  way that is needed for our optional API mechanism. The new configure script
  test will properly distinguish between full support and partial support
  for this attribute, among others.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@200766 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-16 01:32:13 +00:00

32 lines
875 B
Plaintext

# Helper function to check for gcc attributes.
# AST_GCC_ATTRIBUTE([attribute name], [attribute syntax])
AC_DEFUN([AST_GCC_ATTRIBUTE],
[
AC_MSG_CHECKING(for compiler 'attribute $1' support)
saved_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Wall -Wno-unused -Werror"
if test "x$2" = "x"
then
AC_COMPILE_IFELSE(
AC_LANG_PROGRAM([static void __attribute__(($1)) *test(void *muffin, ...) {return (void *) 0;}],
[]),
AC_MSG_RESULT(yes)
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([static void __attribute__(($2)) *test(void *muffin, ...) {return (void *) 0;}],
[]),
AC_MSG_RESULT(yes)
AC_DEFINE_UNQUOTED([HAVE_ATTRIBUTE_$1], 1, [Define to 1 if your GCC C compiler supports the '$1' attribute.]),
AC_MSG_RESULT(no)
)
fi
CFLAGS="$saved_CFLAGS"
]
)