diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2001-08-29 06:36:20 +0000 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2001-08-29 06:36:20 +0000 |
commit | 363fc111dee218f8407f8c399a82de662caec00b (patch) | |
tree | a2b912ce2cf6dbee6da22dab16bd7770f8c93a09 | |
parent | cae5fa25ae776ba2a22c0a225d9e001d7a9aa323 (diff) | |
download | tar-363fc111dee218f8407f8c399a82de662caec00b.tar.gz |
(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.
-rw-r--r-- | m4/xstrtoimax.m4 | 31 |
1 files changed, 11 insertions, 20 deletions
diff --git a/m4/xstrtoimax.m4 b/m4/xstrtoimax.m4 index 6842186e..be820239 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 <inttypes.h> 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 - ]) |