Fix Win32 build problemstags/json-c-0.13-20171207
@@ -1,26 +1,42 @@ | |||
/* | |||
* $Id: config.h.win32,v 1.2 2006/01/26 02:16:28 mclark Exp $ | |||
* | |||
* Copyright (c) 2004, 2005 Metaparadigm Pte. Ltd. | |||
* Michael Clark <michael@metaparadigm.com> | |||
* | |||
* This library is free software; you can redistribute it and/or modify | |||
* it under the terms of the MIT license. See COPYING for details. | |||
* | |||
*/ | |||
/* config.h.win32 Generated by configure. */ | |||
#define PACKAGE_STRING "JSON C Library 0.2" | |||
#define PACKAGE_BUGREPORT "json-c@googlegroups.com" | |||
#define PACKAGE_NAME "JSON C Library" | |||
#define PACKAGE_TARNAME "json-c" | |||
#define PACKAGE_VERSION "0.2" | |||
/* config.h.in. Generated from configure.ac by autoheader. */ | |||
/* Enable RDRANR Hardware RNG Hash Seed */ | |||
#undef ENABLE_RDRAND | |||
/* Define if .gnu.warning accepts long strings. */ | |||
#undef HAS_GNU_WARNING_LONG | |||
/* Define to 1 if you have the declaration of `INFINITY', and to 0 if you | |||
don't. */ | |||
#define HAVE_DECL_INFINITY 1 | |||
/* Define to 1 if you have the declaration of `isinf', and to 0 if you don't. | |||
*/ | |||
#define HAVE_DECL_ISINF 1 | |||
/* Define to 1 if you have the declaration of `isnan', and to 0 if you don't. | |||
*/ | |||
#define HAVE_DECL_ISNAN 1 | |||
/* Define to 1 if you have the declaration of `nan', and to 0 if you don't. */ | |||
#define HAVE_DECL_NAN 1 | |||
/* Define to 1 if you have the declaration of `_finite', and to 0 if you | |||
don't. */ | |||
#define HAVE_DECL__FINITE 0 | |||
/* Define to 1 if you have the declaration of `_isnan', and to 0 if you don't. | |||
*/ | |||
#define HAVE_DECL__ISNAN 0 | |||
/* Define to 1 if you have the <dlfcn.h> header file. */ | |||
#undef HAVE_DLFCN_H | |||
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ | |||
/* #undef HAVE_DOPRNT */ | |||
#undef HAVE_DOPRNT | |||
/* Define to 1 if you have the <endian.h> header file. */ | |||
#define HAVE_ENDIAN_H 1 | |||
/* Define to 1 if you have the <fcntl.h> header file. */ | |||
#define HAVE_FCNTL_H 1 | |||
@@ -31,6 +47,9 @@ | |||
/* Define to 1 if you have the <limits.h> header file. */ | |||
#define HAVE_LIMITS_H 1 | |||
/* Define to 1 if you have the <locale.h> header file. */ | |||
#define HAVE_LOCALE_H 1 | |||
/* Define to 1 if your system has a GNU libc compatible `malloc' function, and | |||
to 0 otherwise. */ | |||
#define HAVE_MALLOC 1 | |||
@@ -43,19 +62,28 @@ | |||
/* Define to 1 if your system has a GNU libc compatible `realloc' function, | |||
and to 0 otherwise. */ | |||
#define HAVE_REALLOC 1 | |||
#define HAVE_REALLOC 1 | |||
/* Define to 1 if you have the `setlocale' function. */ | |||
#define HAVE_SETLOCALE 1 | |||
/* Define to 1 if you have the `snprintf' function. */ | |||
#undef HAVE_SNPRINTF | |||
/* Define to 1 if you have the <stdarg.h> header file. */ | |||
#define HAVE_STDARG_H 1 | |||
/* Define to 1 if you have the <stdint.h> header file. */ | |||
#define HAVE_STDINT_H 1 | |||
/* Define to 1 if you have the <stdlib.h> header file. */ | |||
#define HAVE_STDLIB_H 1 | |||
/* Define to 1 if you have the `strdup' function. */ | |||
#undef HAVE_STRNDUP | |||
/* Define to 1 if you have the `strcasecmp' function. */ | |||
#define HAVE_STRCASECMP 1 | |||
/* Define to 1 if you have the <stdarg.h> header file. */ | |||
#define HAVE_STDARG_H 1 | |||
/* Define to 1 if you have the `strdup' function. */ | |||
#define HAVE_STRDUP 1 | |||
/* Define to 1 if you have the `strerror' function. */ | |||
#define HAVE_STRERROR 1 | |||
@@ -66,9 +94,15 @@ | |||
/* Define to 1 if you have the <string.h> header file. */ | |||
#define HAVE_STRING_H 1 | |||
/* Define to 1 if you have the `strncasecmp' function. */ | |||
#define HAVE_STRNCASECMP 1 | |||
/* Define to 1 if you have the <syslog.h> header file. */ | |||
#undef HAVE_SYSLOG_H | |||
/* Define to 1 if you have the <sys/cdefs.h> header file. */ | |||
#undef HAVE_SYS_CDEFS_H | |||
/* Define to 1 if you have the <sys/param.h> header file. */ | |||
#undef HAVE_SYS_PARAM_H | |||
@@ -81,14 +115,60 @@ | |||
/* Define to 1 if you have the <unistd.h> header file. */ | |||
#undef HAVE_UNISTD_H | |||
/* Define to 1 if you have the `vasprintf' function. */ | |||
#undef HAVE_VASPRINTF | |||
/* Define to 1 if you have the `vprintf' function. */ | |||
#undef HAVE_VPRINTF | |||
/* Define to 1 if you have the `vsnprintf' function. */ | |||
#undef HAVE_VSNPRINTF | |||
/* Define to 1 if you have the `vsyslog' function. */ | |||
#undef HAVE_VSYSLOG | |||
/* Define to 1 if you have the `strncasecmp' function. */ | |||
#undef HAVE_STRNCASECMP | |||
/* Public define for json_inttypes.h */ | |||
#define JSON_C_HAVE_INTTYPES_H 1 | |||
/* Define to the sub-directory in which libtool stores uninstalled libraries. | |||
*/ | |||
#undef LT_OBJDIR | |||
/* Name of package */ | |||
#define PACKAGE "json-c" | |||
/* Define to the address where bug reports for this package should be sent. */ | |||
#define PACKAGE_BUGREPORT "json-c@googlegroups.com" | |||
/* Define to the full name of this package. */ | |||
#define PACKAGE_NAME "JSON C Library" | |||
/* Define to the full name and version of this package. */ | |||
#define PACKAGE_STRING "JSON C Library 0.12.99" | |||
/* Define to the one symbol short name of this package. */ | |||
#define PACKAGE_TARNAME "json-c" | |||
/* Define to the home page for this package. */ | |||
#define PACKAGE_URL "https://github.com/json-c/json-c" | |||
/* Define to the version of this package. */ | |||
#define PACKAGE_VERSION "0.12.99" | |||
/* Define to 1 if you have the ANSI C header files. */ | |||
#define STDC_HEADERS 1 | |||
#define STDC_HEADERS 1 | |||
/* Version number of package */ | |||
#define VERSION "0.12.99" | |||
/* Define to empty if `const' does not conform to ANSI C. */ | |||
/* #undef const */ | |||
/* Define to rpl_malloc if the replacement function should be used. */ | |||
/* #undef malloc */ | |||
/* Define to rpl_realloc if the replacement function should be used. */ | |||
/* #undef realloc */ | |||
/* Define to `unsigned int' if <sys/types.h> does not define. */ | |||
/* #undef size_t */ |
@@ -38,7 +38,8 @@ | |||
Name="VCPostBuildEventTool"/> | |||
<Tool | |||
Name="VCPreBuildEventTool" | |||
CommandLine="copy config.h.win32 config.h"/> | |||
CommandLine="copy config.h.win32 config.h | |||
copy json_config.h.win32 json_config.h"/> | |||
<Tool | |||
Name="VCPreLinkEventTool"/> | |||
<Tool | |||
@@ -76,7 +77,9 @@ | |||
<Tool | |||
Name="VCPostBuildEventTool"/> | |||
<Tool | |||
Name="VCPreBuildEventTool"/> | |||
Name="VCPreBuildEventTool" | |||
CommandLine="copy config.h.win32 config.h | |||
copy json_config.h.win32 json_config.h"/> | |||
<Tool | |||
Name="VCPreLinkEventTool"/> | |||
<Tool | |||
@@ -167,6 +170,9 @@ | |||
<File | |||
RelativePath=".\config.h.win32"> | |||
</File> | |||
<File | |||
RelativePath=".\json_config.h.win32"> | |||
</File> | |||
<File | |||
RelativePath=".\README-WIN32.html"> | |||
</File> | |||
@@ -0,0 +1,116 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |||
<ItemGroup Label="ProjectConfigurations"> | |||
<ProjectConfiguration Include="Debug|Win32"> | |||
<Configuration>Debug</Configuration> | |||
<Platform>Win32</Platform> | |||
</ProjectConfiguration> | |||
<ProjectConfiguration Include="Release|Win32"> | |||
<Configuration>Release</Configuration> | |||
<Platform>Win32</Platform> | |||
</ProjectConfiguration> | |||
</ItemGroup> | |||
<PropertyGroup Label="Globals"> | |||
<ProjectGuid>{04D8CDBE-FB3E-4362-87E6-07DC3C0083B2}</ProjectGuid> | |||
<Keyword>Win32Proj</Keyword> | |||
</PropertyGroup> | |||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> | |||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> | |||
<ConfigurationType>StaticLibrary</ConfigurationType> | |||
<PlatformToolset>v120</PlatformToolset> | |||
<CharacterSet>MultiByte</CharacterSet> | |||
</PropertyGroup> | |||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> | |||
<ConfigurationType>StaticLibrary</ConfigurationType> | |||
<PlatformToolset>v120</PlatformToolset> | |||
<CharacterSet>MultiByte</CharacterSet> | |||
</PropertyGroup> | |||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> | |||
<ImportGroup Label="ExtensionSettings"> | |||
</ImportGroup> | |||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> | |||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | |||
</ImportGroup> | |||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> | |||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | |||
</ImportGroup> | |||
<PropertyGroup Label="UserMacros" /> | |||
<PropertyGroup> | |||
<_ProjectFileVersion>12.0.30324.0</_ProjectFileVersion> | |||
</PropertyGroup> | |||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | |||
<OutDir>Debug\</OutDir> | |||
<IntDir>Debug\</IntDir> | |||
</PropertyGroup> | |||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | |||
<OutDir>Release\</OutDir> | |||
<IntDir>Release\</IntDir> | |||
</PropertyGroup> | |||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | |||
<ClCompile> | |||
<Optimization>Disabled</Optimization> | |||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> | |||
<MinimalRebuild>true</MinimalRebuild> | |||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | |||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> | |||
<PrecompiledHeader /> | |||
<WarningLevel>Level3</WarningLevel> | |||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat> | |||
</ClCompile> | |||
<Lib> | |||
<OutputFile>$(OutDir)json-c.lib</OutputFile> | |||
</Lib> | |||
<PreBuildEvent> | |||
<Command>copy config.h.win32 config.h | |||
copy json_config.h.win32 json_config.h | |||
</Command> | |||
</PreBuildEvent> | |||
</ItemDefinitionGroup> | |||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | |||
<ClCompile> | |||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> | |||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary> | |||
<PrecompiledHeader /> | |||
<WarningLevel>Level3</WarningLevel> | |||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | |||
</ClCompile> | |||
<Lib> | |||
<OutputFile>$(OutDir)json-c.lib</OutputFile> | |||
</Lib> | |||
<PreBuildEvent> | |||
<Command>copy config.h.win32 config.h | |||
copy json_config.h.win32 json_config.h | |||
</Command> | |||
</PreBuildEvent> | |||
</ItemDefinitionGroup> | |||
<ItemGroup> | |||
<ClCompile Include="arraylist.c" /> | |||
<ClCompile Include="debug.c" /> | |||
<ClCompile Include="json_object.c" /> | |||
<ClCompile Include="json_tokener.c" /> | |||
<ClCompile Include="json_util.c" /> | |||
<ClCompile Include="linkhash.c" /> | |||
<ClCompile Include="printbuf.c" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ClInclude Include="arraylist.h" /> | |||
<ClInclude Include="bits.h" /> | |||
<ClInclude Include="debug.h" /> | |||
<ClInclude Include="json_object.h" /> | |||
<ClInclude Include="json_object_private.h" /> | |||
<ClInclude Include="json_tokener.h" /> | |||
<ClInclude Include="json_util.h" /> | |||
<ClInclude Include="linkhash.h" /> | |||
<ClInclude Include="printbuf.h" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<None Include="config.h.win32" /> | |||
<None Include="Doxyfile" /> | |||
<None Include="json_config.h.win32" /> | |||
<None Include="README-WIN32.html" /> | |||
<None Include="README.html" /> | |||
</ItemGroup> | |||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | |||
<ImportGroup Label="ExtensionTargets"> | |||
</ImportGroup> | |||
</Project> |
@@ -0,0 +1,81 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |||
<ItemGroup> | |||
<Filter Include="Source Files"> | |||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> | |||
<Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> | |||
</Filter> | |||
<Filter Include="Header Files"> | |||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> | |||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> | |||
</Filter> | |||
<Filter Include="Resource Files"> | |||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> | |||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx</Extensions> | |||
</Filter> | |||
<Filter Include="Documentation"> | |||
<UniqueIdentifier>{d3849076-874e-490e-858c-0871d04d1ecb}</UniqueIdentifier> | |||
</Filter> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ClCompile Include="arraylist.c"> | |||
<Filter>Source Files</Filter> | |||
</ClCompile> | |||
<ClCompile Include="debug.c"> | |||
<Filter>Source Files</Filter> | |||
</ClCompile> | |||
<ClCompile Include="json_object.c"> | |||
<Filter>Source Files</Filter> | |||
</ClCompile> | |||
<ClCompile Include="json_tokener.c"> | |||
<Filter>Source Files</Filter> | |||
</ClCompile> | |||
<ClCompile Include="json_util.c"> | |||
<Filter>Source Files</Filter> | |||
</ClCompile> | |||
<ClCompile Include="linkhash.c"> | |||
<Filter>Source Files</Filter> | |||
</ClCompile> | |||
<ClCompile Include="printbuf.c"> | |||
<Filter>Source Files</Filter> | |||
</ClCompile> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ClInclude Include="arraylist.h"> | |||
<Filter>Header Files</Filter> | |||
</ClInclude> | |||
<ClInclude Include="bits.h"> | |||
<Filter>Header Files</Filter> | |||
</ClInclude> | |||
<ClInclude Include="debug.h"> | |||
<Filter>Header Files</Filter> | |||
</ClInclude> | |||
<ClInclude Include="json_object.h"> | |||
<Filter>Header Files</Filter> | |||
</ClInclude> | |||
<ClInclude Include="json_object_private.h"> | |||
<Filter>Header Files</Filter> | |||
</ClInclude> | |||
<ClInclude Include="json_tokener.h"> | |||
<Filter>Header Files</Filter> | |||
</ClInclude> | |||
<ClInclude Include="json_util.h"> | |||
<Filter>Header Files</Filter> | |||
</ClInclude> | |||
<ClInclude Include="linkhash.h"> | |||
<Filter>Header Files</Filter> | |||
</ClInclude> | |||
<ClInclude Include="printbuf.h"> | |||
<Filter>Header Files</Filter> | |||
</ClInclude> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<None Include="Doxyfile"> | |||
<Filter>Documentation</Filter> | |||
</None> | |||
<None Include="config.h.win32" /> | |||
<None Include="README-WIN32.html" /> | |||
<None Include="README.html" /> | |||
<None Include="json_config.h.win32" /> | |||
</ItemGroup> | |||
</Project> |
@@ -0,0 +1,3 @@ | |||
/* Define to 1 if you have the <inttypes.h> header file. */ | |||
#define JSON_C_HAVE_INTTYPES_H 1 |
@@ -21,6 +21,11 @@ | |||
# include <endian.h> /* attempt to define endianness */ | |||
#endif | |||
#ifdef _MSC_VER | |||
# define WIN32_LEAN_AND_MEAN | |||
# include <windows.h> /* Get InterlockedCompareExchange */ | |||
#endif | |||
#include "random_seed.h" | |||
#include "linkhash.h" | |||