Skip to content

Commit e1aad6e

Browse files
committed
Merge pull request #155 from tysonite/bjam_build
Make it possible to build cpp-netlib using Boost.Build.
2 parents d8aaf1a + 8626a22 commit e1aad6e

File tree

6 files changed

+198
-49
lines changed

6 files changed

+198
-49
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,4 @@ libs/mime/test/mime-roundtrip
1010
bin/
1111
tests/
1212
_build
13+
*~

Jamroot

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
import os ;
88

9-
local BOOST_ROOT = [ os.environ BOOST_ROOT ] ;
9+
path-constant BOOST_ROOT : [ os.environ BOOST_ROOT ] ;
1010

1111
use-project /boost : $(BOOST_ROOT) ;
1212
use-project /cpp-netlib : libs/network/build ;

libs/network/build/Jamfile.v2

Lines changed: 60 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,77 @@
44
# (See accompanying file LICENSE_1_0.txt or copy at
55
# http://www.boost.org/LICENSE_1_0.txt)
66

7-
import os ;
8-
9-
local BOOST_ROOT = [ os.environ BOOST_ROOT ] ;
7+
import pch ;
108

119
project cpp-netlib :
1210
requirements
13-
<include>../../../
11+
<variant>debug:<define>NETWORK_DEBUG
12+
<toolset>gcc:<define>NETWORK_ENABLE_HTTPS
13+
<toolset>gcc:<cxxflags>-std=c++0x
14+
<include>../../../include
1415
<include>$(BOOST_ROOT)
1516
<c++-template-depth>256
17+
<link>static
1618
: source-location ../../../
1719
;
1820

19-
cpp-pch client : boost/network/include/http/client.hpp ;
20-
cpp-pch server : boost/network/include/http/server.hpp ;
21-
lib cppnetlib-uri : libs/network/src/uri/parse.cpp ;
22-
lib cppnetlib-server-parsers : libs/network/src/server_request_parsers_impl.cpp ;
23-
lib cppnetlib-client-connections : libs/network/src/client.cpp ;
21+
cpp-pch client : include/network/include/http/client.hpp ;
22+
cpp-pch server : include/network/include/http/server.hpp ;
23+
lib cppnetlib-uri : libs/network/src/uri/normalize.cpp
24+
libs/network/src/uri/schemes.cpp
25+
libs/network/src/uri/uri.cpp ;
26+
27+
lib cppnetlib-message : libs/network/src/message/message.cpp cppnetlib-uri ;
28+
lib cppnetlib-message-directives : libs/network/src/message/directives.cpp ;
29+
lib cppnetlib-message-wrappers : libs/network/src/message/wrappers.cpp ;
30+
lib cppnetlib-http-message : libs/network/src/http/request.cpp
31+
libs/network/src/http/response.cpp
32+
cppnetlib-message ;
33+
34+
lib cppnetlib-http-message-wrappers : libs/network/src/http/message/wrappers.cpp ;
35+
lib cppnetlib-http-server-parsers : libs/network/src/server_request_parsers_impl.cpp ;
36+
lib cppnetlib-http-server : libs/network/src/http/server_async_impl.cpp
37+
libs/network/src/http/server_options.cpp
38+
libs/network/src/http/server_socket_options_setter.cpp
39+
libs/network/src/http/server_sync_impl.cpp
40+
cppnetlib-constants
41+
cppnetlib-uri
42+
cppnetlib-message
43+
cppnetlib-message-wrappers
44+
cppnetlib-message-directives
45+
cppnetlib-http-message
46+
cppnetlib-http-message-wrappers
47+
cppnetlib-http-server-parsers ;
48+
49+
lib cppnetlib-http-client-connections : libs/network/src/http/client_connections.cpp
50+
libs/network/src/http/simple_connection_manager.cpp
51+
libs/network/src/http/simple_connection_factory.cpp
52+
libs/network/src/http/connection_delegate_factory.cpp
53+
libs/network/src/http/client_resolver_delegate.cpp
54+
libs/network/src/http/client_resolver_delegate_factory.cpp
55+
libs/network/src/http/client_connection_delegates.cpp
56+
libs/network/src/http/client_connection_factory.cpp
57+
libs/network/src/http/client_async_resolver.cpp
58+
libs/network/src/http/client_connection_normal.cpp ;
59+
60+
lib cppnetlib-http-client : libs/network/src/http/client.cpp
61+
cppnetlib-constants
62+
cppnetlib-uri
63+
cppnetlib-message
64+
cppnetlib-message-wrappers
65+
cppnetlib-message-directives
66+
cppnetlib-http-message
67+
cppnetlib-http-message-wrappers
68+
cppnetlib-http-client-connections ;
69+
70+
lib cppnetlib-utils-thread_pool : libs/network/src/utils/thread_pool.cpp ;
71+
lib cppnetlib-constants : libs/network/src/constants.cpp ;
2472

