mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-01 19:43:03 +00:00
Fix problems with new compiler attribute checking in configure script.
The last changes to ast_gcc_attribute.m4 caused some problems checking for various attributes, because the scope of the symbol the attribute is applied to can be important; this patch allows the scope to be specified for the check. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@200985 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
# Helper function to check for gcc attributes.
|
||||
# AST_GCC_ATTRIBUTE([attribute name], [attribute syntax])
|
||||
# AST_GCC_ATTRIBUTE([attribute name], [attribute syntax], [attribute scope])
|
||||
|
||||
AC_DEFUN([AST_GCC_ATTRIBUTE],
|
||||
[
|
||||
@@ -7,10 +7,17 @@ AC_MSG_CHECKING(for compiler 'attribute $1' support)
|
||||
saved_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -Wall -Wno-unused -Werror"
|
||||
|
||||
if test "x$3" = "x"
|
||||
then
|
||||
attribute_scope="static"
|
||||
else
|
||||
attribute_scope="$3"
|
||||
fi
|
||||
|
||||
if test "x$2" = "x"
|
||||
then
|
||||
AC_COMPILE_IFELSE(
|
||||
AC_LANG_PROGRAM([static void __attribute__(($1)) *test(void *muffin, ...) {return (void *) 0;}],
|
||||
AC_LANG_PROGRAM([$attribute_scope 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.]),
|
||||
@@ -18,7 +25,7 @@ AC_COMPILE_IFELSE(
|
||||
)
|
||||
else
|
||||
AC_COMPILE_IFELSE(
|
||||
AC_LANG_PROGRAM([static void __attribute__(($2)) *test(void *muffin, ...) {return (void *) 0;}],
|
||||
AC_LANG_PROGRAM([$attribute_scope 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.]),
|
||||
|
||||
Reference in New Issue
Block a user