[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: fpending in cygwin
From: |
Paul Eggert |
Subject: |
Re: fpending in cygwin |
Date: |
Sun, 11 Aug 2013 16:38:27 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130803 Thunderbird/17.0.8 |
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 <address@hidden>
+
+ 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 <address@hidden>
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