2573
install headers : client server
2674
: <location>../../../boost/network/include/http ;
2775

28-
install libraries : cppnetlib-uri cppnetlib-server-parsers cppnetlib-client-connections ;
76+
install libraries : cppnetlib-uri cppnetlib-message cppnetlib-message-directives cppnetlib-message-wrappers
77+
cppnetlib-http-message cppnetlib-http-message-wrappers cppnetlib-http-server-parsers cppnetlib-http-server
78+
cppnetlib-http-client-connections cppnetlib-http-client cppnetlib-utils-thread_pool cppnetlib-constants ;
2979

3080
alias all : headers ;

libs/network/test/Jamfile.v2

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
1+
22
# Copyright Dean Michael Berris 2007.
33
# Distributed under the Boost Software License, Version 1.0.
44
# (See accompanying file LICENSE_1_0.txt or copy at
@@ -15,24 +15,23 @@ if [ os.name ] = CYGWIN
1515

1616
project network_test :
1717
requirements
18-
<include>../../../
19-
<include>.
18+
<include>../../../include
2019
<source>/boost//unit_test_framework
2120
<source>/boost//system
2221
<source>/boost//date_time
2322
<source>/boost//regex
2423
<source>/boost//thread
2524
<source>/boost//filesystem
26-
<variant>debug:<define>BOOST_NETWORK_DEBUG
27-
<toolset>gcc:<define>BOOST_NETWORK_ENABLE_HTTPS
25+
<variant>debug:<define>NETWORK_DEBUG
26+
<toolset>gcc:<define>NETWORK_ENABLE_HTTPS
2827
<toolset>gcc:<linkflags>-lpthread
2928
<toolset>gcc:<linkflags>-lssl
3029
<toolset>gcc:<linkflags>-lcrypto
31-
<toolset>darwin:<define>BOOST_NETWORK_ENABLE_HTTPS
30+
<toolset>darwin:<define>NETWORK_ENABLE_HTTPS
3231
<toolset>darwin:<linkflags>-lpthread
3332
<toolset>darwin:<linkflags>-lssl
3433
<toolset>darwin:<linkflags>-lcrypto
35-
<toolset>clang:<define>BOOST_NETWORK_ENABLE_HTTPS
34+
<toolset>clang:<define>NETWORK_ENABLE_HTTPS
3635
<toolset>clang:<linkflags>-lpthread
3736
<toolset>clang:<linkflags>-lssl
3837
<toolset>clang:<linkflags>-lcrypto
@@ -43,13 +42,19 @@ project network_test :
4342
<toolset>msvc:<define>BOOST_ASIO_NO_WIN32_LEAN_AND_MEAN
4443
<toolset>msvc:<define>WIN32_LEAN_AND_MEAN
4544
<toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS
46-
<toolset>msvc:<define>_WIN32_WINNT=0x0501
45+
<toolset>msvc:<define>_WIN32_WINNT=0x0501
4746
<c++-template-depth>256
4847
<link>static
4948
;
5049

5150
build-project http ;
5251
build-project uri ;
5352

