Skip to content

Commit ad12308

Browse files
committed
Split server into lib/console/test so we can start testing it.
1 parent 413d52f commit ad12308

18 files changed

Lines changed: 873 additions & 175 deletions

Makefile.am

Lines changed: 75 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -29,46 +29,85 @@ doc_DATA = \
2929
NEWS \
3030
README
3131

32-
# src/bs => ${bindir}
32+
# src/libbitcoin-server.la => ${libdir}
3333
#------------------------------------------------------------------------------
34-
bin_PROGRAMS = src/bs
35-
src_bs_CPPFLAGS = -I${srcdir}/include -DSYSCONFDIR=\"${sysconfdir}\" ${bitcoin_node_CPPFLAGS} ${sodium_CPPFLAGS} ${czmq___CPPFLAGS}
36-
src_bs_LDADD = ${bitcoin_node_LIBS} ${sodium_LIBS} ${czmq___LIBS}
37-
src_bs_SOURCES = \
34+
lib_LTLIBRARIES = src/libbitcoin-server.la
35+
src_libbitcoin_server_la_CPPFLAGS = -I${srcdir}/include -DSYSCONFDIR=\"${sysconfdir}\" ${bitcoin_node_CPPFLAGS} ${sodium_CPPFLAGS} ${czmq___CPPFLAGS}
36+
src_libbitcoin_server_la_LIBADD = ${bitcoin_node_LIBS} ${sodium_LIBS} ${czmq___LIBS}
37+
src_libbitcoin_server_la_SOURCES = \
3838
src/config.cpp \
39-
src/config.hpp \
39+
src/dispatch.cpp \
4040
src/endpoint.cpp \
41-
src/endpoint.hpp \
42-
src/main.cpp \
4341
src/message.cpp \
44-
src/message.hpp \
4542
src/node_impl.cpp \
46-
src/node_impl.hpp \
4743
src/publisher.cpp \
48-
src/publisher.hpp \
49-
src/server.cpp \
50-
src/server.hpp \
5144
src/settings.cpp \
52-
src/settings.hpp \
5345
src/subscribe_manager.cpp \
54-
src/subscribe_manager.hpp \
55-
src/version.hpp \
56-
src/worker-output.sh \
5746
src/worker.cpp \
58-
src/worker.hpp \
5947
src/service/blockchain.cpp \
60-
src/service/blockchain.hpp \
6148
src/service/compat.cpp \
62-
src/service/compat.hpp \
6349
src/service/fetch_x.cpp \
64-
src/service/fetch_x.hpp \
6550
src/service/fullnode.cpp \
66-
src/service/fullnode.hpp \
6751
src/service/protocol.cpp \
68-
src/service/protocol.hpp \
69-
src/service/transaction_pool.cpp \
70-
src/service/transaction_pool.hpp \
71-
src/service/util.hpp
52+
src/service/transaction_pool.cpp
53+
54+
# local: test/libbitcoin_server_test
55+
#------------------------------------------------------------------------------
56+
if WITH_TESTS
57+
58+
TESTS = libbitcoin_server_test_runner.sh
59+
60+
check_PROGRAMS = test/libbitcoin_server_test
61+
test_libbitcoin_server_test_CPPFLAGS = -I${srcdir}/include ${bitcoin_node_CPPFLAGS}
62+
test_libbitcoin_server_test_LDADD = ${bitcoin_node_LIBS} ${boost_unit_test_framework_LIBS}
63+
test_libbitcoin_server_test_SOURCES = \
64+
test/main.cpp \
65+
test/server.cpp \
66+
test/stress.sh
67+
68+
endif WITH_TESTS
69+
70+
# console/bs => ${bindir}
71+
#------------------------------------------------------------------------------
72+
if WITH_CONSOLE
73+
74+
bin_PROGRAMS = console/bs
75+
console_bs_CPPFLAGS = -I${srcdir}/include ${bitcoin_node_CPPFLAGS} ${sodium_CPPFLAGS} ${czmq___CPPFLAGS}
76+
console_bs_LDADD = src/libbitcoin-server.la ${bitcoin_node_LIBS} ${sodium_LIBS} ${czmq___LIBS}
77+
console_bs_SOURCES = \
78+
console/main.cpp
79+
80+
endif WITH_CONSOLE
81+
82+
# files => ${includedir}/bitcoin
83+
#------------------------------------------------------------------------------
84+
include_bitcoindir = ${includedir}/bitcoin
85+
include_bitcoin_HEADERS = \
86+
include/bitcoin/server.hpp
87+
88+
include_bitcoin_serverdir = ${includedir}/bitcoin/server
89+
include_bitcoin_server_HEADERS = \
90+
include/bitcoin/server/config.hpp \
91+
include/bitcoin/server/define.hpp \
92+
include/bitcoin/server/dispatch.hpp \
93+
include/bitcoin/server/endpoint.hpp \
94+
include/bitcoin/server/message.hpp \
95+
include/bitcoin/server/node_impl.hpp \
96+
include/bitcoin/server/publisher.hpp \
97+
include/bitcoin/server/settings.hpp \
98+
include/bitcoin/server/subscribe_manager.hpp \
99+
include/bitcoin/server/version.hpp \
100+
include/bitcoin/server/worker.hpp
101+
102+
include_bitcoin_server_servicedir = ${includedir}/bitcoin/server/service
103+
include_bitcoin_server_service_HEADERS = \
104+
include/bitcoin/server/service/blockchain.hpp \
105+
include/bitcoin/server/service/compat.hpp \
106+
include/bitcoin/server/service/fetch_x.hpp \
107+
include/bitcoin/server/service/fullnode.hpp \
108+
include/bitcoin/server/service/protocol.hpp \
109+
include/bitcoin/server/service/transaction_pool.hpp \
110+
include/bitcoin/server/service/util.hpp
72111

