Skip to content

Commit 3b19d8e

Browse files
author
MarcoFalke
committed
Merge bitcoin#14372: msvc: build secp256k1 and leveldb locally
82dcacb msvc: build leveldb locally (Chun Kuan Lee) 5209106 msvc: build secp256k1 locally (Chun Kuan Lee) Pull request description: In current MSVC build setup, the code depends on leveldb and secp256k1 that are installed from vcpkg which is not controlled by us. If we update our code, we have to wait for vcpkg port being merged. This PR move them from vcpkg to local branch to make it as same as autoconf. The leveldb changes is based on bitcoin-core/leveldb-subtree#14 and bitcoin-core/leveldb-subtree#18 Tree-SHA512: aa2cc1c3191e8d9cab23d555da4be296314c46d944f452c2ec6202b1779e4cc223b603e589b38196cd2c793a03a8bb0ba128cc66256b35a58c5e7bb358475206
2 parents 4b6673d + 82dcacb commit 3b19d8e

File tree

14 files changed

+459
-20
lines changed

14 files changed

+459
-20
lines changed

.appveyor.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ clone_depth: 5
77
environment:
88
APPVEYOR_SAVE_CACHE_ON_ERROR: true
99
CLCACHE_SERVER: 1
10-
PACKAGES: boost-filesystem boost-signals2 boost-test libevent openssl zeromq berkeleydb secp256k1 leveldb
10+
PACKAGES: boost-filesystem boost-signals2 boost-test libevent openssl zeromq berkeleydb
1111
PATH: 'C:\Python37-x64;C:\Python37-x64\Scripts;%PATH%'
1212
PYTHONUTF8: 1
1313
cache:

build_msvc/bench_bitcoin/bench_bitcoin.vcxproj

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,12 @@
6161
<ProjectReference Include="..\libunivalue\libunivalue.vcxproj">
6262
<Project>{5724ba7d-a09a-4ba8-800b-c4c1561b3d69}</Project>
6363
</ProjectReference>
64+
<ProjectReference Include="..\libsecp256k1\libsecp256k1.vcxproj">
65+
<Project>{bb493552-3b8c-4a8c-bf69-a6e7a51d2ea6}</Project>
66+
</ProjectReference>
67+
<ProjectReference Include="..\libleveldb\libleveldb.vcxproj">
68+
<Project>{18430fef-6b61-4c53-b396-718e02850f1b}</Project>
69+
</ProjectReference>
6470
</ItemGroup>
6571
<PropertyGroup Label="Globals">
6672
<VCProjectVersion>15.0</VCProjectVersion>

build_msvc/bitcoin-tx/bitcoin-tx.vcxproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@
3838
<ProjectReference Include="..\libunivalue\libunivalue.vcxproj">
3939
<Project>{5724ba7d-a09a-4ba8-800b-c4c1561b3d69}</Project>
4040
</ProjectReference>
41+
<ProjectReference Include="..\libsecp256k1\libsecp256k1.vcxproj">
42+
<Project>{bb493552-3b8c-4a8c-bf69-a6e7a51d2ea6}</Project>
43+
</ProjectReference>
4144
</ItemGroup>
4245
<PropertyGroup Label="Globals">
4346
<VCProjectVersion>15.0</VCProjectVersion>