54-
run message_test.cpp ;
55-
run message_transform_test.cpp ;
53+
run message_test.cpp /cpp-netlib//cppnetlib-message
54+
/cpp-netlib//cppnetlib-message-directives
55+
/cpp-netlib//cppnetlib-message-wrappers ;
56+
57+
run message_transform_test.cpp /cpp-netlib//cppnetlib-message
58+
/cpp-netlib//cppnetlib-message-directives
59+
/cpp-netlib//cppnetlib-message-wrappers ;
60+

libs/network/test/http/Jamfile.v2

Lines changed: 114 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -10,40 +10,129 @@ import feature ;
1010

1111
project network_test/http :
1212
requirements
13-
<include>../../../../
14-
<include>../
15-
<variant>debug:<define>BOOST_NETWORK_DEBUG
13+
<variant>debug:<define>NETWORK_DEBUG
14+
<toolset>gcc:<cxxflags>-std=c++0x
1615
;
1716

18-
run client_constructor_test.cpp /cpp-netlib//cppnetlib-uri /cpp-netlib//cppnetlib-client-connections ;
19-
run client_get_test.cpp /cpp-netlib//cppnetlib-uri /cpp-netlib//cppnetlib-client-connections ;
20-
run client_get_different_port_test.cpp /cpp-netlib//cppnetlib-uri /cpp-netlib//cppnetlib-client-connections ;
21-
run client_get_timeout_test.cpp /cpp-netlib//cppnetlib-uri /cpp-netlib//cppnetlib-client-connections ;
22-
#run client_include_inlined.cpp : <define>BOOST_NETWORK_NO_LIB ;
23-
run client_localhost_normal_test.cpp /cpp-netlib//cppnetlib-uri /cpp-netlib//cppnetlib-client-connections ;
24-
run client_localhost_ssl_test.cpp /cpp-netlib//cppnetlib-uri /cpp-netlib//cppnetlib-client-connections ;
25-
run message_async_ready_test.cpp ;
26-
run message_test.cpp /cpp-netlib//cppnetlib-uri ;
27-
run request_incremental_parser_test.cpp ;
28-
run request_linearize_test.cpp /cpp-netlib//cppnetlib-uri ;
29-
run response_incremental_parser_test.cpp /cpp-netlib//cppnetlib-server-parsers ;
30-
run server_constructor_test.cpp /cpp-netlib//cppnetlib-server-parsers ;
17+
run request_base_test.cpp /cpp-netlib//cppnetlib-message
18+
/cpp-netlib//cppnetlib-message-wrappers
19+
/cpp-netlib//cppnetlib-http-message
20+
/cpp-netlib//cppnetlib-http-message-wrappers
21+
/cpp-netlib//cppnetlib-uri
22+
/cpp-netlib//cppnetlib-constants ;
23+
24+
run request_test.cpp /cpp-netlib//cppnetlib-message
25+
/cpp-netlib//cppnetlib-message-wrappers
26+
/cpp-netlib//cppnetlib-http-message
27+
/cpp-netlib//cppnetlib-http-message-wrappers
28+
/cpp-netlib//cppnetlib-uri
29+
/cpp-netlib//cppnetlib-constants ;
30+
31+
run request_linearize_test.cpp /cpp-netlib//cppnetlib-message
32+
/cpp-netlib//cppnetlib-message-wrappers
33+
/cpp-netlib//cppnetlib-http-message
34+
/cpp-netlib//cppnetlib-http-message-wrappers
35+
/cpp-netlib//cppnetlib-uri
36+
/cpp-netlib//cppnetlib-constants ;
37+
38+
run response_test.cpp /cpp-netlib//cppnetlib-message
39+
/cpp-netlib//cppnetlib-message-wrappers
40+
/cpp-netlib//cppnetlib-http-message
41+
/cpp-netlib//cppnetlib-http-message-wrappers
42+
/cpp-netlib//cppnetlib-uri
43+
/cpp-netlib//cppnetlib-constants ;
44+
45+
run client_constructor_test.cpp /cpp-netlib//cppnetlib-constants
46+
/cpp-netlib//cppnetlib-uri
47+
/cpp-netlib//cppnetlib-message
48+
/cpp-netlib//cppnetlib-message-wrappers
49+
/cpp-netlib//cppnetlib-message-directives
50+
/cpp-netlib//cppnetlib-http-message
51+
/cpp-netlib//cppnetlib-http-message-wrappers
52+
/cpp-netlib//cppnetlib-http-client
53+
/cpp-netlib//cppnetlib-http-client-connections ;
54+
55+
run client_get_test.cpp /cpp-netlib//cppnetlib-constants
56+
/cpp-netlib//cppnetlib-uri
57+
/cpp-netlib//cppnetlib-message
58+
/cpp-netlib//cppnetlib-message-wrappers
59+
/cpp-netlib//cppnetlib-message-directives
60+
/cpp-netlib//cppnetlib-http-message
61+
/cpp-netlib//cppnetlib-http-message-wrappers
62+
/cpp-netlib//cppnetlib-http-client
63+
/cpp-netlib//cppnetlib-http-client-connections ;
64+
65+
run client_get_different_port_test.cpp /cpp-netlib//cppnetlib-constants
66+
/cpp-netlib//cppnetlib-uri
67+
/cpp-netlib//cppnetlib-message
68+
/cpp-netlib//cppnetlib-message-wrappers
69+
/cpp-netlib//cppnetlib-message-directives
70+
/cpp-netlib//cppnetlib-http-message
71+
/cpp-netlib//cppnetlib-http-message-wrappers
72+
/cpp-netlib//cppnetlib-http-client
73+
/cpp-netlib//cppnetlib-http-client-connections ;
74+
75+
run client_get_timeout_test.cpp /cpp-netlib//cppnetlib-constants
76+
/cpp-netlib//cppnetlib-uri
77+
/cpp-netlib//cppnetlib-message
78+
/cpp-netlib//cppnetlib-message-wrappers
79+
/cpp-netlib//cppnetlib-message-directives
80+
/cpp-netlib//cppnetlib-http-message
81+
/cpp-netlib//cppnetlib-http-message-wrappers
82+
/cpp-netlib//cppnetlib-http-client
83+
/cpp-netlib//cppnetlib-http-client-connections ;
84+
85+
run client_get_streaming_test.cpp /cpp-netlib//cppnetlib-constants
86+
/cpp-netlib//cppnetlib-uri
87+
/cpp-netlib//cppnetlib-message
88+
/cpp-netlib//cppnetlib-message-wrappers
89+
/cpp-netlib//cppnetlib-message-directives
90+
/cpp-netlib//cppnetlib-http-message
91+
/cpp-netlib//cppnetlib-http-message-wrappers
92+
/cpp-netlib//cppnetlib-http-client
93+
/cpp-netlib//cppnetlib-http-client-connections ;
94+
95+
run server_constructor_test.cpp /cpp-netlib//cppnetlib-constants
96+
/cpp-netlib//cppnetlib-uri
97+
/cpp-netlib//cppnetlib-message
98+
/cpp-netlib//cppnetlib-message-wrappers
99+
/cpp-netlib//cppnetlib-http-message
100+
/cpp-netlib//cppnetlib-http-server
101+
/cpp-netlib//cppnetlib-http-server-parsers
102+
/cpp-netlib//cppnetlib-utils-thread_pool ;
103+
104+
run server_async_run_stop_concurrency.cpp /cpp-netlib//cppnetlib-constants
105+
/cpp-netlib//cppnetlib-uri
106+
/cpp-netlib//cppnetlib-message
107+
/cpp-netlib//cppnetlib-message-wrappers
108+
/cpp-netlib//cppnetlib-http-message
109+
/cpp-netlib//cppnetlib-http-server
110+
/cpp-netlib//cppnetlib-http-server-parsers
111+
/cpp-netlib//cppnetlib-utils-thread_pool ;
112+
113+
#run client_localhost_normal_test.cpp /cpp-netlib//cppnetlib-uri /cpp-netlib//cppnetlib-http-client-connections ;
114+
#run client_localhost_ssl_test.cpp /cpp-netlib//cppnetlib-uri /cpp-netlib//cppnetlib-http-client-connections ;
115+
#run message_async_ready_test.cpp ;
116+
#run message_test.cpp /cpp-netlib//cppnetlib-uri ;
117+
#run request_incremental_parser_test.cpp ;
118+
#run request_linearize_test.cpp /cpp-netlib//cppnetlib-uri ;
119+
#run response_incremental_parser_test.cpp /cpp-netlib//cppnetlib-http-server-parsers ;
120+
#run server_constructor_test.cpp /cpp-netlib//cppnetlib-http-server-parsers ;
31121
#run server_include_inlined.cpp : <define>BOOST_NETWORK_NO_LIB ;
32122

