changeset 4403:8c6310a47379

Test for ssize_t. Needed for portability to mingw32.
author Bruno Haible <bruno@clisp.org>
date Wed, 25 Jun 2003 09:20:53 +0000
parents 703b52f7f7ea
children d53571cbde51
files ChangeLog m4/safe-read.m4 m4/ssize_t.m4 m4/xreadlink.m4 modules/safe-read modules/xreadlink
diffstat 6 files changed, 38 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2003-06-22  Bruno Haible  <bruno@clisp.org>
+
+	* modules/safe-read: Add m4/ssize_t.m4.
+	* modules/xreadlink: Add m4/ssize_t.m4.
+
 2003-06-11  Simon Josefsson  <jas@extundo.com>
 
 	* modules/sysexits: New file.
--- a/m4/safe-read.m4
+++ b/m4/safe-read.m4
@@ -1,5 +1,5 @@
-# safe-read.m4 serial 1
-dnl Copyright (C) 2002 Free Software Foundation, Inc.
+# safe-read.m4 serial 2
+dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
 dnl This file is free software, distributed under the terms of the GNU
 dnl General Public License.  As a special exception to the GNU General
 dnl Public License, this file may be distributed as part of a program
@@ -14,5 +14,6 @@
 # Prerequisites of lib/safe-read.c.
 AC_DEFUN([gl_PREREQ_SAFE_READ],
 [
+  AC_REQUIRE([gt_TYPE_SSIZE_T])
   AC_CHECK_HEADERS_ONCE(unistd.h)
 ])
new file mode 100644
--- /dev/null
+++ b/m4/ssize_t.m4
@@ -0,0 +1,26 @@
+# ssize_t.m4 serial 2 (gettext-0.12.2)
+dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License.  As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+
+dnl From Bruno Haible.
+dnl Test whether ssize_t is defined.
+
+AC_DEFUN([gt_TYPE_SSIZE_T],
+[
+  AC_CHECK_HEADERS_ONCE(unistd.h)
+  AC_CACHE_CHECK([for ssize_t], gt_cv_ssize_t,
+    [AC_TRY_COMPILE([
+#include <sys/types.h>
+#if HAVE_UNISTD_H
+#include <unistd.h>
+#endif], [int x = sizeof (ssize_t *) + sizeof (ssize_t);],
+       gt_cv_ssize_t=yes, gt_cv_ssize_t=no)])
+  if test $gt_cv_ssize_t = no; then
+    AC_DEFINE(ssize_t, int,
+              [Define as a signed type of the same size as size_t.])
+  fi
+])
--- a/m4/xreadlink.m4
+++ b/m4/xreadlink.m4
@@ -1,4 +1,4 @@
-# xreadlink.m4 serial 2
+# xreadlink.m4 serial 3
 dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
 dnl This file is free software, distributed under the terms of the GNU
 dnl General Public License.  As a special exception to the GNU General
@@ -9,5 +9,6 @@
 AC_DEFUN([gl_XREADLINK],
 [
   dnl Prerequisites of lib/xreadlink.c.
+  AC_REQUIRE([gt_TYPE_SSIZE_T])
   AC_CHECK_HEADERS_ONCE(stdlib.h sys/types.h unistd.h)
 ])
--- a/modules/safe-read
+++ b/modules/safe-read
@@ -5,6 +5,7 @@
 lib/safe-read.h
 lib/safe-read.c
 m4/safe-read.m4
+m4/ssize_t.m4
 
 Depends-on:
 
--- a/modules/xreadlink
+++ b/modules/xreadlink
@@ -5,6 +5,7 @@
 lib/xreadlink.h
 lib/xreadlink.c
 m4/xreadlink.m4
+m4/ssize_t.m4
 
 Depends-on:
 xalloc