aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac15
-rw-r--r--src/jansson_config.h.in5
-rw-r--r--src/jansson_config.h.win325
3 files changed, 14 insertions, 11 deletions
diff --git a/configure.ac b/configure.ac
index 662f41a..70b0fed 100644
--- a/configure.ac
+++ b/configure.ac
@@ -18,13 +18,7 @@ AC_CHECK_HEADERS([locale.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_TYPE_INT32_T
-
AC_TYPE_LONG_LONG_INT
-case $ac_cv_type_long_long_int in
- yes) json_have_long_long=1;;
- *) json_have_long_long=0;;
-esac
-AC_SUBST([json_have_long_long])
AC_C_INLINE
case $ac_cv_c_inline in
@@ -35,7 +29,14 @@ esac
AC_SUBST([json_inline])
# Checks for library functions.
-AC_CHECK_FUNCS([setlocale localeconv])
+AC_CHECK_FUNCS([strtoll localeconv])
+
+case "$ac_cv_type_long_long_int$ac_cv_func_strtoll" in
+ yesyes) json_have_long_long=1;;
+ *) json_have_long_long=0;;
+esac
+AC_SUBST([json_have_long_long])
+
case "$ac_cv_header_locale_h$ac_cv_func_localeconv" in
yesyes) json_have_localeconv=1;;
*) json_have_localeconv=0;;
diff --git a/src/jansson_config.h.in b/src/jansson_config.h.in
index 52e3d57..0c112a4 100644
--- a/src/jansson_config.h.in
+++ b/src/jansson_config.h.in
@@ -27,8 +27,9 @@
#define JSON_INLINE @json_inline@
#endif
-/* If your compiler supports the `long long` type,
- JSON_INTEGER_IS_LONG_LONG is defined to 1, otherwise to 0. */
+/* If your compiler supports the `long long` type and the strtoll()
+ library function, JSON_INTEGER_IS_LONG_LONG is defined to 1,
+ otherwise to 0. */
#define JSON_INTEGER_IS_LONG_LONG @json_have_long_long@
/* If locale.h and localeconv() are available, define to 1,
diff --git a/src/jansson_config.h.win32 b/src/jansson_config.h.win32
index a188f76..1a6b014 100644
--- a/src/jansson_config.h.win32
+++ b/src/jansson_config.h.win32
@@ -27,8 +27,9 @@
#define JSON_INLINE
#endif
-/* If your compiler supports the `long long` type,
- JSON_INTEGER_IS_LONG_LONG is defined to 1, otherwise to 0. */
+/* If your compiler supports the `long long` type and the strtoll()
+ library function, JSON_INTEGER_IS_LONG_LONG is defined to 1,
+ otherwise to 0. */
#define JSON_INTEGER_IS_LONG_LONG 1
/* If locale.h and localeconv() are available, define to 1,