33-
exe http_async_server : server_async.cpp /cpp-netlib//cppnetlib-server-parsers ;
34-
exe hello_world : server_hello_world.cpp /cpp-netlib//cppnetlib-server-parsers ;
35-
exe http_async_less_copy_server : server_async_less_copy.cpp /cpp-netlib//cppnetlib-server-parsers ;
36-
exe http_async_run_stop_concurrency_server : server_async_run_stop_concurrency.cpp /cpp-netlib//cppnetlib-server-parsers ;
123+
#exe http_async_server : server_async.cpp /cpp-netlib//cppnetlib-http-server-parsers ;
124+
#exe hello_world : server_hello_world.cpp /cpp-netlib//cppnetlib-http-server-parsers ;
125+
#exe http_async_less_copy_server : server_async_less_copy.cpp /cpp-netlib//cppnetlib-http-server-parsers ;
126+
#exe http_async_run_stop_concurrency_server : server_async_run_stop_concurrency.cpp /cpp-netlib//cppnetlib-http-server-parsers ;
37127

38-
make httplib_acceptance.passed : ../httplib_acceptance.py hello_world : @httplib_acceptance ;
39-
make httplib_async_acceptance.passed : ../httplib_acceptance.py http_async_server : @httplib_acceptance ;
40-
make httplib_async_less_copy_acceptance.passed : ../httplib_acceptance.py http_async_less_copy_server : @httplib_acceptance ;
41-
make httplib_async_run_stop_concurrency_acceptance.passed : ../httplib_acceptance.py http_async_run_stop_concurrency_server : @httplib_acceptance ;
128+
#make httplib_acceptance.passed : ../httplib_acceptance.py hello_world : @httplib_acceptance ;
129+
#make httplib_async_acceptance.passed : ../httplib_acceptance.py http_async_server : @httplib_acceptance ;
130+
#make httplib_async_less_copy_acceptance.passed : ../httplib_acceptance.py http_async_less_copy_server : @httplib_acceptance ;
131+
#make httplib_async_run_stop_concurrency_acceptance.passed : ../httplib_acceptance.py http_async_run_stop_concurrency_server : @httplib_acceptance ;
42132

