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