Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
authorJim Meyering <jim@meyering.net>
Wed, 21 Apr 1999 04:00:38 +0000 (04:00 +0000)
committerJim Meyering <jim@meyering.net>
Wed, 21 Apr 1999 04:00:38 +0000 (04:00 +0000)
Replace xstroull if necessary.

m4/xstrtoumax.m4

index ee87c9a9a0e6b41067432f01e5953752c98c9b0a..842d7292a2b6c189055c60e150d4ea93088e4aaf 100644 (file)
@@ -4,7 +4,20 @@
 
 AC_DEFUN(jm_AC_PREREQ_XSTRTOUMAX,
 [
-  jm_AC_HEADER_INTTYPES_H
+  AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
+  AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
   AC_CHECK_HEADERS(stdlib.h)
   AC_CHECK_FUNCS(strtoull strtoumax strtouq)
+  AC_REPLACE_FUNCS(strtoumax)
+
+  dnl We don't need (and can't compile) the replacement strtoull
+  dnl unless the type `unsigned long long' exists.
+  dnl Also, only the replacement strtoumax invokes strtoull,
+  dnl so we need the replacement strtoull only if strtoumax does not exist.
+  case "$ac_cv_type_unsigned_long_long,$ac_cv_func_strtoumax" in
+    yes,no)
+      AC_REPLACE_FUNCS(strtoull)
+      ;;
+  esac
+
 ])