build_msvc/bitcoin.sln

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Microsoft Visual Studio Solution File, Format Version 12.00
1+
Microsoft Visual Studio Solution File, Format Version 12.00
22
# Visual Studio 15
33
VisualStudioVersion = 15.0.27130.2027
44
MinimumVisualStudioVersion = 10.0.40219.1
@@ -36,6 +36,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bitcoin-wallet", "bitcoin-w
3636
EndProject
3737
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbitcoin_wallet_tool", "libbitcoin_wallet_tool\libbitcoin_wallet_tool.vcxproj", "{F91AC55E-6F5E-4C58-9AC5-B40DB7DEEF93}"
3838
EndProject
39+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libsecp256k1", "libsecp256k1\libsecp256k1.vcxproj", "{BB493552-3B8C-4A8C-BF69-A6E7A51D2EA6}"
40+
EndProject
41+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libleveldb", "libleveldb\libleveldb.vcxproj", "{18430FEF-6B61-4C53-B396-718E02850F1B}"
42+
EndProject
3943
Global
4044
GlobalSection(SolutionConfigurationPlatforms) = preSolution
4145
Debug|x64 = Debug|x64
@@ -180,6 +184,22 @@ Global
180184
{F91AC55E-6F5E-4C58-9AC5-B40DB7DEEF93}.Release|x64.Build.0 = Release|x64
181185
{F91AC55E-6F5E-4C58-9AC5-B40DB7DEEF93}.Release|x86.ActiveCfg = Release|Win32
182186
{F91AC55E-6F5E-4C58-9AC5-B40DB7DEEF93}.Release|x86.Build.0 = Release|Win32
187+
{BB493552-3B8C-4A8C-BF69-A6E7A51D2EA6}.Debug|x64.ActiveCfg = Debug|x64
188+
{BB493552-3B8C-4A8C-BF69-A6E7A51D2EA6}.Debug|x64.Build.0 = Debug|x64
189+
{BB493552-3B8C-4A8C-BF69-A6E7A51D2EA6}.Debug|x86.ActiveCfg = Debug|Win32
190+
{BB493552-3B8C-4A8C-BF69-A6E7A51D2EA6}.Debug|x86.Build.0 = Debug|Win32
191+
{BB493552-3B8C-4A8C-BF69-A6E7A51D2EA6}.Release|x64.ActiveCfg = Release|x64
192+
{BB493552-3B8C-4A8C-BF69-A6E7A51D2EA6}.Release|x64.Build.0 = Release|x64
193+
{BB493552-3B8C-4A8C-BF69-A6E7A51D2EA6}.Release|x86.ActiveCfg = Release|Win32
194+
{BB493552-3B8C-4A8C-BF69-A6E7A51D2EA6}.Release|x86.Build.0 = Release|Win32
195+
{18430FEF-6B61-4C53-B396-718E02850F1B}.Debug|x64.ActiveCfg = Debug|x64
196+
{18430FEF-6B61-4C53-B396-718E02850F1B}.Debug|x64.Build.0 = Debug|x64
197+
{18430FEF-6B61-4C53-B396-718E02850F1B}.Debug|x86.ActiveCfg = Debug|Win32
198+
{18430FEF-6B61-4C53-B396-718E02850F1B}.Debug|x86.Build.0 = Debug|Win32
199+
{18430FEF-6B61-4C53-B396-718E02850F1B}.Release|x64.ActiveCfg = Release|x64
200+
{18430FEF-6B61-4C53-B396-718E02850F1B}.Release|x64.Build.0 = Release|x64
201+
{18430FEF-6B61-4C53-B396-718E02850F1B}.Release|x86.ActiveCfg = Release|Win32
202+
{18430FEF-6B61-4C53-B396-718E02850F1B}.Release|x86.Build.0 = Release|Win32
183203
EndGlobalSection
184204
GlobalSection(SolutionProperties) = preSolution
185205
HideSolutionNode = FALSE
@@ -190,3 +210,4 @@ Global
190210
SolutionGuid = {D0CAE2D0-8DB1-4A0B-80EE-800AA6C64323}
191211
SolutionGuid = {DA7D16A6-E5F0-45B3-B194-C3FE64F1BFCD}
192212
EndGlobalSection
213+
EndGlobal

