mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-02 19:16:15 +00:00
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/trunk@200764 65c4cc65-6c06-0410-ace0-fbb531ad65f3
32 lines
875 B
Plaintext
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"
|
|
]
|
|
)
|