changeset 14943:6e62e423a53b

fpending: Move AC_LIBOBJ invocations to module description. * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from gl_FUNC_FPENDING. (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING invocations from here... * modules/fpending (configure.ac): ... to here.
author Bruno Haible <bruno@clisp.org>
date Sat, 07 May 2011 12:23:53 +0200
parents 4865e1e7bc02
children 69610f25d34f
files ChangeLog m4/fpending.m4 modules/fpending
diffstat 3 files changed, 68 insertions(+), 54 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2011-05-07  Bruno Haible  <bruno@clisp.org>
+
+	fpending: Move AC_LIBOBJ invocations to module description.
+	* m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
+	gl_FUNC_FPENDING.
+	(gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
+	invocations from here...
+	* modules/fpending (configure.ac): ... to here.
+
 2011-05-07  Bruno Haible  <bruno@clisp.org>
 
 	fopen: Move AC_LIBOBJ invocations to module description.
--- a/m4/fpending.m4
+++ b/m4/fpending.m4
@@ -1,4 +1,4 @@
-# serial 15
+# serial 16
 
 # Copyright (C) 2000-2001, 2004-2011 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
@@ -24,60 +24,61 @@
 #     endif
 '
   AC_CHECK_DECLS([__fpending], , , $fp_headers)
-  if test $ac_cv_func___fpending = no; then
-    AC_CACHE_CHECK(
+])
+
+AC_DEFUN([gl_PREREQ_FPENDING],
+[
+  AC_CACHE_CHECK(
               [how to determine the number of pending output bytes on a stream],
-                   ac_cv_sys_pending_output_n_bytes,
-      [
-        for ac_expr in                                                    \
-                                                                          \
-            '# glibc2'                                                    \
-            'fp->_IO_write_ptr - fp->_IO_write_base'                      \
-                                                                          \
-            '# traditional Unix'                                          \
-            'fp->_ptr - fp->_base'                                        \
-                                                                          \
-            '# BSD'                                                       \
-            'fp->_p - fp->_bf._base'                                      \
-                                                                          \
-            '# SCO, Unixware'                                             \
-            '(fp->__ptr ? fp->__ptr - fp->__base : 0)'                    \
-                                                                          \
-            '# QNX'                                                       \
-            '(fp->_Mode & 0x2000 /*_MWRITE*/ ? fp->_Next - fp->_Buf : 0)' \
-                                                                          \
-            '# old glibc?'                                                \
-            'fp->__bufp - fp->__buffer'                                   \
-                                                                          \
-            '# old glibc iostream?'                                       \
-            'fp->_pptr - fp->_pbase'                                      \
-                                                                          \
-            '# emx+gcc'                                                   \
-            'fp->_ptr - fp->_buffer'                                      \
-                                                                          \
-            '# VMS'                                                       \
-            '(*fp)->_ptr - (*fp)->_base'                                  \
-                                                                          \
-            '# e.g., DGUX R4.11; the info is not available'               \
-            1                                                             \
-            ; do
+                 ac_cv_sys_pending_output_n_bytes,
+    [
+      for ac_expr in                                                    \
+                                                                        \
+          '# glibc2'                                                    \
+          'fp->_IO_write_ptr - fp->_IO_write_base'                      \
+                                                                        \
+          '# traditional Unix'                                          \
+          'fp->_ptr - fp->_base'                                        \
+                                                                        \
+          '# BSD'                                                       \
+          'fp->_p - fp->_bf._base'                                      \
+                                                                        \
+          '# SCO, Unixware'                                             \
+          '(fp->__ptr ? fp->__ptr - fp->__base : 0)'                    \
+                                                                        \
+          '# QNX'                                                       \
+          '(fp->_Mode & 0x2000 /*_MWRITE*/ ? fp->_Next - fp->_Buf : 0)' \
+                                                                        \
+          '# old glibc?'                                                \
+          'fp->__bufp - fp->__buffer'                                   \
+                                                                        \
+          '# old glibc iostream?'                                       \
+          'fp->_pptr - fp->_pbase'                                      \
+                                                                        \
+          '# emx+gcc'                                                   \
+          'fp->_ptr - fp->_buffer'                                      \
+                                                                        \
+          '# VMS'                                                       \
+          '(*fp)->_ptr - (*fp)->_base'                                  \
+                                                                        \
+          '# e.g., DGUX R4.11; the info is not available'               \
+          1                                                             \
+          ; do
 
-          # Skip each embedded comment.
-          case "$ac_expr" in '#'*) continue;; esac
-
-          AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>]],
-            [[FILE *fp = stdin; (void) ($ac_expr);]])],
-            [fp_done=yes]
-          )
-          test "$fp_done" = yes && break
-        done
+        # Skip each embedded comment.
+        case "$ac_expr" in '#'*) continue;; esac
 
-        ac_cv_sys_pending_output_n_bytes=$ac_expr
-      ]
-    )
-    AC_DEFINE_UNQUOTED([PENDING_OUTPUT_N_BYTES],
-      $ac_cv_sys_pending_output_n_bytes,
-      [the number of pending output bytes on stream `fp'])
-    AC_LIBOBJ([fpending])
-  fi
+        AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>]],
+          [[FILE *fp = stdin; (void) ($ac_expr);]])],
+          [fp_done=yes]
+        )
+        test "$fp_done" = yes && break
+      done
+
+      ac_cv_sys_pending_output_n_bytes=$ac_expr
+    ]
+  )
+  AC_DEFINE_UNQUOTED([PENDING_OUTPUT_N_BYTES],
+    $ac_cv_sys_pending_output_n_bytes,
+    [the number of pending output bytes on stream `fp'])
 ])
--- a/modules/fpending
+++ b/modules/fpending
@@ -10,6 +10,10 @@
 
 configure.ac:
 gl_FUNC_FPENDING
+if test $ac_cv_func___fpending = no; then
+  AC_LIBOBJ([fpending])
+  gl_PREREQ_FPENDING
+fi
 
 Makefile.am: