From c346a4e4cfca510d4a2a838df154aadda7d87a19 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Fri, 31 Aug 2001 10:18:21 +0000 Subject: (jm_AC_PREREQ_XSTRTOUMAX): Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG since they are needed to parse the include file even if we need only xstrtoumax. Simplify logic behind the args to AC_REPLACE. --- m4/xstrtoumax.m4 | 32 +++++++++++--------------------- 1 file changed, 11 insertions(+), 21 deletions(-) (limited to 'm4') diff --git a/m4/xstrtoumax.m4 b/m4/xstrtoumax.m4 index ae54e440d..7ea69a92e 100644 --- a/m4/xstrtoumax.m4 +++ b/m4/xstrtoumax.m4 @@ -1,15 +1,15 @@ -#serial 5 -dnl Closely related to xstrtoimax.m4. Keep these files in sync. +#serial 3 # autoconf tests required for use of xstrtoumax.c AC_DEFUN([jm_AC_PREREQ_XSTRTOUMAX], [ + AC_REQUIRE([jm_AC_TYPE_INTMAX_T]) AC_REQUIRE([jm_AC_TYPE_UINTMAX_T]) - AC_REQUIRE([jm_AC_HEADER_INTTYPES_H]) + AC_REQUIRE([jm_AC_TYPE_LONG_LONG]) AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG]) AC_CHECK_DECLS([strtoul, strtoull]) - AC_CHECK_HEADERS(limits.h stdlib.h) + AC_CHECK_HEADERS(limits.h stdlib.h inttypes.h) AC_CACHE_CHECK([whether defines strtoumax as a macro], jm_cv_func_strtoumax_macro, @@ -24,27 +24,17 @@ AC_DEFUN([jm_AC_PREREQ_XSTRTOUMAX], AC_REPLACE_FUNCS(strtoumax) fi - 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,$jm_cv_func_strtoumax_macro,$ac_cv_func_strtoumax" in - yes,no,no) - AC_REPLACE_FUNCS(strtoull) - - dnl Check for strtol. Mainly as a cue to cause automake to include - dnl strtol.c -- that file is included by each of strtoul.c and strtoull.c. - AC_REPLACE_FUNCS(strtol) - ;; - esac - + dnl Only the replacement strtoumax invokes strtoul and strtoull, + dnl so we need the replacements only if strtoumax does not exist. case "$jm_cv_func_strtoumax_macro,$ac_cv_func_strtoumax" in no,no) AC_REPLACE_FUNCS(strtoul) - dnl See explanation above. - AC_REPLACE_FUNCS(strtol) + dnl We don't need (and can't compile) the replacement strtoull + dnl unless the type `unsigned long long' exists. + if test "$ac_cv_type_unsigned_long_long" = yes; then + AC_REPLACE_FUNCS(strtoull) + fi ;; esac - ]) -- cgit v1.2.3-70-g09d2