]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | # |
2 | # Copyright (c) 2013-2016 Vinnie Falco (vinnie dot falco at gmail dot com) | |
3 | # | |
4 | # Distributed under the Boost Software License, Version 1.0. (See accompanying | |
5 | # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | |
6 | # | |
7 | ||
8 | import os ; | |
9 | import feature ; | |
10 | import boost ; | |
11 | import modules ; | |
12 | import testing ; | |
13 | ||
14 | boost.use-project ; | |
15 | ||
16 | if [ os.name ] = SOLARIS | |
17 | { | |
18 | lib socket ; | |
19 | lib nsl ; | |
20 | } | |
21 | else if [ os.name ] = NT | |
22 | { | |
23 | lib ws2_32 ; | |
24 | lib mswsock ; | |
25 | } | |
26 | else if [ os.name ] = HPUX | |
27 | { | |
28 | lib ipv6 ; | |
29 | } | |
30 | else if [ os.name ] = QNXNTO | |
31 | { | |
32 | lib socket ; | |
33 | } | |
34 | else if [ os.name ] = HAIKU | |
35 | { | |
36 | lib network ; | |
37 | } | |
38 | ||
39 | if [ os.name ] = NT | |
40 | { | |
41 | lib ssl : : <name>ssleay32 ; | |
42 | lib crypto : : <name>libeay32 ; | |
43 | } | |
44 | else | |
45 | { | |
46 | lib ssl ; | |
47 | lib crypto ; | |
48 | } | |
49 | ||
50 | if [ os.name ] = MACOSX | |
51 | { | |
52 | using clang : : ; | |
53 | } | |
54 | ||
55 | variant coverage | |
56 | : | |
57 | debug | |
58 | : | |
59 | <cxxflags>"-fprofile-arcs -ftest-coverage" | |
60 | <linkflags>"-lgcov" | |
61 | ; | |
62 | ||
63 | variant asan | |
64 | : | |
65 | release | |
66 | : | |
67 | <cxxflags>"-fsanitize=address -fno-omit-frame-pointer" | |
68 | <linkflags>"-fsanitize=address" | |
69 | ; | |
70 | ||
71 | variant msan | |
72 | : | |
73 | debug | |
74 | : | |
75 | <cxxflags>"-fsanitize=memory -fno-omit-frame-pointer -fsanitize-memory-track-origins=2 -fsanitize-memory-use-after-dtor" | |
76 | <linkflags>"-fsanitize=memory" | |
77 | ; | |
78 | ||
79 | variant usan | |
80 | : | |
81 | debug | |
82 | : | |
83 | <cxxflags>"-fsanitize=undefined -fno-omit-frame-pointer" | |
84 | <linkflags>"-fsanitize=undefined" | |
85 | ; | |
86 | ||
87 | project beast | |
88 | : requirements | |
89 | <include>. | |
90 | <include>./extras | |
91 | <include>./include | |
92 | #<use>/boost//headers | |
93 | <library>/boost/system//boost_system | |
94 | <library>/boost/coroutine//boost_coroutine | |
95 | <library>/boost/filesystem//boost_filesystem | |
96 | <library>/boost/program_options//boost_program_options | |
97 | <define>BOOST_ALL_NO_LIB=1 | |
98 | <define>BOOST_COROUTINES_NO_DEPRECATION_WARNING=1 | |
99 | <threading>multi | |
100 | <runtime-link>shared | |
101 | <debug-symbols>on | |
102 | <toolset>gcc:<cxxflags>-std=c++11 | |
103 | <toolset>gcc:<cxxflags>-Wno-unused-parameter | |
104 | <toolset>gcc:<cxxflags>-Wno-unused-variable # Temporary until we can figure out -isystem | |
105 | <toolset>clang:<cxxflags>-std=c++11 | |
106 | <toolset>clang:<cxxflags>-Wno-unused-parameter | |
107 | <toolset>clang:<cxxflags>-Wno-unused-variable # Temporary until we can figure out -isystem | |
108 | <toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS=1 | |
109 | <toolset>msvc:<define>_CRT_SECURE_NO_WARNINGS=1 | |
110 | <toolset>msvc:<cxxflags>"/wd4100 /wd4251 /bigobj" | |
111 | <toolset>msvc:<variant>release:<cxxflags>"/Ob2 /Oi /Ot" | |
112 | <os>LINUX:<define>_XOPEN_SOURCE=600 | |
113 | <os>LINUX:<define>_GNU_SOURCE=1 | |
114 | <os>SOLARIS:<define>_XOPEN_SOURCE=500 | |
115 | <os>SOLARIS:<define>__EXTENSIONS__ | |
116 | <os>SOLARIS:<library>socket | |
117 | <os>SOLARIS:<library>nsl | |
118 | <os>NT:<define>_WIN32_WINNT=0x0601 | |
119 | <os>NT,<toolset>cw:<library>ws2_32 | |
120 | <os>NT,<toolset>cw:<library>mswsock | |
121 | <os>NT,<toolset>gcc:<library>ws2_32 | |
122 | <os>NT,<toolset>gcc:<library>mswsock | |
123 | <os>NT,<toolset>gcc-cygwin:<define>__USE_W32_SOCKETS | |
124 | : usage-requirements | |
125 | : | |
126 | build-dir bin | |
127 | ; | |
128 | ||
129 | build-project test ; | |
130 | build-project examples ; |