Imported Upstream version 1.72.0
[platform/upstream/boost.git] / 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     basic_archive
57     basic_iarchive
58     basic_iserializer
59     basic_oarchive
60     basic_oserializer
61     basic_pointer_iserializer
62     basic_pointer_oserializer
63     basic_serializer_map
64     basic_text_iprimitive
65     basic_text_oprimitive
66     basic_xml_archive
67     binary_iarchive
68     binary_oarchive
69     extended_type_info
70     extended_type_info_typeid
71     extended_type_info_no_rtti
72     polymorphic_iarchive
73     polymorphic_oarchive
74     stl_port
75     text_iarchive
76     text_oarchive
77     polymorphic_text_iarchive
78     polymorphic_text_oarchive
79     polymorphic_binary_iarchive
80     polymorphic_binary_oarchive
81     polymorphic_xml_iarchive
82     polymorphic_xml_oarchive
83     void_cast
84     archive_exception
85     xml_grammar
86     xml_iarchive
87     xml_oarchive
88     xml_archive_exception
89     codecvt_null
90     utf8_codecvt_facet
91  ;
92     
93 WSOURCES = 
94     basic_text_wiprimitive
95     basic_text_woprimitive
96     text_wiarchive
97     text_woarchive
98     polymorphic_text_wiarchive
99     polymorphic_text_woarchive
100     xml_wgrammar
101     xml_wiarchive
102     xml_woarchive
103     polymorphic_xml_wiarchive
104     polymorphic_xml_woarchive
105 ;
106
107 lib boost_serialization 
108     : $(SOURCES).cpp
109     : 
110     <toolset>msvc:<cxxflags>/Gy
111     <toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS
112     <toolset>msvc:<define>_CRT_SECURE_NO_WARNINGS
113     <toolset>clang:<cxxflags>"-fvisibility=hidden -fvisibility-inlines-hidden"
114     <toolset>gcc:<cxxflags>"-fvisibility=hidden -fvisibility-inlines-hidden"
115     <toolset>darwin:<cxxflags>"-fvisibility=hidden -fvisibility-inlines-hidden"
116     <toolset>gcc:<cxxflags>"-ftemplate-depth-255"
117     <toolset>clang:<cxxflags>"-ftemplate-depth-255"
118     <toolset>darwin:<cxxflags>"-ftemplate-depth-255"
119     <link>shared:<define>BOOST_SERIALIZATION_DYN_LINK=1
120     ;
121
122 lib boost_wserialization 
123     : $(WSOURCES).cpp boost_serialization 
124     :     
125     <toolset>msvc:<cxxflags>/Gy 
126     <toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS
127     <toolset>msvc:<define>_CRT_SECURE_NO_WARNINGS
128     <toolset>clang:<cxxflags>"-fvisibility=hidden -fvisibility-inlines-hidden"
129     <toolset>gcc:<cxxflags>"-fvisibility=hidden -fvisibility-inlines-hidden"
130     <toolset>darwin:<cxxflags>"-fvisibility=hidden -fvisibility-inlines-hidden"
131     <toolset>gcc:<cxxflags>"-ftemplate-depth-255"
132     <toolset>clang:<cxxflags>"-ftemplate-depth-255"
133     <toolset>darwin:<cxxflags>"-ftemplate-depth-255"
134     # note: both serialization and wserialization are conditioned on the this
135     # switch - don't change it to BOOST_WSERIALIZATION_DYN_LINK
136     <link>shared:<define>BOOST_SERIALIZATION_DYN_LINK=1
137     ;
138
139 boost-install boost_serialization boost_wserialization ;