From: Paul Eggert Date: Wed, 29 Aug 2001 06:36:20 +0000 (+0000) Subject: (jm_AC_PREREQ_XSTRTOIMAX): X-Git-Url: https://git.dogcows.com/gitweb?a=commitdiff_plain;h=363fc111dee218f8407f8c399a82de662caec00b;p=chaz%2Ftar (jm_AC_PREREQ_XSTRTOIMAX): Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG since they are needed to parse the include file. Do not require jm_AC_HEADER_INTTYPES_H; it's obsolete. Check for inttypes.h. Simplify logic behind the args to AC_REPLACE. --- diff --git a/m4/xstrtoimax.m4 b/m4/xstrtoimax.m4 index 6842186..be82023 100644 --- a/m4/xstrtoimax.m4 +++ b/m4/xstrtoimax.m4 @@ -6,10 +6,11 @@ dnl Cloned from xstrtoumax.m4. Keep these files in sync. AC_DEFUN([jm_AC_PREREQ_XSTRTOIMAX], [ AC_REQUIRE([jm_AC_TYPE_INTMAX_T]) - AC_REQUIRE([jm_AC_HEADER_INTTYPES_H]) + AC_REQUIRE([jm_AC_TYPE_UINTMAX_T]) AC_REQUIRE([jm_AC_TYPE_LONG_LONG]) + AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG]) AC_CHECK_DECLS([strtol, strtoll]) - AC_CHECK_HEADERS(limits.h stdlib.h) + AC_CHECK_HEADERS(limits.h stdlib.h inttypes.h) AC_CACHE_CHECK([whether defines strtoimax as a macro], jm_cv_func_strtoimax_macro, @@ -24,27 +25,17 @@ AC_DEFUN([jm_AC_PREREQ_XSTRTOIMAX], AC_REPLACE_FUNCS(strtoimax) fi - dnl We don't need (and can't compile) the replacement strtoll - dnl unless the type `long long' exists. - dnl Also, only the replacement strtoimax invokes strtoll, - dnl so we need the replacement strtoll only if strtoimax does not exist. - case "$ac_cv_type_long_long,$jm_cv_func_strtoimax_macro,$ac_cv_func_strtoimax" in - yes,no,no) - AC_REPLACE_FUNCS(strtoll) - - 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 strtoimax invokes strtol and strtoll, + dnl so we need the replacements only if strtoimax does not exist. case "$jm_cv_func_strtoimax_macro,$ac_cv_func_strtoimax" 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 strtoll + dnl unless the type `long long' exists. + if test "$ac_cv_type_long_long" = yes; then + AC_REPLACE_FUNCS(strtoll) + fi ;; esac - ])