@@ -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 |