Thanks, I pushed the following to gnulib; does it fix your problem? --- ChangeLog | 14 ++++++++++++++ lib/fpending.h | 9 ++++----- m4/fpending.m4 | 23 ++++++++++++++--------- modules/fpending | 2 +- 4 files changed, 33 insertions(+), 15 deletions(-)
diff --git a/ChangeLog b/ChangeLog index b850fb6..3c8eb4d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2013-08-11 Paul Eggert <egg...@cs.ucla.edu> + + fpending: port to recent Cygwin change to stdio_ext.h + Reported by LRN in + <http://lists.gnu.org/archive/html/bug-gnulib/2013-08/msg00028.html>. + * lib/fpending.h: Don't worry about HAVE_DECL___FPENDING; + just declare __fpending unless it's a macro. + A duplicate decl shouldn't hurt. + * m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending + call compiles and links, instead of separately checking for + decl and lib function. + * modules/fpending (configure-ac): + Adjust to fpending.m4's renaming of shell variable. + 2013-08-10 Paul Eggert <egg...@cs.ucla.edu> sys_time: port to OpenBSD diff --git a/lib/fpending.h b/lib/fpending.h index bf40d37..4eca3f1 100644 --- a/lib/fpending.h +++ b/lib/fpending.h @@ -20,11 +20,10 @@ #include <stddef.h> #include <stdio.h> +#if HAVE_STDIO_EXT_H +# include <stdio_ext.h> +#endif -#if HAVE_DECL___FPENDING -# if HAVE_STDIO_EXT_H -# include <stdio_ext.h> -# endif -#else +#ifndef __fpending size_t __fpending (FILE *); #endif diff --git a/m4/fpending.m4 b/m4/fpending.m4 index 8f58562..c8d9e8b 100644 --- a/m4/fpending.m4 +++ b/m4/fpending.m4 @@ -1,4 +1,4 @@ -# serial 19 +# serial 20 # Copyright (C) 2000-2001, 2004-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation @@ -16,14 +16,19 @@ dnl we have to grub around in the FILE struct. AC_DEFUN([gl_FUNC_FPENDING], [ AC_CHECK_HEADERS_ONCE([stdio_ext.h]) - AC_CHECK_FUNCS_ONCE([__fpending]) - fp_headers=' -# include <stdio.h> -# if HAVE_STDIO_EXT_H -# include <stdio_ext.h> -# endif -' - AC_CHECK_DECLS([__fpending], , , $fp_headers) + AC_CACHE_CHECK([for __fpending], [gl_cv_func___fpending], + [ + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include <stdio.h> + #if HAVE_STDIO_EXT_H + # include <stdio_ext.h> + #endif + ]], + [[return ! __fpending (stdin);]])], + [gl_cv_func___fpending=yes], + [gl_cv_func___fpending=no]) + ]) ]) AC_DEFUN([gl_PREREQ_FPENDING], diff --git a/modules/fpending b/modules/fpending index 0b14898..1375eb1 100644 --- a/modules/fpending +++ b/modules/fpending @@ -10,7 +10,7 @@ Depends-on: configure.ac: gl_FUNC_FPENDING -if test $ac_cv_func___fpending = no; then +if test $gl_cv_func___fpending = no; then AC_LIBOBJ([fpending]) gl_PREREQ_FPENDING fi -- 1.7.11.7