fseeko: Fix C++ test error on mingw.
authorBruno Haible <bruno@clisp.org>
Mon, 5 Apr 2010 16:18:11 +0000 (18:18 +0200)
committerBruno Haible <bruno@clisp.org>
Mon, 5 Apr 2010 16:18:11 +0000 (18:18 +0200)
ChangeLog
m4/fflush.m4
m4/fseeko.m4

index 00eaf9b..055f3c0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
 2010-04-05  Bruno Haible  <bruno@clisp.org>
 
+       fseeko: Fix C++ test error on mingw.
+       * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
+       gl_FUNC_FSEEKO.
+       (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
+       (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
+       * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
+       fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
+
+2010-04-05  Bruno Haible  <bruno@clisp.org>
+
        duplocale: Improve test output.
        * tests/test-duplocale.c (main): Print reason for skipped test.
 
index 56c0aed..90fd94b 100644 (file)
@@ -1,4 +1,4 @@
-# fflush.m4 serial 7
+# fflush.m4 serial 8
 
 # Copyright (C) 2007-2010 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
@@ -67,11 +67,10 @@ AC_DEFUN([gl_FUNC_FFLUSH],
 AC_DEFUN([gl_REPLACE_FFLUSH],
 [
   AC_LIBOBJ([fflush])
-  AC_LIBOBJ([fseeko])
   AC_REQUIRE([gl_STDIO_H_DEFAULTS])
   REPLACE_FFLUSH=1
-  REPLACE_FSEEKO=1
   gl_PREREQ_FFLUSH
+  gl_REPLACE_FSEEKO
 ])
 
 # Prerequisites of lib/fflush.c.
index eff09b1..b97df53 100644 (file)
@@ -1,4 +1,4 @@
-# fseeko.m4 serial 8
+# fseeko.m4 serial 9
 dnl Copyright (C) 2007-2010 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -7,9 +7,25 @@ dnl with or without modifications, as long as this notice is preserved.
 AC_DEFUN([gl_FUNC_FSEEKO],
 [
   AC_REQUIRE([gl_STDIO_H_DEFAULTS])
-  AC_REQUIRE([AC_PROG_CC])
+  AC_REQUIRE([gl_HAVE_FSEEKO])
   AC_REQUIRE([gl_STDIN_LARGE_OFFSET])
 
+  if test $gl_cv_func_fseeko = no; then
+    HAVE_FSEEKO=0
+    gl_REPLACE_FSEEKO
+  else
+    if test $gl_cv_var_stdin_large_offset = no; then
+      gl_REPLACE_FSEEKO
+    fi
+  fi
+])
+
+dnl Tests whether fseeko is available.
+dnl Result is gl_cv_func_fseeko.
+AC_DEFUN([gl_HAVE_FSEEKO],
+[
+  AC_REQUIRE([AC_PROG_CC])
+
   dnl Persuade glibc <stdio.h> to declare fseeko().
   AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
 
@@ -19,20 +35,15 @@ AC_DEFUN([gl_FUNC_FSEEKO],
 ]], [fseeko (stdin, 0, 0);])],
         [gl_cv_func_fseeko=yes], [gl_cv_func_fseeko=no])
     ])
-  if test $gl_cv_func_fseeko = no; then
-    HAVE_FSEEKO=0
-  else
-    if test $gl_cv_var_stdin_large_offset = no; then
-      REPLACE_FSEEKO=1
-    fi
-  fi
-  if test $HAVE_FSEEKO = 0 || test $REPLACE_FSEEKO = 1; then
-    gl_REPLACE_FSEEKO
-  fi
 ])
 
 AC_DEFUN([gl_REPLACE_FSEEKO],
 [
+  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
+  AC_REQUIRE([gl_HAVE_FSEEKO])
+  if test $gl_cv_func_fseeko = yes; then
+    REPLACE_FSEEKO=1
+  fi
   AC_LIBOBJ([fseeko])
   dnl If we are also using the fseek module, then fseek needs replacing, too.
   m4_ifdef([gl_REPLACE_FSEEK], [gl_REPLACE_FSEEK])