diff options
author | Kevin P. Fleming <kpfleming@digium.com> | 2008-11-26 21:20:50 +0000 |
---|---|---|
committer | Kevin P. Fleming <kpfleming@digium.com> | 2008-11-26 21:20:50 +0000 |
commit | e14dfcbedc84a426e751c440cd051660368bb8b2 (patch) | |
tree | 7b208b24111d20e17d362d1a3bdab092a075a995 /autoconf/ast_gcc_attribute.m4 | |
parent | aa0e8886290c1964bbfc9635ac83d477a179d02c (diff) |
improve handling of API calls provided by loaded modules through use of some GCC features; this makes app_stack's usage of AGI APIs even cleaner, and will allow it to work 'as expected' either with or without res_agi being loaded
reviewed at http://reviewboard.digium.com/r/62
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@159631 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'autoconf/ast_gcc_attribute.m4')
-rw-r--r-- | autoconf/ast_gcc_attribute.m4 | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/autoconf/ast_gcc_attribute.m4 b/autoconf/ast_gcc_attribute.m4 index 167bb4e79..c4488454d 100644 --- a/autoconf/ast_gcc_attribute.m4 +++ b/autoconf/ast_gcc_attribute.m4 @@ -1,17 +1,31 @@ # Helper function to check for gcc attributes. -# AST_GCC_ATTRIBUTE([attribute name]) +# 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 -Werror" + +if test "x$2" = "x" +then AC_COMPILE_IFELSE( AC_LANG_PROGRAM([void __attribute__(($1)) *test(void *muffin, ...) {}], []), 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)) -] + AC_MSG_RESULT(no) +) +else +AC_COMPILE_IFELSE( + AC_LANG_PROGRAM([void __attribute__(($2)) *test(void *muffin, ...) {}], + []), + 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" +] ) |