changeset 1725:cce02bcc9e1c

Use only those *_unlocked macros that are declared.
author Jim Meyering <jim@meyering.net>
date Sun, 07 Mar 1999 16:59:21 +0000
parents 6b18b85b9da9
children 834635b785fe
files m4/jm-glibc-io.m4
diffstat 1 files changed, 19 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/m4/jm-glibc-io.m4
+++ b/m4/jm-glibc-io.m4
@@ -1,23 +1,28 @@
-#serial 1
+#serial 2
 
 dnl From Jim Meyering.
 dnl
 dnl See if the glibc *_unlocked I/O macros are available.
+dnl Use only those *_unlocked macros that are declared.
 dnl
 
 AC_DEFUN(jm_FUNC_GLIBC_UNLOCKED_IO,
-  [AC_CHECK_FUNCS(				\
-    clearerr_unlocked				\
-    feof_unlocked				\
-    ferror_unlocked				\
-    fflush_unlocked				\
-    fputc_unlocked				\
-    fread_unlocked				\
-    fwrite_unlocked				\
-    getc_unlocked				\
-    getchar_unlocked				\
-    putc_unlocked				\
-    putchar_unlocked				\
-   )
+  [
+    io_functions='clearerr_unlocked feof_unlocked ferror_unlocked
+    fflush_unlocked fputc_unlocked fread_unlocked fwrite_unlocked
+    getc_unlocked getchar_unlocked putc_unlocked putchar_unlocked'
+    for jm_io_func in $io_functions; do
+      # Check for the existence of each function only if its declared.
+      # Otherwise, we'd get the Solaris5.5.1 functions that are not
+      # declared, and that have been removed from Solaris5.6.  The resulting
+      # 5.5.1 binaries would not run on 5.6 due to shared library differences.
+      jm_CHECK_DECLARATIONS([#include <stdio.h>
+			    ], $jm_io_func,
+			    jm_declared=yes,
+			    jm_declared=no)
+      if test $jm_declared = yes; then
+        AC_CHECK_FUNCS($jm_io_func)
+      fi
+    done
   ]
 )