]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/serialization/build/Jamfile.v2
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / boost / libs / serialization / build / Jamfile.v2
1 # Boost serialization Library Build Jamfile
2 # (C) Copyright Robert Ramey 2002-2004.
3 # Use, modification, and distribution are subject to the
4 # Boost Software License, Version 1.0. (See accompanying file
5 # LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 #
7 # See http://www.boost.org/libs/serialization for the library home page.
8
9 project boost/serialization
10 : source-location ../src
11 : requirements
12 <conditional>@include-spirit
13 ;
14
15 SPIRIT_ROOT = [ modules.peek : SPIRIT_ROOT ] ;
16 rule include-spirit ( properties * )
17 {
18 local old-compiler ;
19 if <toolset>borland in $(properties)
20 {
21 if ! <toolset-borland:version>6.1.0 in $(properties)
22 {
23 old-compiler = true ;
24 }
25
26 }
27 else if <toolset>msvc in $(properties)
28 {
29 if <toolset-msvc:version>6.5 in $(properties)
30 || <toolset-msvc:version>7.0 in $(properties)
31 {
32 old-compiler = true ;
33 }
34 }
35
36 local result ;
37 if $(old-compiler)
38 {
39 if $(SPIRIT_ROOT)
40 {
41 # note - we can't use <include>$(SPIRIT_ROOT) because
42 # it puts -I$(SPIRIT_ROOT) AFTER the "../../.." in the command line.
43 # so use these instead
44 result = <cxxflags>-I$(SPIRIT_ROOT) ;
45 }
46 else
47 {
48 echo **** spirit 1.6x required to build library with this compiler **** ;
49 result = <build>no ;
50 }
51 }
52 return $(result) ;
53 }
54
55 SOURCES =
56 archive_exception
57 basic_archive
58 basic_iarchive
59 basic_iserializer
60 basic_oarchive
61 basic_oserializer
62 basic_pointer_iserializer
63 basic_pointer_oserializer
64 basic_serializer_map
65 basic_text_iprimitive
66 basic_text_oprimitive
67 basic_xml_archive
68 binary_iarchive
69 binary_oarchive
70 extended_type_info
71 extended_type_info_typeid
72 extended_type_info_no_rtti
73 polymorphic_iarchive
74 polymorphic_oarchive
75 stl_port
76 text_iarchive
77 text_oarchive
78 polymorphic_text_iarchive
79 polymorphic_text_oarchive
80 polymorphic_binary_iarchive
81 polymorphic_binary_oarchive
82 polymorphic_xml_iarchive
83 polymorphic_xml_oarchive
84 void_cast
85 xml_grammar
86 xml_iarchive
87 xml_archive_exception
88 codecvt_null
89 ;
90
91 SOURCES_HAS_STD_LOCALE =
92 xml_oarchive
93 utf8_codecvt_facet
94 ;
95
96 WSOURCES =
97 basic_text_wiprimitive
98 basic_text_woprimitive
99 text_wiarchive
100 text_woarchive
101 polymorphic_text_wiarchive
102 polymorphic_text_woarchive
103 xml_wgrammar
104 xml_wiarchive
105 xml_woarchive
106 polymorphic_xml_wiarchive
107 polymorphic_xml_woarchive
108 ;
109
110 rule has-config-flag ( flag : properties * )
111 {
112 if ( "<define>$(flag)" in $(properties) || "<define>$(flag)=1" in $(properties) )
113 {
114 return 1 ;
115 }
116 else
117 {
118 return ;
119 }
120 }
121
122 rule select-define-specific-sources ( properties * )
123 {
124 local result ;
125 if ! [ has-config-flag BOOST_NO_STD_LOCALE : $(properties) ]
126 {
127 result += <source>$(SOURCES_HAS_STD_LOCALE).cpp ;
128 }
129
130 #ECHO additional sources $(result) ;
131
132 return $(result) ;
133 }
134
135 rule should-build-wserialization ( properties * )
136 {
137 local result ;
138 if [ has-config-flag BOOST_NO_STD_LOCALE : $(properties) ]
139 {
140 result += <build>no ;
141 }
142
143 #ECHO should build wserialization $(result) ;
144
145 return $(result) ;
146 }
147
148 lib boost_serialization
149 : ## sources ##
150 $(SOURCES).cpp
151 : ## requirements ##
152 <conditional>@select-define-specific-sources
153 <toolset>msvc:<cxxflags>/Gy
154 <toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS
155 <toolset>msvc:<define>_CRT_SECURE_NO_WARNINGS
156 <toolset>clang:<cxxflags>"-fvisibility=hidden -fvisibility-inlines-hidden"
157 <toolset>gcc:<cxxflags>"-fvisibility=hidden -fvisibility-inlines-hidden"
158 <toolset>darwin:<cxxflags>"-fvisibility=hidden -fvisibility-inlines-hidden"
159 <toolset>gcc:<cxxflags>"-ftemplate-depth-255"
160 <toolset>clang:<cxxflags>"-ftemplate-depth-255"
161 <toolset>darwin:<cxxflags>"-ftemplate-depth-255"
162 <link>shared:<define>BOOST_SERIALIZATION_DYN_LINK=1
163 ;
164
165 lib boost_wserialization
166 : $(WSOURCES).cpp boost_serialization
167 :
168 <conditional>@should-build-wserialization
169 <toolset>msvc:<cxxflags>/Gy
170 <toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS
171 <toolset>msvc:<define>_CRT_SECURE_NO_WARNINGS
172 <toolset>clang:<cxxflags>"-fvisibility=hidden -fvisibility-inlines-hidden"
173 <toolset>gcc:<cxxflags>"-fvisibility=hidden -fvisibility-inlines-hidden"
174 <toolset>darwin:<cxxflags>"-fvisibility=hidden -fvisibility-inlines-hidden"
175 <toolset>gcc:<cxxflags>"-ftemplate-depth-255"
176 <toolset>clang:<cxxflags>"-ftemplate-depth-255"
177 <toolset>darwin:<cxxflags>"-ftemplate-depth-255"
178 # note: both serialization and wserialization are conditioned on the this
179 # switch - don't change it to BOOST_WSERIALIZATION_DYN_LINK
180 <link>shared:<define>BOOST_SERIALIZATION_DYN_LINK=1
181 ;
182
183 boost-install boost_serialization boost_wserialization ;