Chris@16
|
1 #ifndef BOOST_SERIALIZATION_CONFIG_HPP
|
Chris@16
|
2 #define BOOST_SERIALIZATION_CONFIG_HPP
|
Chris@16
|
3
|
Chris@16
|
4 // config.hpp ---------------------------------------------//
|
Chris@16
|
5
|
Chris@16
|
6 // (c) Copyright Robert Ramey 2004
|
Chris@16
|
7 // Use, modification, and distribution is subject to the Boost Software
|
Chris@16
|
8 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
Chris@16
|
9 // http://www.boost.org/LICENSE_1_0.txt)
|
Chris@16
|
10
|
Chris@16
|
11 // See library home page at http://www.boost.org/libs/serialization
|
Chris@16
|
12
|
Chris@16
|
13 //----------------------------------------------------------------------------//
|
Chris@16
|
14
|
Chris@16
|
15 // This header implements separate compilation features as described in
|
Chris@16
|
16 // http://www.boost.org/more/separate_compilation.html
|
Chris@16
|
17
|
Chris@16
|
18 #include <boost/config.hpp>
|
Chris@16
|
19 #include <boost/detail/workaround.hpp>
|
Chris@16
|
20 #include <boost/preprocessor/facilities/empty.hpp>
|
Chris@16
|
21
|
Chris@16
|
22 // note: this version incorporates the related code into the the
|
Chris@16
|
23 // the same library as BOOST_ARCHIVE. This could change some day in the
|
Chris@16
|
24 // future
|
Chris@16
|
25
|
Chris@16
|
26 // if BOOST_SERIALIZATION_DECL is defined undefine it now:
|
Chris@16
|
27 #ifdef BOOST_SERIALIZATION_DECL
|
Chris@16
|
28 #undef BOOST_SERIALIZATION_DECL
|
Chris@16
|
29 #endif
|
Chris@16
|
30
|
Chris@16
|
31 #ifdef BOOST_HAS_DECLSPEC // defined in config system
|
Chris@16
|
32 // we need to import/export our code only if the user has specifically
|
Chris@16
|
33 // asked for it by defining either BOOST_ALL_DYN_LINK if they want all boost
|
Chris@16
|
34 // libraries to be dynamically linked, or BOOST_SERIALIZATION_DYN_LINK
|
Chris@16
|
35 // if they want just this one to be dynamically liked:
|
Chris@16
|
36 #if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SERIALIZATION_DYN_LINK)
|
Chris@16
|
37 #if !defined(BOOST_DYN_LINK)
|
Chris@16
|
38 #define BOOST_DYN_LINK
|
Chris@16
|
39 #endif
|
Chris@16
|
40 // export if this is our own source, otherwise import:
|
Chris@16
|
41 #if defined(BOOST_SERIALIZATION_SOURCE)
|
Chris@16
|
42 #if defined(__BORLANDC__)
|
Chris@16
|
43 #define BOOST_SERIALIZATION_DECL(T) T __export
|
Chris@16
|
44 #else
|
Chris@16
|
45 #define BOOST_SERIALIZATION_DECL(T) __declspec(dllexport) T
|
Chris@16
|
46 #endif
|
Chris@16
|
47 #else
|
Chris@16
|
48 #if defined(__BORLANDC__)
|
Chris@16
|
49 #define BOOST_SERIALIZATION_DECL(T) T __import
|
Chris@16
|
50 #else
|
Chris@16
|
51 #define BOOST_SERIALIZATION_DECL(T) __declspec(dllimport) T
|
Chris@16
|
52 #endif
|
Chris@16
|
53 #endif // defined(BOOST_SERIALIZATION_SOURCE)
|
Chris@16
|
54 #endif // defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SERIALIZATION_DYN_LINK)
|
Chris@16
|
55 #endif // BOOST_HAS_DECLSPEC
|
Chris@16
|
56
|
Chris@16
|
57 // if BOOST_SERIALIZATION_DECL isn't defined yet define it now:
|
Chris@16
|
58 #ifndef BOOST_SERIALIZATION_DECL
|
Chris@16
|
59 #define BOOST_SERIALIZATION_DECL(T) T
|
Chris@16
|
60 #endif
|
Chris@16
|
61
|
Chris@16
|
62 // enable automatic library variant selection ------------------------------//
|
Chris@16
|
63
|
Chris@16
|
64 #if !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_SERIALIZATION_NO_LIB) \
|
Chris@16
|
65 && !defined(BOOST_ARCHIVE_SOURCE) && !defined(BOOST_WARCHIVE_SOURCE) \
|
Chris@16
|
66 && !defined(BOOST_SERIALIZATION_SOURCE)
|
Chris@16
|
67 //
|
Chris@16
|
68 // Set the name of our library, this will get undef'ed by auto_link.hpp
|
Chris@16
|
69 // once it's done with it:
|
Chris@16
|
70 //
|
Chris@16
|
71 #define BOOST_LIB_NAME boost_serialization
|
Chris@16
|
72 //
|
Chris@16
|
73 // If we're importing code from a dll, then tell auto_link.hpp about it:
|
Chris@16
|
74 //
|
Chris@16
|
75 #if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SERIALIZATION_DYN_LINK)
|
Chris@16
|
76 # define BOOST_DYN_LINK
|
Chris@16
|
77 #endif
|
Chris@16
|
78 //
|
Chris@16
|
79 // And include the header that does the work:
|
Chris@16
|
80 //
|
Chris@16
|
81 #include <boost/config/auto_link.hpp>
|
Chris@16
|
82
|
Chris@16
|
83 #endif
|
Chris@16
|
84
|
Chris@16
|
85 #endif // BOOST_SERIALIZATION_CONFIG_HPP
|