73112
# files => ${bash_completiondir}
74113
#------------------------------------------------------------------------------
@@ -85,3 +124,13 @@ sysconf_libbitcoindir = ${sysconfdir}/libbitcoin
85124
sysconf_libbitcoin_DATA = \
86125
data/bs.cfg
87126

127+
128+
# Custom make targets.
129+
#==============================================================================
130+
# make target: console
131+
#------------------------------------------------------------------------------
132+
target_console = \
133+
console/bs
134+
135+
console: ${target_console}
136+

builds/msvc/vs2013/bs/bs.props

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33

44
<PropertyGroup>
5-
<_PropertySheetDisplayName>Bitcoin Server Common Settings</_PropertySheetDisplayName>
5+
<_PropertySheetDisplayName>Bitcoin Server Settings</_PropertySheetDisplayName>
66
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
77
<RunCodeAnalysis>false</RunCodeAnalysis>
88
</PropertyGroup>
@@ -11,7 +11,7 @@
1111

1212
<ItemDefinitionGroup>
1313
<ClCompile>
14-
<AdditionalIncludeDirectories>$(RepoRoot)include\;(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
14+
<AdditionalIncludeDirectories>$(RepoRoot)include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
1515
<DisableSpecificWarnings>4290;%(DisableSpecificWarnings)</DisableSpecificWarnings>
1616
<EnablePREfast>false</EnablePREfast>
1717
<PreprocessorDefinitions>_WIN32_WINNT=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -29,6 +29,7 @@
2929
<Import Project="$(SolutionDir)libbitcoin-consensus.import.props" />
3030
<Import Project="$(SolutionDir)libbitcoin-blockchain.import.props" />
3131
<Import Project="$(SolutionDir)libbitcoin-node.import.props" />
32+
<Import Project="$(SolutionDir)libbitcoin-server.import.props" />
3233
</ImportGroup>
3334

3435
<PropertyGroup Condition="'$(DefaultLinkage)' == 'dynamic'">
@@ -43,6 +44,7 @@
4344
<Linkage-libbitcoin-consensus>dynamic</Linkage-libbitcoin-consensus>
4445
<Linkage-libbitcoin-blockchain>dynamic</Linkage-libbitcoin-blockchain>
4546
<Linkage-libbitcoin-node>dynamic</Linkage-libbitcoin-node>
47+
<Linkage-libbitcoin-server>dynamic</Linkage-libbitcoin-server>
4648
</PropertyGroup>
4749
<PropertyGroup Condition="'$(DefaultLinkage)' == 'ltcg'">
4850
<Linkage-libsodium>ltcg</Linkage-libsodium>
@@ -55,6 +57,7 @@
5557
<Linkage-libbitcoin-consensus>ltcg</Linkage-libbitcoin-consensus>
5658
<Linkage-libbitcoin-blockchain>ltcg</Linkage-libbitcoin-blockchain>
5759
<Linkage-libbitcoin-node>ltcg</Linkage-libbitcoin-node>
60+
<Linkage-libbitcoin-server>ltcg</Linkage-libbitcoin-server>
5861
</PropertyGroup>
5962
<PropertyGroup Condition="'$(DefaultLinkage)' == 'static'">
6063
<Linkage-libsodium>static</Linkage-libsodium>
@@ -67,6 +70,7 @@
6770
<Linkage-libbitcoin-consensus>static</Linkage-libbitcoin-consensus>
6871
<Linkage-libbitcoin-blockchain>static</Linkage-libbitcoin-blockchain>
6972
<Linkage-libbitcoin-node>static</Linkage-libbitcoin-node>
73+
<Linkage-libbitcoin-server>static</Linkage-libbitcoin-server>
7074
</PropertyGroup>
7175

7276
<!-- Messages -->
@@ -82,6 +86,7 @@
8286
<Message Text="Linkage-_consensus : $(Linkage-libbitcoin-consensus)" Importance="high"/>
8387
<Message Text="Linkage-_blockchain: $(Linkage-libbitcoin-blockchain)" Importance="high"/>
8488
<Message Text="Linkage-_node : $(Linkage-libbitcoin-node)" Importance="high"/>
89+
<Message Text="Linkage-_server : $(Linkage-libbitcoin-server)" Importance="high"/>
8590
</Target>
8691

8792
</Project>

builds/msvc/vs2013/bs/bs.vcxproj

Lines changed: 11 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -65,45 +65,12 @@
6565
<Import Project="$(ProjectDir)$(ProjectName).props" />
6666
</ImportGroup>
6767
<ItemGroup>
68-
<ClInclude Include="..\..\..\..\src\config.hpp" />
69-
<ClInclude Include="..\..\..\..\src\endpoint.hpp" />
70-
<ClInclude Include="..\..\..\..\src\message.hpp" />
71-
<ClInclude Include="..\..\..\..\src\settings.hpp" />
72-
<ClInclude Include="..\..\..\..\src\node_impl.hpp" />
73-
<ClInclude Include="..\..\..\..\src\publisher.hpp" />
74-
<ClInclude Include="..\..\..\..\src\server.hpp" />
75-
<ClInclude Include="..\..\..\..\src\service\blockchain.hpp" />
76-
<ClInclude Include="..\..\..\..\src\service\compat.hpp" />
77-
<ClInclude Include="..\..\..\..\src\service\fetch_x.hpp" />
78-
<ClInclude Include="..\..\..\..\src\service\fullnode.hpp" />
79-
<ClInclude Include="..\..\..\..\src\service\protocol.hpp" />
80-
<ClInclude Include="..\..\..\..\src\service\transaction_pool.hpp" />
81-
<ClInclude Include="..\..\..\..\src\service\util.hpp" />
82-
<ClInclude Include="..\..\..\..\src\subscribe_manager.hpp" />
83-
<ClInclude Include="..\..\..\..\src\version.hpp" />
84-
<ClInclude Include="..\..\..\..\src\worker.hpp" />
8568
<ClInclude Include="..\..\resource.h" />
8669
</ItemGroup>
8770
<ItemGroup>
88-
<None Include="packages.config" />
89-
</ItemGroup>
90-
<ItemGroup>
91-
<ClCompile Include="..\..\..\..\src\config.cpp" />
92-
<ClCompile Include="..\..\..\..\src\endpoint.cpp" />
93-
<ClCompile Include="..\..\..\..\src\main.cpp" />
94-
<ClCompile Include="..\..\..\..\src\message.cpp" />
95-
<ClCompile Include="..\..\..\..\src\settings.cpp" />
96-
<ClCompile Include="..\..\..\..\src\node_impl.cpp" />
97-
<ClCompile Include="..\..\..\..\src\publisher.cpp" />
98-
<ClCompile Include="..\..\..\..\src\server.cpp" />
99-
<ClCompile Include="..\..\..\..\src\service\blockchain.cpp" />
100-
<ClCompile Include="..\..\..\..\src\service\compat.cpp" />
101-
<ClCompile Include="..\..\..\..\src\service\fetch_x.cpp" />
102-
<ClCompile Include="..\..\..\..\src\service\fullnode.cpp" />
103-
<ClCompile Include="..\..\..\..\src\service\protocol.cpp" />
104-
<ClCompile Include="..\..\..\..\src\service\transaction_pool.cpp" />
105-
<ClCompile Include="..\..\..\..\src\subscribe_manager.cpp" />
106-
<ClCompile Include="..\..\..\..\src\worker.cpp" />
71+
<None Include="packages.config">
72+
<SubType>Designer</SubType>
73+
</None>
10774
</ItemGroup>
10875
<ItemGroup>
10976
<ResourceCompile Include="..\..\resource.rc" />
@@ -143,4 +110,12 @@
143110
<Error Condition="!Exists('..\..\..\..\..\..\nuget\secp256k1_vc120.0.1.0.8\build\native\secp256k1_vc120.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\..\nuget\secp256k1_vc120.0.1.0.8\build\native\secp256k1_vc120.targets'))" />
144111
<Error Condition="!Exists('..\..\..\..\..\..\nuget\openssl_no-asm_vc120.1.0.1.800\build\native\openssl_no-asm_vc120.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\..\nuget\openssl_no-asm_vc120.1.0.1.800\build\native\openssl_no-asm_vc120.targets'))" />
145112
</Target>
113+
<ItemGroup>
114+
<ProjectReference Include="..\libbitcoin-server\libbitcoin-server.vcxproj">
115+
<Project>{73CE0AC2-ECB2-4E8D-A136-17840C0371A0}</Project>
116+
</ProjectReference>
117+
</ItemGroup>
118+
<ItemGroup>
119+
<ClCompile Include="..\..\..\..\console\main.cpp" />
120+
</ItemGroup>
146121
</Project>

builds/msvc/vs2013/bs/bs.vcxproj.filters

Lines changed: 4 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -7,121 +7,16 @@
77
<Filter Include="src">
88
<UniqueIdentifier>{86b385b3-059d-41a9-8455-6e217c481c69}</UniqueIdentifier>
99
</Filter>
10-
<Filter Include="src\service">
11-
<UniqueIdentifier>{4897c614-3d98-47d0-a4f3-b7e2b5304397}</UniqueIdentifier>
12-
</Filter>
13-
<Filter Include="src\service\include">
14-
<UniqueIdentifier>{26458c7a-620f-4f95-9663-9db846de6167}</UniqueIdentifier>
15-
</Filter>
16-
<Filter Include="src\include">
17-
<UniqueIdentifier>{39b29c2e-85af-40e3-9217-2163efbc768e}</UniqueIdentifier>
18-
</Filter>
1910
</ItemGroup>
2011
<ItemGroup>
21-
<ClInclude Include="..\..\..\..\src\service\blockchain.hpp">
22-
<Filter>src\service\include</Filter>
23-
</ClInclude>
24-
<ClInclude Include="..\..\..\..\src\service\compat.hpp">
25-
<Filter>src\service\include</Filter>
26-
</ClInclude>
27-
<ClInclude Include="..\..\..\..\src\service\fetch_x.hpp">
28-
<Filter>src\service\include</Filter>
29-
</ClInclude>
30-
<ClInclude Include="..\..\..\..\src\service\fullnode.hpp">
31-
<Filter>src\service\include</Filter>
32-
</ClInclude>
33-
<ClInclude Include="..\..\..\..\src\service\protocol.hpp">
34-
<Filter>src\service\include</Filter>
35-
</ClInclude>
36-
<ClInclude Include="..\..\..\..\src\service\transaction_pool.hpp">
37-
<Filter>src\service\include</Filter>
38-
</ClInclude>
39-
<ClInclude Include="..\..\..\..\src\service\util.hpp">
40-
<Filter>src\service\include</Filter>
41-
</ClInclude>
42-
<ClInclude Include="..\..\..\..\src\config.hpp">
43-
<Filter>src\include</Filter>
44-
</ClInclude>
45-
<ClInclude Include="..\..\..\..\src\message.hpp">
46-
<Filter>src\include</Filter>
47-
</ClInclude>
48-
<ClInclude Include="..\..\..\..\src\node_impl.hpp">
49-
<Filter>src\include</Filter>
50-
</ClInclude>
51-
<ClInclude Include="..\..\..\..\src\publisher.hpp">
52-
<Filter>src\include</Filter>
53-
</ClInclude>
54-
<ClInclude Include="..\..\..\..\src\subscribe_manager.hpp">
55-
<Filter>src\include</Filter>
56-
</ClInclude>
57-
<ClInclude Include="..\..\..\..\src\worker.hpp">
58-
<Filter>src\include</Filter>
59-
</ClInclude>
60-
<ClInclude Include="..\..\..\..\src\server.hpp">
61-
<Filter>src\include</Filter>
62-
</ClInclude>
63-
<ClInclude Include="..\..\..\..\src\settings.hpp">
64-
<Filter>src\include</Filter>
65-
</ClInclude>
66-
<ClInclude Include="..\..\..\..\src\endpoint.hpp">
67-
<Filter>src\include</Filter>
68-
</ClInclude>
69-
<ClInclude Include="..\..\..\..\src\version.hpp">
70-
<Filter>src\include</Filter>
71-
</ClInclude>
7212
<ClInclude Include="..\..\resource.h" />
7313
</ItemGroup>
7414
<ItemGroup>
75-
<ClCompile Include="..\..\..\..\src\service\blockchain.cpp">
76-
<Filter>src\service</Filter>
77-
</ClCompile>
78-
<ClCompile Include="..\..\..\..\src\service\fetch_x.cpp">
79-
<Filter>src\service</Filter>
80-
</ClCompile>
81-
<ClCompile Include="..\..\..\..\src\service\fullnode.cpp">
82-
<Filter>src\service</Filter>
83-
</ClCompile>
84-
<ClCompile Include="..\..\..\..\src\service\protocol.cpp">
85-
<Filter>src\service</Filter>
86-
</ClCompile>
87-
<ClCompile Include="..\..\..\..\src\service\transaction_pool.cpp">
88-
<Filter>src\service</Filter>
89-
</ClCompile>
90-
<ClCompile Include="..\..\..\..\src\config.cpp">
91-
<Filter>src</Filter>
92-
</ClCompile>
93-
<ClCompile Include="..\..\..\..\src\main.cpp">
94-
<Filter>src</Filter>
95-
</ClCompile>
96-
<ClCompile Include="..\..\..\..\src\message.cpp">
97-
<Filter>src</Filter>
98-
</ClCompile>
99-
<ClCompile Include="..\..\..\..\src\node_impl.cpp">
100-
<Filter>src</Filter>
101-
</ClCompile>
102-
<ClCompile Include="..\..\..\..\src\publisher.cpp">
103-
<Filter>src</Filter>
104-
</ClCompile>
105-
<ClCompile Include="..\..\..\..\src\subscribe_manager.cpp">
106-
<Filter>src</Filter>
107-
</ClCompile>
108-
<ClCompile Include="..\..\..\..\src\worker.cpp">
109-
<Filter>src</Filter>
110-
</ClCompile>
111-
<ClCompile Include="..\..\..\..\src\service\compat.cpp">
112-
<Filter>src\service</Filter>
113-
</ClCompile>
114-
<ClCompile Include="..\..\..\..\src\server.cpp">
115-
<Filter>src</Filter>
116-
</ClCompile>
117-
<ClCompile Include="..\..\..\..\src\settings.cpp">
118-
<Filter>src</Filter>
119-
</ClCompile>
120-
<ClCompile Include="..\..\..\..\src\endpoint.cpp">
121-
<Filter>src</Filter>
122-
</ClCompile>
15+
<ResourceCompile Include="..\..\resource.rc" />
12316
</ItemGroup>
12417
<ItemGroup>
125-
<ResourceCompile Include="..\..\resource.rc" />
18+
<ClCompile Include="..\..\..\..\console\main.cpp">
19+
<Filter>src</Filter>
20+
</ClCompile>
12621
</ItemGroup>
12722
</Project>

0 commit comments

Comments
 (0)