summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorevoskuil <eric@voskuil.org>2014-03-28 17:46:32 (GMT)
committer evoskuil <eric@voskuil.org>2014-03-28 17:46:32 (GMT)
commit4a843ce9219cee73caf5ab0e548fbf84b2f43a2c (patch)
tree18f8a80bdb53873c70caf2759d609b12d0f2799b
parent66c5b7718c790c338e447774aa473713f9d1c3d0 (diff)
parent800380f7ad0f323faa493cc58f9df1f1b3efba03 (diff)
Merge pull request #40 from evoskuil/master
Refined Visual Studio 2013 Builds
-rw-r--r--.gitignore1
-rw-r--r--[-rwxr-xr-x]autogen.sh0
-rw-r--r--bin/Win32/Debug/.gitignore3
-rw-r--r--bin/Win32/Release/.gitignore3
-rw-r--r--builds/msvc/libbitcoin/.gitignore4
-rw-r--r--builds/msvc/libbitcoin/libbitcoin.sln22
-rw-r--r--builds/msvc/libbitcoin/libbitcoin.vcxproj222
-rw-r--r--builds/msvc/libbitcoin/libbitcoin.vcxproj.filters305
-rw-r--r--builds/msvc/vs2013/.gitignore3
-rw-r--r--builds/msvc/vs2013/libbitcoin.sln52
-rw-r--r--builds/msvc/vs2013/libbitcoin/libbitcoin.props39
-rw-r--r--builds/msvc/vs2013/libbitcoin/libbitcoin.vcxproj380
-rw-r--r--builds/msvc/vs2013/libbitcoin/libbitcoin.vcxproj.filters326
-rw-r--r--builds/msvc/vs2013/libbitcoin/libbitcoin.xml28
-rw-r--r--builds/msvc/vs2013/libbitcoin/packages.config11
-rw-r--r--builds/msvc/vs2013/libbitcoin/readme.txt5
-rw-r--r--builds/msvc/vs2013/packages.config (renamed from builds/msvc/libbitcoin/packages.config)0
-rw-r--r--builds/msvc/vs2013/properties/Common.props27
-rw-r--r--builds/msvc/vs2013/properties/Debug.props30
-rw-r--r--builds/msvc/vs2013/properties/Dynamic.props19
-rw-r--r--builds/msvc/vs2013/properties/DynamicDebug.props21
-rw-r--r--builds/msvc/vs2013/properties/DynamicRelease.props21
-rw-r--r--builds/msvc/vs2013/properties/LinkTimeCodeGeneration.props24
-rw-r--r--builds/msvc/vs2013/properties/Release.props41
-rw-r--r--builds/msvc/vs2013/properties/Static.props19
-rw-r--r--builds/msvc/vs2013/properties/StaticDebug.props21
-rw-r--r--builds/msvc/vs2013/properties/StaticDebugLinkTimeCodeGeneration.props21
-rw-r--r--builds/msvc/vs2013/properties/StaticLinkTimeCodeGeneration.props18
-rw-r--r--builds/msvc/vs2013/properties/StaticRelease.props21
-rw-r--r--builds/msvc/vs2013/properties/StaticReleaseLinkTimeCodeGeneration.props21
-rw-r--r--builds/msvc/vs2013/properties/Win32.props21
-rw-r--r--builds/msvc/vs2013/properties/x64.props24
-rw-r--r--configure.ac10
-rw-r--r--include/bitcoin/blockchain/database/stealth_database.hpp4
-rw-r--r--include/bitcoin/blockchain/organizer.hpp2
-rw-r--r--include/bitcoin/constants.hpp2
-rw-r--r--include/bitcoin/network/channel.hpp3
-rw-r--r--include/bitcoin/network/protocol.hpp6
-rw-r--r--include/bitcoin/utility/base58.hpp2
-rw-r--r--include/bitcoin/utility/mmfile.hpp3
-rw-r--r--include/bitcoin/utility/timed_section.hpp2
-rw-r--r--src/block.cpp2
-rw-r--r--src/blockchain/database/mman_win32.c191
-rw-r--r--src/blockchain/database/mman_win32.h58
-rw-r--r--src/blockchain/database/stealth_database.cpp14
-rw-r--r--src/blockchain/leveldb/leveldb_blockchain.cpp8
-rw-r--r--src/blockchain/leveldb/leveldb_chain_keeper.cpp3
-rw-r--r--src/blockchain/leveldb/leveldb_chain_keeper.hpp3
-rw-r--r--src/blockchain/leveldb/leveldb_common.cpp3
-rw-r--r--src/blockchain/leveldb/leveldb_common.hpp3
-rw-r--r--src/blockchain/leveldb/leveldb_organizer.cpp3
-rw-r--r--src/blockchain/leveldb/leveldb_organizer.hpp3
-rw-r--r--src/blockchain/leveldb/leveldb_validate_block.cpp5
-rw-r--r--src/blockchain/leveldb/leveldb_validate_block.hpp3
-rw-r--r--src/blockchain/organizer.cpp5
-rw-r--r--src/constants.cpp10
-rw-r--r--src/network/handshake.cpp4
-rw-r--r--src/script.cpp8
-rw-r--r--src/session.cpp5
-rw-r--r--src/transaction_indexer.cpp8
-rw-r--r--src/utility/base58.cpp8
-rw-r--r--src/utility/big_number.cpp21
-rw-r--r--src/utility/mmfile.cpp29
-rw-r--r--src/utility/timed_section.cpp2
-rw-r--r--test/python/scrjson.py (renamed from bin/tests/scrjson.py)0
65 files changed, 1545 insertions, 641 deletions
diff --git a/.gitignore b/.gitignore
index 4948c55..78a098d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,6 +8,7 @@ Makefile
Makefile.in
libbitcoin.pc
+bin
obj
.*.swp
*~
diff --git a/autogen.sh b/autogen.sh
index b50dab0..b50dab0 100755..100644
--- a/autogen.sh
+++ b/autogen.sh
diff --git a/bin/Win32/Debug/.gitignore b/bin/Win32/Debug/.gitignore
deleted file mode 100644
index f955de8..0000000
--- a/bin/Win32/Debug/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-*.dll
-*.pdb
-*.lib
diff --git a/bin/Win32/Release/.gitignore b/bin/Win32/Release/.gitignore
deleted file mode 100644
index f955de8..0000000
--- a/bin/Win32/Release/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-*.dll
-*.pdb
-*.lib
diff --git a/builds/msvc/libbitcoin/.gitignore b/builds/msvc/libbitcoin/.gitignore
deleted file mode 100644
index 44d648a..0000000
--- a/builds/msvc/libbitcoin/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-*.v12.suo
-*.vcxproj.user
-*.dgml
-*.sdf
diff --git a/builds/msvc/libbitcoin/libbitcoin.sln b/builds/msvc/libbitcoin/libbitcoin.sln
deleted file mode 100644
index 3054d30..0000000
--- a/builds/msvc/libbitcoin/libbitcoin.sln
+++ /dev/null
@@ -1,22 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2013
-VisualStudioVersion = 12.0.30110.0
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbitcoin", "libbitcoin.vcxproj", "{39F60708-FF48-4C22-952D-43470866F684}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {39F60708-FF48-4C22-952D-43470866F684}.Debug|Win32.ActiveCfg = Debug|Win32
- {39F60708-FF48-4C22-952D-43470866F684}.Debug|Win32.Build.0 = Debug|Win32
- {39F60708-FF48-4C22-952D-43470866F684}.Release|Win32.ActiveCfg = Release|Win32
- {39F60708-FF48-4C22-952D-43470866F684}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/builds/msvc/libbitcoin/libbitcoin.vcxproj b/builds/msvc/libbitcoin/libbitcoin.vcxproj
deleted file mode 100644
index cf44918..0000000
--- a/builds/msvc/libbitcoin/libbitcoin.vcxproj
+++ /dev/null
@@ -1,222 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{39F60708-FF48-4C22-952D-43470866F684}</ProjectGuid>
- <Keyword>Win32Proj</Keyword>
- <RootNamespace>libbitcoin</RootNamespace>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>CTP_Nov2013</PlatformToolset>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <PlatformToolset>CTP_Nov2013</PlatformToolset>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <LinkIncremental>false</LinkIncremental>
- <OutDir>$(ProjectDir)../../../bin/$(PlatformName)/$(Configuration)/</OutDir>
- <IntDir>$(ProjectDir)../../../obj/$(PlatformName)/$(Configuration)/$(ProjectName)/</IntDir>
- <TargetName>$(ProjectName)</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <LinkIncremental>false</LinkIncremental>
- <OutDir>$(ProjectDir)../../../bin/$(PlatformName)/$(Configuration)/</OutDir>
- <IntDir>$(ProjectDir)../../../obj/$(PlatformName)/$(Configuration)/$(ProjectName)/</IntDir>
- <TargetName>$(ProjectName)</TargetName>
- </PropertyGroup>
- <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" />
- </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" />
- </ImportGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>Disabled</Optimization>
- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
- <MultiProcessorCompilation>true</MultiProcessorCompilation>
- <MinimalRebuild>false</MinimalRebuild>
- <EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <PreprocessorDefinitions>_USRDLL;_DEBUG;_WINDOWS;WIN32;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions);LEVELDB_ENABLED</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>$(ProjectDir)\..\..\..\include\</AdditionalIncludeDirectories>
- <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
- </ClCompile>
- <Link>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>MaxSpeed</Optimization>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <MultiProcessorCompilation>true</MultiProcessorCompilation>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <PreprocessorDefinitions>_USRDLL;NDEBUG;_WINDOWS;WIN32;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions);LEVELDB_ENABLED</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>$(ProjectDir)\..\..\..\include\</AdditionalIncludeDirectories>
- <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
- </ClCompile>
- <Link>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <None Include="..\..\..\include\bitcoin\impl\serialize\block.ipp" />
- <None Include="..\..\..\include\bitcoin\impl\serialize\misc.ipp" />
- <None Include="packages.config" />
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="..\..\..\src\address.cpp" />
- <ClCompile Include="..\..\..\src\block.cpp" />
- <ClCompile Include="..\..\..\src\blockchain\blockchain.cpp" />
- <ClCompile Include="..\..\..\src\blockchain\leveldb\leveldb_blockchain.cpp" />
- <ClCompile Include="..\..\..\src\blockchain\leveldb\leveldb_chain_keeper.cpp" />
- <ClCompile Include="..\..\..\src\blockchain\leveldb\leveldb_common.cpp" />
- <ClCompile Include="..\..\..\src\blockchain\leveldb\leveldb_organizer.cpp" />
- <ClCompile Include="..\..\..\src\blockchain\leveldb\leveldb_validate_block.cpp" />
- <ClCompile Include="..\..\..\src\blockchain\organizer.cpp" />
- <ClCompile Include="..\..\..\src\constants.cpp" />
- <ClCompile Include="..\..\..\src\error.cpp" />
- <ClCompile Include="..\..\..\src\format.cpp" />
- <ClCompile Include="..\..\..\src\getx_responder.cpp" />
- <ClCompile Include="..\..\..\src\network\channel.cpp" />
- <ClCompile Include="..\..\..\src\network\handshake.cpp" />
- <ClCompile Include="..\..\..\src\network\hosts.cpp" />
- <ClCompile Include="..\..\..\src\network\network.cpp" />
- <ClCompile Include="..\..\..\src\network\protocol.cpp" />
- <ClCompile Include="..\..\..\src\poller.cpp" />
- <ClCompile Include="..\..\..\src\satoshi_serialize.cpp" />
- <ClCompile Include="..\..\..\src\script.cpp" />
- <ClCompile Include="..\..\..\src\session.cpp" />
- <ClCompile Include="..\..\..\src\threadpool.cpp" />
- <ClCompile Include="..\..\..\src\transaction.cpp" />
- <ClCompile Include="..\..\..\src\transaction_indexer.cpp" />
- <ClCompile Include="..\..\..\src\transaction_pool.cpp" />
- <ClCompile Include="..\..\..\src\utility\base58.cpp" />
- <ClCompile Include="..\..\..\src\utility\big_number.cpp" />
- <ClCompile Include="..\..\..\src\utility\elliptic_curve_key.cpp" />
- <ClCompile Include="..\..\..\src\utility\logger.cpp" />
- <ClCompile Include="..\..\..\src\utility\mnemonic.cpp" />
- <ClCompile Include="..\..\..\src\utility\ripemd.cpp" />
- <ClCompile Include="..\..\..\src\utility\sha256.cpp" />
- <ClCompile Include="..\..\..\src\utility\timed_section.cpp" />
- <ClCompile Include="..\..\..\src\validate.cpp" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="..\..\..\include\bitcoin\address.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\bitcoin.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\block.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\blockchain\blockchain.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\blockchain\leveldb_blockchain.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\blockchain\organizer.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\constants.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\error.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\format.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\getx_responder.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\network\channel.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\network\handshake.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\network\hosts.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\network\network.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\network\protocol.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\network\shared_const_buffer.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\poller.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\primitives.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\satoshi_serialize.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\script.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\session.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\threadpool.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\transaction.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\transaction_indexer.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\transaction_pool.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\types.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\utility\assert.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\utility\async_parallel.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\utility\base58.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\utility\big_number.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\utility\decorator.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\utility\elliptic_curve_key.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\utility\logger.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\utility\mnemonic.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\utility\ripemd.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\utility\serializer.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\utility\sha256.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\utility\subscriber.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\utility\timed_section.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\utility\weak_bind.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\validate.hpp" />
- <ClInclude Include="..\..\..\include\bitcoin\version.hpp" />
- <ClInclude Include="..\..\..\src\blockchain\leveldb\leveldb_chain_keeper.hpp" />
- <ClInclude Include="..\..\..\src\blockchain\leveldb\leveldb_common.hpp" />
- <ClInclude Include="..\..\..\src\blockchain\leveldb\leveldb_organizer.hpp" />
- <ClInclude Include="..\..\..\src\blockchain\leveldb\leveldb_validate_block.hpp" />
- </ItemGroup>
- <Import Project="..\..\..\..\..\nuget\LevelDB.1.16.0.5\build\native\LevelDB.props" Condition="Exists('..\..\..\..\..\nuget\LevelDB.1.16.0.5\build\native\LevelDB.props')" />
- <Import Project="..\..\..\..\..\nuget\Snappy.1.1.1.7\build\native\Snappy.props" Condition="Exists('..\..\..\..\..\nuget\Snappy.1.1.1.7\build\native\Snappy.props')" />
- <Import Project="..\..\..\..\..\nuget\Crc32C.1.0.4\build\native\Crc32C.props" Condition="Exists('..\..\..\..\..\nuget\Crc32C.1.0.4\build\native\Crc32C.props')" />
- <Import Project="..\..\..\..\..\nuget\openssl.1.0.1.24\build\native\openssl.props" Condition="Exists('..\..\..\..\..\nuget\openssl.1.0.1.24\build\native\openssl.props')" />
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets" />
- <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
- <PropertyGroup>
- <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
- </PropertyGroup>
- <Error Condition="!Exists('..\..\..\..\..\nuget\boost.1.55.0.16\build\native\boost.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\nuget\boost.1.55.0.16\build\native\boost.targets'))" />
- <Error Condition="!Exists('..\..\..\..\..\nuget\openssl.redist.1.0.1.24\build\native\openssl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\nuget\openssl.redist.1.0.1.24\build\native\openssl.redist.targets'))" />
- <Error Condition="!Exists('..\..\..\..\..\nuget\openssl.1.0.1.24\build\native\openssl.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\nuget\openssl.1.0.1.24\build\native\openssl.props'))" />
- <Error Condition="!Exists('..\..\..\..\..\nuget\openssl.1.0.1.24\build\native\openssl.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\nuget\openssl.1.0.1.24\build\native\openssl.targets'))" />
- <Error Condition="!Exists('..\..\..\..\..\nuget\curl.redist.7.30.0.2\build\native\curl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\nuget\curl.redist.7.30.0.2\build\native\curl.redist.targets'))" />
- <Error Condition="!Exists('..\..\..\..\..\nuget\curl.7.30.0.2\build\native\curl.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\nuget\curl.7.30.0.2\build\native\curl.targets'))" />
- <Error Condition="!Exists('..\..\..\..\..\nuget\Crc32C.1.0.4\build\native\Crc32C.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\nuget\Crc32C.1.0.4\build\native\Crc32C.props'))" />
- <Error Condition="!Exists('..\..\..\..\..\nuget\Snappy.1.1.1.7\build\native\Snappy.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\nuget\Snappy.1.1.1.7\build\native\Snappy.props'))" />
- <Error Condition="!Exists('..\..\..\..\..\nuget\LevelDB.1.16.0.5\build\native\LevelDB.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\nuget\LevelDB.1.16.0.5\build\native\LevelDB.props'))" />
- <Error Condition="!Exists('..\..\..\..\..\nuget\boost_system-vc120.1.55.0.16\build\native\boost_system-vc120.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\nuget\boost_system-vc120.1.55.0.16\build\native\boost_system-vc120.targets'))" />
- <Error Condition="!Exists('..\..\..\..\..\nuget\boost_date_time-vc120.1.55.0.16\build\native\boost_date_time-vc120.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\nuget\boost_date_time-vc120.1.55.0.16\build\native\boost_date_time-vc120.targets'))" />
- <Error Condition="!Exists('..\..\..\..\..\nuget\boost_regex-vc120.1.55.0.16\build\native\boost_regex-vc120.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\nuget\boost_regex-vc120.1.55.0.16\build\native\boost_regex-vc120.targets'))" />
- <Error Condition="!Exists('..\..\..\..\..\nuget\boost_filesystem-vc120.1.55.0.16\build\native\boost_filesystem-vc120.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\nuget\boost_filesystem-vc120.1.55.0.16\build\native\boost_filesystem-vc120.targets'))" />
- <Error Condition="!Exists('..\..\..\..\..\nuget\zlib.redist.1.2.8.6\build\native\zlib.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\nuget\zlib.redist.1.2.8.6\build\native\zlib.redist.targets'))" />
- <Error Condition="!Exists('..\..\..\..\..\nuget\zlib.1.2.8.6\build\native\zlib.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\nuget\zlib.1.2.8.6\build\native\zlib.targets'))" />
- <Error Condition="!Exists('..\..\..\..\..\nuget\libssh2.redist.1.4.3.3\build\native\libssh2.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\nuget\libssh2.redist.1.4.3.3\build\native\libssh2.redist.targets'))" />
- <Error Condition="!Exists('..\..\..\..\..\nuget\libssh2.1.4.3.3\build\native\libssh2.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\nuget\libssh2.1.4.3.3\build\native\libssh2.targets'))" />
- </Target>
- <ImportGroup Label="ExtensionSettings">
- <Import Project="..\..\..\..\..\nuget\boost.1.55.0.16\build\native\boost.targets" Condition="Exists('..\..\..\..\..\nuget\boost.1.55.0.16\build\native\boost.targets')" />
- <Import Project="..\..\..\..\..\nuget\openssl.redist.1.0.1.24\build\native\openssl.redist.targets" Condition="Exists('..\..\..\..\..\nuget\openssl.redist.1.0.1.24\build\native\openssl.redist.targets')" />
- <Import Project="..\..\..\..\..\nuget\openssl.1.0.1.24\build\native\openssl.targets" Condition="Exists('..\..\..\..\..\nuget\openssl.1.0.1.24\build\native\openssl.targets')" />
- <Import Project="..\..\..\..\..\nuget\curl.redist.7.30.0.2\build\native\curl.redist.targets" Condition="Exists('..\..\..\..\..\nuget\curl.redist.7.30.0.2\build\native\curl.redist.targets')" />
- <Import Project="..\..\..\..\..\nuget\curl.7.30.0.2\build\native\curl.targets" Condition="Exists('..\..\..\..\..\nuget\curl.7.30.0.2\build\native\curl.targets')" />
- <Import Project="..\..\..\..\..\nuget\boost_system-vc120.1.55.0.16\build\native\boost_system-vc120.targets" Condition="Exists('..\..\..\..\..\nuget\boost_system-vc120.1.55.0.16\build\native\boost_system-vc120.targets')" />
- <Import Project="..\..\..\..\..\nuget\boost_date_time-vc120.1.55.0.16\build\native\boost_date_time-vc120.targets" Condition="Exists('..\..\..\..\..\nuget\boost_date_time-vc120.1.55.0.16\build\native\boost_date_time-vc120.targets')" />
- <Import Project="..\..\..\..\..\nuget\boost_regex-vc120.1.55.0.16\build\native\boost_regex-vc120.targets" Condition="Exists('..\..\..\..\..\nuget\boost_regex-vc120.1.55.0.16\build\native\boost_regex-vc120.targets')" />
- <Import Project="..\..\..\..\..\nuget\boost_filesystem-vc120.1.55.0.16\build\native\boost_filesystem-vc120.targets" Condition="Exists('..\..\..\..\..\nuget\boost_filesystem-vc120.1.55.0.16\build\native\boost_filesystem-vc120.targets')" />
- <Import Project="..\..\..\..\..\nuget\zlib.redist.1.2.8.6\build\native\zlib.redist.targets" Condition="Exists('..\..\..\..\..\nuget\zlib.redist.1.2.8.6\build\native\zlib.redist.targets')" />
- <Import Project="..\..\..\..\..\nuget\zlib.1.2.8.6\build\native\zlib.targets" Condition="Exists('..\..\..\..\..\nuget\zlib.1.2.8.6\build\native\zlib.targets')" />
- <Import Project="..\..\..\..\..\nuget\libssh2.redist.1.4.3.3\build\native\libssh2.redist.targets" Condition="Exists('..\..\..\..\..\nuget\libssh2.redist.1.4.3.3\build\native\libssh2.redist.targets')" />
- <Import Project="..\..\..\..\..\nuget\libssh2.1.4.3.3\build\native\libssh2.targets" Condition="Exists('..\..\..\..\..\nuget\libssh2.1.4.3.3\build\native\libssh2.targets')" />
- </ImportGroup>
-</Project> \ No newline at end of file
diff --git a/builds/msvc/libbitcoin/libbitcoin.vcxproj.filters b/builds/msvc/libbitcoin/libbitcoin.vcxproj.filters
deleted file mode 100644
index da9442b..0000000
--- a/builds/msvc/libbitcoin/libbitcoin.vcxproj.filters
+++ /dev/null
@@ -1,305 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="src">
- <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
- <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="include">
- <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
- <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="src\utility">
- <UniqueIdentifier>{8d26a34b-6f23-4d66-8d64-6b50feadc4db}</UniqueIdentifier>
- </Filter>
- <Filter Include="src\network">
- <UniqueIdentifier>{785639c3-4aba-44db-9501-9797e573c681}</UniqueIdentifier>
- </Filter>
- <Filter Include="src\blockchain">
- <UniqueIdentifier>{cfa7bc5d-1852-4eae-836d-7ca997d7eb24}</UniqueIdentifier>
- </Filter>
- <Filter Include="src\blockchain\levldb">
- <UniqueIdentifier>{61f50a9e-d52f-4336-820e-3ac84f2305d4}</UniqueIdentifier>
- </Filter>
- <Filter Include="include\blockchain">
- <UniqueIdentifier>{812d0350-06b8-414d-b0d8-d8de8110c38c}</UniqueIdentifier>
- </Filter>
- <Filter Include="include\utility">
- <UniqueIdentifier>{67a8f56c-9dc0-4c44-a5ff-020667929caa}</UniqueIdentifier>
- </Filter>
- <Filter Include="include\network">
- <UniqueIdentifier>{86cf2b40-4c9c-4858-80f7-7bb8c4d06b36}</UniqueIdentifier>
- </Filter>
- <Filter Include="include\impl">
- <UniqueIdentifier>{5afb9fba-cd2c-438a-aedd-39c8acc14af4}</UniqueIdentifier>
- </Filter>
- <Filter Include="include\impl\serialize">
- <UniqueIdentifier>{849640c1-d79f-4baa-bfb5-0ea86d1c9988}</UniqueIdentifier>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <None Include="..\..\..\include\bitcoin\impl\serialize\block.ipp">
- <Filter>include\impl\serialize</Filter>
- </None>
- <None Include="..\..\..\include\bitcoin\impl\serialize\misc.ipp">
- <Filter>include\impl\serialize</Filter>
- </None>
- <None Include="packages.config" />
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="..\..\..\src\error.cpp">
- <Filter>src</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\format.cpp">
- <Filter>src</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\getx_responder.cpp">
- <Filter>src</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\poller.cpp">
- <Filter>src</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\satoshi_serialize.cpp">
- <Filter>src</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\script.cpp">
- <Filter>src</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\session.cpp">
- <Filter>src</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\threadpool.cpp">
- <Filter>src</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\transaction.cpp">
- <Filter>src</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\transaction_indexer.cpp">
- <Filter>src</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\transaction_pool.cpp">
- <Filter>src</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\validate.cpp">
- <Filter>src</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\address.cpp">
- <Filter>src</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\block.cpp">
- <Filter>src</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\constants.cpp">
- <Filter>src</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\utility\mnemonic.cpp">
- <Filter>src\utility</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\utility\ripemd.cpp">
- <Filter>src\utility</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\utility\sha256.cpp">
- <Filter>src\utility</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\utility\timed_section.cpp">
- <Filter>src\utility</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\utility\base58.cpp">
- <Filter>src\utility</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\utility\big_number.cpp">
- <Filter>src\utility</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\utility\elliptic_curve_key.cpp">
- <Filter>src\utility</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\utility\logger.cpp">
- <Filter>src\utility</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\network\hosts.cpp">
- <Filter>src\network</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\network\network.cpp">
- <Filter>src\network</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\network\protocol.cpp">
- <Filter>src\network</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\network\channel.cpp">
- <Filter>src\network</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\network\handshake.cpp">
- <Filter>src\network</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\blockchain\blockchain.cpp">
- <Filter>src\blockchain</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\blockchain\organizer.cpp">
- <Filter>src\blockchain</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\blockchain\leveldb\leveldb_organizer.cpp">
- <Filter>src\blockchain\levldb</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\blockchain\leveldb\leveldb_validate_block.cpp">
- <Filter>src\blockchain\levldb</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\blockchain\leveldb\leveldb_blockchain.cpp">
- <Filter>src\blockchain\levldb</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\blockchain\leveldb\leveldb_chain_keeper.cpp">
- <Filter>src\blockchain\levldb</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\blockchain\leveldb\leveldb_common.cpp">
- <Filter>src\blockchain\levldb</Filter>
- </ClCompile>
- <ClCompile Include="$(MSBuildThisFileDirectory)..\..\lib\native\src\leveldb-single-file.cpp">
- <Filter>src</Filter>
- </ClCompile>
- <ClCompile Include="$(MSBuildThisFileDirectory)..\..\lib\native\src\snappy-single-file.cpp">
- <Filter>src</Filter>
- </ClCompile>
- <ClCompile Include="$(MSBuildThisFileDirectory)..\..\lib\native\src\crc32c.cpp">
- <Filter>src</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="..\..\..\src\blockchain\leveldb\leveldb_organizer.hpp">
- <Filter>src\blockchain\levldb</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\src\blockchain\leveldb\leveldb_validate_block.hpp">
- <Filter>src\blockchain\levldb</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\src\blockchain\leveldb\leveldb_chain_keeper.hpp">
- <Filter>src\blockchain\levldb</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\src\blockchain\leveldb\leveldb_common.hpp">
- <Filter>src\blockchain\levldb</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\error.hpp">
- <Filter>include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\format.hpp">
- <Filter>include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\getx_responder.hpp">
- <Filter>include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\poller.hpp">
- <Filter>include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\primitives.hpp">
- <Filter>include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\satoshi_serialize.hpp">
- <Filter>include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\script.hpp">
- <Filter>include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\session.hpp">
- <Filter>include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\threadpool.hpp">
- <Filter>include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\transaction.hpp">
- <Filter>include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\transaction_indexer.hpp">
- <Filter>include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\transaction_pool.hpp">
- <Filter>include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\types.hpp">
- <Filter>include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\validate.hpp">
- <Filter>include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\version.hpp">
- <Filter>include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\address.hpp">
- <Filter>include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\bitcoin.hpp">
- <Filter>include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\block.hpp">
- <Filter>include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\constants.hpp">
- <Filter>include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\utility\mnemonic.hpp">
- <Filter>include\utility</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\utility\ripemd.hpp">
- <Filter>include\utility</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\utility\serializer.hpp">
- <Filter>include\utility</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\utility\sha256.hpp">
- <Filter>include\utility</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\utility\subscriber.hpp">
- <Filter>include\utility</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\utility\timed_section.hpp">
- <Filter>include\utility</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\utility\weak_bind.hpp">
- <Filter>include\utility</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\utility\assert.hpp">
- <Filter>include\utility</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\utility\async_parallel.hpp">
- <Filter>include\utility</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\utility\base58.hpp">
- <Filter>include\utility</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\utility\big_number.hpp">
- <Filter>include\utility</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\utility\decorator.hpp">
- <Filter>include\utility</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\utility\elliptic_curve_key.hpp">
- <Filter>include\utility</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\utility\logger.hpp">
- <Filter>include\utility</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\blockchain\leveldb_blockchain.hpp">
- <Filter>include\blockchain</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\blockchain\organizer.hpp">
- <Filter>include\blockchain</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\blockchain\blockchain.hpp">
- <Filter>include\blockchain</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\network\network.hpp">
- <Filter>include\network</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\network\protocol.hpp">
- <Filter>include\network</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\network\shared_const_buffer.hpp">
- <Filter>include\network</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\network\channel.hpp">
- <Filter>include\network</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\network\handshake.hpp">
- <Filter>include\network</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\bitcoin\network\hosts.hpp">
- <Filter>include\network</Filter>
- </ClInclude>
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/builds/msvc/vs2013/.gitignore b/builds/msvc/vs2013/.gitignore
new file mode 100644
index 0000000..c4e9041
--- /dev/null
+++ b/builds/msvc/vs2013/.gitignore
@@ -0,0 +1,3 @@
+*.v12.suo
+*.opensdf
+*.sdf
diff --git a/builds/msvc/vs2013/libbitcoin.sln b/builds/msvc/vs2013/libbitcoin.sln
new file mode 100644
index 0000000..a7f7438
--- /dev/null
+++ b/builds/msvc/vs2013/libbitcoin.sln
@@ -0,0 +1,52 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+VisualStudioVersion = 12.0.30110.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbitcoin", "libbitcoin\libbitcoin.vcxproj", "{39F60708-FF48-4C22-952D-43470866F684}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ DynDebug|Win32 = DynDebug|Win32
+ DynDebug|x64 = DynDebug|x64
+ DynRelease|Win32 = DynRelease|Win32
+ DynRelease|x64 = DynRelease|x64
+ LtcgDebug|Win32 = LtcgDebug|Win32
+ LtcgDebug|x64 = LtcgDebug|x64
+ LtcgRelease|Win32 = LtcgRelease|Win32
+ LtcgRelease|x64 = LtcgRelease|x64
+ StaticDebug|Win32 = StaticDebug|Win32
+ StaticDebug|x64 = StaticDebug|x64
+ StaticRelease|Win32 = StaticRelease|Win32
+ StaticRelease|x64 = StaticRelease|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {39F60708-FF48-4C22-952D-43470866F684}.DynDebug|Win32.ActiveCfg = DebugDLL|Win32
+ {39F60708-FF48-4C22-952D-43470866F684}.DynDebug|Win32.Build.0 = DebugDLL|Win32
+ {39F60708-FF48-4C22-952D-43470866F684}.DynDebug|x64.ActiveCfg = DebugDLL|x64
+ {39F60708-FF48-4C22-952D-43470866F684}.DynDebug|x64.Build.0 = DebugDLL|x64
+ {39F60708-FF48-4C22-952D-43470866F684}.DynRelease|Win32.ActiveCfg = ReleaseDLL|Win32
+ {39F60708-FF48-4C22-952D-43470866F684}.DynRelease|Win32.Build.0 = ReleaseDLL|Win32
+ {39F60708-FF48-4C22-952D-43470866F684}.DynRelease|x64.ActiveCfg = ReleaseDLL|x64
+ {39F60708-FF48-4C22-952D-43470866F684}.DynRelease|x64.Build.0 = ReleaseDLL|x64
+ {39F60708-FF48-4C22-952D-43470866F684}.LtcgDebug|Win32.ActiveCfg = DebugLTCG|Win32
+ {39F60708-FF48-4C22-952D-43470866F684}.LtcgDebug|Win32.Build.0 = DebugLTCG|Win32
+ {39F60708-FF48-4C22-952D-43470866F684}.LtcgDebug|x64.ActiveCfg = DebugLTCG|x64
+ {39F60708-FF48-4C22-952D-43470866F684}.LtcgDebug|x64.Build.0 = DebugLTCG|x64
+ {39F60708-FF48-4C22-952D-43470866F684}.LtcgRelease|Win32.ActiveCfg = ReleaseLTCG|Win32
+ {39F60708-FF48-4C22-952D-43470866F684}.LtcgRelease|Win32.Build.0 = ReleaseLTCG|Win32
+ {39F60708-FF48-4C22-952D-43470866F684}.LtcgRelease|x64.ActiveCfg = ReleaseLTCG|x64
+ {39F60708-FF48-4C22-952D-43470866F684}.LtcgRelease|x64.Build.0 = ReleaseLTCG|x64
+ {39F60708-FF48-4C22-952D-43470866F684}.StaticDebug|Win32.ActiveCfg = DebugLIB|Win32
+ {39F60708-FF48-4C22-952D-43470866F684}.StaticDebug|Win32.Build.0 = DebugLIB|Win32
+ {39F60708-FF48-4C22-952D-43470866F684}.StaticDebug|x64.ActiveCfg = DebugLIB|x64
+ {39F60708-FF48-4C22-952D-43470866F684}.StaticDebug|x64.Build.0 = DebugLIB|x64
+ {39F60708-FF48-4C22-952D-43470866F684}.StaticRelease|Win32.ActiveCfg = ReleaseLIB|Win32
+ {39F60708-FF48-4C22-952D-43470866F684}.StaticRelease|Win32.Build.0 = ReleaseLIB|Win32
+ {39F60708-FF48-4C22-952D-43470866F684}.StaticRelease|x64.ActiveCfg = ReleaseLIB|x64
+ {39F60708-FF48-4C22-952D-43470866F684}.StaticRelease|x64.Build.0 = ReleaseLIB|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/builds/msvc/vs2013/libbitcoin/libbitcoin.props b/builds/msvc/vs2013/libbitcoin/libbitcoin.props
new file mode 100644
index 0000000..7f290e8
--- /dev/null
+++ b/builds/msvc/vs2013/libbitcoin/libbitcoin.props
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <_PropertySheetDisplayName>Libbitcoin Library Common Settings</_PropertySheetDisplayName>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+ <RunCodeAnalysis>false</RunCodeAnalysis>
+ </PropertyGroup>
+
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <AdditionalIncludeDirectories>$(ProjectDir)..\..\..\..\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+ <EnablePREfast>false</EnablePREfast>
+ <PreprocessorDefinitions>_WIN32_WINNT=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ </ItemDefinitionGroup>
+
+ <ItemDefinitionGroup Condition="$(Configuration.IndexOf('Release')) != -1">
+ <ClCompile>
+ <PreprocessorDefinitions>BITCOIN_DISABLE_ASSERTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ </ItemDefinitionGroup>
+
+ <ItemDefinitionGroup Condition="'$(ConfigurationType)'=='StaticLibrary'">
+ <ClCompile>
+ <PreprocessorDefinitions>CURL_STATICLIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ </ItemDefinitionGroup>
+
+ <Target Name="LinkageInfo" BeforeTargets="PrepareForBuild">
+ <Message Text="Linkage-curl : $(Linkage-curl)" Importance="high"/>
+ <Message Text="Linkage-zlib : $(Linkage-zlib)" Importance="high"/>
+ <Message Text="Linkage-openssl : $(Linkage-openssl)" Importance="high"/>
+ <Message Text="Linkage-libssh2 : $(Linkage-libssh2)" Importance="high"/>
+ </Target>
+
+</Project> \ No newline at end of file
diff --git a/builds/msvc/vs2013/libbitcoin/libbitcoin.vcxproj b/builds/msvc/vs2013/libbitcoin/libbitcoin.vcxproj
new file mode 100644
index 0000000..1482d5a
--- /dev/null
+++ b/builds/msvc/vs2013/libbitcoin/libbitcoin.vcxproj
@@ -0,0 +1,380 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{39F60708-FF48-4C22-952D-43470866F684}</ProjectGuid>
+ <ProjectName>libbitcoin</ProjectName>
+ <RootNamespace>libbitcoin12</RootNamespace>
+ </PropertyGroup>
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="DebugDLL|Win32">
+ <Configuration>DebugDLL</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="ReleaseDLL|Win32">
+ <Configuration>ReleaseDLL</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="DebugDLL|x64">
+ <Configuration>DebugDLL</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="ReleaseDLL|x64">
+ <Configuration>ReleaseDLL</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="DebugLTCG|Win32">
+ <Configuration>DebugLTCG</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="ReleaseLTCG|Win32">
+ <Configuration>ReleaseLTCG</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="DebugLTCG|x64">
+ <Configuration>DebugLTCG</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="ReleaseLTCG|x64">
+ <Configuration>ReleaseLTCG</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="DebugLIB|Win32">
+ <Configuration>DebugLIB</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="ReleaseLIB|Win32">
+ <Configuration>ReleaseLIB</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="DebugLIB|x64">
+ <Configuration>DebugLIB</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="ReleaseLIB|x64">
+ <Configuration>ReleaseLIB</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Configuration">
+ <PlatformToolset>CTP_Nov2013</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugLTCG|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLTCG|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugLTCG|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLTCG|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugLIB|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLIB|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugLIB|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLIB|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='DebugDLL|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ProjectDir)$(ProjectName).props" />
+ <Import Project="$(ProjectDir)..\properties\DynamicDebug.props" />
+ <Import Project="$(ProjectDir)..\properties\Win32.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ProjectDir)$(ProjectName).props" />
+ <Import Project="$(ProjectDir)..\properties\DynamicRelease.props" />
+ <Import Project="$(ProjectDir)..\properties\Win32.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="$(ProjectDir)$(ProjectName).props" />
+ <Import Project="$(ProjectDir)..\properties\DynamicDebug.props" />
+ <Import Project="$(ProjectDir)..\properties\x64.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="$(ProjectDir)$(ProjectName).props" />
+ <Import Project="$(ProjectDir)..\properties\DynamicRelease.props" />
+ <Import Project="$(ProjectDir)..\properties\x64.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugLTCG|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ProjectDir)$(ProjectName).props" />
+ <Import Project="$(ProjectDir)..\properties\StaticDebugLinkTimeCodeGeneration.props" />
+ <Import Project="$(ProjectDir)..\properties\Win32.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLTCG|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ProjectDir)$(ProjectName).props" />
+ <Import Project="$(ProjectDir)..\properties\StaticReleaseLinkTimeCodeGeneration.props" />
+ <Import Project="$(ProjectDir)..\properties\Win32.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugLTCG|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ProjectDir)$(ProjectName).props" />
+ <Import Project="$(ProjectDir)..\properties\StaticDebugLinkTimeCodeGeneration.props" />
+ <Import Project="$(ProjectDir)..\properties\x64.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLTCG|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ProjectDir)$(ProjectName).props" />
+ <Import Project="$(ProjectDir)..\properties\StaticReleaseLinkTimeCodeGeneration.props" />
+ <Import Project="$(ProjectDir)..\properties\x64.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugLIB|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ProjectDir)$(ProjectName).props" />
+ <Import Project="$(ProjectDir)..\properties\StaticDebug.props" />
+ <Import Project="$(ProjectDir)..\properties\Win32.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLIB|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ProjectDir)$(ProjectName).props" />
+ <Import Project="$(ProjectDir)..\properties\StaticRelease.props" />
+ <Import Project="$(ProjectDir)..\properties\Win32.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugLIB|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ProjectDir)$(ProjectName).props" />
+ <Import Project="$(ProjectDir)..\properties\StaticDebug.props" />
+ <Import Project="$(ProjectDir)..\properties\x64.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLIB|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ProjectDir)$(ProjectName).props" />
+ <Import Project="$(ProjectDir)..\properties\StaticRelease.props" />
+ <Import Project="$(ProjectDir)..\properties\x64.props" />
+ </ImportGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugLTCG|Win32'">
+ <Linkage-libssh2>ltcg</Linkage-libssh2>
+ <Linkage-curl>ltcg</Linkage-curl>
+ <Linkage-openssl>ltcg</Linkage-openssl>
+ <Linkage-zlib>ltcg</Linkage-zlib>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLTCG|Win32'">
+ <Linkage-libssh2>ltcg</Linkage-libssh2>
+ <Linkage-curl>ltcg</Linkage-curl>
+ <Linkage-openssl>ltcg</Linkage-openssl>
+ <Linkage-zlib>ltcg</Linkage-zlib>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugLTCG|x64'">
+ <Linkage-libssh2>ltcg</Linkage-libssh2>
+ <Linkage-curl>ltcg</Linkage-curl>
+ <Linkage-openssl>ltcg</Linkage-openssl>
+ <Linkage-zlib>ltcg</Linkage-zlib>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLTCG|x64'">
+ <Linkage-libssh2>ltcg</Linkage-libssh2>
+ <Linkage-curl>ltcg</Linkage-curl>
+ <Linkage-openssl>ltcg</Linkage-openssl>
+ <Linkage-zlib>ltcg</Linkage-zlib>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugLIB|Win32'">
+ <Linkage-libssh2>static</Linkage-libssh2>
+ <Linkage-curl>static</Linkage-curl>
+ <Linkage-openssl>static</Linkage-openssl>
+ <Linkage-zlib>static</Linkage-zlib>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLIB|Win32'">
+ <Linkage-libssh2>static</Linkage-libssh2>
+ <Linkage-curl>static</Linkage-curl>
+ <Linkage-openssl>static</Linkage-openssl>
+ <Linkage-zlib>static</Linkage-zlib>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugLIB|x64'">
+ <Linkage-libssh2>static</Linkage-libssh2>
+ <Linkage-curl>static</Linkage-curl>
+ <Linkage-openssl>static</Linkage-openssl>
+ <Linkage-zlib>static</Linkage-zlib>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLIB|x64'">
+ <Linkage-libssh2>static</Linkage-libssh2>
+ <Linkage-curl>static</Linkage-curl>
+ <Linkage-openssl>static</Linkage-openssl>
+ <Linkage-zlib>static</Linkage-zlib>
+ </PropertyGroup>
+ <ItemGroup Label="BuildOptionsExtension">
+ <PropertyPageSchema Include="$(ProjectName).xml" />
+ <ClCompile Include="..\..\..\..\src\blockchain\leveldb\leveldb_blockchain.cpp">
+ <ExcludedFromBuild Condition="'$(Option-leveldb)' != 'true'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\blockchain\leveldb\leveldb_chain_keeper.cpp">
+ <ExcludedFromBuild Condition="'$(Option-leveldb)' != 'true'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\blockchain\leveldb\leveldb_common.cpp">
+ <ExcludedFromBuild Condition="'$(Option-leveldb)' != 'true'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\blockchain\leveldb\leveldb_organizer.cpp">
+ <ExcludedFromBuild Condition="'$(Option-leveldb)' != 'true'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\blockchain\leveldb\leveldb_validate_block.cpp">
+ <ExcludedFromBuild Condition="'$(Option-leveldb)' != 'true'">true</ExcludedFromBuild>
+ </ClCompile>
+ </ItemGroup>
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <PreprocessorDefinitions Condition="'$(Option-testnet)' == 'true'">ENABLE_TESTNET;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Option-leveldb)' == 'true'">LEVELDB_ENABLED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <None Include="..\..\..\..\include\bitcoin\impl\serialize\block.ipp" />
+ <None Include="..\..\..\..\include\bitcoin\impl\serialize\misc.ipp" />
+ <None Include="packages.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\..\..\src\address.cpp" />
+ <ClCompile Include="..\..\..\..\src\block.cpp" />
+ <ClCompile Include="..\..\..\..\src\blockchain\blockchain.cpp" />
+ <ClCompile Include="..\..\..\..\src\blockchain\database\mman_win32.c" />
+ <ClCompile Include="..\..\..\..\src\blockchain\database\stealth_database.cpp" />
+ <ClCompile Include="..\..\..\..\src\blockchain\organizer.cpp" />
+ <ClCompile Include="..\..\..\..\src\constants.cpp" />
+ <ClCompile Include="..\..\..\..\src\error.cpp" />
+ <ClCompile Include="..\..\..\..\src\format.cpp" />
+ <ClCompile Include="..\..\..\..\src\getx_responder.cpp" />
+ <ClCompile Include="..\..\..\..\src\network\channel.cpp" />
+ <ClCompile Include="..\..\..\..\src\network\handshake.cpp" />
+ <ClCompile Include="..\..\..\..\src\network\hosts.cpp" />
+ <ClCompile Include="..\..\..\..\src\network\network.cpp" />
+ <ClCompile Include="..\..\..\..\src\network\protocol.cpp" />
+ <ClCompile Include="..\..\..\..\src\poller.cpp" />
+ <ClCompile Include="..\..\..\..\src\satoshi_serialize.cpp" />
+ <ClCompile Include="..\..\..\..\src\script.cpp" />
+ <ClCompile Include="..\..\..\..\src\session.cpp" />
+ <ClCompile Include="..\..\..\..\src\stealth.cpp" />
+ <ClCompile Include="..\..\..\..\src\threadpool.cpp" />
+ <ClCompile Include="..\..\..\..\src\transaction.cpp" />
+ <ClCompile Include="..\..\..\..\src\transaction_indexer.cpp" />
+ <ClCompile Include="..\..\..\..\src\transaction_pool.cpp" />
+ <ClCompile Include="..\..\..\..\src\utility\base58.cpp" />
+ <ClCompile Include="..\..\..\..\src\utility\big_number.cpp" />
+ <ClCompile Include="..\..\..\..\src\utility\elliptic_curve_key.cpp" />
+ <ClCompile Include="..\..\..\..\src\utility\logger.cpp" />
+ <ClCompile Include="..\..\..\..\src\utility\mmfile.cpp" />
+ <ClCompile Include="..\..\..\..\src\utility\ripemd.cpp" />
+ <ClCompile Include="..\..\..\..\src\utility\sha256.cpp" />
+ <ClCompile Include="..\..\..\..\src\utility\timed_section.cpp" />
+ <ClCompile Include="..\..\..\..\src\validate.cpp" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\..\..\..\include\bitcoin\address.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\bitcoin.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\block.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\blockchain\blockchain.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\blockchain\database\stealth_database.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\blockchain\leveldb_blockchain.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\blockchain\organizer.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\constants.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\error.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\format.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\getx_responder.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\network\channel.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\network\handshake.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\network\hosts.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\network\network.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\network\protocol.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\network\shared_const_buffer.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\poller.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\primitives.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\satoshi_serialize.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\script.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\session.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\stealth.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\threadpool.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\transaction.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\transaction_indexer.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\transaction_pool.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\types.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\utility\assert.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\utility\async_parallel.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\utility\base58.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\utility\big_number.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\utility\decorator.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\utility\elliptic_curve_key.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\utility\logger.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\utility\mmfile.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\utility\ripemd.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\utility\serializer.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\utility\sha256.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\utility\subscriber.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\utility\timed_section.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\utility\weak_bind.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\validate.hpp" />
+ <ClInclude Include="..\..\..\..\include\bitcoin\version.hpp" />
+ <ClInclude Include="..\..\..\..\src\blockchain\database\mman_win32.h" />
+ <ClInclude Include="..\..\..\..\src\blockchain\leveldb\leveldb_chain_keeper.hpp" />
+ <ClInclude Include="..\..\..\..\src\blockchain\leveldb\leveldb_common.hpp" />
+ <ClInclude Include="..\..\..\..\src\blockchain\leveldb\leveldb_organizer.hpp" />
+ <ClInclude Include="..\..\..\..\src\blockchain\leveldb\leveldb_validate_block.hpp" />
+ </ItemGroup>
+ <ItemGroup>
+ <Text Include="readme.txt" />
+ </ItemGroup>
+ <Import Project="..\..\..\..\..\..\nuget\Snappy.1.1.1.7\build\native\Snappy.props" Condition="Exists('..\..\..\..\..\..\nuget\Snappy.1.1.1.7\build\native\Snappy.props')" />
+ <Import Project="..\..\..\..\..\..\nuget\LevelDB.1.16.0.5\build\native\LevelDB.props" Condition="Exists('..\..\..\..\..\..\nuget\LevelDB.1.16.0.5\build\native\LevelDB.props')" />
+ <Import Project="..\..\..\..\..\..\nuget\Crc32C.1.0.4\build\native\Crc32C.props" Condition="Exists('..\..\..\..\..\..\nuget\Crc32C.1.0.4\build\native\Crc32C.props')" />
+ <Import Project="..\..\..\..\..\..\nuget\openssl.1.0.1.24\build\native\openssl.props" Condition="Exists('..\..\..\..\..\..\nuget\openssl.1.0.1.24\build\native\openssl.props')" />
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets" />
+ <ImportGroup Label="ExtensionSettings">
+ <Import Project="..\..\..\..\..\..\nuget\boost.1.55.0.16\build\native\boost.targets" Condition="Exists('..\..\..\..\..\..\nuget\boost.1.55.0.16\build\native\boost.targets')" />
+ <Import Project="..\..\..\..\..\..\nuget\boost_system-vc120.1.55.0.16\build\native\boost_system-vc120.targets" Condition="Exists('..\..\..\..\..\..\nuget\boost_system-vc120.1.55.0.16\build\native\boost_system-vc120.targets')" />
+ <Import Project="..\..\..\..\..\..\nuget\boost_date_time-vc120.1.55.0.16\build\native\boost_date_time-vc120.targets" Condition="Exists('..\..\..\..\..\..\nuget\boost_date_time-vc120.1.55.0.16\build\native\boost_date_time-vc120.targets')" />
+ <Import Project="..\..\..\..\..\..\nuget\boost_regex-vc120.1.55.0.16\build\native\boost_regex-vc120.targets" Condition="Exists('..\..\..\..\..\..\nuget\boost_regex-vc120.1.55.0.16\build\native\boost_regex-vc120.targets')" />
+ <Import Project="..\..\..\..\..\..\nuget\boost_filesystem-vc120.1.55.0.16\build\native\boost_filesystem-vc120.targets" Condition="Exists('..\..\..\..\..\..\nuget\boost_filesystem-vc120.1.55.0.16\build\native\boost_filesystem-vc120.targets')" />
+ <Import Project="..\..\..\..\..\..\nuget\curl.redist.7.30.0.2\build\native\curl.redist.targets" Condition="Exists('..\..\..\..\..\..\nuget\curl.redist.7.30.0.2\build\native\curl.redist.targets')" />
+ <Import Project="..\..\..\..\..\..\nuget\curl.7.30.0.2\build\native\curl.targets" Condition="Exists('..\..\..\..\..\..\nuget\curl.7.30.0.2\build\native\curl.targets')" />
+ <Import Project="..\..\..\..\..\..\nuget\zlib.redist.1.2.8.6\build\native\zlib.redist.targets" Condition="Exists('..\..\..\..\..\..\nuget\zlib.redist.1.2.8.6\build\native\zlib.redist.targets')" />
+ <Import Project="..\..\..\..\..\..\nuget\zlib.1.2.8.6\build\native\zlib.targets" Condition="Exists('..\..\..\..\..\..\nuget\zlib.1.2.8.6\build\native\zlib.targets')" />
+ <Import Project="..\..\..\..\..\..\nuget\openssl.redist.1.0.1.24\build\native\openssl.redist.targets" Condition="Exists('..\..\..\..\..\..\nuget\openssl.redist.1.0.1.24\build\native\openssl.redist.targets')" />
+ <Import Project="..\..\..\..\..\..\nuget\openssl.1.0.1.24\build\native\openssl.targets" Condition="Exists('..\..\..\..\..\..\nuget\openssl.1.0.1.24\build\native\openssl.targets')" />
+ <Import Project="..\..\..\..\..\..\nuget\libssh2.redist.1.4.3.3\build\native\libssh2.redist.targets" Condition="Exists('..\..\..\..\..\..\nuget\libssh2.redist.1.4.3.3\build\native\libssh2.redist.targets')" />
+ <Import Project="..\..\..\..\..\..\nuget\libssh2.1.4.3.3\build\native\libssh2.targets" Condition="Exists('..\..\..\..\..\..\nuget\libssh2.1.4.3.3\build\native\libssh2.targets')" />
+ </ImportGroup>
+ <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
+ <PropertyGroup>
+ <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
+ </PropertyGroup>
+ <Error Condition="!Exists('..\..\..\..\..\..\nuget\Crc32C.1.0.4\build\native\Crc32C.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\..\nuget\Crc32C.1.0.4\build\native\Crc32C.props'))" />
+ <Error Condition="!Exists('..\..\..\..\..\..\nuget\Snappy.1.1.1.7\build\native\Snappy.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\..\nuget\Snappy.1.1.1.7\build\native\Snappy.props'))" />
+ <Error Condition="!Exists('..\..\..\..\..\..\nuget\LevelDB.1.16.0.5\build\native\LevelDB.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\..\nuget\LevelDB.1.16.0.5\build\native\LevelDB.props'))" />
+ <Error Condition="!Exists('..\..\..\..\..\..\nuget\boost.1.55.0.16\build\native\boost.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\..\nuget\boost.1.55.0.16\build\native\boost.targets'))" />
+ <Error Condition="!Exists('..\..\..\..\..\..\nuget\boost_system-vc120.1.55.0.16\build\native\boost_system-vc120.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\..\nuget\boost_system-vc120.1.55.0.16\build\native\boost_system-vc120.targets'))" />
+ <Error Condition="!Exists('..\..\..\..\..\..\nuget\boost_date_time-vc120.1.55.0.16\build\native\boost_date_time-vc120.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\..\nuget\boost_date_time-vc120.1.55.0.16\build\native\boost_date_time-vc120.targets'))" />
+ <Error Condition="!Exists('..\..\..\..\..\..\nuget\boost_regex-vc120.1.55.0.16\build\native\boost_regex-vc120.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\..\nuget\boost_regex-vc120.1.55.0.16\build\native\boost_regex-vc120.targets'))" />
+ <Error Condition="!Exists('..\..\..\..\..\..\nuget\boost_filesystem-vc120.1.55.0.16\build\native\boost_filesystem-vc120.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\..\nuget\boost_filesystem-vc120.1.55.0.16\build\native\boost_filesystem-vc120.targets'))" />
+ <Error Condition="!Exists('..\..\..\..\..\..\nuget\curl.redist.7.30.0.2\build\native\curl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\..\nuget\curl.redist.7.30.0.2\build\native\curl.redist.targets'))" />
+ <Error Condition="!Exists('..\..\..\..\..\..\nuget\curl.7.30.0.2\build\native\curl.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\..\nuget\curl.7.30.0.2\build\native\curl.targets'))" />
+ <Error Condition="!Exists('..\..\..\..\..\..\nuget\zlib.redist.1.2.8.6\build\native\zlib.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\..\nuget\zlib.redist.1.2.8.6\build\native\zlib.redist.targets'))" />
+ <Error Condition="!Exists('..\..\..\..\..\..\nuget\zlib.1.2.8.6\build\native\zlib.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\..\nuget\zlib.1.2.8.6\build\native\zlib.targets'))" />
+ <Error Condition="!Exists('..\..\..\..\..\..\nuget\openssl.redist.1.0.1.24\build\native\openssl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\..\nuget\openssl.redist.1.0.1.24\build\native\openssl.redist.targets'))" />
+ <Error Condition="!Exists('..\..\..\..\..\..\nuget\openssl.1.0.1.24\build\native\openssl.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\..\nuget\openssl.1.0.1.24\build\native\openssl.props'))" />
+ <Error Condition="!Exists('..\..\..\..\..\..\nuget\openssl.1.0.1.24\build\native\openssl.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\..\nuget\openssl.1.0.1.24\build\native\openssl.targets'))" />
+ <Error Condition="!Exists('..\..\..\..\..\..\nuget\libssh2.redist.1.4.3.3\build\native\libssh2.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\..\nuget\libssh2.redist.1.4.3.3\build\native\libssh2.redist.targets'))" />
+ <Error Condition="!Exists('..\..\..\..\..\..\nuget\libssh2.1.4.3.3\build\native\libssh2.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\..\nuget\libssh2.1.4.3.3\build\native\libssh2.targets'))" />
+ </Target>
+</Project> \ No newline at end of file
diff --git a/builds/msvc/vs2013/libbitcoin/libbitcoin.vcxproj.filters b/builds/msvc/vs2013/libbitcoin/libbitcoin.vcxproj.filters
new file mode 100644
index 0000000..7a44d3d
--- /dev/null
+++ b/builds/msvc/vs2013/libbitcoin/libbitcoin.vcxproj.filters
@@ -0,0 +1,326 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="src">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="include">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="src\utility">
+ <UniqueIdentifier>{8d26a34b-6f23-4d66-8d64-6b50feadc4db}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="src\network">
+ <UniqueIdentifier>{785639c3-4aba-44db-9501-9797e573c681}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="src\blockchain">
+ <UniqueIdentifier>{cfa7bc5d-1852-4eae-836d-7ca997d7eb24}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="include\blockchain">
+ <UniqueIdentifier>{812d0350-06b8-414d-b0d8-d8de8110c38c}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="include\utility">
+ <UniqueIdentifier>{67a8f56c-9dc0-4c44-a5ff-020667929caa}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="include\network">
+ <UniqueIdentifier>{86cf2b40-4c9c-4858-80f7-7bb8c4d06b36}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="include\impl">
+ <UniqueIdentifier>{5afb9fba-cd2c-438a-aedd-39c8acc14af4}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="include\impl\serialize">
+ <UniqueIdentifier>{849640c1-d79f-4baa-bfb5-0ea86d1c9988}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="include\blockchain\database">
+ <UniqueIdentifier>{a20c92ac-7138-4374-9d06-e95d1df0ecc5}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="src\blockchain\database">
+ <UniqueIdentifier>{441e5e7d-632f-4dcb-b342-06f5795d3f19}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="src\blockchain\leveldb">
+ <UniqueIdentifier>{61f50a9e-d52f-4336-820e-3ac84f2305d4}</UniqueIdentifier>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="..\..\..\..\include\bitcoin\impl\serialize\block.ipp">
+ <Filter>include\impl\serialize</Filter>
+ </None>
+ <None Include="..\..\..\..\include\bitcoin\impl\serialize\misc.ipp">
+ <Filter>include\impl\serialize</Filter>
+ </None>
+ <None Include="packages.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\..\..\src\error.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\format.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\getx_responder.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\poller.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\satoshi_serialize.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\script.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\threadpool.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\transaction.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\transaction_indexer.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\transaction_pool.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\validate.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\address.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\block.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\constants.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\utility\ripemd.cpp">
+ <Filter>src\utility</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\utility\sha256.cpp">
+ <Filter>src\utility</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\utility\timed_section.cpp">
+ <Filter>src\utility</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\utility\base58.cpp">
+ <Filter>src\utility</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\utility\big_number.cpp">
+ <Filter>src\utility</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\utility\elliptic_curve_key.cpp">
+ <Filter>src\utility</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\utility\logger.cpp">
+ <Filter>src\utility</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\network\hosts.cpp">
+ <Filter>src\network</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\network\network.cpp">
+ <Filter>src\network</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\network\protocol.cpp">
+ <Filter>src\network</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\network\channel.cpp">
+ <Filter>src\network</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\network\handshake.cpp">
+ <Filter>src\network</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\blockchain\blockchain.cpp">
+ <Filter>src\blockchain</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\blockchain\organizer.cpp">
+ <Filter>src\blockchain</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\blockchain\leveldb\leveldb_organizer.cpp">
+ <Filter>src\blockchain\leveldb</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\blockchain\leveldb\leveldb_validate_block.cpp">
+ <Filter>src\blockchain\leveldb</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\blockchain\leveldb\leveldb_blockchain.cpp">
+ <Filter>src\blockchain\leveldb</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\blockchain\leveldb\leveldb_chain_keeper.cpp">
+ <Filter>src\blockchain\leveldb</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\blockchain\leveldb\leveldb_common.cpp">
+ <Filter>src\blockchain\leveldb</Filter>
+ </ClCompile>
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\lib\native\src\snappy-single-file.cpp" />
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\lib\native\src\leveldb-single-file.cpp" />
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\lib\native\src\crc32c.cpp" />
+ <ClCompile Include="..\..\..\..\src\stealth.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\utility\mmfile.cpp">
+ <Filter>src\utility</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\blockchain\database\stealth_database.cpp">
+ <Filter>src\blockchain\database</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\blockchain\database\mman_win32.c">
+ <Filter>src\blockchain\database</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\session.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\..\..\..\src\blockchain\leveldb\leveldb_organizer.hpp">
+ <Filter>src\blockchain\leveldb</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\src\blockchain\leveldb\leveldb_validate_block.hpp">
+ <Filter>src\blockchain\leveldb</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\src\blockchain\leveldb\leveldb_chain_keeper.hpp">
+ <Filter>src\blockchain\leveldb</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\src\blockchain\leveldb\leveldb_common.hpp">
+ <Filter>src\blockchain\leveldb</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\error.hpp">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\format.hpp">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\getx_responder.hpp">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\poller.hpp">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\primitives.hpp">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\satoshi_serialize.hpp">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\script.hpp">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\session.hpp">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\threadpool.hpp">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\transaction.hpp">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\transaction_indexer.hpp">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\transaction_pool.hpp">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\types.hpp">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\validate.hpp">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\version.hpp">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\address.hpp">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\bitcoin.hpp">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\block.hpp">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\constants.hpp">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\utility\ripemd.hpp">
+ <Filter>include\utility</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\utility\serializer.hpp">
+ <Filter>include\utility</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\utility\sha256.hpp">
+ <Filter>include\utility</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\utility\subscriber.hpp">
+ <Filter>include\utility</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\utility\timed_section.hpp">
+ <Filter>include\utility</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\utility\weak_bind.hpp">
+ <Filter>include\utility</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\utility\assert.hpp">
+ <Filter>include\utility</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\utility\async_parallel.hpp">
+ <Filter>include\utility</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\utility\base58.hpp">
+ <Filter>include\utility</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\utility\big_number.hpp">
+ <Filter>include\utility</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\utility\decorator.hpp">
+ <Filter>include\utility</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\utility\elliptic_curve_key.hpp">
+ <Filter>include\utility</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\utility\logger.hpp">
+ <Filter>include\utility</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\blockchain\leveldb_blockchain.hpp">
+ <Filter>include\blockchain</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\blockchain\organizer.hpp">
+ <Filter>include\blockchain</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\blockchain\blockchain.hpp">
+ <Filter>include\blockchain</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\network\network.hpp">
+ <Filter>include\network</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\network\protocol.hpp">
+ <Filter>include\network</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\network\shared_const_buffer.hpp">
+ <Filter>include\network</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\network\channel.hpp">
+ <Filter>include\network</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\network\handshake.hpp">
+ <Filter>include\network</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\network\hosts.hpp">
+ <Filter>include\network</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\blockchain\database\stealth_database.hpp">
+ <Filter>include\blockchain\database</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\stealth.hpp">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\include\bitcoin\utility\mmfile.hpp">
+ <Filter>include\utility</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\..\src\blockchain\database\mman_win32.h">
+ <Filter>src\blockchain\database</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <Text Include="readme.txt" />
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/builds/msvc/vs2013/libbitcoin/libbitcoin.xml b/builds/msvc/vs2013/libbitcoin/libbitcoin.xml
new file mode 100644
index 0000000..063a97e
--- /dev/null
+++ b/builds/msvc/vs2013/libbitcoin/libbitcoin.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Build Options Extension -->
+<ProjectSchemaDefinitions xmlns="clr-namespace:Microsoft.Build.Framework.XamlTypes;assembly=Microsoft.Build.Framework">
+ <Rule Name="leveldb-uiextension" PageTemplate="tool" DisplayName="Build Options" SwitchPrefix="/" Order="1">
+ <Rule.Categories>
+ <Category Name="leveldb" DisplayName="leveldb" />
+ </Rule.Categories>
+ <Rule.DataSource>
+ <DataSource Persistence="ProjectFile" ItemType="" />
+ </Rule.DataSource>
+ <EnumProperty Name="Option-leveldb" DisplayName="Enable LevelDB" Description="Enable the LevelDB build option" Category="leveldb">
+ <EnumValue Name="" DisplayName="No" />
+ <EnumValue Name="true" DisplayName="Yes" />
+ </EnumProperty>
+ </Rule>
+ <Rule Name="testnet-uiextension" PageTemplate="tool" DisplayName="Build Options" SwitchPrefix="/" Order="2">
+ <Rule.Categories>
+ <Category Name="testnet" DisplayName="testnet" />
+ </Rule.Categories>
+ <Rule.DataSource>
+ <DataSource Persistence="ProjectFile" ItemType="" />
+ </Rule.DataSource>
+ <EnumProperty Name="Option-testnet" DisplayName="Enable Testnet" Description="Enable the Testnet build option" Category="testnet">
+ <EnumValue Name="" DisplayName="No" />
+ <EnumValue Name="true" DisplayName="Yes" />
+ </EnumProperty>
+ </Rule>
+</ProjectSchemaDefinitions> \ No newline at end of file
diff --git a/builds/msvc/vs2013/libbitcoin/packages.config b/builds/msvc/vs2013/libbitcoin/packages.config
new file mode 100644
index 0000000..5c9602a
--- /dev/null
+++ b/builds/msvc/vs2013/libbitcoin/packages.config
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="curl" version="7.30.0.2" targetFramework="Native" />
+ <package id="curl.redist" version="7.30.0.2" targetFramework="Native" />
+ <package id="libssh2" version="1.4.3.3" targetFramework="Native" />
+ <package id="libssh2.redist" version="1.4.3.3" targetFramework="Native" />
+ <package id="openssl" version="1.0.1.24" targetFramework="Native" />
+ <package id="openssl.redist" version="1.0.1.24" targetFramework="Native" />
+ <package id="zlib" version="1.2.8.6" targetFramework="Native" />
+ <package id="zlib.redist" version="1.2.8.6" targetFramework="Native" />
+</packages> \ No newline at end of file
diff --git a/builds/msvc/vs2013/libbitcoin/readme.txt b/builds/msvc/vs2013/libbitcoin/readme.txt
new file mode 100644
index 0000000..d28acda
--- /dev/null
+++ b/builds/msvc/vs2013/libbitcoin/readme.txt
@@ -0,0 +1,5 @@
+Unsafe endian assumption in crc32c.h:
+
+// This assumes little-endian integers, as is the case on Intel processors that
+// the assembler code here is for.
+static uint32_t append_adler_table(uint32_t crci, buffer input, size_t length)
diff --git a/builds/msvc/libbitcoin/packages.config b/builds/msvc/vs2013/packages.config
index 8ba6d71..8ba6d71 100644
--- a/builds/msvc/libbitcoin/packages.config
+++ b/builds/msvc/vs2013/packages.config
diff --git a/builds/msvc/vs2013/properties/Common.props b/builds/msvc/vs2013/properties/Common.props
new file mode 100644
index 0000000..10e0380
--- /dev/null
+++ b/builds/msvc/vs2013/properties/Common.props
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <_PropertySheetDisplayName>Common Settings</_PropertySheetDisplayName>
+ <CharacterSet>Unicode</CharacterSet>
+ <TargetName>$(ProjectName)</TargetName>
+ </PropertyGroup>
+
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <!-- Windows and CRT definitions for unicode. Note that Linux only supports unicode so char is UCS-16. -->
+ <PreprocessorDefinitions>UNICODE;_UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <WarningLevel>Level3</WarningLevel>
+ </ClCompile>
+ </ItemDefinitionGroup>
+
+ <Target Name="ConfigInfo" BeforeTargets="PrepareForBuild">
+ <Message Text="ConfigurationType : $(ConfigurationType)" Importance="high"/>
+ <Message Text="Configuration : $(Configuration)" Importance="high"/>
+ <Message Text="PlatformToolset : $(PlatformToolset)" Importance="high"/>
+ <Message Text="Building..." Importance="high"/>
+ </Target>
+
+</Project> \ No newline at end of file
diff --git a/builds/msvc/vs2013/properties/Debug.props b/builds/msvc/vs2013/properties/Debug.props
new file mode 100644
index 0000000..825321a
--- /dev/null
+++ b/builds/msvc/vs2013/properties/Debug.props
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <_PropertySheetDisplayName>Debug Configuration</_PropertySheetDisplayName>
+ <!-- RootNamespace is used to deconflict output files from differing project versions. -->
+ <IntDir>$(ProjectDir)..\..\..\..\obj\$(PlatformName)\$(Configuration)\$(RootNamespace)\</IntDir>
+ <OutDir>$(ProjectDir)..\..\..\..\bin\$(PlatformName)\Debug\$(RootNamespace)\</OutDir>
+ <LinkIncremental>true</LinkIncremental>
+ </PropertyGroup>
+
+ <ItemDefinitionGroup>
+ <ClCompile><DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ResourceCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ImportLibrary>$(ProjectDir)..\..\..\..\bin\$(PlatformName)\Debug\$(RootNamespace)\$(TargetName).imp.lib</ImportLibrary>
+ </Link>
+ </ItemDefinitionGroup>
+
+</Project> \ No newline at end of file
diff --git a/builds/msvc/vs2013/properties/Dynamic.props b/builds/msvc/vs2013/properties/Dynamic.props
new file mode 100644
index 0000000..8f57f13
--- /dev/null
+++ b/builds/msvc/vs2013/properties/Dynamic.props
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <ImportGroup Label="PropertySheets">
+ <Import Project="Common.props" />
+ </ImportGroup>
+
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <_PropertySheetDisplayName>Dynamic Library</_PropertySheetDisplayName>
+ </PropertyGroup>
+
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <PreprocessorDefinitions>_DLL;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ </ItemDefinitionGroup>
+
+</Project> \ No newline at end of file
diff --git a/builds/msvc/vs2013/properties/DynamicDebug.props b/builds/msvc/vs2013/properties/DynamicDebug.props
new file mode 100644
index 0000000..81befdc
--- /dev/null
+++ b/builds/msvc/vs2013/properties/DynamicDebug.props
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <ImportGroup Label="PropertySheets">
+ <Import Project="Dynamic.props" />
+ <Import Project="Debug.props" />
+ </ImportGroup>
+
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <_PropertySheetDisplayName>Dynamic Debug Library</_PropertySheetDisplayName>
+ </PropertyGroup>
+
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <!-- Linking CRT dynamically when building a dynamic library is conventional. -->
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ </ClCompile>
+ </ItemDefinitionGroup>
+
+</Project> \ No newline at end of file
diff --git a/builds/msvc/vs2013/properties/DynamicRelease.props b/builds/msvc/vs2013/properties/DynamicRelease.props
new file mode 100644
index 0000000..1b1de61
--- /dev/null
+++ b/builds/msvc/vs2013/properties/DynamicRelease.props
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <ImportGroup Label="PropertySheets">
+ <Import Project="Dynamic.props" />
+ <Import Project="Release.props" />
+ </ImportGroup>
+
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <_PropertySheetDisplayName>Dynamic Release Library</_PropertySheetDisplayName>
+ </PropertyGroup>
+
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <!-- Linking CRT dynamically when building a dynamic library is conventional. -->
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ </ClCompile>
+ </ItemDefinitionGroup>
+
+</Project> \ No newline at end of file
diff --git a/builds/msvc/vs2013/properties/LinkTimeCodeGeneration.props b/builds/msvc/vs2013/properties/LinkTimeCodeGeneration.props
new file mode 100644
index 0000000..42708b5
--- /dev/null
+++ b/builds/msvc/vs2013/properties/LinkTimeCodeGeneration.props
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <_PropertySheetDisplayName>Link Time Code Generation Library</_PropertySheetDisplayName>
+ </PropertyGroup>
+
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+
+ <!-- This overrides Debug.props->LinkIncremental and therefore this reference must always be set after Debug.props is included. -->
+ <LinkIncremental>false</LinkIncremental>
+ </ClCompile>
+ <Link>
+ <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
+ </Link>
+ <Lib>
+ <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
+ </Lib>
+ </ItemDefinitionGroup>
+
+</Project> \ No newline at end of file
diff --git a/builds/msvc/vs2013/properties/Release.props b/builds/msvc/vs2013/properties/Release.props
new file mode 100644
index 0000000..aff972f
--- /dev/null
+++ b/builds/msvc/vs2013/properties/Release.props
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <_PropertySheetDisplayName>Release Configuration</_PropertySheetDisplayName>
+ <!-- RootNamespace is used to deconflict output files from differing project versions. -->
+ <IntDir>$(ProjectDir)..\..\..\..\obj\$(PlatformName)\$(Configuration)\$(RootNamespace)\</IntDir>
+ <OutDir>$(ProjectDir)..\..\..\..\bin\$(PlatformName)\Release\$(RootNamespace)\</OutDir>
+ <LinkIncremental>false</LinkIncremental>
+ </PropertyGroup>
+
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <AdditionalOptions>/Oy- %(AdditionalOptions)</AdditionalOptions>
+ <!--<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>-->
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+ <MinimalRebuild>false</MinimalRebuild>
+ <Optimization>MaxSpeed</Optimization>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ResourceCompile>
+ <Link>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <!--<GenerateDebugInformation>true</GenerateDebugInformation>-->
+ <ImportLibrary>$(ProjectDir)..\..\..\..\bin\$(PlatformName)\Release\$(RootNamespace)\$(TargetName).imp.lib</ImportLibrary>
+ <OptimizeReferences>true</OptimizeReferences>
+ </Link>
+ </ItemDefinitionGroup>
+
+ <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
+ <ClCompile>
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
+ </ClCompile>
+ </ItemDefinitionGroup>
+
+</Project> \ No newline at end of file
diff --git a/builds/msvc/vs2013/properties/Static.props b/builds/msvc/vs2013/properties/Static.props
new file mode 100644
index 0000000..9b30a13
--- /dev/null
+++ b/builds/msvc/vs2013/properties/Static.props
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <ImportGroup Label="PropertySheets">
+ <Import Project="Common.props" />
+ </ImportGroup>
+
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <_PropertySheetDisplayName>Static Library</_PropertySheetDisplayName>
+ </PropertyGroup>
+
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ </ItemDefinitionGroup>
+
+</Project> \ No newline at end of file
diff --git a/builds/msvc/vs2013/properties/StaticDebug.props b/builds/msvc/vs2013/properties/StaticDebug.props
new file mode 100644
index 0000000..f0693f1
--- /dev/null
+++ b/builds/msvc/vs2013/properties/StaticDebug.props
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <ImportGroup Label="PropertySheets">
+ <Import Project="Static.props" />
+ <Import Project="Debug.props" />
+ </ImportGroup>
+
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <_PropertySheetDisplayName>Static Debug Library</_PropertySheetDisplayName>
+ </PropertyGroup>
+
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <!-- Linking CRT statically when building a static library is conventional. -->
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ </ClCompile>
+ </ItemDefinitionGroup>
+
+</Project> \ No newline at end of file
diff --git a/builds/msvc/vs2013/properties/StaticDebugLinkTimeCodeGeneration.props b/builds/msvc/vs2013/properties/StaticDebugLinkTimeCodeGeneration.props
new file mode 100644
index 0000000..18b017c
--- /dev/null
+++ b/builds/msvc/vs2013/properties/StaticDebugLinkTimeCodeGeneration.props
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <ImportGroup Label="PropertySheets">
+ <Import Project="Debug.props" />
+ <Import Project="StaticLinkTimeCodeGeneration.props" />
+ </ImportGroup>
+
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <_PropertySheetDisplayName>Static Debug Link Time Code Generation Library</_PropertySheetDisplayName>
+ </PropertyGroup>
+
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <!-- Linking CRT statically when building a static library is conventional. -->
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ </ClCompile>
+ </ItemDefinitionGroup>
+
+</Project> \ No newline at end of file
diff --git a/builds/msvc/vs2013/properties/StaticLinkTimeCodeGeneration.props b/builds/msvc/vs2013/properties/StaticLinkTimeCodeGeneration.props
new file mode 100644
index 0000000..8009311
--- /dev/null
+++ b/builds/msvc/vs2013/properties/StaticLinkTimeCodeGeneration.props
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <ImportGroup Label="PropertySheets">
+ <Import Project="Static.props" />
+ <Import Project="LinkTimeCodeGeneration.props" />
+ </ImportGroup>
+
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <_PropertySheetDisplayName>Static Link Time Code Generation Library</_PropertySheetDisplayName>
+
+ <!-- This overrides Static.props->Common.props->TargetName and therefore this
+ reference must always be set after Static.props->Common.props is included. -->
+ <TargetName>$(TargetName).ltcg</TargetName>
+ </PropertyGroup>
+
+</Project> \ No newline at end of file
diff --git a/builds/msvc/vs2013/properties/StaticRelease.props b/builds/msvc/vs2013/properties/StaticRelease.props
new file mode 100644
index 0000000..d7a6058
--- /dev/null
+++ b/builds/msvc/vs2013/properties/StaticRelease.props
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <ImportGroup Label="PropertySheets">
+ <Import Project="Static.props" />
+ <Import Project="Release.props" />
+ </ImportGroup>
+
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <_PropertySheetDisplayName>Static Release Library</_PropertySheetDisplayName>
+ </PropertyGroup>
+
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <!-- Linking CRT statically when building a static library is conventional. -->
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ </ClCompile>
+ </ItemDefinitionGroup>
+
+</Project> \ No newline at end of file
diff --git a/builds/msvc/vs2013/properties/StaticReleaseLinkTimeCodeGeneration.props b/builds/msvc/vs2013/properties/StaticReleaseLinkTimeCodeGeneration.props
new file mode 100644
index 0000000..668a9e9
--- /dev/null
+++ b/builds/msvc/vs2013/properties/StaticReleaseLinkTimeCodeGeneration.props
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <ImportGroup Label="PropertySheets">
+ <Import Project="Release.props" />
+ <Import Project="StaticLinkTimeCodeGeneration.props" />
+ </ImportGroup>
+
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <_PropertySheetDisplayName>Static Release Link Time Code Generation Library</_PropertySheetDisplayName>
+ </PropertyGroup>
+
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <!-- Linking CRT statically when building a static library is conventional. -->
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ </ClCompile>
+ </ItemDefinitionGroup>
+
+</Project> \ No newline at end of file
diff --git a/builds/msvc/vs2013/properties/Win32.props b/builds/msvc/vs2013/properties/Win32.props
new file mode 100644
index 0000000..bc64e84
--- /dev/null
+++ b/builds/msvc/vs2013/properties/Win32.props
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <_PropertySheetDisplayName>Win32 Settings</_PropertySheetDisplayName>
+ </PropertyGroup>
+
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <PreprocessorDefinitions>WIN32;_WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ <Lib>
+ <AdditionalOptions>/MACHINE:X86 %(AdditionalOptions)</AdditionalOptions>
+ </Lib>
+ </ItemDefinitionGroup>
+
+</Project> \ No newline at end of file
diff --git a/builds/msvc/vs2013/properties/x64.props b/builds/msvc/vs2013/properties/x64.props
new file mode 100644
index 0000000..1c750d6
--- /dev/null
+++ b/builds/msvc/vs2013/properties/x64.props
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <_PropertySheetDisplayName>x64 Settings</_PropertySheetDisplayName>
+ </PropertyGroup>
+
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <!-- Note that Win64 defines may cause WIN32 to become defined when using windows headers,
+ but _WIN32 implies Windows 32 bit or above. If the standard headers are not included
+ these are sometimes required even for 64 bit builds and should never cause harm there.-->
+ <PreprocessorDefinitions>WIN32;_WIN32;WIN64;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ <Lib>
+ <AdditionalOptions>/MACHINE:X64 %(AdditionalOptions)</AdditionalOptions>
+ </Lib>
+ </ItemDefinitionGroup>
+
+</Project> \ No newline at end of file
diff --git a/configure.ac b/configure.ac
index 52311e1..c574cb4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -14,9 +14,9 @@ AX_CXX_COMPILE_STDCXX_11(noext,mandatory)
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
AC_ARG_ENABLE(leveldb,
- [AC_HELP_STRING([--enable-leveldb],
- [Build LevelDB support.])],
- [bld_leveldb="$enable_leveldb"], [bld_leveldb="no"])
+ [AC_HELP_STRING([--enable-leveldb],
+ [Build LevelDB support.])],
+ [bld_leveldb="$enable_leveldb"], [bld_leveldb="no"])
AM_CONDITIONAL([DO_LEVELDB], [test "$enable_leveldb" = "yes"])
AC_MSG_CHECKING(--enable-testnet argument)
@@ -36,8 +36,8 @@ AX_BOOST_BASE
PKG_PROG_PKG_CONFIG
if test "$bld_leveldb" = "yes"; then
- AC_SUBST(LDFLAG_LEVELDB)
- LDFLAG_LEVELDB="-lleveldb"
+ AC_SUBST(LDFLAG_LEVELDB)
+ LDFLAG_LEVELDB="-lleveldb"
AC_SUBST(CFLAG_LEVELDB)
CFLAG_LEVELDB="-DLEVELDB_ENABLED"
fi
diff --git a/include/bitcoin/blockchain/database/stealth_database.hpp b/include/bitcoin/blockchain/database/stealth_database.hpp
index c767dfd..6d7d11e 100644
--- a/include/bitcoin/blockchain/database/stealth_database.hpp
+++ b/include/bitcoin/blockchain/database/stealth_database.hpp
@@ -20,6 +20,7 @@
#ifndef LIBBITCOIN_STEALTH_DATABASE_HPP
#define LIBBITCOIN_STEALTH_DATABASE_HPP
+#include <stdint.h>
#include <functional>
#include <bitcoin/utility/mmfile.hpp>
@@ -71,5 +72,4 @@ private:
} // namespace libbitcoin
-#endif
-
+#endif \ No newline at end of file
diff --git a/include/bitcoin/blockchain/organizer.hpp b/include/bitcoin/blockchain/organizer.hpp
index c88cc05..a620c31 100644
--- a/include/bitcoin/blockchain/organizer.hpp
+++ b/include/bitcoin/blockchain/organizer.hpp
@@ -113,7 +113,7 @@ private:
void process(block_detail_ptr process_block);
void replace_chain(size_t fork_index, block_detail_list& orphan_chain);
void clip_orphans(block_detail_list& orphan_chain,
- int orphan_index, const std::error_code& invalid_reason);
+ size_t orphan_index, const std::error_code& invalid_reason);
void notify_reorganize(
size_t fork_point,
const block_detail_list& orphan_chain,
diff --git a/include/bitcoin/constants.hpp b/include/bitcoin/constants.hpp
index 44fc82f..2fdd8a3 100644
--- a/include/bitcoin/constants.hpp
+++ b/include/bitcoin/constants.hpp
@@ -71,7 +71,7 @@ constexpr uint32_t max_bits = 0x1d00ffff;
big_number max_target();
uint32_t magic_value();
-#ifdef _WINDOWS
+#ifdef _MSC_VER
constexpr uint32_t max_index = UINT_LEAST32_MAX;
#else
constexpr uint32_t max_index = std::numeric_limits<uint32_t>::max();
diff --git a/include/bitcoin/network/channel.hpp b/include/bitcoin/network/channel.hpp
index 077a6e2..504879a 100644
--- a/include/bitcoin/network/channel.hpp
+++ b/include/bitcoin/network/channel.hpp
@@ -163,8 +163,7 @@ public:
strand_.post(
[this, this_ptr, packet, handle_send]
{
- do_send_common(create_raw_message(packet),
- handle_send);
+ do_send_common(create_raw_message(packet), handle_send);
});
}
}
diff --git a/include/bitcoin/network/protocol.hpp b/include/bitcoin/network/protocol.hpp
index 070a581..edb87f5 100644
--- a/include/bitcoin/network/protocol.hpp
+++ b/include/bitcoin/network/protocol.hpp
@@ -170,8 +170,10 @@ public:
template <typename Message>
void broadcast(const Message& packet, broadcast_handler handle_send)
{
- strand_.queue(
- &protocol::do_broadcast<Message>, this, packet, handle_send);
+ // The intermediate variable 'lambda' is a workaround for a
+ // limitation of the VC++ CTP_Nov2013 generic lambda support.
+ auto lambda = &protocol::do_broadcast<Message>;
+ strand_.queue(lambda, this, packet, handle_send);
}
private:
diff --git a/include/bitcoin/utility/base58.hpp b/include/bitcoin/utility/base58.hpp
index 90f749b..b01e7d3 100644
--- a/include/bitcoin/utility/base58.hpp
+++ b/include/bitcoin/utility/base58.hpp
@@ -24,7 +24,7 @@
namespace libbitcoin {
-bool is_base58(char c);
+bool is_base58(const char c);
bool is_base58(const std::string& text);
std::string encode_base58(const data_chunk& unencoded_data);
diff --git a/include/bitcoin/utility/mmfile.hpp b/include/bitcoin/utility/mmfile.hpp
index 329bf4c..dea1c57 100644
--- a/include/bitcoin/utility/mmfile.hpp
+++ b/include/bitcoin/utility/mmfile.hpp
@@ -42,5 +42,4 @@ private:
} // namespace libbitcoin
-#endif
-
+#endif \ No newline at end of file
diff --git a/include/bitcoin/utility/timed_section.hpp b/include/bitcoin/utility/timed_section.hpp
index 8edb828..dc7f49d 100644
--- a/include/bitcoin/utility/timed_section.hpp
+++ b/include/bitcoin/utility/timed_section.hpp
@@ -23,7 +23,7 @@
#include <ctime>
#include <string>
-#ifdef _WINDOWS
+#ifdef _WIN32
#include <stdint.h>
#include <windows.h>
#define CLOCK_REALTIME 0
diff --git a/src/block.cpp b/src/block.cpp
index 40a705d..ed4d582 100644
--- a/src/block.cpp
+++ b/src/block.cpp
@@ -69,7 +69,7 @@ index_list block_locator_indexes(int top_height)
index_list indexes;
// Push last 10 indexes first
size_t step = 1, start = 0;
- for (int i = top_height; i > 0; i -= step, ++start)
+ for (size_t i = top_height; i > 0; i -= step, ++start)
{
if (start >= 10)
step *= 2;
diff --git a/src/blockchain/database/mman_win32.c b/src/blockchain/database/mman_win32.c
new file mode 100644
index 0000000..4293950
--- /dev/null
+++ b/src/blockchain/database/mman_win32.c
@@ -0,0 +1,191 @@
+///*
+//* mman-win32
+//* A light implementation of the mmap functions for MinGW.
+//* The mmap-win32 library implements a wrapper for mmap functions around
+//* the memory mapping Windows API. MIT License.
+//* https://code.google.com/p/mman-win32/
+//*/
+//
+//#ifdef _WIN32
+//
+//#include <windows.h>
+//#include <errno.h>
+//#include <io.h>
+//
+//#include "mman_win32.h"
+//
+//#ifndef FILE_MAP_EXECUTE
+//#define FILE_MAP_EXECUTE 0x0020
+//#endif /* FILE_MAP_EXECUTE */
+//
+//static int __map_mman_error(const DWORD err, const int deferr)
+//{
+// if (err == 0)
+// return 0;
+// //TODO: implement
+// return err;
+//}
+//
+//static DWORD __map_mmap_prot_page(const int prot)
+//{
+// DWORD protect = 0;
+//
+// if (prot == PROT_NONE)
+// return protect;
+//
+// if ((prot & PROT_EXEC) != 0)
+// {
+// protect = ((prot & PROT_WRITE) != 0) ?
+// PAGE_EXECUTE_READWRITE : PAGE_EXECUTE_READ;
+// }
+// else
+// {
+// protect = ((prot & PROT_WRITE) != 0) ?
+// PAGE_READWRITE : PAGE_READONLY;
+// }
+//
+// return protect;
+//}
+//
+//static DWORD __map_mmap_prot_file(const int prot)
+//{
+// DWORD desiredAccess = 0;
+//
+// if (prot == PROT_NONE)
+// return desiredAccess;
+//
+// if ((prot & PROT_READ) != 0)
+// desiredAccess |= FILE_MAP_READ;
+// if ((prot & PROT_WRITE) != 0)
+// desiredAccess |= FILE_MAP_WRITE;
+// if ((prot & PROT_EXEC) != 0)
+// desiredAccess |= FILE_MAP_EXECUTE;
+//
+// return desiredAccess;
+//}
+//
+//void* mmap(void *addr, size_t len, int prot, int flags, int fildes, off_t off)
+//{
+// HANDLE fm, h;
+//
+// void * map = MAP_FAILED;
+//
+//#ifdef _MSC_VER
+//#pragma warning(push)
+//#pragma warning(disable: 4293)
+//#endif
+//
+// const DWORD dwFileOffsetLow = (sizeof(off_t) <= sizeof(DWORD)) ?
+// (DWORD)off : (DWORD)(off & 0xFFFFFFFFL);
+// const DWORD dwFileOffsetHigh = (sizeof(off_t) <= sizeof(DWORD)) ?
+// (DWORD)0 : (DWORD)((off >> 32) & 0xFFFFFFFFL);
+// const DWORD protect = __map_mmap_prot_page(prot);
+// const DWORD desiredAccess = __map_mmap_prot_file(prot);
+//
+// const off_t maxSize = off + (off_t)len;
+//
+// const DWORD dwMaxSizeLow = (sizeof(off_t) <= sizeof(DWORD)) ?
+// (DWORD)maxSize : (DWORD)(maxSize & 0xFFFFFFFFL);
+// const DWORD dwMaxSizeHigh = (sizeof(off_t) <= sizeof(DWORD)) ?
+// (DWORD)0 : (DWORD)((maxSize >> 32) & 0xFFFFFFFFL);
+//
+//#ifdef _MSC_VER
+//#pragma warning(pop)
+//#endif
+//
+// errno = 0;
+//
+// if (len == 0
+// /* Unsupported flag combinations */
+// || (flags & MAP_FIXED) != 0
+// /* Usupported protection combinations */
+// || prot == PROT_EXEC)
+// {
+// errno = EINVAL;
+// return MAP_FAILED;
+// }
+//
+// h = ((flags & MAP_ANONYMOUS) == 0) ?
+// (HANDLE)_get_osfhandle(fildes) : INVALID_HANDLE_VALUE;
+//
+// if ((flags & MAP_ANONYMOUS) == 0 && h == INVALID_HANDLE_VALUE)
+// {
+// errno = EBADF;
+// return MAP_FAILED;
+// }
+//
+// fm = CreateFileMapping(h, NULL, protect, dwMaxSizeHigh, dwMaxSizeLow, NULL);
+//
+// if (fm == NULL)
+// {
+// errno = __map_mman_error(GetLastError(), EPERM);
+// return MAP_FAILED;
+// }
+//
+// map = MapViewOfFile(fm, desiredAccess, dwFileOffsetHigh, dwFileOffsetLow, len);
+//
+// CloseHandle(fm);
+//
+// if (map == NULL)
+// {
+// errno = __map_mman_error(GetLastError(), EPERM);
+// return MAP_FAILED;
+// }
+//
+// return map;
+//}
+//
+//int munmap(void *addr, size_t len)
+//{
+// if (UnmapViewOfFile(addr))
+// return 0;
+//
+// errno = __map_mman_error(GetLastError(), EPERM);
+//
+// return -1;
+//}
+//
+//int mprotect(void *addr, size_t len, int prot)
+//{
+// DWORD newProtect = __map_mmap_prot_page(prot);
+// DWORD oldProtect = 0;
+//
+// if (VirtualProtect(addr, len, newProtect, &oldProtect))
+// return 0;
+//
+// errno = __map_mman_error(GetLastError(), EPERM);
+//
+// return -1;
+//}
+//
+//int msync(void *addr, size_t len, int flags)
+//{
+// if (FlushViewOfFile(addr, len))
+// return 0;
+//
+// errno = __map_mman_error(GetLastError(), EPERM);
+//
+// return -1;
+//}
+//
+//int mlock(const void *addr, size_t len)
+//{
+// if (VirtualLock((LPVOID)addr, len))
+// return 0;
+//
+// errno = __map_mman_error(GetLastError(), EPERM);
+//
+// return -1;
+//}
+//
+//int munlock(const void *addr, size_t len)
+//{
+// if (VirtualUnlock((LPVOID)addr, len))
+// return 0;
+//
+// errno = __map_mman_error(GetLastError(), EPERM);
+//
+// return -1;
+//}
+//
+//#endif \ No newline at end of file
diff --git a/src/blockchain/database/mman_win32.h b/src/blockchain/database/mman_win32.h
new file mode 100644
index 0000000..73ed6d8
--- /dev/null
+++ b/src/blockchain/database/mman_win32.h
@@ -0,0 +1,58 @@
+///*
+// * mman-win32
+// * A light implementation of the mmap functions for MinGW.
+// * The mmap-win32 library implements a wrapper for mmap functions around
+// * the memory mapping Windows API. MIT License.
+// * https://code.google.com/p/mman-win32/
+// */
+//
+//#ifndef _SYS_MMAN_H_
+//#define _SYS_MMAN_H_
+//
+//#ifndef _WIN32_WINNT // Allow use of features specific to Windows XP or later.
+//#define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target other versions of Windows.
+//#endif
+//
+///* All the headers include this file. */
+//#ifndef _MSC_VER
+//#include <_mingw.h>
+//#endif
+//
+//#include <sys/types.h>
+//
+//#ifdef __cplusplus
+//extern "C" {
+//#endif
+//
+//#define PROT_NONE 0
+//#define PROT_READ 1
+//#define PROT_WRITE 2
+//#define PROT_EXEC 4
+//
+//#define MAP_FILE 0
+//#define MAP_SHARED 1
+//#define MAP_PRIVATE 2
+//#define MAP_TYPE 0xf
+//#define MAP_FIXED 0x10
+//#define MAP_ANONYMOUS 0x20
+//#define MAP_ANON MAP_ANONYMOUS
+//
+//#define MAP_FAILED ((void *)-1)
+//
+// /* Flags for msync. */
+//#define MS_ASYNC 1
+//#define MS_SYNC 2
+//#define MS_INVALIDATE 4
+//
+// void* mmap(void *addr, size_t len, int prot, int flags, int fildes, off_t off);
+// int munmap(void *addr, size_t len);
+// int mprotect(void *addr, size_t len, int prot);
+// int msync(void *addr, size_t len, int flags);
+// int mlock(const void *addr, size_t len);
+// int munlock(const void *addr, size_t len);
+//
+//#ifdef __cplusplus
+//};
+//#endif
+//
+//#endif /* _SYS_MMAN_H_ */ \ No newline at end of file
diff --git a/src/blockchain/database/stealth_database.cpp b/src/blockchain/database/stealth_database.cpp
index 4602bb0..4f39721 100644
--- a/src/blockchain/database/stealth_database.cpp
+++ b/src/blockchain/database/stealth_database.cpp
@@ -1,6 +1,8 @@
#include <bitcoin/blockchain/database/stealth_database.hpp>
+#ifndef _MSC_VER
#include <sys/mman.h>
+#endif
#include <bitcoin/utility/assert.hpp>
#include <bitcoin/utility/serializer.hpp>
@@ -44,7 +46,7 @@ stealth_database::stealth_database(mmfile& file)
void stealth_database::store(write_function write)
{
uint64_t next_offset = calculate_entry_offset(
- (entries_count_ + entries_written_count_));
+ entries_count_ + entries_written_count_);
uint8_t* iter = file_.data() + next_offset;
write(iter);
++entries_written_count_;
@@ -112,9 +114,11 @@ void stealth_database::advise_kernel()
uint64_t start_offset = calculate_entry_offset(0);
uint64_t end_offset = calculate_entry_offset(entries_count_);
uint64_t entries_size = end_offset - start_offset;
- madvise(file_.data() + start_offset, entries_size,
- MADV_SEQUENTIAL);
-}
-} // namespace libbitcoin
+#ifndef _MSC_VER
+ // Not yet MSVC portable (maybe windows).
+ madvise(file_.data() + start_offset, entries_size, MADV_SEQUENTIAL);
+#endif
+}
+} // namespace libbitcoin \ No newline at end of file
diff --git a/src/blockchain/leveldb/leveldb_blockchain.cpp b/src/blockchain/leveldb/leveldb_blockchain.cpp
index abb1d28..d1f229b 100644
--- a/src/blockchain/leveldb/leveldb_blockchain.cpp
+++ b/src/blockchain/leveldb/leveldb_blockchain.cpp
@@ -144,11 +144,10 @@ void open_stealth_db(const std::string& prefix,
{
using boost::filesystem::path;
path db_path = path(prefix) / "stealth.db";
- file.reset(new mmfile(db_path.c_str()));
+ file.reset(new mmfile(db_path.generic_string().c_str()));
db.reset(new stealth_database(*file));
}
-
bool leveldb_blockchain::initialize(const std::string& prefix)
{
using boost::filesystem::path;
@@ -646,7 +645,7 @@ void leveldb_blockchain::fetch_history(const payment_address& address,
bool leveldb_blockchain::do_fetch_history(const payment_address& address,
fetch_handler_history handle_fetch, size_t from_height, size_t slock)
{
-#ifdef _WINDOWS
+#ifdef _MSC_VER
constexpr uint32_t max_height = UINT_LEAST32_MAX;
#else
constexpr uint32_t max_height = std::numeric_limits<uint32_t>::max();
@@ -745,5 +744,4 @@ void leveldb_blockchain::subscribe_reorganize(
reorganize_subscriber_->subscribe(handle_reorganize);
}
-} // namespace libbitcoin
-
+} // namespace libbitcoin \ No newline at end of file
diff --git a/src/blockchain/leveldb/leveldb_chain_keeper.cpp b/src/blockchain/leveldb/leveldb_chain_keeper.cpp
index e905126..16aa5bf 100644
--- a/src/blockchain/leveldb/leveldb_chain_keeper.cpp
+++ b/src/blockchain/leveldb/leveldb_chain_keeper.cpp
@@ -188,5 +188,4 @@ bool remove_credit(leveldb::WriteBatch& batch,
return true;
}
-} // namespace libbitcoin
-
+} // namespace libbitcoin \ No newline at end of file
diff --git a/src/blockchain/leveldb/leveldb_chain_keeper.hpp b/src/blockchain/leveldb/leveldb_chain_keeper.hpp
index f8ac598..1bc9b30 100644
--- a/src/blockchain/leveldb/leveldb_chain_keeper.hpp
+++ b/src/blockchain/leveldb/leveldb_chain_keeper.hpp
@@ -54,5 +54,4 @@ typedef std::shared_ptr<leveldb_chain_keeper> leveldb_chain_keeper_ptr;
} // namespace libbitcoin
-#endif
-
+#endif \ No newline at end of file
diff --git a/src/blockchain/leveldb/leveldb_common.cpp b/src/blockchain/leveldb/leveldb_common.cpp
index 6d63268..7eac067 100644
--- a/src/blockchain/leveldb/leveldb_common.cpp
+++ b/src/blockchain/leveldb/leveldb_common.cpp
@@ -438,5 +438,4 @@ data_chunk create_address_key(
return result;
}
-} // namespace libbitcoin
-
+} // namespace libbitcoin \ No newline at end of file
diff --git a/src/blockchain/leveldb/leveldb_common.hpp b/src/blockchain/leveldb/leveldb_common.hpp
index c7cea75..4e62bfc 100644
--- a/src/blockchain/leveldb/leveldb_common.hpp
+++ b/src/blockchain/leveldb/leveldb_common.hpp
@@ -140,5 +140,4 @@ data_chunk create_address_key(
} // namespace libbitcoin
-#endif
-
+#endif \ No newline at end of file
diff --git a/src/blockchain/leveldb/leveldb_organizer.cpp b/src/blockchain/leveldb/leveldb_organizer.cpp
index 1703b01..c24143d 100644
--- a/src/blockchain/leveldb/leveldb_organizer.cpp
+++ b/src/blockchain/leveldb/leveldb_organizer.cpp
@@ -63,5 +63,4 @@ void leveldb_organizer::reorganize_occured(
handler_(std::error_code(), fork_point, arrivals, replaced);
}
-} // namespace libbitcoin
-
+} // namespace libbitcoin \ No newline at end of file
diff --git a/src/blockchain/leveldb/leveldb_organizer.hpp b/src/blockchain/leveldb/leveldb_organizer.hpp
index 9257dff..4421f9d 100644
--- a/src/blockchain/leveldb/leveldb_organizer.hpp
+++ b/src/blockchain/leveldb/leveldb_organizer.hpp
@@ -51,5 +51,4 @@ private:
} // namespace libbitcoin
-#endif
-
+#endif \ No newline at end of file
diff --git a/src/blockchain/leveldb/leveldb_validate_block.cpp b/src/blockchain/leveldb/leveldb_validate_block.cpp
index 29ed6b4..32cc217 100644
--- a/src/blockchain/leveldb/leveldb_validate_block.cpp
+++ b/src/blockchain/leveldb/leveldb_validate_block.cpp
@@ -73,7 +73,7 @@ uint64_t leveldb_validate_block::median_time_past()
{
// read last 11 block times into array and select median value
std::vector<uint64_t> times;
- for (int i = height_ - 1; i >= 0 && i >= (int)height_ - 11; --i)
+ for (int i = (int)(height_ - 1); i >= 0 && i >= (int)(height_ - 11); --i)
times.push_back(fetch_block(i).timestamp);
BITCOIN_ASSERT(
(height_ < 11 && times.size() == height_) || times.size() == 11);
@@ -192,5 +192,4 @@ bool leveldb_validate_block::orphan_is_spent(
return false;
}
-} // namespace libbitcoin
-
+} // namespace libbitcoin \ No newline at end of file
diff --git a/src/blockchain/leveldb/leveldb_validate_block.hpp b/src/blockchain/leveldb/leveldb_validate_block.hpp
index 944a039..3276cbf 100644
--- a/src/blockchain/leveldb/leveldb_validate_block.hpp
+++ b/src/blockchain/leveldb/leveldb_validate_block.hpp
@@ -63,5 +63,4 @@ private:
} // namespace libbitcoin
-#endif
-
+#endif \ No newline at end of file
diff --git a/src/blockchain/organizer.cpp b/src/blockchain/organizer.cpp
index 582cab0..6fd6ba2 100644
--- a/src/blockchain/organizer.cpp
+++ b/src/blockchain/organizer.cpp
@@ -180,9 +180,6 @@ void organizer::replace_chain(size_t fork_index,
block_detail_list& orphan_chain)
{
big_number orphan_work = 0;
- // Starting from beginning of the chain, validate blocks
- // Q: Why am I using an int here? TODO: investigate.
- // Note: '<' : signed/unsigned mismatch, changed to size/unsigned.
for (size_t orphan_index = 0; orphan_index < orphan_chain.size();
++orphan_index)
{
@@ -246,7 +243,7 @@ void lazy_remove(block_detail_list& process_queue,
}
void organizer::clip_orphans(block_detail_list& orphan_chain,
- int orphan_index, const std::error_code& invalid_reason)
+ size_t orphan_index, const std::error_code& invalid_reason)
{
auto orphan_start = orphan_chain.begin() + orphan_index;
// Remove from orphans pool
diff --git a/src/constants.cpp b/src/constants.cpp
index 3984353..824d1c2 100644
--- a/src/constants.cpp
+++ b/src/constants.cpp
@@ -30,11 +30,11 @@ big_number max_target()
uint32_t magic_value()
{
- #ifdef ENABLE_TESTNET
- return 0x0709110b;
- #else
- return 0xd9b4bef9;
- #endif
+#ifdef ENABLE_TESTNET
+ return 0x0709110b;
+#else
+ return 0xd9b4bef9;
+#endif
}
} // namespace libbitcoin
diff --git a/src/network/handshake.cpp b/src/network/handshake.cpp
index f55ea6e..d2dcf2d 100644
--- a/src/network/handshake.cpp
+++ b/src/network/handshake.cpp
@@ -103,7 +103,7 @@ void handshake::receive_verack(
int writer(char* data, size_t size, size_t count, std::string* buffer)
{
- int result = 0;
+ size_t result = 0;
if (buffer != NULL)
{
result = count * size;
@@ -153,7 +153,7 @@ bool handshake::lookup_external(const std::string& website,
return false;
}
ip = localhost_ip();
- for (size_t i = 0; i < 4; ++i)
+ for (int i = 0; i < 4; ++i)
ip[i + 12] = boost::lexical_cast<unsigned>(results[i + 1]);
return true;
}
diff --git a/src/script.cpp b/src/script.cpp
index b64934a..44e3d61 100644
--- a/src/script.cpp
+++ b/src/script.cpp
@@ -42,7 +42,13 @@ constexpr size_t op_counter_limit = 201;
// Convert opcode to its actual numeric value.
template<typename OpCode>
-constexpr auto base_value(OpCode code)
+
+#ifndef _MSC_VER
+// Workaround for CTP_Nov2013 compile error:
+// std::underlying_type<_Ty>::type': type not allowed for 'constexpr'
+constexpr
+#endif
+auto base_value(OpCode code)
-> typename std::underlying_type<OpCode>::type
{
return static_cast<typename std::underlying_type<OpCode>::type>(code);
diff --git a/src/session.cpp b/src/session.cpp
index 292656f..a167c97 100644
--- a/src/session.cpp
+++ b/src/session.cpp
@@ -6,7 +6,7 @@
* libbitcoin is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License with
* additional permissions to the one published by the Free Software
- * Foundation, either version 3 of the License, or (at your option)
+ * Foundation, either version 3 of the License, or (at your option)
* any later version. For more information see LICENSE.
*
* This program is distributed in the hope that it will be useful,
@@ -179,5 +179,4 @@ void session::request_tx_data(bool tx_exists,
node->send(request_tx, handle_send_get_data);
}
-} // namespace libbitcoin
-
+} // namespace libbitcoin \ No newline at end of file
diff --git a/src/transaction_indexer.cpp b/src/transaction_indexer.cpp
index d5032cd..f2b25f9 100644
--- a/src/transaction_indexer.cpp
+++ b/src/transaction_indexer.cpp
@@ -203,7 +203,7 @@ void indexer_history_fetched(const std::error_code& ec,
blockchain::history_list history,
blockchain::fetch_handler_history handle_fetch)
{
-#ifdef _WINDOWS
+#ifdef _MSC_VER
constexpr uint32_t max_height = UINT_LEAST32_MAX;
#else
constexpr uint32_t max_height = std::numeric_limits<uint32_t>::max();
@@ -253,7 +253,7 @@ void indexer_history_fetched(const std::error_code& ec,
for (const spend_info_type& spend_info: spends)
{
// Iterate history looking for the output we need.
- bool found = false;
+ //bool found = false;
for (blockchain::history_row& row: history)
{
if (row.output != spend_info.previous_output)
@@ -264,14 +264,14 @@ void indexer_history_fetched(const std::error_code& ec,
if (row.spend_height != max_height)
{
// Don't insert.
- found = true;
+ //found = true;
break;
}
BITCOIN_ASSERT((row.spend == input_point{null_hash, max_index}));
// Everything OK. Insert spend.
row.spend = spend_info.point;
row.spend_height = 0;
- found = true;
+ //found = true;
break;
}
// This assert can be triggered if the pool fills and starts
diff --git a/src/utility/base58.cpp b/src/utility/base58.cpp
index c602c02..b1b7579 100644
--- a/src/utility/base58.cpp
+++ b/src/utility/base58.cpp
@@ -28,7 +28,7 @@ namespace libbitcoin {
const char base58_chars[] = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
-bool is_base58(char c)
+bool is_base58(const char c)
{
auto last = std::end(base58_chars) - 1;
// This works because the base58 characters happen to be in sorted order
@@ -37,11 +37,11 @@ bool is_base58(char c)
bool is_base58(const std::string& text)
{
return std::all_of(text.begin(), text.end(),
- [](char c){ return is_base58(c); });
+ [](const char c){ return is_base58(c); });
}
std::string encode_base58(const data_chunk& unencoded_data)
-{
+{
std::string encoded_data;
// Expected size increase from base58 conversion is approximately 137%
// use 138% to be safe
@@ -82,7 +82,7 @@ data_chunk decode_base58(std::string encoded_data)
// Trim spaces and newlines around the string.
boost::algorithm::trim(encoded_data);
// We're building a big number.
- big_number bn = 0;
+ big_number bn = 0;
// Convert big endian string to bignum
for (const uint8_t current_char: encoded_data)
diff --git a/src/utility/big_number.cpp b/src/utility/big_number.cpp
index f4b7ed2..76d86cf 100644
--- a/src/utility/big_number.cpp
+++ b/src/utility/big_number.cpp
@@ -87,16 +87,16 @@ big_number& big_number::operator=(const big_number& other)
void big_number::set_compact(uint32_t compact)
{
- size_t size = compact >> 24;
+ uint8_t size = compact >> 24;
data_chunk number_repr(4 + size);
number_repr[3] = size;
- if (size >= 1)
+ if (size >= 1)
number_repr[4] = (compact >> 16) & 0xff;
if (size >= 2)
number_repr[5] = (compact >> 8) & 0xff;
if (size >= 3)
number_repr[6] = (compact >> 0) & 0xff;
- BN_mpi2bn(&number_repr[0], number_repr.size(), &bignum_);
+ BN_mpi2bn(&number_repr[0], (int)number_repr.size(), &bignum_);
}
uint32_t big_number::compact() const
@@ -105,7 +105,7 @@ uint32_t big_number::compact() const
data_chunk number_repr(size);
size -= 4;
BN_bn2mpi(&bignum_, &number_repr[0]);
- uint32_t compact = size << 24;
+ uint32_t compact = (uint32_t)(size << 24);
if (size >= 1)
compact |= (number_repr[4] << 16);
if (size >= 2)
@@ -126,7 +126,7 @@ void big_number::set_data(data_chunk load_data)
load_data.insert(load_data.begin() + 1, (size >> 16) & 0xff);
load_data.insert(load_data.begin() + 2, (size >> 8) & 0xff);
load_data.insert(load_data.begin() + 3, (size >> 0) & 0xff);
- BN_mpi2bn(&load_data[0], load_data.size(), &bignum_);
+ BN_mpi2bn(&load_data[0], (int)load_data.size(), &bignum_);
}
data_chunk big_number::data() const
@@ -169,6 +169,7 @@ void big_number::set_uint32(uint32_t value)
uint32_t big_number::uint32() const
{
+ // Is this safe in 64 bit?
return BN_get_word(&bignum_);
}
@@ -182,10 +183,10 @@ void big_number::set_int32(int32_t value)
int32_t big_number::int32() const
{
-#ifdef _WINDOWS
- constexpr uint32_t max_int32 = UINT_LEAST32_MAX;
+#ifdef _MSC_VER
+ constexpr int32_t max_int32 = INT_LEAST32_MAX;
#else
- constexpr uint32_t max_int32 = std::numeric_limits<int32_t>::max();
+ constexpr int32_t max_int32 = std::numeric_limits<int32_t>::max();
#endif
int32_t value = uint32();
@@ -264,12 +265,12 @@ void big_number::set_uint64_impl(uint64_t value, bool is_negative)
*curr_byte = c;
++curr_byte;
}
- uint32_t size = curr_byte - (raw_mpi + 4);
+ uint32_t size = (uint32_t)(curr_byte - (raw_mpi + 4));
raw_mpi[0] = (size >> 24) & 0xff;
raw_mpi[1] = (size >> 16) & 0xff;
raw_mpi[2] = (size >> 8) & 0xff;
raw_mpi[3] = (size) & 0xff;
- BN_mpi2bn(raw_mpi, curr_byte - raw_mpi, &bignum_);
+ BN_mpi2bn(raw_mpi, (int)(curr_byte - raw_mpi), &bignum_);
}
bool big_number::operator==(const big_number& other)
diff --git a/src/utility/mmfile.cpp b/src/utility/mmfile.cpp
index 59e0e26..1821609 100644
--- a/src/utility/mmfile.cpp
+++ b/src/utility/mmfile.cpp
@@ -1,17 +1,40 @@
+/*
+ * Copyright (c) 2011-2013 libbitcoin developers (see AUTHORS)
+ *
+ * This file is part of libbitcoin.
+ *
+ * libbitcoin is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License with
+ * additional permissions to the one published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option)
+ * any later version. For more information see LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
#include <bitcoin/utility/mmfile.hpp>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
+#ifndef _MSC_VER
#include <unistd.h>
-#include <sys/types.h>
#include <sys/mman.h>
+#endif
+#include <sys/types.h>
#include <sys/stat.h>
namespace libbitcoin {
mmfile::mmfile(const std::string& filename)
{
+#ifndef _MSC_VER
+ // Not yet MSVC portable (maybe windows).
file_handle_ = open(filename.c_str(),
O_RDWR, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
if (file_handle_ == -1)
@@ -27,6 +50,7 @@ mmfile::mmfile(const std::string& filename)
data_ = nullptr;
// mmap opens its own file handle.
close(file_handle_);
+#endif
}
mmfile::~mmfile()
{
@@ -45,5 +69,4 @@ size_t mmfile::size() const
return size_;
}
-} // namespace libbitcoin
-
+} // namespace libbitcoin \ No newline at end of file
diff --git a/src/utility/timed_section.cpp b/src/utility/timed_section.cpp
index 5ee3d5d..b4ed00d 100644
--- a/src/utility/timed_section.cpp
+++ b/src/utility/timed_section.cpp
@@ -39,7 +39,7 @@ void clock_gettime(int ign, struct timespec* ts)
}
#endif
-#ifdef _WINDOWS
+#ifdef _WIN32
// THIS SECTION IS UNTESTED
// Windows clock_gettime from: http://stackoverflow.com/a/5404467/1172329
#define CLOCK_REALTIME 0
diff --git a/bin/tests/scrjson.py b/test/python/scrjson.py
index 11fd0c6..11fd0c6 100644
--- a/bin/tests/scrjson.py
+++ b/test/python/scrjson.py