ast_gcc_attribute.m4 999 B

123456789101112131415161718192021222324252627282930313233343536
  1. # Helper function to check for gcc attributes.
  2. # AST_GCC_ATTRIBUTE([attribute name], [attribute syntax], [attribute scope], [makeopts flag])
  3. AC_DEFUN([AST_GCC_ATTRIBUTE],
  4. [
  5. AC_MSG_CHECKING(for compiler 'attribute $1' support)
  6. saved_CFLAGS="$CFLAGS"
  7. CFLAGS="$CFLAGS -Wall -Wno-unused -Werror"
  8. m4_ifval([$4],$4=0)
  9. if test "x$2" = "x"
  10. then
  11. AC_COMPILE_IFELSE(
  12. [AC_LANG_PROGRAM([$3 void __attribute__(($1)) *test(void *muffin, ...) {return (void *) 0;}],
  13. [])],
  14. AC_MSG_RESULT(yes)
  15. m4_ifval([$4],$4=1)
  16. AC_DEFINE_UNQUOTED([HAVE_ATTRIBUTE_$1], 1, [Define to 1 if your GCC C compiler supports the '$1' attribute.]),
  17. AC_MSG_RESULT(no)
  18. )
  19. else
  20. AC_COMPILE_IFELSE(
  21. [AC_LANG_PROGRAM([$3 void __attribute__(($2)) *test(void *muffin, ...) {return (void *) 0;}],
  22. [])],
  23. AC_MSG_RESULT(yes)
  24. m4_ifval([$4],$4=1)
  25. AC_DEFINE_UNQUOTED([HAVE_ATTRIBUTE_$1], 1, [Define to 1 if your GCC C compiler supports the '$1' attribute.]),
  26. AC_MSG_RESULT(no)
  27. )
  28. fi
  29. m4_ifval([$4],[AC_SUBST($4)])
  30. CFLAGS="$saved_CFLAGS"
  31. ]
  32. )