]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-10167: Added windows compilation of libconfig and libsodium to support libblade...
authorShane Bryldt <astaelan@gmail.com>
Fri, 31 Mar 2017 19:06:43 +0000 (13:06 -0600)
committerShane Bryldt <astaelan@gmail.com>
Fri, 31 Mar 2017 19:06:54 +0000 (13:06 -0600)
23 files changed:
libs/libblade/libblade.props [new file with mode: 0644]
libs/libblade/libblade.sln [new file with mode: 0644]
libs/libblade/libblade.vcxproj [new file with mode: 0644]
libs/libblade/libblade.vcxproj.filters [new file with mode: 0644]
libs/libblade/src/blade_module_wss.c
libs/libblade/src/dht/ks_dht.c
libs/libblade/src/include/blade.h
libs/libblade/src/include/ks_bencode.h
libs/libblade/src/unqlite.c
libs/libks/libks.sln
libs/libks/libks.vcxproj
libs/libks/src/include/ks.h
libs/libks/src/include/ks_socket.h
libs/libks/src/include/simclist.h
libs/libks/src/ks_log.c
libs/libks/src/simclist.c
libs/libks/test/test_thread_pools.vcxproj
libs/libks/test/testacl.vcxproj
libs/libks/test/testwebsock.vcxproj
libs/win32/libconfig/libconfig.2015.vcxproj [new file with mode: 0644]
libs/win32/libconfig/libconfig.2015.vcxproj.filters [new file with mode: 0644]
libs/win32/libsodium/libsodium.2015.vcxproj [new file with mode: 0644]
libs/win32/libsodium/libsodium.2015.vcxproj.filters [new file with mode: 0644]

