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