| @@ -3,6 +3,22 @@ | |||||
| /* Define if .gnu.warning accepts long strings. */ | /* Define if .gnu.warning accepts long strings. */ | ||||
| #undef HAS_GNU_WARNING_LONG | #undef HAS_GNU_WARNING_LONG | ||||
| /* Define to 1 if you have the declaration of `isinf', and to 0 if you don't. | |||||
| */ | |||||
| #undef HAVE_DECL_ISINF | |||||
| /* Define to 1 if you have the declaration of `isnan', and to 0 if you don't. | |||||
| */ | |||||
| #undef HAVE_DECL_ISNAN | |||||
| /* Define to 1 if you have the declaration of `_finite', and to 0 if you | |||||
| don't. */ | |||||
| #undef HAVE_DECL__FINITE | |||||
| /* Define to 1 if you have the declaration of `_isnan', and to 0 if you don't. | |||||
| */ | |||||
| #undef HAVE_DECL__ISNAN | |||||
| /* Define to 1 if you have the <dlfcn.h> header file. */ | /* Define to 1 if you have the <dlfcn.h> header file. */ | ||||
| #undef HAVE_DLFCN_H | #undef HAVE_DLFCN_H | ||||
| @@ -3,7 +3,7 @@ AC_PREREQ(2.52) | |||||
| # Process this file with autoconf to produce a configure script. | # Process this file with autoconf to produce a configure script. | ||||
| AC_INIT([json-c], 0.11.99, [json-c@googlegroups.com]) | AC_INIT([json-c], 0.11.99, [json-c@googlegroups.com]) | ||||
| AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION) | |||||
| AM_INIT_AUTOMAKE | |||||
| AC_PROG_MAKE_SET | AC_PROG_MAKE_SET | ||||
| @@ -29,6 +29,10 @@ AC_FUNC_MEMCMP | |||||
| AC_FUNC_MALLOC | AC_FUNC_MALLOC | ||||
| AC_FUNC_REALLOC | AC_FUNC_REALLOC | ||||
| AC_CHECK_FUNCS(strcasecmp strdup strerror snprintf vsnprintf vasprintf open vsyslog strncasecmp setlocale) | AC_CHECK_FUNCS(strcasecmp strdup strerror snprintf vsnprintf vasprintf open vsyslog strncasecmp setlocale) | ||||
| AC_CHECK_DECLS([isnan], [], [], [[#include <math.h>]]) | |||||
| AC_CHECK_DECLS([isinf], [], [], [[#include <math.h>]]) | |||||
| AC_CHECK_DECLS([_isnan], [], [], [[#include <float.h>]]) | |||||
| AC_CHECK_DECLS([_finite], [], [], [[#include <float.h>]]) | |||||
| #check if .section.gnu.warning accepts long strings (for __warn_references) | #check if .section.gnu.warning accepts long strings (for __warn_references) | ||||
| AC_LANG_PUSH([C]) | AC_LANG_PUSH([C]) | ||||
| @@ -27,6 +27,7 @@ | |||||
| #include "json_object.h" | #include "json_object.h" | ||||
| #include "json_object_private.h" | #include "json_object_private.h" | ||||
| #include "json_util.h" | #include "json_util.h" | ||||
| #include "math_compat.h" | |||||
| #if !defined(HAVE_STRDUP) && defined(_MSC_VER) | #if !defined(HAVE_STRDUP) && defined(_MSC_VER) | ||||
| /* MSC has the version as _strdup */ | /* MSC has the version as _strdup */ | ||||
| @@ -0,0 +1,20 @@ | |||||
| #ifndef __math_compat_h | |||||
| #define __math_compat_h | |||||
| /* Define isnan and isinf on Windows/MSVC */ | |||||
| #ifndef HAVE_DECL_ISNAN | |||||
| # ifdef HAVE_DECL__ISNAN | |||||
| #include <float.h> | |||||
| #define isnan(x) _isnan(x) | |||||
| # endif | |||||
| #endif | |||||
| #ifndef HAVE_DECL_ISINF | |||||
| # ifdef HAVE_DECL__FINITE | |||||
| #include <float.h> | |||||
| #define isinf(x) (!_finite(x)) | |||||
| # endif | |||||
| #endif | |||||
| #endif | |||||