As part of this create a public json_config.h with a custom define to decide whether to include inttypes.h to avoid conflicting with other projects config.h header.tags/json-c-0.10-20120530
| @@ -13,6 +13,7 @@ libjsoninclude_HEADERS = \ | |||||
| bits.h \ | bits.h \ | ||||
| debug.h \ | debug.h \ | ||||
| json.h \ | json.h \ | ||||
| json_config.h \ | |||||
| json_inttypes.h \ | json_inttypes.h \ | ||||
| json_object.h \ | json_object.h \ | ||||
| json_object_private.h \ | json_object_private.h \ | ||||
| @@ -21,6 +22,11 @@ libjsoninclude_HEADERS = \ | |||||
| linkhash.h \ | linkhash.h \ | ||||
| printbuf.h | printbuf.h | ||||
| #libjsonx_includedir = $(libdir)/json-c-@VERSION@ | |||||
| # | |||||
| #libjsonx_include_HEADERS = \ | |||||
| # json_config.h | |||||
| libjson_la_LDFLAGS = -version-info 1:0:1 -no-undefined | libjson_la_LDFLAGS = -version-info 1:0:1 -no-undefined | ||||
| libjson_la_SOURCES = \ | libjson_la_SOURCES = \ | ||||
| @@ -80,6 +80,13 @@ | |||||
| /* Define to 1 if you have the `vsyslog' function. */ | /* Define to 1 if you have the `vsyslog' function. */ | ||||
| #undef HAVE_VSYSLOG | #undef HAVE_VSYSLOG | ||||
| /* Public define for json_inttypes.h */ | |||||
| #undef JSON_C_HAVE_INTTYPES_H | |||||
| /* Define to the sub-directory in which libtool stores uninstalled libraries. | |||||
| */ | |||||
| #undef LT_OBJDIR | |||||
| /* Name of package */ | /* Name of package */ | ||||
| #undef PACKAGE | #undef PACKAGE | ||||
| @@ -95,6 +102,9 @@ | |||||
| /* Define to the one symbol short name of this package. */ | /* Define to the one symbol short name of this package. */ | ||||
| #undef PACKAGE_TARNAME | #undef PACKAGE_TARNAME | ||||
| /* Define to the home page for this package. */ | |||||
| #undef PACKAGE_URL | |||||
| /* Define to the version of this package. */ | /* Define to the version of this package. */ | ||||
| #undef PACKAGE_VERSION | #undef PACKAGE_VERSION | ||||
| @@ -113,5 +123,5 @@ | |||||
| /* Define to rpl_realloc if the replacement function should be used. */ | /* Define to rpl_realloc if the replacement function should be used. */ | ||||
| #undef realloc | #undef realloc | ||||
| /* Define to `unsigned' if <sys/types.h> does not define. */ | |||||
| /* Define to `unsigned int' if <sys/types.h> does not define. */ | |||||
| #undef size_t | #undef size_t | ||||
| @@ -11,8 +11,10 @@ AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION) | |||||
| # Checks for header files. | # Checks for header files. | ||||
| AM_CONFIG_HEADER(config.h) | AM_CONFIG_HEADER(config.h) | ||||
| AM_CONFIG_HEADER(json_config.h) | |||||
| AC_HEADER_STDC | AC_HEADER_STDC | ||||
| AC_CHECK_HEADERS(fcntl.h limits.h strings.h syslog.h unistd.h [sys/param.h] stdarg.h) | AC_CHECK_HEADERS(fcntl.h limits.h strings.h syslog.h unistd.h [sys/param.h] stdarg.h) | ||||
| AC_CHECK_HEADER(inttypes.h,[AC_DEFINE([JSON_C_HAVE_INTTYPES_H],[1],[Public define for json_inttypes.h])]) | |||||
| # Checks for typedefs, structures, and compiler characteristics. | # Checks for typedefs, structures, and compiler characteristics. | ||||
| AC_C_CONST | AC_C_CONST | ||||
| @@ -0,0 +1,3 @@ | |||||
| /* Define to 1 if you have the <inttypes.h> header file. */ | |||||
| #undef JSON_C_HAVE_INTTYPES_H | |||||
| @@ -2,6 +2,8 @@ | |||||
| #ifndef _json_inttypes_h_ | #ifndef _json_inttypes_h_ | ||||
| #define _json_inttypes_h_ | #define _json_inttypes_h_ | ||||
| #include "json_config.h" | |||||
| #if defined(_MSC_VER) && _MSC_VER < 1600 | #if defined(_MSC_VER) && _MSC_VER < 1600 | ||||
| /* Anything less than Visual Studio C++ 10 is missing stdint.h and inttypes.h */ | /* Anything less than Visual Studio C++ 10 is missing stdint.h and inttypes.h */ | ||||
| @@ -14,7 +16,7 @@ typedef __int64 int64_t; | |||||
| #else | #else | ||||
| #ifdef HAVE_INTTYPES_H | |||||
| #ifdef JSON_C_HAVE_INTTYPES_H | |||||
| #include <inttypes.h> | #include <inttypes.h> | ||||
| #endif | #endif | ||||
| /* inttypes.h includes stdint.h */ | /* inttypes.h includes stdint.h */ | ||||
| @@ -12,6 +12,8 @@ | |||||
| #ifndef _json_object_h_ | #ifndef _json_object_h_ | ||||
| #define _json_object_h_ | #define _json_object_h_ | ||||
| #include "json_inttypes.h" | |||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||
| extern "C" { | extern "C" { | ||||
| #endif | #endif | ||||