From b4fdccf87a78d2de32e049e5926e921f002e5ac7 Mon Sep 17 00:00:00 2001 From: Yang Tse Date: Mon, 4 Aug 2008 06:48:11 +0000 Subject: Autoconf 2.62 has changed the behaviour of the AC_AIX macro which we use. Prior versions of autoconf defined _ALL_SOURCE if _AIX was defined. But, autoconf 2.62 version of AC_AIX defines _ALL_SOURCE along with other four preprocessor symbols no matter if the system is AIX or not. To keep the traditional behaviour, as well as an uniform one, across autoconf versions AC_AIX is replaced with our own internal macro. --- CHANGES | 8 ++++++++ acinclude.m4 | 29 +++++++++++++++++++++++++++++ ares/CHANGES | 10 +++++++++- ares/acinclude.m4 | 30 +++++++++++++++++++++++++++++- ares/configure.ac | 4 +++- configure.ac | 6 +++--- 6 files changed, 81 insertions(+), 6 deletions(-) diff --git a/CHANGES b/CHANGES index 92ce699e4..5cba3dc8e 100644 --- a/CHANGES +++ b/CHANGES @@ -6,6 +6,14 @@ Changelog +Yang Tse (4 Aug 2008) +- Autoconf 2.62 has changed the behaviour of the AC_AIX macro which we use. + Prior versions of autoconf defined _ALL_SOURCE if _AIX was defined. 2.62 + version of AC_AIX defines _ALL_SOURCE and other four preprocessor symbols + no matter if the system is AIX or not. To keep the traditional behaviour, + and an uniform one across autoconf versions AC_AIX is replaced with our + own internal macro CURL_CHECK_AIX_ALL_SOURCE. + Daniel Stenberg (4 Aug 2008) - Test case 1041 (added by Daniel Fandrich April 14th) proved a bug where PUT diff --git a/acinclude.m4 b/acinclude.m4 index e644670c2..4c54d5484 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -116,6 +116,34 @@ CURL_DEF_TOKEN $1 ]) +dnl CURL_CHECK_AIX_ALL_SOURCE +dnl ------------------------------------------------- +dnl Provides a replacement of traditional AC_AIX with +dnl an uniform behaviour across all autoconf versions, +dnl and with our own placement rules. + +AC_DEFUN([CURL_CHECK_AIX_ALL_SOURCE], [ + AH_VERBATIM([_ALL_SOURCE], + [/* Define to 1 if OS is AIX. */ +#ifndef _ALL_SOURCE +# undef _ALL_SOURCE +#endif]) + AC_BEFORE([$0], [AC_SYS_LARGEFILE])dnl + AC_BEFORE([$0], [CURL_CONFIGURE_REENTRANT])dnl + AC_MSG_CHECKING([if OS is AIX (to define _ALL_SOURCE)]) + AC_EGREP_CPP([yes_this_is_aix],[ +#ifdef _AIX + yes_this_is_aix +#endif + ],[ + AC_MSG_RESULT([yes]) + AC_DEFINE(_ALL_SOURCE) + ],[ + AC_MSG_RESULT([no]) + ]) +]) + + dnl CURL_CHECK_HEADER_WINDOWS dnl ------------------------------------------------- dnl Check for compilable and valid windows.h header @@ -3504,3 +3532,4 @@ AC_HELP_STRING([--without-ca-path], [Don't use a default CA path]), fi ]) + diff --git a/ares/CHANGES b/ares/CHANGES index d727f4ba2..d23897216 100644 --- a/ares/CHANGES +++ b/ares/CHANGES @@ -1,6 +1,14 @@ Changelog for the c-ares project -* Aug 01 2008 (Yang Tse) +* Aug 4 2008 (Yang Tse) +- Autoconf 2.62 has changed the behaviour of the AC_AIX macro which we use. + Prior versions of autoconf defined _ALL_SOURCE if _AIX was defined. 2.62 + version of AC_AIX defines _ALL_SOURCE and other four preprocessor symbols + no matter if the system is AIX or not. To keep the traditional behaviour, + and an uniform one across autoconf versions AC_AIX is replaced with our + own internal macro CARES_CHECK_AIX_ALL_SOURCE. + +* Aug 1 2008 (Yang Tse) - Configure process now checks if the preprocessor _REENTRANT symbol is already defined. If it isn't currently defined a set of checks are performed to test if its definition is required to make visible to the compiler a set of *_r diff --git a/ares/acinclude.m4 b/ares/acinclude.m4 index bdea38447..a8c867b79 100644 --- a/ares/acinclude.m4 +++ b/ares/acinclude.m4 @@ -47,7 +47,7 @@ AC_DEFUN([CURL_CHECK_COMPILER_ARRAY_SIZE_NEGATIVE], [ ]) -dnl CURL_CHECK_DEF(SYMBOL, [INCLUDES], [SILENT]) +dnl CURL_CHECK_DEF (SYMBOL, [INCLUDES], [SILENT]) dnl ------------------------------------------------- dnl Use the C preprocessor to find out if the given object-style symbol dnl is defined and get its expansion. This macro will not use default @@ -94,6 +94,34 @@ CURL_DEF_TOKEN $1 ]) +dnl CARES_CHECK_AIX_ALL_SOURCE +dnl ------------------------------------------------- +dnl Provides a replacement of traditional AC_AIX with +dnl an uniform behaviour across all autoconf versions, +dnl and with our own placement rules. + +AC_DEFUN([CARES_CHECK_AIX_ALL_SOURCE], [ + AH_VERBATIM([_ALL_SOURCE], + [/* Define to 1 if OS is AIX. */ +#ifndef _ALL_SOURCE +# undef _ALL_SOURCE +#endif]) + AC_BEFORE([$0], [AC_SYS_LARGEFILE])dnl + AC_BEFORE([$0], [CARES_CONFIGURE_REENTRANT])dnl + AC_MSG_CHECKING([if OS is AIX (to define _ALL_SOURCE)]) + AC_EGREP_CPP([yes_this_is_aix],[ +#ifdef _AIX + yes_this_is_aix +#endif + ],[ + AC_MSG_RESULT([yes]) + AC_DEFINE(_ALL_SOURCE) + ],[ + AC_MSG_RESULT([no]) + ]) +]) + + dnl CURL_CHECK_HEADER_WINDOWS dnl ------------------------------------------------- dnl Check for compilable and valid windows.h header diff --git a/ares/configure.ac b/ares/configure.ac index f31896cce..8ba64e7e0 100644 --- a/ares/configure.ac +++ b/ares/configure.ac @@ -64,11 +64,13 @@ AC_CANONICAL_HOST dnl Get system canonical name AC_DEFINE_UNQUOTED(OS, "${host}", [cpu-machine-OS]) -AC_AIX AC_PROG_CC AM_PROG_CC_C_O AC_PROG_INSTALL +dnl This defines _ALL_SOURCE for AIX +CARES_CHECK_AIX_ALL_SOURCE + dnl Our configure and build reentrant settings CARES_CONFIGURE_REENTRANT diff --git a/configure.ac b/configure.ac index 2cd527d9e..f810ccce3 100644 --- a/configure.ac +++ b/configure.ac @@ -129,12 +129,12 @@ AC_CANONICAL_HOST dnl Get system canonical name AC_DEFINE_UNQUOTED(OS, "${host}", [cpu-machine-OS]) -dnl Check for AIX weirdos -AC_AIX - dnl Checks for programs. AC_PROG_CC +dnl This defines _ALL_SOURCE for AIX +CURL_CHECK_AIX_ALL_SOURCE + dnl Our configure and build reentrant settings CURL_CONFIGURE_REENTRANT -- cgit v1.2.3