mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-06 04:30:28 +00:00
This change causes the configure script to fail if the C compiler does not support both function attributes constructor and destructor. These were already required as modules cannot function without these attributes and Asterisk requires modules. This also has AST_GCC_ATTRIBUTE set a variable ax_cv_have_func_attribute_$1. This is the same variable name used by autoconf-archive's AX_GCC_FUNC_ATTRIBUTE, used for the same purpose. Change-Id: Id68e8a1447f2a6d707c54b56350e7bfdb33fb663
39 lines
1.0 KiB
Plaintext
39 lines
1.0 KiB
Plaintext
# Helper function to check for gcc attributes.
|
|
# AST_GCC_ATTRIBUTE([attribute name], [attribute syntax], [attribute scope], [makeopts flag])
|
|
|
|
AC_DEFUN([AST_GCC_ATTRIBUTE],
|
|
[
|
|
AC_MSG_CHECKING(for compiler 'attribute $1' support)
|
|
saved_CFLAGS="$CFLAGS"
|
|
CFLAGS="$CFLAGS -Wall -Wno-unused -Werror"
|
|
m4_ifval([$4],$4=0)
|
|
ax_cv_have_func_attribute_$1=0
|
|
|
|
if test "x$2" = "x"
|
|
then
|
|
AC_COMPILE_IFELSE(
|
|
[AC_LANG_PROGRAM([$3 void __attribute__(($1)) *test(void *muffin, ...) {return (void *) 0;}],
|
|
[])],
|
|
AC_MSG_RESULT(yes)
|
|
m4_ifval([$4],$4=1)
|
|
ax_cv_have_func_attribute_$1=1
|
|
AC_DEFINE_UNQUOTED([HAVE_ATTRIBUTE_$1], 1, [Define to 1 if your GCC C compiler supports the '$1' attribute.]),
|
|
AC_MSG_RESULT(no)
|
|
)
|
|
else
|
|
AC_COMPILE_IFELSE(
|
|
[AC_LANG_PROGRAM([$3 void __attribute__(($2)) *test(void *muffin, ...) ;],
|
|
[])],
|
|
AC_MSG_RESULT(yes)
|
|
m4_ifval([$4],$4=1)
|
|
ax_cv_have_func_attribute_$1=1
|
|
AC_DEFINE_UNQUOTED([HAVE_ATTRIBUTE_$1], 1, [Define to 1 if your GCC C compiler supports the '$1' attribute.]),
|
|
AC_MSG_RESULT(no)
|
|
)
|
|
fi
|
|
|
|
m4_ifval([$4],[AC_SUBST($4)])
|
|
CFLAGS="$saved_CFLAGS"
|
|
]
|
|
)
|