build_msvc/bitcoind/bitcoind.vcxproj

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,12 @@
180180
<ProjectReference Include="..\libunivalue\libunivalue.vcxproj">
181181
<Project>{5724ba7d-a09a-4ba8-800b-c4c1561b3d69}</Project>
182182
</ProjectReference>
183+
<ProjectReference Include="..\libsecp256k1\libsecp256k1.vcxproj">
184+
<Project>{bb493552-3b8c-4a8c-bf69-a6e7a51d2ea6}</Project>
185+
</ProjectReference>
186+
<ProjectReference Include="..\libleveldb\libleveldb.vcxproj">
187+
<Project>{18430fef-6b61-4c53-b396-718e02850f1b}</Project>
188+
</ProjectReference>
183189
</ItemGroup>
184190
<Import Label="configTarget" Project="..\common.vcxproj" />
185191
</Project>

build_msvc/common.vcxproj

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,21 @@
33
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
44
<PropertyGroup>
55
<BuildDependsOn>
6-
CopyConfig;
6+
CopyBitcoinConfig;
7+
CopySecp256k1Config;
78
$(BuildDependsOn);
89
</BuildDependsOn>
910
</PropertyGroup>
10-
<Target Name="CopyConfig"
11+
<Target Name="CopyBitcoinConfig"
1112
Inputs="$(MSBuildThisFileDirectory)bitcoin_config.h"
1213
Outputs="$(MSBuildThisFileDirectory)..\src\config\bitcoin-config.h">
1314
<Copy SourceFiles="$(MSBuildThisFileDirectory)bitcoin_config.h" DestinationFiles="$(MSBuildThisFileDirectory)..\src\config\bitcoin-config.h" />
1415
</Target>
16+
<Target Name="CopySecp256k1Config"
17+
Inputs="$(MSBuildThisFileDirectory)libsecp256k1_config.h"
18+
Outputs="$(MSBuildThisFileDirectory)..\src\secp256k1\src\libsecp256k1-config.h">
19+
<Copy SourceFiles="$(MSBuildThisFileDirectory)libsecp256k1_config.h" DestinationFiles="$(MSBuildThisFileDirectory)..\src\secp256k1\src\libsecp256k1-config.h" />
20+
</Target>
1521
<ItemDefinitionGroup>
1622
<ClCompile>
1723
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>

build_msvc/libbitcoin_common/libbitcoin_common.vcxproj.in

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@
9191
<Optimization>Disabled</Optimization>
9292
<PreprocessorDefinitions>WIN32;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
9393
<SDLCheck>true</SDLCheck>
94-
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
94+
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;..\..\src\secp256k1\include;</AdditionalIncludeDirectories>
9595
<SuppressStartupBanner>false</SuppressStartupBanner>
9696
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
9797
</ClCompile>
@@ -109,7 +109,7 @@
109109
<Optimization>Disabled</Optimization>
110110
<PreprocessorDefinitions>WIN32;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
111111
<SDLCheck>true</SDLCheck>
112-
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
112+
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;..\..\src\secp256k1\include;</AdditionalIncludeDirectories>
113113
<SuppressStartupBanner>false</SuppressStartupBanner>
114114
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
115115
</ClCompile>
@@ -129,7 +129,7 @@
129129
<IntrinsicFunctions>true</IntrinsicFunctions>
130130
<PreprocessorDefinitions>WIN32;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
131131
<SDLCheck>true</SDLCheck>
132-
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
132+
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;..\..\src\secp256k1\include;</AdditionalIncludeDirectories>
133133
<SuppressStartupBanner>false</SuppressStartupBanner>
134134
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
135135
</ClCompile>
@@ -151,7 +151,7 @@
151151
<IntrinsicFunctions>true</IntrinsicFunctions>
152152
<PreprocessorDefinitions>WIN32;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
153153
<SDLCheck>true</SDLCheck>
154-
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
154+
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;..\..\src\secp256k1\include;</AdditionalIncludeDirectories>
155155
<SuppressStartupBanner>false</SuppressStartupBanner>
156156
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
157157
</ClCompile>

