summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Haszlakiewicz <erh+git@nimenees.com>2015-03-03 22:35:36 -0500
committerEric Haszlakiewicz <erh+git@nimenees.com>2015-03-03 22:35:36 -0500
commit7e3a6c6b9d5e54032aa7e5ef593f898a7ca9bb50 (patch)
treeb124e523def6dad98bed9c2f6fb5c8be10d93741
parentda62fca3055f3059f859ae57f2ae9b5190bc129f (diff)
parent4d18d39d996211984760e78b829a19b91c61b079 (diff)
Merge pull request #163 from sixlettervariables/fix-win32-build-problems
Fix Win32 build problems
-rw-r--r--config.h.win32138
-rw-r--r--json-c.vcproj10
-rw-r--r--json-c.vcxproj116
-rw-r--r--json-c.vcxproj.filters81
-rw-r--r--json_config.h.win323
-rw-r--r--linkhash.c5
6 files changed, 322 insertions, 31 deletions
diff --git a/config.h.win32 b/config.h.win32
index ec3a84a..6515945 100644
--- a/config.h.win32
+++ b/config.h.win32
@@ -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 */
diff --git a/json-c.vcproj b/json-c.vcproj
index 0b88754..d44f517 100644
--- a/json-c.vcproj
+++ b/json-c.vcproj
@@ -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
@@ -168,6 +171,9 @@
RelativePath=".\config.h.win32">
</File>
<File
+ RelativePath=".\json_config.h.win32">
+ </File>
+ <File
RelativePath=".\README-WIN32.html">
</File>
<File
diff --git a/json-c.vcxproj b/json-c.vcxproj
new file mode 100644
index 0000000..9c50712
--- /dev/null
+++ b/json-c.vcxproj
@@ -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> \ No newline at end of file
diff --git a/json-c.vcxproj.filters b/json-c.vcxproj.filters
new file mode 100644
index 0000000..1805d88
--- /dev/null
+++ b/json-c.vcxproj.filters
@@ -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> \ No newline at end of file
diff --git a/json_config.h.win32 b/json_config.h.win32
new file mode 100644
index 0000000..405fda2
--- /dev/null
+++ b/json_config.h.win32
@@ -0,0 +1,3 @@
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define JSON_C_HAVE_INTTYPES_H 1
diff --git a/linkhash.c b/linkhash.c
index cb0636b..a5b2945 100644
--- a/linkhash.c
+++ b/linkhash.c
@@ -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"