diff options
author | Anthony Baxter <anthonybaxter@gmail.com> | 2003-09-27 09:12:27 +0000 |
---|---|---|
committer | Anthony Baxter <anthonybaxter@gmail.com> | 2003-09-27 09:12:27 +0000 |
commit | c050119de7a7269471cd11d4e1c07a6041983f31 (patch) | |
tree | ef9f72ded6baff92c7fe1a09d10cc5127a8ade01 /aclocal.m4 | |
parent | update one more reference to a file that moved from texinputs/ to (diff) | |
download | cpython-c050119de7a7269471cd11d4e1c07a6041983f31.tar.gz cpython-c050119de7a7269471cd11d4e1c07a6041983f31.tar.bz2 cpython-c050119de7a7269471cd11d4e1c07a6041983f31.zip |
fix for bug #811160 - autoconf vs. hp/ux system header files.
also applied to release23-maint.
Note that aclocal.m4 can go away when autoconf 2.58 is out.
Diffstat (limited to 'aclocal.m4')
-rw-r--r-- | aclocal.m4 | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/aclocal.m4 b/aclocal.m4 new file mode 100644 index 00000000000..0ba88134b6b --- /dev/null +++ b/aclocal.m4 @@ -0,0 +1,57 @@ +# Code swiped wholesale from the GCC project, see +# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12100 + +# This file can go away once autoconf 2.58 is out and being used - +# it's reported that this is fixed in the autoconf cvs already. + +# AC_LANG_FUNC_LINK_TRY(C)(FUNCTION) +# ---------------------------------- +# Don't include <ctype.h> because on OSF/1 3.0 it includes +# <sys/types.h> which includes <sys/select.h> which contains a +# prototype for select. Similarly for bzero. +# +# A similar problem afflicts HP/UX, but it also hits <sys/time.h> +# +# This test used to merely assign f=$1 in main(), but that was +# optimized away by HP unbundled cc A.05.36 for ia64 under +O3, +# presumably on the basis that there's no need to do that store if the +# program is about to exit. Conversely, the AIX linker optimizes an +# unused external declaration that initializes f=$1. So this test +# program has both an external initialization of f, and a use of f in +# main that affects the exit status. +# +m4_define([AC_LANG_FUNC_LINK_TRY(C)], +[AC_LANG_PROGRAM( +[/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $1 (); below. + Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + <limits.h> exists even on freestanding compilers. Under hpux, + including <limits.h> includes <sys/time.h> and causes problems + checking for functions defined therein. */ +#if defined (__STDC__) && !defined (_HPUX_SOURCE) +# include <limits.h> +#else +# include <assert.h> +#endif +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $1 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$1) || defined (__stub___$1) +choke me +#else +char (*f) () = $1; +#endif +#ifdef __cplusplus +} +#endif +], [return f != $1;])]) + + |