X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fxstrtoimax.m4;h=be820239ce1d363b03bde9821cb84305ff83f282;hb=02e3bf2a532498c860f248a9bd81869dbf514404;hp=64da34e754afe35c8ff189e0f04ed95ea959e45a;hpb=8fed08c2c6888aa0e83166c96f47f5245f109fa7;p=gnulib.git diff --git a/m4/xstrtoimax.m4 b/m4/xstrtoimax.m4 index 64da34e75..be820239c 100644 --- a/m4/xstrtoimax.m4 +++ b/m4/xstrtoimax.m4 @@ -1,14 +1,16 @@ #serial 1 +dnl Cloned from xstrtoumax.m4. Keep these files in sync. # autoconf tests required for use of xstrtoimax.c 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, @@ -23,20 +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 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 strtol) + 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 - ])