summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2001-08-18 15:59:02 +0000
committerJim Meyering <jim@meyering.net>2001-08-18 15:59:02 +0000
commit821add521eeee771e9fffaa5508aa0894876b7c6 (patch)
treea9ee4de0bb099fd6ff6d586dde622b0ce9a03f8b /m4
parent1443d5fffa9dfadf7774fa4641da816445d594ad (diff)
downloadcoreutils-821add521eeee771e9fffaa5508aa0894876b7c6.tar.xz
Add AC_PREREQ(2.13).
(jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too. (jm_AC_TYPE_INTMAX_T): New macro. (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
Diffstat (limited to 'm4')
-rw-r--r--m4/inttypes.m442
1 files changed, 38 insertions, 4 deletions
diff --git a/m4/inttypes.m4 b/m4/inttypes.m4
index 9c10135b2..536c31f5f 100644
--- a/m4/inttypes.m4
+++ b/m4/inttypes.m4
@@ -1,9 +1,11 @@
-#serial 4
+#serial 6
dnl From Paul Eggert.
+AC_PREREQ(2.13)
+
# Define HAVE_INTTYPES_H if <inttypes.h> exists,
-# doesn't clash with <sys/types.h>, and declares uintmax_t.
+# doesn't clash with <sys/types.h>, and declares intmax_t and uintmax_t.
AC_DEFUN([jm_AC_HEADER_INTTYPES_H],
[
@@ -11,12 +13,44 @@ AC_DEFUN([jm_AC_HEADER_INTTYPES_H],
[AC_TRY_COMPILE(
[#include <sys/types.h>
#include <inttypes.h>],
- [uintmax_t i = (uintmax_t) -1;],
+ [intmax_t i = (intmax_t) -1; uintmax_t ui = (uintmax_t) -1;],
jm_ac_cv_header_inttypes_h=yes,
jm_ac_cv_header_inttypes_h=no)])
if test $jm_ac_cv_header_inttypes_h = yes; then
AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1,
[Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
- and declares uintmax_t. ])
+ and declares intmax_t and uintmax_t.])
+ fi
+])
+
+# Define intmax_t to long or long long if <inttypes.h> doesn't define.
+
+AC_DEFUN([jm_AC_TYPE_INTMAX_T],
+[
+ AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
+ if test $jm_ac_cv_header_inttypes_h = no; then
+ AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
+ test $ac_cv_type_long_long = yes \
+ && ac_type='long long' \
+ || ac_type='long'
+ AC_DEFINE_UNQUOTED(intmax_t, $ac_type,
+ [Define to long or long long if <inttypes.h> doesn't define.])
+ fi
+])
+
+# Define uintmax_t to unsigned long or unsigned long long
+# if <inttypes.h> doesn't define.
+
+AC_DEFUN([jm_AC_TYPE_UINTMAX_T],
+[
+ AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
+ if test $jm_ac_cv_header_inttypes_h = no; then
+ AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
+ test $ac_cv_type_unsigned_long_long = yes \
+ && ac_type='unsigned long long' \
+ || ac_type='unsigned long'
+ AC_DEFINE_UNQUOTED(uintmax_t, $ac_type,
+[Define to unsigned long or unsigned long long
+ if <inttypes.h> doesn't define.])
fi
])