diff options
author | Petri Lehtinen <petri@digip.org> | 2012-03-20 20:46:17 +0200 |
---|---|---|
committer | Petri Lehtinen <petri@digip.org> | 2012-03-20 20:47:57 +0200 |
commit | 4ae5736bd07160200192aa38f5d40f83589c4ac9 (patch) | |
tree | 335da5d571644203d8a1699a2e45a284435113f4 | |
parent | 02b915af54c4033b580875509ecb9388485a5c2a (diff) | |
download | jansson-4ae5736bd07160200192aa38f5d40f83589c4ac9.zip jansson-4ae5736bd07160200192aa38f5d40f83589c4ac9.tar.gz jansson-4ae5736bd07160200192aa38f5d40f83589c4ac9.tar.bz2 |
Make sure strtoll() is available when using long long
-rw-r--r-- | configure.ac | 15 | ||||
-rw-r--r-- | src/jansson_config.h.in | 5 | ||||
-rw-r--r-- | src/jansson_config.h.win32 | 5 |
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, |