From 10ea4910e708eb912395b9fa137dbac2e7868950 Mon Sep 17 00:00:00 2001 From: "Kevin P. Fleming" Date: Tue, 16 Jun 2009 16:32:36 +0000 Subject: 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 --- autoconf/ast_gcc_attribute.m4 | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'autoconf/ast_gcc_attribute.m4') diff --git a/autoconf/ast_gcc_attribute.m4 b/autoconf/ast_gcc_attribute.m4 index 806b39019..f08b2545b 100644 --- a/autoconf/ast_gcc_attribute.m4 +++ b/autoconf/ast_gcc_attribute.m4 @@ -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.]), -- cgit v1.2.3