]> git.proxmox.com Git - ceph.git/blob - ceph/src/Beast/Jamroot
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / Beast / Jamroot
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 ;