mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 18:55: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