mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-01 03:04:19 +00:00
Merged revisions 200985 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ........ r200985 | kpfleming | 2009-06-16 11:32:36 -0500 (Tue, 16 Jun 2009) | 7 lines 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/branches/1.6.0@200986 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
# Helper function to check for gcc attributes.
|
# 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],
|
AC_DEFUN([AST_GCC_ATTRIBUTE],
|
||||||
[
|
[
|
||||||
@@ -7,10 +7,17 @@ AC_MSG_CHECKING(for compiler 'attribute $1' support)
|
|||||||
saved_CFLAGS="$CFLAGS"
|
saved_CFLAGS="$CFLAGS"
|
||||||
CFLAGS="$CFLAGS -Wall -Wno-unused -Werror"
|
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"
|
if test "x$2" = "x"
|
||||||
then
|
then
|
||||||
AC_COMPILE_IFELSE(
|
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_MSG_RESULT(yes)
|
||||||
AC_DEFINE_UNQUOTED([HAVE_ATTRIBUTE_$1], 1, [Define to 1 if your GCC C compiler supports the '$1' attribute.]),
|
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
|
else
|
||||||
AC_COMPILE_IFELSE(
|
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_MSG_RESULT(yes)
|
||||||
AC_DEFINE_UNQUOTED([HAVE_ATTRIBUTE_$1], 1, [Define to 1 if your GCC C compiler supports the '$1' attribute.]),
|
AC_DEFINE_UNQUOTED([HAVE_ATTRIBUTE_$1], 1, [Define to 1 if your GCC C compiler supports the '$1' attribute.]),
|
||||||
|
|||||||
77
configure
vendored
77
configure
vendored
@@ -17396,6 +17396,13 @@ $as_echo_n "checking for compiler 'attribute pure' support... " >&6; }
|
|||||||
saved_CFLAGS="$CFLAGS"
|
saved_CFLAGS="$CFLAGS"
|
||||||
CFLAGS="$CFLAGS -Wall -Wno-unused -Werror"
|
CFLAGS="$CFLAGS -Wall -Wno-unused -Werror"
|
||||||
|
|
||||||
|
if test "x" = "x"
|
||||||
|
then
|
||||||
|
attribute_scope="static"
|
||||||
|
else
|
||||||
|
attribute_scope=""
|
||||||
|
fi
|
||||||
|
|
||||||
if test "x" = "x"
|
if test "x" = "x"
|
||||||
then
|
then
|
||||||
cat >conftest.$ac_ext <<_ACEOF
|
cat >conftest.$ac_ext <<_ACEOF
|
||||||
@@ -17404,7 +17411,7 @@ _ACEOF
|
|||||||
cat confdefs.h >>conftest.$ac_ext
|
cat confdefs.h >>conftest.$ac_ext
|
||||||
cat >>conftest.$ac_ext <<_ACEOF
|
cat >>conftest.$ac_ext <<_ACEOF
|
||||||
/* end confdefs.h. */
|
/* end confdefs.h. */
|
||||||
static void __attribute__((pure)) *test(void *muffin, ...) {return (void *) 0;}
|
$attribute_scope void __attribute__((pure)) *test(void *muffin, ...) {return (void *) 0;}
|
||||||
int
|
int
|
||||||
main ()
|
main ()
|
||||||
{
|
{
|
||||||
@@ -17455,7 +17462,7 @@ _ACEOF
|
|||||||
cat confdefs.h >>conftest.$ac_ext
|
cat confdefs.h >>conftest.$ac_ext
|
||||||
cat >>conftest.$ac_ext <<_ACEOF
|
cat >>conftest.$ac_ext <<_ACEOF
|
||||||
/* end confdefs.h. */
|
/* end confdefs.h. */
|
||||||
static void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
|
$attribute_scope void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
|
||||||
int
|
int
|
||||||
main ()
|
main ()
|
||||||
{
|
{
|
||||||
@@ -17510,6 +17517,13 @@ $as_echo_n "checking for compiler 'attribute malloc' support... " >&6; }
|
|||||||
saved_CFLAGS="$CFLAGS"
|
saved_CFLAGS="$CFLAGS"
|
||||||
CFLAGS="$CFLAGS -Wall -Wno-unused -Werror"
|
CFLAGS="$CFLAGS -Wall -Wno-unused -Werror"
|
||||||
|
|
||||||
|
if test "x" = "x"
|
||||||
|
then
|
||||||
|
attribute_scope="static"
|
||||||
|
else
|
||||||
|
attribute_scope=""
|
||||||
|
fi
|
||||||
|
|
||||||
if test "x" = "x"
|
if test "x" = "x"
|
||||||
then
|
then
|
||||||
cat >conftest.$ac_ext <<_ACEOF
|
cat >conftest.$ac_ext <<_ACEOF
|
||||||
@@ -17518,7 +17532,7 @@ _ACEOF
|
|||||||
cat confdefs.h >>conftest.$ac_ext
|
cat confdefs.h >>conftest.$ac_ext
|
||||||
cat >>conftest.$ac_ext <<_ACEOF
|
cat >>conftest.$ac_ext <<_ACEOF
|
||||||
/* end confdefs.h. */
|
/* end confdefs.h. */
|
||||||
static void __attribute__((malloc)) *test(void *muffin, ...) {return (void *) 0;}
|
$attribute_scope void __attribute__((malloc)) *test(void *muffin, ...) {return (void *) 0;}
|
||||||
int
|
int
|
||||||
main ()
|
main ()
|
||||||
{
|
{
|
||||||
@@ -17569,7 +17583,7 @@ _ACEOF
|
|||||||
cat confdefs.h >>conftest.$ac_ext
|
cat confdefs.h >>conftest.$ac_ext
|
||||||
cat >>conftest.$ac_ext <<_ACEOF
|
cat >>conftest.$ac_ext <<_ACEOF
|
||||||
/* end confdefs.h. */
|
/* end confdefs.h. */
|
||||||
static void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
|
$attribute_scope void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
|
||||||
int
|
int
|
||||||
main ()
|
main ()
|
||||||
{
|
{
|
||||||
@@ -17624,6 +17638,13 @@ $as_echo_n "checking for compiler 'attribute const' support... " >&6; }
|
|||||||
saved_CFLAGS="$CFLAGS"
|
saved_CFLAGS="$CFLAGS"
|
||||||
CFLAGS="$CFLAGS -Wall -Wno-unused -Werror"
|
CFLAGS="$CFLAGS -Wall -Wno-unused -Werror"
|
||||||
|
|
||||||
|
if test "x" = "x"
|
||||||
|
then
|
||||||
|
attribute_scope="static"
|
||||||
|
else
|
||||||
|
attribute_scope=""
|
||||||
|
fi
|
||||||
|
|
||||||
if test "x" = "x"
|
if test "x" = "x"
|
||||||
then
|
then
|
||||||
cat >conftest.$ac_ext <<_ACEOF
|
cat >conftest.$ac_ext <<_ACEOF
|
||||||
@@ -17632,7 +17653,7 @@ _ACEOF
|
|||||||
cat confdefs.h >>conftest.$ac_ext
|
cat confdefs.h >>conftest.$ac_ext
|
||||||
cat >>conftest.$ac_ext <<_ACEOF
|
cat >>conftest.$ac_ext <<_ACEOF
|
||||||
/* end confdefs.h. */
|
/* end confdefs.h. */
|
||||||
static void __attribute__((const)) *test(void *muffin, ...) {return (void *) 0;}
|
$attribute_scope void __attribute__((const)) *test(void *muffin, ...) {return (void *) 0;}
|
||||||
int
|
int
|
||||||
main ()
|
main ()
|
||||||
{
|
{
|
||||||
@@ -17683,7 +17704,7 @@ _ACEOF
|
|||||||
cat confdefs.h >>conftest.$ac_ext
|
cat confdefs.h >>conftest.$ac_ext
|
||||||
cat >>conftest.$ac_ext <<_ACEOF
|
cat >>conftest.$ac_ext <<_ACEOF
|
||||||
/* end confdefs.h. */
|
/* end confdefs.h. */
|
||||||
static void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
|
$attribute_scope void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
|
||||||
int
|
int
|
||||||
main ()
|
main ()
|
||||||
{
|
{
|
||||||
@@ -17738,6 +17759,13 @@ $as_echo_n "checking for compiler 'attribute unused' support... " >&6; }
|
|||||||
saved_CFLAGS="$CFLAGS"
|
saved_CFLAGS="$CFLAGS"
|
||||||
CFLAGS="$CFLAGS -Wall -Wno-unused -Werror"
|
CFLAGS="$CFLAGS -Wall -Wno-unused -Werror"
|
||||||
|
|
||||||
|
if test "x" = "x"
|
||||||
|
then
|
||||||
|
attribute_scope="static"
|
||||||
|
else
|
||||||
|
attribute_scope=""
|
||||||
|
fi
|
||||||
|
|
||||||
if test "x" = "x"
|
if test "x" = "x"
|
||||||
then
|
then
|
||||||
cat >conftest.$ac_ext <<_ACEOF
|
cat >conftest.$ac_ext <<_ACEOF
|
||||||
@@ -17746,7 +17774,7 @@ _ACEOF
|
|||||||
cat confdefs.h >>conftest.$ac_ext
|
cat confdefs.h >>conftest.$ac_ext
|
||||||
cat >>conftest.$ac_ext <<_ACEOF
|
cat >>conftest.$ac_ext <<_ACEOF
|
||||||
/* end confdefs.h. */
|
/* end confdefs.h. */
|
||||||
static void __attribute__((unused)) *test(void *muffin, ...) {return (void *) 0;}
|
$attribute_scope void __attribute__((unused)) *test(void *muffin, ...) {return (void *) 0;}
|
||||||
int
|
int
|
||||||
main ()
|
main ()
|
||||||
{
|
{
|
||||||
@@ -17797,7 +17825,7 @@ _ACEOF
|
|||||||
cat confdefs.h >>conftest.$ac_ext
|
cat confdefs.h >>conftest.$ac_ext
|
||||||
cat >>conftest.$ac_ext <<_ACEOF
|
cat >>conftest.$ac_ext <<_ACEOF
|
||||||
/* end confdefs.h. */
|
/* end confdefs.h. */
|
||||||
static void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
|
$attribute_scope void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
|
||||||
int
|
int
|
||||||
main ()
|
main ()
|
||||||
{
|
{
|
||||||
@@ -17852,6 +17880,13 @@ $as_echo_n "checking for compiler 'attribute always_inline' support... " >&6; }
|
|||||||
saved_CFLAGS="$CFLAGS"
|
saved_CFLAGS="$CFLAGS"
|
||||||
CFLAGS="$CFLAGS -Wall -Wno-unused -Werror"
|
CFLAGS="$CFLAGS -Wall -Wno-unused -Werror"
|
||||||
|
|
||||||
|
if test "x" = "x"
|
||||||
|
then
|
||||||
|
attribute_scope="static"
|
||||||
|
else
|
||||||
|
attribute_scope=""
|
||||||
|
fi
|
||||||
|
|
||||||
if test "x" = "x"
|
if test "x" = "x"
|
||||||
then
|
then
|
||||||
cat >conftest.$ac_ext <<_ACEOF
|
cat >conftest.$ac_ext <<_ACEOF
|
||||||
@@ -17860,7 +17895,7 @@ _ACEOF
|
|||||||
cat confdefs.h >>conftest.$ac_ext
|
cat confdefs.h >>conftest.$ac_ext
|
||||||
cat >>conftest.$ac_ext <<_ACEOF
|
cat >>conftest.$ac_ext <<_ACEOF
|
||||||
/* end confdefs.h. */
|
/* end confdefs.h. */
|
||||||
static void __attribute__((always_inline)) *test(void *muffin, ...) {return (void *) 0;}
|
$attribute_scope void __attribute__((always_inline)) *test(void *muffin, ...) {return (void *) 0;}
|
||||||
int
|
int
|
||||||
main ()
|
main ()
|
||||||
{
|
{
|
||||||
@@ -17911,7 +17946,7 @@ _ACEOF
|
|||||||
cat confdefs.h >>conftest.$ac_ext
|
cat confdefs.h >>conftest.$ac_ext
|
||||||
cat >>conftest.$ac_ext <<_ACEOF
|
cat >>conftest.$ac_ext <<_ACEOF
|
||||||
/* end confdefs.h. */
|
/* end confdefs.h. */
|
||||||
static void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
|
$attribute_scope void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
|
||||||
int
|
int
|
||||||
main ()
|
main ()
|
||||||
{
|
{
|
||||||
@@ -17966,6 +18001,13 @@ $as_echo_n "checking for compiler 'attribute deprecated' support... " >&6; }
|
|||||||
saved_CFLAGS="$CFLAGS"
|
saved_CFLAGS="$CFLAGS"
|
||||||
CFLAGS="$CFLAGS -Wall -Wno-unused -Werror"
|
CFLAGS="$CFLAGS -Wall -Wno-unused -Werror"
|
||||||
|
|
||||||
|
if test "x" = "x"
|
||||||
|
then
|
||||||
|
attribute_scope="static"
|
||||||
|
else
|
||||||
|
attribute_scope=""
|
||||||
|
fi
|
||||||
|
|
||||||
if test "x" = "x"
|
if test "x" = "x"
|
||||||
then
|
then
|
||||||
cat >conftest.$ac_ext <<_ACEOF
|
cat >conftest.$ac_ext <<_ACEOF
|
||||||
@@ -17974,7 +18016,7 @@ _ACEOF
|
|||||||
cat confdefs.h >>conftest.$ac_ext
|
cat confdefs.h >>conftest.$ac_ext
|
||||||
cat >>conftest.$ac_ext <<_ACEOF
|
cat >>conftest.$ac_ext <<_ACEOF
|
||||||
/* end confdefs.h. */
|
/* end confdefs.h. */
|
||||||
static void __attribute__((deprecated)) *test(void *muffin, ...) {return (void *) 0;}
|
$attribute_scope void __attribute__((deprecated)) *test(void *muffin, ...) {return (void *) 0;}
|
||||||
int
|
int
|
||||||
main ()
|
main ()
|
||||||
{
|
{
|
||||||
@@ -18025,7 +18067,7 @@ _ACEOF
|
|||||||
cat confdefs.h >>conftest.$ac_ext
|
cat confdefs.h >>conftest.$ac_ext
|
||||||
cat >>conftest.$ac_ext <<_ACEOF
|
cat >>conftest.$ac_ext <<_ACEOF
|
||||||
/* end confdefs.h. */
|
/* end confdefs.h. */
|
||||||
static void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
|
$attribute_scope void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
|
||||||
int
|
int
|
||||||
main ()
|
main ()
|
||||||
{
|
{
|
||||||
@@ -18080,6 +18122,13 @@ $as_echo_n "checking for compiler 'attribute weak' support... " >&6; }
|
|||||||
saved_CFLAGS="$CFLAGS"
|
saved_CFLAGS="$CFLAGS"
|
||||||
CFLAGS="$CFLAGS -Wall -Wno-unused -Werror"
|
CFLAGS="$CFLAGS -Wall -Wno-unused -Werror"
|
||||||
|
|
||||||
|
if test "x""" = "x"
|
||||||
|
then
|
||||||
|
attribute_scope="static"
|
||||||
|
else
|
||||||
|
attribute_scope=""""
|
||||||
|
fi
|
||||||
|
|
||||||
if test "x" = "x"
|
if test "x" = "x"
|
||||||
then
|
then
|
||||||
cat >conftest.$ac_ext <<_ACEOF
|
cat >conftest.$ac_ext <<_ACEOF
|
||||||
@@ -18088,7 +18137,7 @@ _ACEOF
|
|||||||
cat confdefs.h >>conftest.$ac_ext
|
cat confdefs.h >>conftest.$ac_ext
|
||||||
cat >>conftest.$ac_ext <<_ACEOF
|
cat >>conftest.$ac_ext <<_ACEOF
|
||||||
/* end confdefs.h. */
|
/* end confdefs.h. */
|
||||||
static void __attribute__((weak)) *test(void *muffin, ...) {return (void *) 0;}
|
$attribute_scope void __attribute__((weak)) *test(void *muffin, ...) {return (void *) 0;}
|
||||||
int
|
int
|
||||||
main ()
|
main ()
|
||||||
{
|
{
|
||||||
@@ -18139,7 +18188,7 @@ _ACEOF
|
|||||||
cat confdefs.h >>conftest.$ac_ext
|
cat confdefs.h >>conftest.$ac_ext
|
||||||
cat >>conftest.$ac_ext <<_ACEOF
|
cat >>conftest.$ac_ext <<_ACEOF
|
||||||
/* end confdefs.h. */
|
/* end confdefs.h. */
|
||||||
static void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
|
$attribute_scope void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
|
||||||
int
|
int
|
||||||
main ()
|
main ()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -484,7 +484,7 @@ AST_GCC_ATTRIBUTE(const)
|
|||||||
AST_GCC_ATTRIBUTE(unused)
|
AST_GCC_ATTRIBUTE(unused)
|
||||||
AST_GCC_ATTRIBUTE(always_inline)
|
AST_GCC_ATTRIBUTE(always_inline)
|
||||||
AST_GCC_ATTRIBUTE(deprecated)
|
AST_GCC_ATTRIBUTE(deprecated)
|
||||||
AST_GCC_ATTRIBUTE(weak)
|
AST_GCC_ATTRIBUTE(weak, , "")
|
||||||
|
|
||||||
AC_MSG_CHECKING(for -ffunction-sections support)
|
AC_MSG_CHECKING(for -ffunction-sections support)
|
||||||
saved_CFLAGS="${CFLAGS}"
|
saved_CFLAGS="${CFLAGS}"
|
||||||
|
|||||||
Reference in New Issue
Block a user