Make sure strtoll() is available when using long long
authorPetri Lehtinen <petri@digip.org>
Tue, 20 Mar 2012 18:46:17 +0000 (20:46 +0200)
committerPetri Lehtinen <petri@digip.org>
Tue, 20 Mar 2012 18:47:57 +0000 (20:47 +0200)
configure.ac
src/jansson_config.h.in
src/jansson_config.h.win32

index 662f41a..70b0fed 100644 (file)
@@ -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;;
index 52e3d57..0c112a4 100644 (file)
@@ -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,
index a188f76..1a6b014 100644 (file)
@@ -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,