# HG changeset patch # User Bruno Haible # Date 1056532853 0 # Node ID 8c6310a47379fc752d72c24fe8baaef6f80d1eca # Parent 703b52f7f7eaba9c31a3ee2263c66aae5687d229 Test for ssize_t. Needed for portability to mingw32. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2003-06-22 Bruno Haible + + * modules/safe-read: Add m4/ssize_t.m4. + * modules/xreadlink: Add m4/ssize_t.m4. + 2003-06-11 Simon Josefsson * modules/sysexits: New file. diff --git a/m4/safe-read.m4 b/m4/safe-read.m4 --- 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) ]) diff --git a/m4/ssize_t.m4 b/m4/ssize_t.m4 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 +#if HAVE_UNISTD_H +#include +#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 +]) diff --git a/m4/xreadlink.m4 b/m4/xreadlink.m4 --- 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) ]) diff --git a/modules/safe-read b/modules/safe-read --- 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: diff --git a/modules/xreadlink b/modules/xreadlink --- 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