diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-11-26 21:20:50 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-11-26 21:20:50 +0000 |
commit | 4d88cfdab51c45dd464f8d8cf893f43a287012d4 (patch) | |
tree | 7b208b24111d20e17d362d1a3bdab092a075a995 /autoconf | |
parent | 688dbc7fa761b7ac61393a0da9049465a84ded78 (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: http://svn.digium.com/svn/asterisk/trunk@159631 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'autoconf')
-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" +] ) |