build_msvc/libbitcoin_server/libbitcoin_server.vcxproj.in

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@
9191
<Optimization>Disabled</Optimization>
9292
<PreprocessorDefinitions>WIN32;HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
9393
<SDLCheck>true</SDLCheck>
94-
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
94+
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;..\..\src\leveldb\include;..\..\src\leveldb\helpers\memenv;</AdditionalIncludeDirectories>
9595
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
9696
</ClCompile>
9797
<Link>
@@ -106,7 +106,7 @@
106106
<Optimization>Disabled</Optimization>
107107
<PreprocessorDefinitions>WIN32;HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
108108
<SDLCheck>true</SDLCheck>
109-
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
109+
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;..\..\src\leveldb\include;..\..\src\leveldb\helpers\memenv;</AdditionalIncludeDirectories>
110110
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
111111
<SuppressStartupBanner>false</SuppressStartupBanner>
112112
</ClCompile>
@@ -124,7 +124,7 @@
124124
<IntrinsicFunctions>true</IntrinsicFunctions>
125125
<PreprocessorDefinitions>WIN32;HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
126126
<SDLCheck>true</SDLCheck>
127-
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
127+
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;..\..\src\leveldb\include;..\..\src\leveldb\helpers\memenv;</AdditionalIncludeDirectories>
128128
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
129129
</ClCompile>
130130
<Link>
@@ -143,7 +143,7 @@
143143
<IntrinsicFunctions>true</IntrinsicFunctions>
144144
<PreprocessorDefinitions>WIN32;HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
145145
<SDLCheck>true</SDLCheck>
146-
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
146+
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;..\..\src\leveldb\include;..\..\src\leveldb\helpers\memenv;</AdditionalIncludeDirectories>
147147
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
148148
</ClCompile>
149149
<Link>

build_msvc/libbitcoinconsensus/libbitcoinconsensus.vcxproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@
126126
<Optimization>Disabled</Optimization>
127127
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
128128
<SDLCheck>false</SDLCheck>
129-
<AdditionalIncludeDirectories>..\..\src;</AdditionalIncludeDirectories>
129+
<AdditionalIncludeDirectories>..\..\src;..\..\src\secp256k1\include;</AdditionalIncludeDirectories>
130130
<ExceptionHandling>Sync</ExceptionHandling>
131131
<SuppressStartupBanner>false</SuppressStartupBanner>
132132
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
@@ -143,7 +143,7 @@
143143
<Optimization>Disabled</Optimization>
144144
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
145145
<SDLCheck>false</SDLCheck>
146-
<AdditionalIncludeDirectories>..\..\src;</AdditionalIncludeDirectories>
146+
<AdditionalIncludeDirectories>..\..\src;..\..\src\secp256k1\include;</AdditionalIncludeDirectories>
147147
<ExceptionHandling>Sync</ExceptionHandling>
148148
<SuppressStartupBanner>false</SuppressStartupBanner>
149149
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
@@ -162,7 +162,7 @@
162162
<IntrinsicFunctions>true</IntrinsicFunctions>
163163
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
164164
<SDLCheck>false</SDLCheck>
165-
<AdditionalIncludeDirectories>..\..\src;</AdditionalIncludeDirectories>
165+
<AdditionalIncludeDirectories>..\..\src;..\..\src\secp256k1\include;</AdditionalIncludeDirectories>
166166
<ExceptionHandling>Sync</ExceptionHandling>
167167
<SuppressStartupBanner>false</SuppressStartupBanner>
168168
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -183,7 +183,7 @@
183183
<IntrinsicFunctions>true</IntrinsicFunctions>
184184
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
185185
<SDLCheck>false</SDLCheck>
186-
<AdditionalIncludeDirectories>..\..\src;</AdditionalIncludeDirectories>
186+
<AdditionalIncludeDirectories>..\..\src;..\..\src\secp256k1\include;</AdditionalIncludeDirectories>
187187
<ExceptionHandling>Sync</ExceptionHandling>
188188
<SuppressStartupBanner>false</SuppressStartupBanner>
189189
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>

0 commit comments

Comments
 (0)