diff --git a/libs/libblade/libblade.props b/libs/libblade/libblade.props
new file mode 100644 (file)
index 0000000..b437768
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ImportGroup Label="PropertySheets" />
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup />
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <PreprocessorDefinitions>UNICODE;SIMCLIST_NO_DUMPRESTORE;_CRT_SECURE_NO_WARNINGS;KS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <AdditionalIncludeDirectories>$(ProjectDir)\src\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <DisableSpecificWarnings>4711;4574;4100;4127;4668;4255;4706;4710;4820</DisableSpecificWarnings>
+    </ClCompile>
+  </ItemDefinitionGroup>
+  <ItemGroup />
+</Project>
\ No newline at end of file
diff --git a/libs/libblade/libblade.sln b/libs/libblade/libblade.sln
new file mode 100644 (file)
index 0000000..4e79f88
--- /dev/null
@@ -0,0 +1,148 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.25420.1
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Download OPENSSL", "..\win32\Download OPENSSL.2015.vcxproj", "{D578E676-7EC8-4548-BD8B-845C635F14AD}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libeay32", "..\win32\openssl\libeay32.2015.vcxproj", "{D331904D-A00A-4694-A5A3-FCFF64AB5DBE}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ssleay32", "..\win32\openssl\ssleay32.2015.vcxproj", "{B4B62169-5AD4-4559-8707-3D933AC5DB39}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libks", "..\libks\libks.vcxproj", "{70D178D8-1100-4152-86C0-809A91CFF832}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libblade", "libblade.vcxproj", "{A89D6D18-6203-4149-9051-F8E798E7A3E7}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libsodium", "..\win32\libsodium\libsodium.2015.vcxproj", "{A185B162-6CB6-4502-B03F-B56F7699A8D9}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libconfig", "..\win32\libconfig\libconfig.2015.vcxproj", "{1A234565-926D-49B2-83E4-D56E0C38C9F2}"
+EndProject
+Global
+       GlobalSection(SolutionConfigurationPlatforms) = preSolution
+               Debug|x64 = Debug|x64
+               Debug|x86 = Debug|x86
+               DebugDLL|x64 = DebugDLL|x64
+               DebugDLL|x86 = DebugDLL|x86
+               Release|x64 = Release|x64
+               Release|x86 = Release|x86
+               ReleaseDLL|x64 = ReleaseDLL|x64
+               ReleaseDLL|x86 = ReleaseDLL|x86
+       EndGlobalSection
+       GlobalSection(ProjectConfigurationPlatforms) = postSolution
+               {D578E676-7EC8-4548-BD8B-845C635F14AD}.Debug|x64.ActiveCfg = Debug|Win32
+               {D578E676-7EC8-4548-BD8B-845C635F14AD}.Debug|x64.Build.0 = Debug|Win32
+               {D578E676-7EC8-4548-BD8B-845C635F14AD}.Debug|x86.ActiveCfg = Debug|Win32
+               {D578E676-7EC8-4548-BD8B-845C635F14AD}.Debug|x86.Build.0 = Debug|Win32
+               {D578E676-7EC8-4548-BD8B-845C635F14AD}.DebugDLL|x64.ActiveCfg = Release|Win32
+               {D578E676-7EC8-4548-BD8B-845C635F14AD}.DebugDLL|x64.Build.0 = Release|Win32
+               {D578E676-7EC8-4548-BD8B-845C635F14AD}.DebugDLL|x86.ActiveCfg = Debug|Win32
+               {D578E676-7EC8-4548-BD8B-845C635F14AD}.DebugDLL|x86.Build.0 = Debug|Win32
+               {D578E676-7EC8-4548-BD8B-845C635F14AD}.Release|x64.ActiveCfg = Release|Win32
+               {D578E676-7EC8-4548-BD8B-845C635F14AD}.Release|x64.Build.0 = Release|Win32
+               {D578E676-7EC8-4548-BD8B-845C635F14AD}.Release|x86.ActiveCfg = Release|Win32
+               {D578E676-7EC8-4548-BD8B-845C635F14AD}.Release|x86.Build.0 = Release|Win32
+               {D578E676-7EC8-4548-BD8B-845C635F14AD}.ReleaseDLL|x64.ActiveCfg = Release|Win32
+               {D578E676-7EC8-4548-BD8B-845C635F14AD}.ReleaseDLL|x64.Build.0 = Release|Win32
+               {D578E676-7EC8-4548-BD8B-845C635F14AD}.ReleaseDLL|x86.ActiveCfg = Release|Win32
+               {D578E676-7EC8-4548-BD8B-845C635F14AD}.ReleaseDLL|x86.Build.0 = Release|Win32
+               {D331904D-A00A-4694-A5A3-FCFF64AB5DBE}.Debug|x64.ActiveCfg = Debug|x64
+               {D331904D-A00A-4694-A5A3-FCFF64AB5DBE}.Debug|x64.Build.0 = Debug|x64
+               {D331904D-A00A-4694-A5A3-FCFF64AB5DBE}.Debug|x86.ActiveCfg = Debug|Win32
+               {D331904D-A00A-4694-A5A3-FCFF64AB5DBE}.Debug|x86.Build.0 = Debug|Win32
+               {D331904D-A00A-4694-A5A3-FCFF64AB5DBE}.DebugDLL|x64.ActiveCfg = Debug|x64
+               {D331904D-A00A-4694-A5A3-FCFF64AB5DBE}.DebugDLL|x64.Build.0 = Debug|x64
+               {D331904D-A00A-4694-A5A3-FCFF64AB5DBE}.DebugDLL|x86.ActiveCfg = Debug|Win32
+               {D331904D-A00A-4694-A5A3-FCFF64AB5DBE}.DebugDLL|x86.Build.0 = Debug|Win32
+               {D331904D-A00A-4694-A5A3-FCFF64AB5DBE}.Release|x64.ActiveCfg = Release|x64
+               {D331904D-A00A-4694-A5A3-FCFF64AB5DBE}.Release|x64.Build.0 = Release|x64
+               {D331904D-A00A-4694-A5A3-FCFF64AB5DBE}.Release|x86.ActiveCfg = Release|Win32
+               {D331904D-A00A-4694-A5A3-FCFF64AB5DBE}.Release|x86.Build.0 = Release|Win32
+               {D331904D-A00A-4694-A5A3-FCFF64AB5DBE}.ReleaseDLL|x64.ActiveCfg = Release|x64
+               {D331904D-A00A-4694-A5A3-FCFF64AB5DBE}.ReleaseDLL|x64.Build.0 = Release|x64
+               {D331904D-A00A-4694-A5A3-FCFF64AB5DBE}.ReleaseDLL|x86.ActiveCfg = Release|Win32
+               {D331904D-A00A-4694-A5A3-FCFF64AB5DBE}.ReleaseDLL|x86.Build.0 = Release|Win32
+               {B4B62169-5AD4-4559-8707-3D933AC5DB39}.Debug|x64.ActiveCfg = Debug|x64
+               {B4B62169-5AD4-4559-8707-3D933AC5DB39}.Debug|x64.Build.0 = Debug|x64
+               {B4B62169-5AD4-4559-8707-3D933AC5DB39}.Debug|x86.ActiveCfg = Debug|Win32
+               {B4B62169-5AD4-4559-8707-3D933AC5DB39}.Debug|x86.Build.0 = Debug|Win32
+               {B4B62169-5AD4-4559-8707-3D933AC5DB39}.DebugDLL|x64.ActiveCfg = Debug|x64
+               {B4B62169-5AD4-4559-8707-3D933AC5DB39}.DebugDLL|x64.Build.0 = Debug|x64
+               {B4B62169-5AD4-4559-8707-3D933AC5DB39}.DebugDLL|x86.ActiveCfg = Debug|Win32
+               {B4B62169-5AD4-4559-8707-3D933AC5DB39}.DebugDLL|x86.Build.0 = Debug|Win32
+               {B4B62169-5AD4-4559-8707-3D933AC5DB39}.Release|x64.ActiveCfg = Release|x64
+               {B4B62169-5AD4-4559-8707-3D933AC5DB39}.Release|x64.Build.0 = Release|x64
+               {B4B62169-5AD4-4559-8707-3D933AC5DB39}.Release|x86.ActiveCfg = Release|Win32
+               {B4B62169-5AD4-4559-8707-3D933AC5DB39}.Release|x86.Build.0 = Release|Win32
+               {B4B62169-5AD4-4559-8707-3D933AC5DB39}.ReleaseDLL|x64.ActiveCfg = Release|x64
+               {B4B62169-5AD4-4559-8707-3D933AC5DB39}.ReleaseDLL|x64.Build.0 = Release|x64
+               {B4B62169-5AD4-4559-8707-3D933AC5DB39}.ReleaseDLL|x86.ActiveCfg = Release|Win32
+               {B4B62169-5AD4-4559-8707-3D933AC5DB39}.ReleaseDLL|x86.Build.0 = Release|Win32
+               {70D178D8-1100-4152-86C0-809A91CFF832}.Debug|x64.ActiveCfg = Debug|x64
+               {70D178D8-1100-4152-86C0-809A91CFF832}.Debug|x64.Build.0 = Debug|x64
+               {70D178D8-1100-4152-86C0-809A91CFF832}.Debug|x86.ActiveCfg = Debug|Win32
+               {70D178D8-1100-4152-86C0-809A91CFF832}.Debug|x86.Build.0 = Debug|Win32
+               {70D178D8-1100-4152-86C0-809A91CFF832}.DebugDLL|x64.ActiveCfg = Debug|x64
+               {70D178D8-1100-4152-86C0-809A91CFF832}.DebugDLL|x64.Build.0 = Debug|x64
+               {70D178D8-1100-4152-86C0-809A91CFF832}.DebugDLL|x86.ActiveCfg = Debug|Win32
+               {70D178D8-1100-4152-86C0-809A91CFF832}.DebugDLL|x86.Build.0 = Debug|Win32
+               {70D178D8-1100-4152-86C0-809A91CFF832}.Release|x64.ActiveCfg = Release|x64
+               {70D178D8-1100-4152-86C0-809A91CFF832}.Release|x64.Build.0 = Release|x64
+               {70D178D8-1100-4152-86C0-809A91CFF832}.Release|x86.ActiveCfg = Release|Win32
+               {70D178D8-1100-4152-86C0-809A91CFF832}.Release|x86.Build.0 = Release|Win32
+               {70D178D8-1100-4152-86C0-809A91CFF832}.ReleaseDLL|x64.ActiveCfg = Release|x64
+               {70D178D8-1100-4152-86C0-809A91CFF832}.ReleaseDLL|x64.Build.0 = Release|x64
+               {70D178D8-1100-4152-86C0-809A91CFF832}.ReleaseDLL|x86.ActiveCfg = Release|Win32
+               {70D178D8-1100-4152-86C0-809A91CFF832}.ReleaseDLL|x86.Build.0 = Release|Win32
+               {A89D6D18-6203-4149-9051-F8E798E7A3E7}.Debug|x64.ActiveCfg = Debug|x64
+               {A89D6D18-6203-4149-9051-F8E798E7A3E7}.Debug|x64.Build.0 = Debug|x64
+               {A89D6D18-6203-4149-9051-F8E798E7A3E7}.Debug|x86.ActiveCfg = Debug|Win32
+               {A89D6D18-6203-4149-9051-F8E798E7A3E7}.Debug|x86.Build.0 = Debug|Win32
+               {A89D6D18-6203-4149-9051-F8E798E7A3E7}.DebugDLL|x64.ActiveCfg = Debug|x64
+               {A89D6D18-6203-4149-9051-F8E798E7A3E7}.DebugDLL|x64.Build.0 = Debug|x64
+               {A89D6D18-6203-4149-9051-F8E798E7A3E7}.DebugDLL|x86.ActiveCfg = Debug|Win32
+               {A89D6D18-6203-4149-9051-F8E798E7A3E7}.DebugDLL|x86.Build.0 = Debug|Win32
+               {A89D6D18-6203-4149-9051-F8E798E7A3E7}.Release|x64.ActiveCfg = Release|x64
+               {A89D6D18-6203-4149-9051-F8E798E7A3E7}.Release|x64.Build.0 = Release|x64
+               {A89D6D18-6203-4149-9051-F8E798E7A3E7}.Release|x86.ActiveCfg = Release|Win32
+               {A89D6D18-6203-4149-9051-F8E798E7A3E7}.Release|x86.Build.0 = Release|Win32
+               {A89D6D18-6203-4149-9051-F8E798E7A3E7}.ReleaseDLL|x64.ActiveCfg = Release|x64
+               {A89D6D18-6203-4149-9051-F8E798E7A3E7}.ReleaseDLL|x64.Build.0 = Release|x64
+               {A89D6D18-6203-4149-9051-F8E798E7A3E7}.ReleaseDLL|x86.ActiveCfg = Release|Win32
+               {A89D6D18-6203-4149-9051-F8E798E7A3E7}.ReleaseDLL|x86.Build.0 = Release|Win32
+               {A185B162-6CB6-4502-B03F-B56F7699A8D9}.Debug|x64.ActiveCfg = DebugDLL|x64
+               {A185B162-6CB6-4502-B03F-B56F7699A8D9}.Debug|x64.Build.0 = DebugDLL|x64
+               {A185B162-6CB6-4502-B03F-B56F7699A8D9}.Debug|x86.ActiveCfg = Debug|Win32
+               {A185B162-6CB6-4502-B03F-B56F7699A8D9}.Debug|x86.Build.0 = Debug|Win32
+               {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DebugDLL|x64.ActiveCfg = DebugDLL|x64
+               {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DebugDLL|x64.Build.0 = DebugDLL|x64
+               {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DebugDLL|x86.ActiveCfg = DebugDLL|Win32
+               {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DebugDLL|x86.Build.0 = DebugDLL|Win32
+               {A185B162-6CB6-4502-B03F-B56F7699A8D9}.Release|x64.ActiveCfg = ReleaseDLL|x64
+               {A185B162-6CB6-4502-B03F-B56F7699A8D9}.Release|x64.Build.0 = ReleaseDLL|x64
+               {A185B162-6CB6-4502-B03F-B56F7699A8D9}.Release|x86.ActiveCfg = Release|Win32
+               {A185B162-6CB6-4502-B03F-B56F7699A8D9}.Release|x86.Build.0 = Release|Win32
+               {A185B162-6CB6-4502-B03F-B56F7699A8D9}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64
+               {A185B162-6CB6-4502-B03F-B56F7699A8D9}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64
+               {A185B162-6CB6-4502-B03F-B56F7699A8D9}.ReleaseDLL|x86.ActiveCfg = ReleaseDLL|Win32
+               {A185B162-6CB6-4502-B03F-B56F7699A8D9}.ReleaseDLL|x86.Build.0 = ReleaseDLL|Win32
+               {1A234565-926D-49B2-83E4-D56E0C38C9F2}.Debug|x64.ActiveCfg = DebugDLL|x64
+               {1A234565-926D-49B2-83E4-D56E0C38C9F2}.Debug|x64.Build.0 = DebugDLL|x64
+               {1A234565-926D-49B2-83E4-D56E0C38C9F2}.Debug|x86.ActiveCfg = Debug|Win32
+               {1A234565-926D-49B2-83E4-D56E0C38C9F2}.Debug|x86.Build.0 = Debug|Win32
+               {1A234565-926D-49B2-83E4-D56E0C38C9F2}.DebugDLL|x64.ActiveCfg = DebugDLL|x64
+               {1A234565-926D-49B2-83E4-D56E0C38C9F2}.DebugDLL|x64.Build.0 = DebugDLL|x64
+               {1A234565-926D-49B2-83E4-D56E0C38C9F2}.DebugDLL|x86.ActiveCfg = DebugDLL|Win32
+               {1A234565-926D-49B2-83E4-D56E0C38C9F2}.DebugDLL|x86.Build.0 = DebugDLL|Win32
+               {1A234565-926D-49B2-83E4-D56E0C38C9F2}.Release|x64.ActiveCfg = ReleaseDLL|x64
+               {1A234565-926D-49B2-83E4-D56E0C38C9F2}.Release|x64.Build.0 = ReleaseDLL|x64
+               {1A234565-926D-49B2-83E4-D56E0C38C9F2}.Release|x86.ActiveCfg = Release|Win32
+               {1A234565-926D-49B2-83E4-D56E0C38C9F2}.Release|x86.Build.0 = Release|Win32
+               {1A234565-926D-49B2-83E4-D56E0C38C9F2}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64
+               {1A234565-926D-49B2-83E4-D56E0C38C9F2}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64
+               {1A234565-926D-49B2-83E4-D56E0C38C9F2}.ReleaseDLL|x86.ActiveCfg = ReleaseDLL|Win32
+               {1A234565-926D-49B2-83E4-D56E0C38C9F2}.ReleaseDLL|x86.Build.0 = ReleaseDLL|Win32
+       EndGlobalSection
+       GlobalSection(SolutionProperties) = preSolution
+               HideSolutionNode = FALSE
+       EndGlobalSection
+EndGlobal
diff --git a/libs/libblade/libblade.vcxproj b/libs/libblade/libblade.vcxproj
new file mode 100644 (file)
index 0000000..fcfe6d5
--- /dev/null
@@ -0,0 +1,253 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.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>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{A89D6D18-6203-4149-9051-F8E798E7A3E7}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="libblade.props" />
+    <Import Project="..\..\w32\openssl-version.props" />
+    <Import Project="..\..\w32\sodium.props" />
+    <Import Project="..\..\w32\config.props" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="libblade.props" />
+    <Import Project="..\..\w32\openssl-version.props" />
+    <Import Project="..\..\w32\sodium.props" />
+    <Import Project="..\..\w32\config.props" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="libblade.props" />
+    <Import Project="..\..\w32\openssl-version.props" />
+    <Import Project="..\..\w32\sodium.props" />
+    <Import Project="..\..\w32\config.props" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="libblade.props" />
+    <Import Project="..\..\w32\openssl-version.props" />
+    <Import Project="..\..\w32\sodium.props" />
+    <Import Project="..\..\w32\config.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <IntDir>$(Platform)\$(Configuration)\</IntDir>
+    <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
+    <IncludePath>$(SolutionDir);$(SolutionDir)..\libks\src\include;$(SolutionDir)..\libsodium-$(SodiumVersion)\src\libsodium\include;$(SolutionDir)..\libconfig-$(ConfigVersion)\lib;$(IncludePath)</IncludePath>
+    <LibraryPath>$(LibraryPath)</LibraryPath>
+    <CodeAnalysisRuleSet>C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets\NativeRecommendedRules.ruleset</CodeAnalysisRuleSet>
+    <RunCodeAnalysis>true</RunCodeAnalysis>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>
+    </LinkIncremental>
+    <IntDir>$(Platform)\$(Configuration)\</IntDir>
+    <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
+    <IncludePath>$(SolutionDir);$(SolutionDir)..\libks\src\include;$(SolutionDir)..\libsodium-$(SodiumVersion)\src\libsodium\include;$(SolutionDir)..\libconfig-$(ConfigVersion)\lib;$(IncludePath)</IncludePath>
+    <LibraryPath>$(LibraryPath)</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <IncludePath>$(SolutionDir);$(SolutionDir)..\libks\src\include;$(SolutionDir)..\libsodium-$(SodiumVersion)\src\libsodium\include;$(SolutionDir)..\libconfig-$(ConfigVersion)\lib;$(IncludePath)</IncludePath>
+    <LibraryPath>$(LibraryPath)</LibraryPath>
+    <CodeAnalysisRuleSet>C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets\NativeRecommendedRules.ruleset</CodeAnalysisRuleSet>
+    <RunCodeAnalysis>true</RunCodeAnalysis>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <IncludePath>$(SolutionDir);$(SolutionDir)..\libks\src\include;$(SolutionDir)..\libsodium-$(SodiumVersion)\src\libsodium\include;$(SolutionDir)..\libconfig-$(ConfigVersion)\lib;$(IncludePath)</IncludePath>
+    <LibraryPath>$(LibraryPath)</LibraryPath>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBKS_EXPORTS;CJSON_EXPORT_SYMBOLS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <WarningLevel>EnableAllWarnings</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>$(SolutionDir)..\win32\openssl\include;$(SolutionDir)..\win32\openssl\include_x86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <TreatWarningAsError>true</TreatWarningAsError>
+      <DisableSpecificWarnings>4711;4574;4100;4127;4668;4255;4706;4710;4820;4090;4702;4456;4242;4457;4459;4244;4324;4204;4388;4245;4267</DisableSpecificWarnings>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <MinimalRebuild>false</MinimalRebuild>
+      <EnablePREfast>true</EnablePREfast>
+    </ClCompile>
+    <Link>
+      <TargetMachine>MachineX86</TargetMachine>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <AdditionalDependencies>Rpcrt4.lib;Crypt32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBKS_EXPORTS;CJSON_EXPORT_SYMBOLS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <WarningLevel>EnableAllWarnings</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <AdditionalIncludeDirectories>$(SolutionDir)..\win32\openssl\include;$(SolutionDir)..\win32\openssl\include_x86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <TreatWarningAsError>true</TreatWarningAsError>
+      <DisableSpecificWarnings>4711;4574;4100;4127;4668;4255;4706;4710;4820;4090;4702;4456;4242;4457;4459;4244;4324;4204;4388;4245;4267</DisableSpecificWarnings>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+    </ClCompile>
+    <Link>
+      <TargetMachine>MachineX86</TargetMachine>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <AdditionalDependencies>Rpcrt4.lib;Crypt32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <AdditionalIncludeDirectories>$(SolutionDir)..\win32\openssl\include;$(SolutionDir)..\win32\openssl\include_x64;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBKS_EXPORTS;CJSON_EXPORT_SYMBOLS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <WarningLevel>EnableAllWarnings</WarningLevel>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <TreatWarningAsError>true</TreatWarningAsError>
+      <DisableSpecificWarnings>4711;4574;4100;4127;4668;4255;4706;4710;4820;4090;4702;4456;4242;4457;4459;4244;4324;4204;4388;4245;4267</DisableSpecificWarnings>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <MinimalRebuild>false</MinimalRebuild>
+      <EnablePREfast>true</EnablePREfast>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>Debug</GenerateDebugInformation>
+      <AdditionalDependencies>Rpcrt4.lib;Crypt32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <AdditionalIncludeDirectories>$(SolutionDir)..\win32\openssl\include;$(SolutionDir)..\win32\openssl\include_x64;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBKS_EXPORTS;CJSON_EXPORT_SYMBOLS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <WarningLevel>EnableAllWarnings</WarningLevel>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <TreatWarningAsError>true</TreatWarningAsError>
+      <DisableSpecificWarnings>4711;4574;4100;4127;4668;4255;4706;4710;4820;4090;4702;4456;4242;4457;4459;4244;4324;4204;4388;4245;4267</DisableSpecificWarnings>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <AdditionalDependencies>Rpcrt4.lib;Crypt32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="src\blade.c" />
+    <ClCompile Include="src\blade_connection.c" />
+    <ClCompile Include="src\blade_datastore.c" />
+    <ClCompile Include="src\blade_identity.c" />
+    <ClCompile Include="src\blade_method.c" />
+    <ClCompile Include="src\blade_module.c" />
+    <ClCompile Include="src\blade_module_chat.c" />
+    <ClCompile Include="src\blade_module_wss.c" />
+    <ClCompile Include="src\blade_protocol.c" />
+    <ClCompile Include="src\blade_session.c" />
+    <ClCompile Include="src\blade_space.c" />
+    <ClCompile Include="src\blade_stack.c" />
+    <ClCompile Include="src\dht\ks_dht.c" />
+    <ClCompile Include="src\dht\ks_dht_bucket.c" />
+    <ClCompile Include="src\dht\ks_dht_datagram.c" />
+    <ClCompile Include="src\dht\ks_dht_distribute.c" />
+    <ClCompile Include="src\dht\ks_dht_endpoint.c" />
+    <ClCompile Include="src\dht\ks_dht_job.c" />
+    <ClCompile Include="src\dht\ks_dht_message.c" />
+    <ClCompile Include="src\dht\ks_dht_publish.c" />
+    <ClCompile Include="src\dht\ks_dht_search.c" />
+    <ClCompile Include="src\dht\ks_dht_storageitem.c" />
+    <ClCompile Include="src\dht\ks_dht_transaction.c" />
+    <ClCompile Include="src\ks_bencode.c" />
+    <ClCompile Include="src\unqlite.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="src\include\blade.h" />
+    <ClInclude Include="src\include\blade_connection.h" />
+    <ClInclude Include="src\include\blade_datastore.h" />
+    <ClInclude Include="src\include\blade_identity.h" />
+    <ClInclude Include="src\include\blade_method.h" />
+    <ClInclude Include="src\include\blade_module.h" />
+    <ClInclude Include="src\include\blade_protocol.h" />
+    <ClInclude Include="src\include\blade_session.h" />
+    <ClInclude Include="src\include\blade_space.h" />
+    <ClInclude Include="src\include\blade_stack.h" />
+    <ClInclude Include="src\include\blade_types.h" />
+    <ClInclude Include="src\include\ks_bencode.h" />
+    <ClInclude Include="src\include\ks_dht-int.h" />
+    <ClInclude Include="src\include\ks_dht.h" />
+    <ClInclude Include="src\include\unqlite.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\libks\libks.vcxproj">
+      <Project>{70d178d8-1100-4152-86c0-809a91cff832}</Project>
+    </ProjectReference>
+    <ProjectReference Include="..\win32\libconfig\libconfig.2015.vcxproj">
+      <Project>{1a234565-926d-49b2-83e4-d56e0c38c9f2}</Project>
+    </ProjectReference>
+    <ProjectReference Include="..\win32\libsodium\libsodium.2015.vcxproj">
+      <Project>{a185b162-6cb6-4502-b03f-b56f7699a8d9}</Project>
+    </ProjectReference>
+    <ProjectReference Include="..\win32\openssl\libeay32.2015.vcxproj">
+      <Project>{d331904d-a00a-4694-a5a3-fcff64ab5dbe}</Project>
+    </ProjectReference>
+    <ProjectReference Include="..\win32\openssl\ssleay32.2015.vcxproj">
+      <Project>{b4b62169-5ad4-4559-8707-3d933ac5db39}</Project>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/libs/libblade/libblade.vcxproj.filters b/libs/libblade/libblade.vcxproj.filters
new file mode 100644 (file)
index 0000000..dd3696e
--- /dev/null
@@ -0,0 +1,141 @@
+<?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;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;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;tiff;tif;png;wav</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="src\unqlite.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\blade.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\blade_connection.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\blade_datastore.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\blade_identity.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\blade_method.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\blade_module.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\blade_module_chat.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\blade_module_wss.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\blade_protocol.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\blade_session.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\blade_space.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\blade_stack.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\ks_bencode.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\dht\ks_dht.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\dht\ks_dht_bucket.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\dht\ks_dht_datagram.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\dht\ks_dht_distribute.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\dht\ks_dht_endpoint.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\dht\ks_dht_job.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\dht\ks_dht_message.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\dht\ks_dht_publish.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\dht\ks_dht_search.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\dht\ks_dht_storageitem.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\dht\ks_dht_transaction.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="src\include\unqlite.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="src\include\blade.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="src\include\blade_connection.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="src\include\blade_datastore.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="src\include\blade_identity.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="src\include\blade_method.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="src\include\blade_module.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="src\include\blade_protocol.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="src\include\blade_session.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="src\include\blade_space.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="src\include\blade_stack.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="src\include\blade_types.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="src\include\ks_bencode.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="src\include\ks_dht.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="src\include\ks_dht-int.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+  </ItemGroup>
+</Project>
\ No newline at end of file
index 107a8420d31b932482650c8cdba92db0534dd43b..c270321cb3f110c4114008bd4c7b6a04a48b786b 100644 (file)
@@ -756,7 +756,7 @@ ks_status_t blade_transport_wss_write(blade_transport_wss_t *bt_wss, cJSON *json
        }
        // @todo determine if WSOC_TEXT null terminates when read_frame is called, or if it's safe to include like this
        json_str_len = strlen(json_str) + 1;
-       if (kws_write_frame(bt_wss->kws, WSOC_TEXT, json_str, json_str_len) != json_str_len) {
+       if ((ks_size_t)kws_write_frame(bt_wss->kws, WSOC_TEXT, json_str, json_str_len) != json_str_len) {
                ks_log(KS_LOG_DEBUG, "Failed to write frame\n");
                ret = KS_STATUS_FAIL;
                goto done;
index a70adef12ba3ea85241248f36543e1fc73a78bbe..9e9c530d12e9af1e403a7aa343c7dbe6abec942b 100644 (file)
@@ -1613,7 +1613,7 @@ KS_DECLARE(ks_status_t) ks_dht_process_response(ks_dht_t *dht, ks_dht_message_t
 {
        struct bencode *r;
        ks_dht_nodeid_t *id;
-       ks_dht_node_t *node;
+       ks_dht_node_t *node = NULL;
        ks_dht_transaction_t *transaction;
        uint32_t *tid;
        uint32_t transactionid;
index 9e41a1fc763d3bb536160fa6b3cd6f71e9f803be..b79242c709fd01876960964f5efc8cb6b33ba92c 100644 (file)
 
 KS_BEGIN_EXTERN_C
 
+#ifndef config_lookup_from
+#define config_lookup_from config_setting_lookup
+#endif
+
 KS_DECLARE(ks_status_t) blade_init(void);
 KS_DECLARE(ks_status_t) blade_shutdown(void);
 
index d2257795f60c257c7422e4e222c4df83e7ea3052..61c373ee5f8665d58557c90f3a72d14fb2cf93e2 100644 (file)
@@ -19,7 +19,7 @@ extern "C" {
 #ifdef __GNUC__
 #define BEN_CHECK_FORMAT(...)  __attribute__ ((format( __VA_ARGS__ )))
 #else
-#define BEN_CHECK_FORMAT(args)
+#define BEN_CHECK_FORMAT(...)
 #endif
 
 enum {
index 3e6538b9b972afb873eb3d15ba091f623d49c6af..ee79ffaa0003dcb10c38580d3734eaf0bfb4f831 100644 (file)
@@ -1,5 +1,7 @@
+#ifndef _WIN32
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wunused-but-set-variable"
+#endif
 
 /*
  * Symisc unQLite: An Embeddable NoSQL (Post Modern) Database Engine.
@@ -60233,4 +60235,6 @@ UNQLITE_PRIVATE int unqliteRegisterJx9Functions(unqlite_vm *pVm)
  * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#ifndef _WIN32
 #pragma GCC diagnostic pop
+#endif
\ No newline at end of file
index a5c692585c3a7cd045fde42142a93a3a20ce06ac..592e5500d5706fd01a30bab8630b9e4e1ea2673a 100644 (file)
@@ -25,11 +25,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_thread_pools", "test\t
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Download OPENSSL", "..\win32\Download OPENSSL.2015.vcxproj", "{D578E676-7EC8-4548-BD8B-845C635F14AD}"
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openssl", "..\win32\openssl\openssl.2015.vcxproj", "{25BD39B1-C8BF-4676-A738-9CABD9C6BC79}"
-       ProjectSection(ProjectDependencies) = postProject
-               {D578E676-7EC8-4548-BD8B-845C635F14AD} = {D578E676-7EC8-4548-BD8B-845C635F14AD}
-       EndProjectSection
-EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libeay32", "..\win32\openssl\libeay32.2015.vcxproj", "{D331904D-A00A-4694-A5A3-FCFF64AB5DBE}"
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ssleay32", "..\win32\openssl\ssleay32.2015.vcxproj", "{B4B62169-5AD4-4559-8707-3D933AC5DB39}"
@@ -106,14 +101,6 @@ Global
                {90D1C15C-59B0-470F-B18A-DA355948C736}.Release|x64.Build.0 = Release|x64
                {90D1C15C-59B0-470F-B18A-DA355948C736}.Release|x86.ActiveCfg = Release|Win32
                {90D1C15C-59B0-470F-B18A-DA355948C736}.Release|x86.Build.0 = Release|Win32
-               {8AFFECE6-2A0B-4D44-990C-6D3DD832A250}.Debug|x64.ActiveCfg = Debug|x64
-               {8AFFECE6-2A0B-4D44-990C-6D3DD832A250}.Debug|x64.Build.0 = Debug|x64
-               {8AFFECE6-2A0B-4D44-990C-6D3DD832A250}.Debug|x86.ActiveCfg = Debug|Win32
-               {8AFFECE6-2A0B-4D44-990C-6D3DD832A250}.Debug|x86.Build.0 = Debug|Win32
-               {8AFFECE6-2A0B-4D44-990C-6D3DD832A250}.Release|x64.ActiveCfg = Release|x64
-               {8AFFECE6-2A0B-4D44-990C-6D3DD832A250}.Release|x64.Build.0 = Release|x64
-               {8AFFECE6-2A0B-4D44-990C-6D3DD832A250}.Release|x86.ActiveCfg = Release|Win32
-               {8AFFECE6-2A0B-4D44-990C-6D3DD832A250}.Release|x86.Build.0 = Release|Win32
                {1E6DE729-F4D4-4455-B64C-73B31C17E12C}.Debug|x64.ActiveCfg = Debug|x64
                {1E6DE729-F4D4-4455-B64C-73B31C17E12C}.Debug|x64.Build.0 = Debug|x64
                {1E6DE729-F4D4-4455-B64C-73B31C17E12C}.Debug|x86.ActiveCfg = Debug|Win32
@@ -122,6 +109,14 @@ Global
                {1E6DE729-F4D4-4455-B64C-73B31C17E12C}.Release|x64.Build.0 = Release|x64
                {1E6DE729-F4D4-4455-B64C-73B31C17E12C}.Release|x86.ActiveCfg = Release|Win32
                {1E6DE729-F4D4-4455-B64C-73B31C17E12C}.Release|x86.Build.0 = Release|Win32
+               {8AFFECE6-2A0B-4D44-990C-6D3DD832A250}.Debug|x64.ActiveCfg = Debug|x64
+               {8AFFECE6-2A0B-4D44-990C-6D3DD832A250}.Debug|x64.Build.0 = Debug|x64
+               {8AFFECE6-2A0B-4D44-990C-6D3DD832A250}.Debug|x86.ActiveCfg = Debug|Win32
+               {8AFFECE6-2A0B-4D44-990C-6D3DD832A250}.Debug|x86.Build.0 = Debug|Win32
+               {8AFFECE6-2A0B-4D44-990C-6D3DD832A250}.Release|x64.ActiveCfg = Release|x64
+               {8AFFECE6-2A0B-4D44-990C-6D3DD832A250}.Release|x64.Build.0 = Release|x64
+               {8AFFECE6-2A0B-4D44-990C-6D3DD832A250}.Release|x86.ActiveCfg = Release|Win32
+               {8AFFECE6-2A0B-4D44-990C-6D3DD832A250}.Release|x86.Build.0 = Release|Win32
                {D578E676-7EC8-4548-BD8B-845C635F14AD}.Debug|x64.ActiveCfg = Debug|Win32
                {D578E676-7EC8-4548-BD8B-845C635F14AD}.Debug|x64.Build.0 = Debug|Win32
                {D578E676-7EC8-4548-BD8B-845C635F14AD}.Debug|x86.ActiveCfg = Debug|Win32
@@ -130,14 +125,6 @@ Global
                {D578E676-7EC8-4548-BD8B-845C635F14AD}.Release|x64.Build.0 = Release|Win32
                {D578E676-7EC8-4548-BD8B-845C635F14AD}.Release|x86.ActiveCfg = Release|Win32
                {D578E676-7EC8-4548-BD8B-845C635F14AD}.Release|x86.Build.0 = Release|Win32
-               {25BD39B1-C8BF-4676-A738-9CABD9C6BC79}.Debug|x64.ActiveCfg = Debug|x64
-               {25BD39B1-C8BF-4676-A738-9CABD9C6BC79}.Debug|x64.Build.0 = Debug|x64
-               {25BD39B1-C8BF-4676-A738-9CABD9C6BC79}.Debug|x86.ActiveCfg = Debug|Win32
-               {25BD39B1-C8BF-4676-A738-9CABD9C6BC79}.Debug|x86.Build.0 = Debug|Win32
-               {25BD39B1-C8BF-4676-A738-9CABD9C6BC79}.Release|x64.ActiveCfg = Release|x64
-               {25BD39B1-C8BF-4676-A738-9CABD9C6BC79}.Release|x64.Build.0 = Release|x64
-               {25BD39B1-C8BF-4676-A738-9CABD9C6BC79}.Release|x86.ActiveCfg = Release|Win32
-               {25BD39B1-C8BF-4676-A738-9CABD9C6BC79}.Release|x86.Build.0 = Release|Win32
                {D331904D-A00A-4694-A5A3-FCFF64AB5DBE}.Debug|x64.ActiveCfg = Debug|x64
                {D331904D-A00A-4694-A5A3-FCFF64AB5DBE}.Debug|x64.Build.0 = Debug|x64
                {D331904D-A00A-4694-A5A3-FCFF64AB5DBE}.Debug|x86.ActiveCfg = Debug|Win32
index 4a9206f47bc953c57eb380bc7c14706e01e952fa..654341272b7d1e45625fbb65422aa54732e75745 100644 (file)
@@ -78,7 +78,7 @@
     <LinkIncremental>true</LinkIncremental>
     <IntDir>$(Platform)\$(Configuration)\</IntDir>
     <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
-    <IncludePath>$(SolutionDir);$(SolutionDir)\crypt;$(IncludePath)</IncludePath>
+    <IncludePath>$(ProjectDir);$(ProjectDir)\crypt;$(IncludePath)</IncludePath>
     <LibraryPath>$(LibraryPath)</LibraryPath>
     <CodeAnalysisRuleSet>C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets\NativeRecommendedRules.ruleset</CodeAnalysisRuleSet>
     <RunCodeAnalysis>true</RunCodeAnalysis>
     </LinkIncremental>
     <IntDir>$(Platform)\$(Configuration)\</IntDir>
     <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
-    <IncludePath>$(SolutionDir);$(SolutionDir)\crypt;$(IncludePath)</IncludePath>
+    <IncludePath>$(ProjectDir);$(ProjectDir)\crypt;$(IncludePath)</IncludePath>
     <LibraryPath>$(LibraryPath)</LibraryPath>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <IncludePath>$(SolutionDir);$(SolutionDir)\crypt;$(IncludePath)</IncludePath>
+    <IncludePath>$(ProjectDir);$(ProjectDir)\crypt;$(IncludePath)</IncludePath>
     <LibraryPath>$(LibraryPath)</LibraryPath>
     <CodeAnalysisRuleSet>C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets\NativeRecommendedRules.ruleset</CodeAnalysisRuleSet>
     <RunCodeAnalysis>true</RunCodeAnalysis>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <IncludePath>$(SolutionDir);$(SolutionDir)\crypt;$(IncludePath)</IncludePath>
+    <IncludePath>$(ProjectDir);$(ProjectDir)\crypt;$(IncludePath)</IncludePath>
     <LibraryPath>$(LibraryPath)</LibraryPath>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <ProjectReference Include="..\win32\openssl\libeay32.2015.vcxproj">
       <Project>{d331904d-a00a-4694-a5a3-fcff64ab5dbe}</Project>
     </ProjectReference>
-    <ProjectReference Include="..\win32\openssl\openssl.2015.vcxproj">
-      <Project>{25bd39b1-c8bf-4676-a738-9cabd9c6bc79}</Project>
-    </ProjectReference>
     <ProjectReference Include="..\win32\openssl\ssleay32.2015.vcxproj">
       <Project>{b4b62169-5ad4-4559-8707-3d933ac5db39}</Project>
     </ProjectReference>
index 7cfea6859710ef0f428876a1460a022a79296f00..d709ba5a128f6e57ca38996d339193c4ae83f174 100644 (file)
@@ -84,7 +84,8 @@ KS_DECLARE(ks_pool_t *) ks_global_pool(void);
 KS_DECLARE(ks_status_t) ks_global_set_cleanup(ks_pool_cleanup_fn_t fn, void *arg);
 KS_DECLARE(int) ks_vasprintf(char **ret, const char *fmt, va_list ap);
 
-KS_DECLARE_DATA extern ks_logger_t ks_log;
+//KS_DECLARE_DATA extern ks_logger_t ks_logger;
+KS_DECLARE(void) ks_log(const char *file, const char *func, int line, int level, const char *fmt, ...);
 
 /*! Sets the logger for libks. Default is the null_logger */
 KS_DECLARE(void) ks_global_set_logger(ks_logger_t logger);
index 1939bc036b7fb313de1bb6ea63d67b290536d76a..b72d73d2b3de2c2c8e8ce927835ac16a17c33d72 100644 (file)
@@ -45,6 +45,7 @@ KS_BEGIN_EXTERN_C
 #define KS_SO_NONBLOCK 2999
 
 #ifdef WIN32
+#define SHUT_RDWR SD_BOTH
 
 static __inline int ks_errno(void)
 {
index 73186a7f7f20827cd0a9c42f3e6f033be8169d88..495f52159ac556db2108398feaeab4658277d585 100755 (executable)
@@ -45,8 +45,12 @@ extern "C" {
 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
        /* "inline" and "restrict" are keywords */
 #else
+#ifndef inline
 #   define inline           /* inline */
+#endif
+#ifndef restrict
 #   define restrict         /* restrict */
+#endif
 #endif
 
 
@@ -210,7 +214,7 @@ extern "C" {
        * @param l     must point to a user-provided memory location
        * @return      0 for success. -1 for failure
        */
-       int list_init(list_t *restrict l);
+       KS_DECLARE(int) list_init(list_t *restrict l);
 
        /**
        * completely remove the list from memory.
@@ -221,7 +225,7 @@ extern "C" {
        *
        * @param l     list to destroy
        */
-       void list_destroy(list_t *restrict l);
+       KS_DECLARE(void) list_destroy(list_t *restrict l);
 
        /**
        * set the comparator function for list elements.
@@ -356,7 +360,7 @@ extern "C" {
        *
        * @return      1 for success. < 0 for failure
        */
-       int list_append(list_t *restrict l, const void *data);
+       KS_DECLARE(int) list_append(list_t *restrict l, const void *data);
 
        /**
        * insert data in the head of the list.
@@ -368,7 +372,7 @@ extern "C" {
        *
        * @return      1 for success. < 0 for failure
        */
-       int list_prepend(list_t *restrict l, const void *restrict data);
+       KS_DECLARE(int) list_prepend(list_t *restrict l, const void *restrict data);
 
        /**
        * extract the element in the top of the list.
@@ -378,7 +382,7 @@ extern "C" {
        * @param l     list to operate
        * @return      reference to user datum, or NULL on errors
        */
-       void *list_fetch(list_t *restrict l);
+       KS_DECLARE(void *) list_fetch(list_t *restrict l);
 
        /**
        * retrieve an element at a given position.
@@ -387,7 +391,7 @@ extern "C" {
        * @param pos   [0,size-1] position index of the element wanted
        * @return      reference to user datum, or NULL on errors
        */
-       void *list_get_at(const list_t *restrict l, unsigned int pos);
+       KS_DECLARE(void *) list_get_at(const list_t *restrict l, unsigned int pos);
 
        /**
        * return the maximum element of the list.
@@ -401,7 +405,7 @@ extern "C" {
        * @param l     list to operate
        * @return      the reference to the element, or NULL
        */
-       void *list_get_max(const list_t *restrict l);
+       KS_DECLARE(void *) list_get_max(const list_t *restrict l);
 
        /**
        * return the minimum element of the list.
@@ -415,7 +419,7 @@ extern "C" {
        * @param l     list to operate
        * @return      the reference to the element, or NULL
        */
-       void *list_get_min(const list_t *restrict l);
+       KS_DECLARE(void *) list_get_min(const list_t *restrict l);
 
        /**
        * retrieve and remove from list an element at a given position.
@@ -424,7 +428,7 @@ extern "C" {
        * @param pos   [0,size-1] position index of the element wanted
        * @return      reference to user datum, or NULL on errors
        */
-       void *list_extract_at(list_t *restrict l, unsigned int pos);
+       KS_DECLARE(void *) list_extract_at(list_t *restrict l, unsigned int pos);
 
        /**
        * insert an element at a given position.
@@ -434,7 +438,7 @@ extern "C" {
        * @param pos   [0,size-1] position index to insert the element at
        * @return      positive value on success. Negative on failure
        */
-       int list_insert_at(list_t *restrict l, const void *data, unsigned int pos);
+       KS_DECLARE(int) list_insert_at(list_t *restrict l, const void *data, unsigned int pos);
 
        /**
        * expunge the first found given element from the list.
@@ -451,7 +455,7 @@ extern "C" {
        * @see list_attributes_comparator()
        * @see list_delete_at()
        */
-       int list_delete(list_t *restrict l, const void *data);
+       KS_DECLARE(int) list_delete(list_t *restrict l, const void *data);
 
        /**
        * expunge an element at a given position from the list.
@@ -460,7 +464,7 @@ extern "C" {
        * @param pos   [0,size-1] position index of the element to be deleted
        * @return      0 on success. Negative value on failure
        */
-       int list_delete_at(list_t *restrict l, unsigned int pos);
+       KS_DECLARE(int) list_delete_at(list_t *restrict l, unsigned int pos);
 
        /**
        * expunge an array of elements from the list, given their position range.
@@ -470,7 +474,7 @@ extern "C" {
        * @param posend    [posstart,size-1] position of the last element to be deleted
        * @return      the number of elements successfully removed on success, <0 on error
        */
-       int list_delete_range(list_t *restrict l, unsigned int posstart, unsigned int posend);
+       KS_DECLARE(int) list_delete_range(list_t *restrict l, unsigned int posstart, unsigned int posend);
 
        /**
        * clear all the elements off of the list.
@@ -483,7 +487,7 @@ extern "C" {
        * @param l     list to operate
        * @return      the number of elements removed on success, <0 on error
        */
-       int list_clear(list_t *restrict l);
+       KS_DECLARE(int) list_clear(list_t *restrict l);
 
        /**
        * inspect the number of elements in the list.
@@ -491,7 +495,7 @@ extern "C" {
        * @param l     list to operate
        * @return      number of elements currently held by the list
        */
-       unsigned int list_size(const list_t *restrict l);
+       KS_DECLARE(unsigned int) list_size(const list_t *restrict l);
 
        /**
        * inspect whether the list is empty.
@@ -501,7 +505,7 @@ extern "C" {
        *
        * @see list_size()
        */
-       int list_empty(const list_t *restrict l);
+       KS_DECLARE(int) list_empty(const list_t *restrict l);
 
        /**
        * find the position of an element in a list.
@@ -520,7 +524,7 @@ extern "C" {
        * @see list_attributes_comparator()
        * @see list_get_at()
        */
-       int list_locate(const list_t *restrict l, const void *data);
+       KS_DECLARE(int) list_locate(const list_t *restrict l, const void *data);
 
        /**
        * returns an element given an indicator.
@@ -535,7 +539,7 @@ extern "C" {
        * @param indicator indicator data to pass to the seeker along with elements
        * @return      reference to the element accepted by the seeker, or NULL if none found
        */
-       void *list_seek(list_t *restrict l, const void *indicator);
+       KS_DECLARE(void *) list_seek(list_t *restrict l, const void *indicator);
 
        /**
        * inspect whether some data is member of the list.
@@ -556,7 +560,7 @@ extern "C" {
        *
        * @see list_attributes_comparator()
        */
-       int list_contains(const list_t *restrict l, const void *data);
+       KS_DECLARE(int) list_contains(const list_t *restrict l, const void *data);
 
        /**
        * concatenate two lists
@@ -575,7 +579,7 @@ extern "C" {
        * @param dest  reference to the destination list
        * @return      0 for success, -1 for errors
        */
-       int list_concat(const list_t *l1, const list_t *l2, list_t *restrict dest);
+       KS_DECLARE(int) list_concat(const list_t *l1, const list_t *l2, list_t *restrict dest);
 
        /**
        * sort list elements.
@@ -592,7 +596,7 @@ extern "C" {
        *
        * @see list_attributes_comparator()
        */
-       int list_sort(list_t *restrict l, int versus);
+       KS_DECLARE(int) list_sort(list_t *restrict l, int versus);
 
        /**
        * start an iteration session.
@@ -604,7 +608,7 @@ extern "C" {
        *
        * @see list_iterator_stop()
        */
-       int list_iterator_start(list_t *restrict l);
+       KS_DECLARE(int) list_iterator_start(list_t *restrict l);
 
        /**
        * return the next element in the iteration session.
@@ -612,7 +616,7 @@ extern "C" {
        * @param l     list to operate
        * @return               element datum, or NULL on errors
        */
-       void *list_iterator_next(list_t *restrict l);
+       KS_DECLARE(void *) list_iterator_next(list_t *restrict l);
 
        /**
        * inspect whether more elements are available in the iteration session.
@@ -620,7 +624,7 @@ extern "C" {
        * @param l     list to operate
        * @return      0 iff no more elements are available.
        */
-       int list_iterator_hasnext(const list_t *restrict l);
+       KS_DECLARE(int) list_iterator_hasnext(const list_t *restrict l);
 
        /**
        * end an iteration session.
@@ -628,7 +632,7 @@ extern "C" {
        * @param l     list to operate
        * @return      0 iff the iteration session cannot be stopped
        */
-       int list_iterator_stop(list_t *restrict l);
+       KS_DECLARE(int) list_iterator_stop(list_t *restrict l);
 
        /**
        * return the hash of the current status of the list.
@@ -638,7 +642,7 @@ extern "C" {
        *
        * @return      0 for success; <0 for failure
        */
-       int list_hash(const list_t *restrict l, list_hash_t *restrict hash);
+       KS_DECLARE(int) list_hash(const list_t *restrict l, list_hash_t *restrict hash);
 
 #ifndef SIMCLIST_NO_DUMPRESTORE
        /**
index b8642122c75f1ab6c9b652981e8cd874e83dcefc..cdcbc41b2e2d745b28be810ac9c35baf88555fb9 100644 (file)
@@ -131,14 +131,14 @@ static void default_logger(const char *file, const char *func, int line, int lev
 
 }
 
-ks_logger_t ks_log = null_logger;
+ks_logger_t ks_logger = null_logger;
 
 KS_DECLARE(void) ks_global_set_logger(ks_logger_t logger)
 {
        if (logger) {
-               ks_log = logger;
+               ks_logger = logger;
        } else {
-               ks_log = null_logger;
+               ks_logger = null_logger;
        }
 }
 
@@ -148,7 +148,7 @@ KS_DECLARE(void) ks_global_set_default_logger(int level)
                level = 7;
        }
 
-       ks_log = default_logger;
+       ks_logger = default_logger;
        ks_log_level = level;
 }
 
@@ -156,3 +156,22 @@ KS_DECLARE(void) ks_global_set_default_logger_prefix(ks_log_prefix_t prefix)
 {
        ks_log_prefix = prefix;
 }
+
+KS_DECLARE(void) ks_log(const char *file, const char *func, int line, int level, const char *fmt, ...)
+{
+       char *data;
+       va_list ap;
+
+       if (!ks_logger) return;
+
+       va_start(ap, fmt);
+
+       if (ks_vasprintf(&data, fmt, ap) != -1) {
+               ks_logger(file, func, line, level, "%s", data);
+               //fprintf(stderr, "[%s] %s:%d %s() %s", LEVEL_NAMES[level], fp, line, func, data);
+               //fprintf(stderr, "%s", buf);
+               free(data);
+       }
+
+       va_end(ap);
+}
index 78dda9af14a3e95a48b62e70d659a3b5a2f1059d..04c1f814575cd94afacf01718c01fa9d93d8e770 100755 (executable)
@@ -267,7 +267,7 @@ static inline long get_random(void) {
 
 
 /* list initialization */
-int list_init(list_t *restrict l) {
+KS_DECLARE(int) list_init(list_t *restrict l) {
        if (l == NULL) return -1;
 
        seed_random();
@@ -303,7 +303,7 @@ int list_init(list_t *restrict l) {
        return 0;
 }
 
-void list_destroy(list_t *restrict l) {
+KS_DECLARE(void) list_destroy(list_t *restrict l) {
        unsigned int i;
 
        list_clear(l);
@@ -389,19 +389,19 @@ int list_attributes_unserializer(list_t *restrict l, element_unserializer unseri
        return 0;
 }
 
-int list_append(list_t *restrict l, const void *data) {
+KS_DECLARE(int) list_append(list_t *restrict l, const void *data) {
        return list_insert_at(l, data, l->numels);
 }
 
-int list_prepend(list_t *restrict l, const void *data) {
+KS_DECLARE(int) list_prepend(list_t *restrict l, const void *data) {
        return list_insert_at(l, data, 0);
 }
 
-void *list_fetch(list_t *restrict l) {
+KS_DECLARE(void *) list_fetch(list_t *restrict l) {
        return list_extract_at(l, 0);
 }
 
-void *list_get_at(const list_t *restrict l, unsigned int pos) {
+KS_DECLARE(void *) list_get_at(const list_t *restrict l, unsigned int pos) {
        struct list_entry_s *tmp;
 
        tmp = list_findpos(l, pos);
@@ -409,11 +409,11 @@ void *list_get_at(const list_t *restrict l, unsigned int pos) {
        return (tmp != NULL ? tmp->data : NULL);
 }
 
-void *list_get_max(const list_t *restrict l) {
+KS_DECLARE(void *) list_get_max(const list_t *restrict l) {
        return list_get_minmax(l, +1);
 }
 
-void *list_get_min(const list_t *restrict l) {
+KS_DECLARE(void *) list_get_min(const list_t *restrict l) {
        return list_get_minmax(l, -1);
 }
 
@@ -465,7 +465,7 @@ static inline struct list_entry_s *list_findpos(const list_t *restrict l, int po
        return ptr;
 }
 
-void *list_extract_at(list_t *restrict l, unsigned int pos) {
+KS_DECLARE(void *) list_extract_at(list_t *restrict l, unsigned int pos) {
        struct list_entry_s *tmp;
        void *data;
 
@@ -483,7 +483,7 @@ void *list_extract_at(list_t *restrict l, unsigned int pos) {
        return data;
 }
 
-int list_insert_at(list_t *restrict l, const void *data, unsigned int pos) {
+KS_DECLARE(int) list_insert_at(list_t *restrict l, const void *data, unsigned int pos) {
        struct list_entry_s *lent, *succ, *prec;
 
        if (l->iter_active || pos > l->numels) return -1;
@@ -536,7 +536,7 @@ int list_insert_at(list_t *restrict l, const void *data, unsigned int pos) {
        return 1;
 }
 
-int list_delete(list_t *restrict l, const void *data) {
+KS_DECLARE(int) list_delete(list_t *restrict l, const void *data) {
        int pos, r;
 
        pos = list_locate(l, data);
@@ -552,7 +552,7 @@ int list_delete(list_t *restrict l, const void *data) {
        return 0;
 }
 
-int list_delete_at(list_t *restrict l, unsigned int pos) {
+KS_DECLARE(int) list_delete_at(list_t *restrict l, unsigned int pos) {
        struct list_entry_s *delendo;
 
 
@@ -570,7 +570,7 @@ int list_delete_at(list_t *restrict l, unsigned int pos) {
        return  0;
 }
 
-int list_delete_range(list_t *restrict l, unsigned int posstart, unsigned int posend) {
+KS_DECLARE(int) list_delete_range(list_t *restrict l, unsigned int posstart, unsigned int posend) {
        struct list_entry_s *lastvalid, *tmp, *tmp2;
        unsigned int numdel, midposafter, i;
        int movedx;
@@ -637,7 +637,7 @@ int list_delete_range(list_t *restrict l, unsigned int posstart, unsigned int po
        return numdel;
 }
 
-int list_clear(list_t *restrict l) {
+KS_DECLARE(int) list_clear(list_t *restrict l) {
        struct list_entry_s *s;
        unsigned int numels;
 
@@ -684,15 +684,15 @@ int list_clear(list_t *restrict l) {
        return numels;
 }
 
-unsigned int list_size(const list_t *restrict l) {
+KS_DECLARE(unsigned int) list_size(const list_t *restrict l) {
        return l->numels;
 }
 
-int list_empty(const list_t *restrict l) {
+KS_DECLARE(int) list_empty(const list_t *restrict l) {
        return (l->numels == 0);
 }
 
-int list_locate(const list_t *restrict l, const void *data) {
+KS_DECLARE(int) list_locate(const list_t *restrict l, const void *data) {
        struct list_entry_s *el;
        int pos = 0;
 
@@ -713,7 +713,7 @@ int list_locate(const list_t *restrict l, const void *data) {
        return pos;
 }
 
-void *list_seek(list_t *restrict l, const void *indicator) {
+KS_DECLARE(void *) list_seek(list_t *restrict l, const void *indicator) {
        const struct list_entry_s *iter;
 
        if (l->attrs.seeker == NULL) return NULL;
@@ -725,11 +725,11 @@ void *list_seek(list_t *restrict l, const void *indicator) {
        return NULL;
 }
 
-int list_contains(const list_t *restrict l, const void *data) {
+KS_DECLARE(int) list_contains(const list_t *restrict l, const void *data) {
        return (list_locate(l, data) >= 0);
 }
 
-int list_concat(const list_t *l1, const list_t *l2, list_t *restrict dest) {
+KS_DECLARE(int) list_concat(const list_t *l1, const list_t *l2, list_t *restrict dest) {
        struct list_entry_s *el, *srcel;
        unsigned int cnt;
        int err;
@@ -783,7 +783,7 @@ int list_concat(const list_t *l1, const list_t *l2, list_t *restrict dest) {
        return 0;
 }
 
-int list_sort(list_t *restrict l, int versus) {
+KS_DECLARE(int) list_sort(list_t *restrict l, int versus) {
        if (l->iter_active || l->attrs.comparator == NULL) /* cannot modify list in the middle of an iteration */
                return -1;
 
@@ -960,7 +960,7 @@ static void list_sort_quicksort(list_t *restrict l, int versus,
 #endif
 }
 
-int list_iterator_start(list_t *restrict l) {
+KS_DECLARE(int) list_iterator_start(list_t *restrict l) {
        if (l->iter_active) return 0;
        l->iter_pos = 0;
        l->iter_active = 1;
@@ -968,7 +968,7 @@ int list_iterator_start(list_t *restrict l) {
        return 1;
 }
 
-void *list_iterator_next(list_t *restrict l) {
+KS_DECLARE(void *) list_iterator_next(list_t *restrict l) {
        void *toret;
 
        if (!l->iter_active) return NULL;
@@ -980,19 +980,19 @@ void *list_iterator_next(list_t *restrict l) {
        return toret;
 }
 
-int list_iterator_hasnext(const list_t *restrict l) {
+KS_DECLARE(int) list_iterator_hasnext(const list_t *restrict l) {
        if (!l->iter_active) return 0;
        return (l->iter_pos < l->numels);
 }
 
-int list_iterator_stop(list_t *restrict l) {
+KS_DECLARE(int) list_iterator_stop(list_t *restrict l) {
        if (!l->iter_active) return 0;
        l->iter_pos = 0;
        l->iter_active = 0;
        return 1;
 }
 
-int list_hash(const list_t *restrict l, list_hash_t *restrict hash) {
+KS_DECLARE(int) list_hash(const list_t *restrict l, list_hash_t *restrict hash) {
        struct list_entry_s *x;
        list_hash_t tmphash;
 
index 5e488c5dffee0014fa735bbb8f4cb84dee43e406..974ab4fc20e200c0c4dee8d48d49c7ec37adc385 100644 (file)
     <ProjectReference Include="..\..\win32\openssl\libeay32.2015.vcxproj">
       <Project>{d331904d-a00a-4694-a5a3-fcff64ab5dbe}</Project>
     </ProjectReference>
-    <ProjectReference Include="..\..\win32\openssl\openssl.2015.vcxproj">
-      <Project>{25bd39b1-c8bf-4676-a738-9cabd9c6bc79}</Project>
-    </ProjectReference>
     <ProjectReference Include="..\..\win32\openssl\ssleay32.2015.vcxproj">
       <Project>{b4b62169-5ad4-4559-8707-3d933ac5db39}</Project>
     </ProjectReference>
index ae3e3ddb354fe454abca72fbc08db58000ea16ed..ffed964941997c9df42e5399efbf0a99a4b63029 100644 (file)
     <ProjectReference Include="..\..\win32\openssl\libeay32.2015.vcxproj">
       <Project>{d331904d-a00a-4694-a5a3-fcff64ab5dbe}</Project>
     </ProjectReference>
-    <ProjectReference Include="..\..\win32\openssl\openssl.2015.vcxproj">
-      <Project>{25bd39b1-c8bf-4676-a738-9cabd9c6bc79}</Project>
-    </ProjectReference>
     <ProjectReference Include="..\..\win32\openssl\ssleay32.2015.vcxproj">
       <Project>{b4b62169-5ad4-4559-8707-3d933ac5db39}</Project>
     </ProjectReference>
index 8648b7130883d65c015a80be5a7170f2bb810253..d3bbc3e9f2ea25e714ee75c57452c067b08983a4 100644 (file)
     <ProjectReference Include="..\..\win32\openssl\libeay32.2015.vcxproj">
       <Project>{d331904d-a00a-4694-a5a3-fcff64ab5dbe}</Project>
     </ProjectReference>
-    <ProjectReference Include="..\..\win32\openssl\openssl.2015.vcxproj">
-      <Project>{25bd39b1-c8bf-4676-a738-9cabd9c6bc79}</Project>
-    </ProjectReference>
     <ProjectReference Include="..\..\win32\openssl\ssleay32.2015.vcxproj">
       <Project>{b4b62169-5ad4-4559-8707-3d933ac5db39}</Project>
     </ProjectReference>
diff --git a/libs/win32/libconfig/libconfig.2015.vcxproj b/libs/win32/libconfig/libconfig.2015.vcxproj
new file mode 100644 (file)
index 0000000..e5ae0f3
--- /dev/null
@@ -0,0 +1,345 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="DebugDLL|Win32">
+      <Configuration>DebugDLL</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="DebugDLL|x64">
+      <Configuration>DebugDLL</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="ReleaseDLL|Win32">
+      <Configuration>ReleaseDLL</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="ReleaseDLL|x64">
+      <Configuration>ReleaseDLL</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectName>libconfig</ProjectName>
+    <ProjectGuid>{1A234565-926D-49B2-83E4-D56E0C38C9F2}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>libconfig</RootNamespace>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>false</WholeProgramOptimization>
+    <PlatformToolset>v140</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>false</WholeProgramOptimization>
+    <PlatformToolset>v140</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>false</WholeProgramOptimization>
+    <PlatformToolset>v140</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>false</WholeProgramOptimization>
+    <PlatformToolset>v140</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v140</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v140</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v140</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v140</PlatformToolset>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\..\w32\extdll.props" />
+    <Import Project="..\..\..\w32\config.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\..\w32\extdll.props" />
+    <Import Project="..\..\..\w32\config.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\..\w32\extdll.props" />
+    <Import Project="..\..\..\w32\config.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\..\w32\extdll.props" />
+    <Import Project="..\..\..\w32\config.props" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\..\w32\extdll.props" />
+    <Import Project="..\..\..\w32\config.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\..\w32\extdll.props" />
+    <Import Project="..\..\..\w32\config.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\..\w32\extdll.props" />
+    <Import Project="..\..\..\w32\config.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\..\w32\extdll.props" />
+    <Import Project="..\..\..\w32\config.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|x64'">
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalOptions>/arch:AVX %(AdditionalOptions)</AdditionalOptions>
+      <MinimalRebuild>false</MinimalRebuild>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalOptions>/arch:AVX %(AdditionalOptions)</AdditionalOptions>
+      <MinimalRebuild>false</MinimalRebuild>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <AdditionalOptions>/arch:AVX %(AdditionalOptions)</AdditionalOptions>
+      <MinimalRebuild>false</MinimalRebuild>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <AdditionalOptions>/arch:AVX %(AdditionalOptions)</AdditionalOptions>
+      <MinimalRebuild>false</MinimalRebuild>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>Full</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+      <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <MinimalRebuild>false</MinimalRebuild>
+      <AdditionalOptions>/arch:AVX %(AdditionalOptions)</AdditionalOptions>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>Full</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+      <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <MinimalRebuild>false</MinimalRebuild>
+      <AdditionalOptions>/arch:AVX %(AdditionalOptions)</AdditionalOptions>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <MinimalRebuild>false</MinimalRebuild>
+      <AdditionalOptions>/arch:AVX %(AdditionalOptions)</AdditionalOptions>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <MinimalRebuild>false</MinimalRebuild>
+      <AdditionalOptions>/arch:AVX %(AdditionalOptions)</AdditionalOptions>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\libconfig-$(ConfigVersion)\lib\grammar.c" />
+    <ClCompile Include="..\..\libconfig-$(ConfigVersion)\lib\libconfig.c" />
+    <ClCompile Include="..\..\libconfig-$(ConfigVersion)\lib\scanctx.c" />
+    <ClCompile Include="..\..\libconfig-$(ConfigVersion)\lib\scanner.c" />
+    <ClCompile Include="..\..\libconfig-$(ConfigVersion)\lib\strbuf.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\libconfig-$(ConfigVersion)\lib\grammar.h" />
+    <ClInclude Include="..\..\libconfig-$(ConfigVersion)\lib\libconfig.h" />
+    <ClInclude Include="..\..\libconfig-$(ConfigVersion)\lib\parsectx.h" />
+    <ClInclude Include="..\..\libconfig-$(ConfigVersion)\lib\private.h" />
+    <ClInclude Include="..\..\libconfig-$(ConfigVersion)\lib\scanctx.h" />
+    <ClInclude Include="..\..\libconfig-$(ConfigVersion)\lib\scanner.h" />
+    <ClInclude Include="..\..\libconfig-$(ConfigVersion)\lib\wincompat.h" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/libs/win32/libconfig/libconfig.2015.vcxproj.filters b/libs/win32/libconfig/libconfig.2015.vcxproj.filters
new file mode 100644 (file)
index 0000000..e7b884e
--- /dev/null
@@ -0,0 +1,57 @@
+<?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;cc;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;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\libconfig-$(ConfigVersion)\lib\grammar.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libconfig-$(ConfigVersion)\lib\libconfig.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libconfig-$(ConfigVersion)\lib\scanctx.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libconfig-$(ConfigVersion)\lib\scanner.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libconfig-$(ConfigVersion)\lib\strbuf.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\libconfig-$(ConfigVersion)\lib\grammar.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libconfig-$(ConfigVersion)\lib\libconfig.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libconfig-$(ConfigVersion)\lib\parsectx.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libconfig-$(ConfigVersion)\lib\private.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libconfig-$(ConfigVersion)\lib\scanctx.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libconfig-$(ConfigVersion)\lib\scanner.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libconfig-$(ConfigVersion)\lib\wincompat.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/libs/win32/libsodium/libsodium.2015.vcxproj b/libs/win32/libsodium/libsodium.2015.vcxproj
new file mode 100644 (file)
index 0000000..e12109e
--- /dev/null
@@ -0,0 +1,556 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="DebugDLL|Win32">
+      <Configuration>DebugDLL</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="DebugDLL|x64">
+      <Configuration>DebugDLL</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="ReleaseDLL|Win32">
+      <Configuration>ReleaseDLL</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="ReleaseDLL|x64">
+      <Configuration>ReleaseDLL</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectName>libsodium</ProjectName>
+    <ProjectGuid>{A185B162-6CB6-4502-B03F-B56F7699A8D9}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>libsodium</RootNamespace>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>false</WholeProgramOptimization>
+    <PlatformToolset>v140</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>false</WholeProgramOptimization>
+    <PlatformToolset>v140</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>false</WholeProgramOptimization>
+    <PlatformToolset>v140</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>false</WholeProgramOptimization>
+    <PlatformToolset>v140</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v140</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v140</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v140</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v140</PlatformToolset>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\..\w32\extdll.props" />
+    <Import Project="..\..\..\w32\sodium.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\..\w32\extdll.props" />
+    <Import Project="..\..\..\w32\sodium.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\..\w32\extdll.props" />
+    <Import Project="..\..\..\w32\sodium.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\..\w32\extdll.props" />
+    <Import Project="..\..\..\w32\sodium.props" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\..\w32\extdll.props" />
+    <Import Project="..\..\..\w32\sodium.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\..\w32\extdll.props" />
+    <Import Project="..\..\..\w32\sodium.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\..\w32\extdll.props" />
+    <Import Project="..\..\..\w32\sodium.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\..\w32\extdll.props" />
+    <Import Project="..\..\..\w32\sodium.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|x64'">
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>SODIUM_STATIC;SODIUM_EXPORT=;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalOptions>/arch:AVX %(AdditionalOptions)</AdditionalOptions>
+      <MinimalRebuild>false</MinimalRebuild>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>SODIUM_EXPORT=__declspec(dllexport);SODIUM_DLL_EXPORT;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalOptions>/arch:AVX %(AdditionalOptions)</AdditionalOptions>
+      <MinimalRebuild>false</MinimalRebuild>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>SODIUM_STATIC;SODIUM_EXPORT=;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <AdditionalOptions>/arch:AVX %(AdditionalOptions)</AdditionalOptions>
+      <MinimalRebuild>false</MinimalRebuild>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>SODIUM_EXPORT=__declspec(dllexport);SODIUM_DLL_EXPORT;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <AdditionalOptions>/arch:AVX %(AdditionalOptions)</AdditionalOptions>
+      <MinimalRebuild>false</MinimalRebuild>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>Full</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>SODIUM_STATIC;SODIUM_EXPORT=;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+      <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <MinimalRebuild>false</MinimalRebuild>
+      <AdditionalOptions>/arch:AVX %(AdditionalOptions)</AdditionalOptions>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>Full</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>SODIUM_EXPORT=__declspec(dllexport);SODIUM_DLL_EXPORT;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+      <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <MinimalRebuild>false</MinimalRebuild>
+      <AdditionalOptions>/arch:AVX %(AdditionalOptions)</AdditionalOptions>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>SODIUM_STATIC;SODIUM_EXPORT=;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <MinimalRebuild>false</MinimalRebuild>
+      <AdditionalOptions>/arch:AVX %(AdditionalOptions)</AdditionalOptions>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>SODIUM_EXPORT=__declspec(dllexport);SODIUM_DLL_EXPORT;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <MinimalRebuild>false</MinimalRebuild>
+      <AdditionalOptions>/arch:AVX %(AdditionalOptions)</AdditionalOptions>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_aead\aes256gcm\aesni\aead_aes256gcm_aesni.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_aead\xchacha20poly1305\sodium\aead_xchacha20poly1305.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_auth\crypto_auth.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_auth\hmacsha256\auth_hmacsha256.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_auth\hmacsha512\auth_hmacsha512.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_auth\hmacsha512256\auth_hmacsha512256.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_box\crypto_box.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_box\crypto_box_easy.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_box\crypto_box_seal.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_box\curve25519xchacha20poly1305\box_curve25519xchacha20poly1305.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_box\curve25519xsalsa20poly1305\box_curve25519xsalsa20poly1305.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_core\curve25519\ref10\curve25519_ref10.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_core\hchacha20\core_hchacha20.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_core\hsalsa20\core_hsalsa20.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_core\hsalsa20\ref2\core_hsalsa20_ref2.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_core\salsa\ref\core_salsa_ref.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_generichash\crypto_generichash.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_generichash\blake2b\generichash_blake2.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_generichash\blake2b\ref\blake2b-compress-avx2.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_generichash\blake2b\ref\blake2b-compress-ref.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_generichash\blake2b\ref\blake2b-compress-sse41.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_generichash\blake2b\ref\blake2b-compress-ssse3.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_generichash\blake2b\ref\blake2b-ref.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_generichash\blake2b\ref\generichash_blake2b.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_hash\crypto_hash.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_hash\sha256\hash_sha256.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_hash\sha256\cp\hash_sha256_cp.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_hash\sha512\hash_sha512.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_hash\sha512\cp\hash_sha512_cp.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_kdf\crypto_kdf.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_kdf\blake2b\kdf_blake2b.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_kx\crypto_kx.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_onetimeauth\crypto_onetimeauth.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_onetimeauth\poly1305\onetimeauth_poly1305.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_onetimeauth\poly1305\donna\poly1305_donna.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_onetimeauth\poly1305\sse2\poly1305_sse2.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\crypto_pwhash.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\argon2\argon2-core.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\argon2\argon2-encoding.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\argon2\argon2-fill-block-ref.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\argon2\argon2-fill-block-ssse3.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\argon2\argon2.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\argon2\blake2b-long.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\argon2\pwhash_argon2i.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\scryptsalsa208sha256\crypto_scrypt-common.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\scryptsalsa208sha256\pbkdf2-sha256.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\scryptsalsa208sha256\pwhash_scryptsalsa208sha256.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\scryptsalsa208sha256\scrypt_platform.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\scryptsalsa208sha256\nosse\pwhash_scryptsalsa208sha256_nosse.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\scryptsalsa208sha256\sse\pwhash_scryptsalsa208sha256_sse.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\crypto_scalarmult.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\scalarmult_curve25519.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\donna_c64\curve25519_donna_c64.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\ref10\x25519_ref10.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\sandy2x\curve25519_sandy2x.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe51_invert.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe_frombytes_sandy2x.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_secretbox\crypto_secretbox.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_secretbox\crypto_secretbox_easy.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_secretbox\xchacha20poly1305\secretbox_xchacha20poly1305.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_secretbox\xsalsa20poly1305\secretbox_xsalsa20poly1305.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_shorthash\crypto_shorthash.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_shorthash\siphash24\shorthash_siphash24.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_shorthash\siphash24\shorthash_siphashx24.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_shorthash\siphash24\ref\shorthash_siphash24_ref.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_shorthash\siphash24\ref\shorthash_siphashx24_ref.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_sign\crypto_sign.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_sign\ed25519\sign_ed25519.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_sign\ed25519\ref10\keypair.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_sign\ed25519\ref10\obsolete.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_sign\ed25519\ref10\open.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_sign\ed25519\ref10\sign.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\crypto_stream.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\aes128ctr\stream_aes128ctr.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\aes128ctr\nacl\afternm_aes128ctr.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\aes128ctr\nacl\beforenm_aes128ctr.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\aes128ctr\nacl\consts_aes128ctr.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\aes128ctr\nacl\int128_aes128ctr.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\aes128ctr\nacl\stream_aes128ctr_nacl.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\aes128ctr\nacl\xor_afternm_aes128ctr.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\chacha20\stream_chacha20.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\chacha20\dolbeau\chacha20_dolbeau-avx2.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\chacha20\dolbeau\chacha20_dolbeau-ssse3.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\chacha20\ref\chacha20_ref.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa20\stream_salsa20.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa20\ref\salsa20_ref.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa20\xmm6\salsa20_xmm6.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa20\xmm6int\salsa20_xmm6int-avx2.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa20\xmm6int\salsa20_xmm6int-sse2.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa2012\stream_salsa2012.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa2012\ref\stream_salsa2012_ref.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa208\stream_salsa208.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa208\ref\stream_salsa208_ref.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\xchacha20\stream_xchacha20.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\xsalsa20\stream_xsalsa20.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_verify\sodium\verify.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\randombytes\randombytes.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\randombytes\nativeclient\randombytes_nativeclient.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\randombytes\salsa20\randombytes_salsa20_random.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\randombytes\sysrandom\randombytes_sysrandom.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\sodium\core.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\sodium\runtime.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\sodium\utils.c" />
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\sodium\version.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_core\curve25519\ref10\base.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_core\curve25519\ref10\base2.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_generichash\blake2b\ref\blake2.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_generichash\blake2b\ref\blake2b-compress-avx2.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_generichash\blake2b\ref\blake2b-compress-sse41.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_generichash\blake2b\ref\blake2b-compress-ssse3.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_generichash\blake2b\ref\blake2b-load-avx2.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_generichash\blake2b\ref\blake2b-load-sse2.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_generichash\blake2b\ref\blake2b-load-sse41.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_onetimeauth\poly1305\onetimeauth_poly1305.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_onetimeauth\poly1305\donna\poly1305_donna.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_onetimeauth\poly1305\donna\poly1305_donna32.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_onetimeauth\poly1305\donna\poly1305_donna64.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_onetimeauth\poly1305\sse2\poly1305_sse2.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\argon2\argon2-core.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\argon2\argon2-encoding.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\argon2\argon2.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\argon2\blake2b-long.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\argon2\blamka-round-ref.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\argon2\blamka-round-ssse3.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\scryptsalsa208sha256\crypto_scrypt.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\scryptsalsa208sha256\pbkdf2-sha256.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\scalarmult_curve25519.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\donna_c64\curve25519_donna_c64.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\ref10\x25519_ref10.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\sandy2x\consts_namespace.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\sandy2x\curve25519_sandy2x.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe51.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe51_namespace.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\sandy2x\ladder.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\sandy2x\ladder_base.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\sandy2x\ladder_base_namespace.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\sandy2x\ladder_namespace.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_shorthash\siphash24\ref\shorthash_siphash_ref.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_sign\ed25519\ref10\ed25519_ref10.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\aes128ctr\nacl\common.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\aes128ctr\nacl\consts.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\aes128ctr\nacl\int128.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\chacha20\stream_chacha20.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\chacha20\dolbeau\chacha20_dolbeau-avx2.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\chacha20\dolbeau\chacha20_dolbeau-ssse3.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\chacha20\dolbeau\u0.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\chacha20\dolbeau\u1.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\chacha20\dolbeau\u4.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\chacha20\dolbeau\u8.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\chacha20\ref\chacha20_ref.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa20\stream_salsa20.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa20\ref\salsa20_ref.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa20\xmm6\salsa20_xmm6.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa20\xmm6int\salsa20_xmm6int-avx2.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa20\xmm6int\salsa20_xmm6int-sse2.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa20\xmm6int\u0.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa20\xmm6int\u1.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa20\xmm6int\u4.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa20\xmm6int\u8.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\core.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_aead_aes256gcm.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_aead_chacha20poly1305.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_aead_xchacha20poly1305.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_auth.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_auth_hmacsha256.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_auth_hmacsha512.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_auth_hmacsha512256.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_box.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_box_curve25519xchacha20poly1305.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_box_curve25519xsalsa20poly1305.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_core_hchacha20.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_core_hsalsa20.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_core_salsa20.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_core_salsa2012.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_core_salsa208.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_generichash.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_generichash_blake2b.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_hash.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_hash_sha256.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_hash_sha512.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_kdf.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_kdf_blake2b.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_kx.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_onetimeauth.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_onetimeauth_poly1305.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_pwhash.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_pwhash_argon2i.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_pwhash_scryptsalsa208sha256.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_scalarmult.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_scalarmult_curve25519.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_secretbox.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_secretbox_xchacha20poly1305.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_secretbox_xsalsa20poly1305.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_shorthash.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_shorthash_siphash24.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_sign.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_sign_ed25519.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_sign_edwards25519sha512batch.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_stream.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_stream_aes128ctr.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_stream_chacha20.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_stream_salsa20.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_stream_salsa2012.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_stream_salsa208.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_stream_xchacha20.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_stream_xsalsa20.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_verify_16.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_verify_32.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_verify_64.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\export.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\randombytes.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\randombytes_nativeclient.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\randombytes_salsa20_random.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\randombytes_sysrandom.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\runtime.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\utils.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\private\common.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\private\curve25519_ref10.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\private\mutex.h" />
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\private\sse2_64_32.h" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/libs/win32/libsodium/libsodium.2015.vcxproj.filters b/libs/win32/libsodium/libsodium.2015.vcxproj.filters
new file mode 100644 (file)
index 0000000..6998b08
--- /dev/null
@@ -0,0 +1,690 @@
+<?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;cc;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;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_aead\aes256gcm\aesni\aead_aes256gcm_aesni.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_aead\xchacha20poly1305\sodium\aead_xchacha20poly1305.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_auth\crypto_auth.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_auth\hmacsha256\auth_hmacsha256.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_auth\hmacsha512\auth_hmacsha512.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_auth\hmacsha512256\auth_hmacsha512256.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_box\crypto_box.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_box\crypto_box_easy.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_box\crypto_box_seal.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_box\curve25519xchacha20poly1305\box_curve25519xchacha20poly1305.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_box\curve25519xsalsa20poly1305\box_curve25519xsalsa20poly1305.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_core\curve25519\ref10\curve25519_ref10.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_core\hchacha20\core_hchacha20.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_core\hsalsa20\core_hsalsa20.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_core\hsalsa20\ref2\core_hsalsa20_ref2.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_core\salsa\ref\core_salsa_ref.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_generichash\crypto_generichash.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_generichash\blake2b\generichash_blake2.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_generichash\blake2b\ref\blake2b-compress-avx2.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_generichash\blake2b\ref\blake2b-compress-ref.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_generichash\blake2b\ref\blake2b-compress-sse41.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_generichash\blake2b\ref\blake2b-compress-ssse3.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_generichash\blake2b\ref\blake2b-ref.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_generichash\blake2b\ref\generichash_blake2b.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_hash\crypto_hash.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_hash\sha256\hash_sha256.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_hash\sha256\cp\hash_sha256_cp.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_hash\sha512\hash_sha512.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_hash\sha512\cp\hash_sha512_cp.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_kdf\crypto_kdf.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_kdf\blake2b\kdf_blake2b.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_kx\crypto_kx.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_onetimeauth\crypto_onetimeauth.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_onetimeauth\poly1305\onetimeauth_poly1305.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_onetimeauth\poly1305\donna\poly1305_donna.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_onetimeauth\poly1305\sse2\poly1305_sse2.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\crypto_pwhash.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\argon2\argon2-core.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\argon2\argon2-encoding.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\argon2\argon2-fill-block-ref.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\argon2\argon2-fill-block-ssse3.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\argon2\argon2.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\argon2\blake2b-long.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\argon2\pwhash_argon2i.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\scryptsalsa208sha256\crypto_scrypt-common.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\scryptsalsa208sha256\pbkdf2-sha256.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\scryptsalsa208sha256\pwhash_scryptsalsa208sha256.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\scryptsalsa208sha256\scrypt_platform.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\scryptsalsa208sha256\nosse\pwhash_scryptsalsa208sha256_nosse.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\scryptsalsa208sha256\sse\pwhash_scryptsalsa208sha256_sse.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\crypto_scalarmult.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\scalarmult_curve25519.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\donna_c64\curve25519_donna_c64.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\ref10\x25519_ref10.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\sandy2x\curve25519_sandy2x.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe51_invert.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe_frombytes_sandy2x.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_secretbox\crypto_secretbox.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_secretbox\crypto_secretbox_easy.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_secretbox\xchacha20poly1305\secretbox_xchacha20poly1305.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_secretbox\xsalsa20poly1305\secretbox_xsalsa20poly1305.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_shorthash\crypto_shorthash.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_shorthash\siphash24\shorthash_siphash24.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_shorthash\siphash24\shorthash_siphashx24.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_shorthash\siphash24\ref\shorthash_siphash24_ref.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_shorthash\siphash24\ref\shorthash_siphashx24_ref.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_sign\crypto_sign.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_sign\ed25519\sign_ed25519.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_sign\ed25519\ref10\keypair.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_sign\ed25519\ref10\obsolete.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_sign\ed25519\ref10\open.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_sign\ed25519\ref10\sign.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\crypto_stream.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\aes128ctr\stream_aes128ctr.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\aes128ctr\nacl\afternm_aes128ctr.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\aes128ctr\nacl\beforenm_aes128ctr.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\aes128ctr\nacl\consts_aes128ctr.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\aes128ctr\nacl\int128_aes128ctr.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\aes128ctr\nacl\stream_aes128ctr_nacl.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\aes128ctr\nacl\xor_afternm_aes128ctr.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\chacha20\stream_chacha20.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\chacha20\dolbeau\chacha20_dolbeau-avx2.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\chacha20\dolbeau\chacha20_dolbeau-ssse3.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\chacha20\ref\chacha20_ref.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa20\stream_salsa20.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa20\ref\salsa20_ref.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa20\xmm6\salsa20_xmm6.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa20\xmm6int\salsa20_xmm6int-avx2.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa20\xmm6int\salsa20_xmm6int-sse2.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa2012\stream_salsa2012.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa2012\ref\stream_salsa2012_ref.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa208\stream_salsa208.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa208\ref\stream_salsa208_ref.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\xchacha20\stream_xchacha20.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\xsalsa20\stream_xsalsa20.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_verify\sodium\verify.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\randombytes\randombytes.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\randombytes\nativeclient\randombytes_nativeclient.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\randombytes\salsa20\randombytes_salsa20_random.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\randombytes\sysrandom\randombytes_sysrandom.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\sodium\core.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\sodium\runtime.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\sodium\utils.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\sodium\version.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_core\curve25519\ref10\base.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_core\curve25519\ref10\base2.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_generichash\blake2b\ref\blake2.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_generichash\blake2b\ref\blake2b-compress-avx2.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_generichash\blake2b\ref\blake2b-compress-sse41.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_generichash\blake2b\ref\blake2b-compress-ssse3.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_generichash\blake2b\ref\blake2b-load-avx2.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_generichash\blake2b\ref\blake2b-load-sse2.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_generichash\blake2b\ref\blake2b-load-sse41.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_onetimeauth\poly1305\onetimeauth_poly1305.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_onetimeauth\poly1305\donna\poly1305_donna.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_onetimeauth\poly1305\donna\poly1305_donna32.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_onetimeauth\poly1305\donna\poly1305_donna64.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_onetimeauth\poly1305\sse2\poly1305_sse2.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\argon2\argon2-core.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\argon2\argon2-encoding.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\argon2\argon2.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\argon2\blake2b-long.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\argon2\blamka-round-ref.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\argon2\blamka-round-ssse3.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\scryptsalsa208sha256\crypto_scrypt.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_pwhash\scryptsalsa208sha256\pbkdf2-sha256.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\scalarmult_curve25519.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\donna_c64\curve25519_donna_c64.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\ref10\x25519_ref10.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\sandy2x\consts_namespace.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\sandy2x\curve25519_sandy2x.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe51.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe51_namespace.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\sandy2x\ladder.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\sandy2x\ladder_base.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\sandy2x\ladder_base_namespace.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_scalarmult\curve25519\sandy2x\ladder_namespace.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_shorthash\siphash24\ref\shorthash_siphash_ref.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_sign\ed25519\ref10\ed25519_ref10.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\aes128ctr\nacl\common.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\aes128ctr\nacl\consts.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\aes128ctr\nacl\int128.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\chacha20\stream_chacha20.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\chacha20\dolbeau\chacha20_dolbeau-avx2.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\chacha20\dolbeau\chacha20_dolbeau-ssse3.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\chacha20\dolbeau\u0.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\chacha20\dolbeau\u1.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\chacha20\dolbeau\u4.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\chacha20\dolbeau\u8.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\chacha20\ref\chacha20_ref.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa20\stream_salsa20.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa20\ref\salsa20_ref.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa20\xmm6\salsa20_xmm6.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa20\xmm6int\salsa20_xmm6int-avx2.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa20\xmm6int\salsa20_xmm6int-sse2.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa20\xmm6int\u0.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa20\xmm6int\u1.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa20\xmm6int\u4.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\crypto_stream\salsa20\xmm6int\u8.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\core.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_aead_aes256gcm.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_aead_chacha20poly1305.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_aead_xchacha20poly1305.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_auth.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_auth_hmacsha256.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_auth_hmacsha512.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_auth_hmacsha512256.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_box.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_box_curve25519xchacha20poly1305.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_box_curve25519xsalsa20poly1305.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_core_hchacha20.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_core_hsalsa20.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_core_salsa20.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_core_salsa2012.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_core_salsa208.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_generichash.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_generichash_blake2b.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_hash.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_hash_sha256.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_hash_sha512.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_kdf.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_kdf_blake2b.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_kx.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_onetimeauth.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_onetimeauth_poly1305.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_pwhash.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_pwhash_argon2i.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_pwhash_scryptsalsa208sha256.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_scalarmult.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_scalarmult_curve25519.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_secretbox.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_secretbox_xchacha20poly1305.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_secretbox_xsalsa20poly1305.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_shorthash.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_shorthash_siphash24.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_sign.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_sign_ed25519.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_sign_edwards25519sha512batch.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_stream.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_stream_aes128ctr.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_stream_chacha20.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_stream_salsa20.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_stream_salsa2012.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_stream_salsa208.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_stream_xchacha20.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_stream_xsalsa20.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_verify_16.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_verify_32.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\crypto_verify_64.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\export.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\randombytes.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\randombytes_nativeclient.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\randombytes_salsa20_random.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\randombytes_sysrandom.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\runtime.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\utils.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\private\common.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\private\curve25519_ref10.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\private\mutex.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\libsodium-$(SodiumVersion)\src\libsodium\include\sodium\private\sse2_64_32.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+  </ItemGroup>
+</Project>
\ No newline at end of file