getcwd: on Solaris, work better if ancestors are inaccessible
[gnulib.git] / m4 / ssize_t.m4
index 85a5181..e0ccee3 100644 (file)
@@ -1,24 +1,21 @@
-#serial 1
+# ssize_t.m4 serial 4 (gettext-0.15)
+dnl Copyright (C) 2001-2003, 2006, 2009-2010 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
 
-AC_PREREQ(2.14a)
+dnl From Bruno Haible.
+dnl Test whether ssize_t is defined.
 
-dnl This is a specialization of AC_CHECK_TYPE applied to `ssize_t' with
-dnl the difference that it also includes unistd.h on systems that have it.
-dnl On Fujitsu UXP/V systems ssize_t is defined in unistd.h.
-AC_DEFUN(AC_TYPE_SSIZE_T,
-  [
-    AC_CHECK_HEADERS(unistd.h)
-    AC_CHECK_TYPE(ssize_t, int,
-      [
-#include <sys/types.h>
-#if STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#endif
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-      ]
-    )
-  ]
-)
+AC_DEFUN([gt_TYPE_SSIZE_T],
+[
+  AC_CACHE_CHECK([for ssize_t], [gt_cv_ssize_t],
+    [AC_TRY_COMPILE([#include <sys/types.h>],
+       [int x = sizeof (ssize_t *) + sizeof (ssize_t);
+        return !x;],
+       [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
+])