43133
actions httplib_acceptance {
44134
export TEST_SCRIPT=`echo "$(>)" | awk '{print $1}'`
45135
export EXECUTABLE=`echo "$(>)" | awk '{print $2}'`
46136
export PORT=`echo "import random; print random.randint(8000, 8010)" | python`
47137
python $TEST_SCRIPT $EXECUTABLE $PORT $(<)
48138
}
49-

libs/network/test/uri/Jamfile.v2

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,12 @@ project network_test/uri :
1010
requirements
1111
<include>../../../../
1212
<include>../
13+
<toolset>gcc:<cxxflags>-std=c++0x
1314
;
1415

15-
run url_test.cpp /cpp-netlib//cppnetlib-uri ;
16-
run url_builder_test.cpp /cpp-netlib//cppnetlib-uri ;
17-
run url_encoding_test.cpp /cpp-netlib//cppnetlib-uri ;
16+
run uri_test.cpp /cpp-netlib//cppnetlib-uri ;
17+
run uri_builder_test.cpp /cpp-netlib//cppnetlib-uri ;
18+
run uri_builder_stream_test.cpp /cpp-netlib//cppnetlib-uri ;
19+
run uri_encoding_test.cpp /cpp-netlib//cppnetlib-uri ;
20+
run relative_uri_test.cpp /cpp-netlib//cppnetlib-uri ;
21+
run scheme_tests.cpp /cpp-netlib//cppnetlib-uri ;

0 commit comments

Comments
 (0)