summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Adler <madler@alumni.caltech.edu>2012-02-18 13:55:09 -0800
committerMark Adler <madler@alumni.caltech.edu>2012-02-18 13:55:09 -0800
commit6838df92460eaceaaadd0f13aaea248a6b7c0a1b (patch)
tree14d8c840610fb50571cc01ecb6fa502acc0a24ba
parentd1714a57c59173837fc3d9c027e18ad6a1b6fc52 (diff)
downloadzlib-6838df92460eaceaaadd0f13aaea248a6b7c0a1b.tar.gz
Test for existence of strerror.
SunOS 4.1 claims that it is __STDC__, but it does not have strerror in string.h. Instead of using __STDC__, this puts a direct test for strerror in configure, and uses that information in gzguts.h.
-rwxr-xr-xconfigure16
-rw-r--r--gzguts.h2
2 files changed, 16 insertions, 2 deletions
diff --git a/configure b/configure
index 060acb7..52a50fb 100755
--- a/configure
+++ b/configure
@@ -367,6 +367,21 @@ EOF
fi
fi
+echo >> configure.log
+
+cat > $test.c <<EOF
+#include <string.h>
+#include <errno.h>
+int main() { return strlen(strerror(errno)); }
+EOF
+if try $CC $CFLAGS -o $test $test.c; then
+ echo "Checking for strerror... Yes." | tee -a configure.log
+else
+ CFLAGS="${CFLAGS} -DNO_STRERROR"
+ SFLAGS="${SFLAGS} -DNO_STRERROR"
+ echo "Checking for strerror... No." | tee -a configure.log
+fi
+
cp -p zconf.h.in zconf.h
echo >> configure.log
@@ -435,7 +450,6 @@ int main()
return 0;
}
EOF
-
if try $CC -c $CFLAGS $test.c; then
echo "Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf()." | tee -a configure.log
diff --git a/gzguts.h b/gzguts.h
index f8dd9ad..f162950 100644
--- a/gzguts.h
+++ b/gzguts.h
@@ -100,7 +100,7 @@
# include <windows.h>
# define zstrerror() gz_strwinerror((DWORD)GetLastError())
#else
-# ifdef STDC
+# ifndef NO_STRERROR
# include <errno.h>
# define zstrerror() strerror(errno)
# else