1 #ifndef BOOST_SERIALIZATION_CONFIG_HPP
2 #define BOOST_SERIALIZATION_CONFIG_HPP
4 // MS compatible compilers support #pragma once
5 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
9 // config.hpp ---------------------------------------------//
11 // © Copyright Robert Ramey 2004
12 // Use, modification, and distribution is subject to the Boost Software
13 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
14 // http://www.boost.org/LICENSE_1_0.txt)
16 // See library home page at http://www.boost.org/libs/serialization
18 //----------------------------------------------------------------------------//
20 // This header implements separate compilation features as described in
21 // http://www.boost.org/more/separate_compilation.html
23 * © Portions copyright (c) 2006-2007 Nokia Corporation. All rights reserved.
25 #include <boost/config.hpp>
26 #include <boost/detail/workaround.hpp>
27 #include <boost/preprocessor/facilities/empty.hpp>
29 // note: this version incorporates the related code into the the
30 // the same library as BOOST_ARCHIVE. This could change some day in the
33 #ifdef BOOST_HAS_DECLSPEC // defined in config system
34 // we need to import/export our code only if the user has specifically
35 // asked for it by defining either BOOST_ALL_DYN_LINK if they want all boost
36 // libraries to be dynamically linked, or BOOST_SERIALIZATION_DYN_LINK
37 // if they want just this one to be dynamically liked:
38 #if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SERIALIZATION_DYN_LINK)
39 #define BOOST_DYN_LINK
40 // export if this is our own source, otherwise import:
41 #if defined(BOOST_SERIALIZATION_SOURCE)
42 #if defined(BOOST_MSVC) || defined(BOOST_INTEL_WIN) || defined(__MWERKS__)
43 #define BOOST_SERIALIZATION_DECL(T) __declspec(dllexport) T
45 #define BOOST_SERIALIZATION_DECL(T) T __declspec(dllexport)
47 #pragma message( "BOOST_SERIALIZATION_DECL __declspec(dllexport)" )
48 #endif // defined(BOOST_SERIALIZATION_SOURCE)
49 #endif // defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SERIALIZATION_DYN_LINK)
50 #endif // BOOST_HAS_DECLSPEC
52 // if BOOST_SERIALIZATION_DECL isn't defined yet define it now:
53 #ifndef BOOST_SERIALIZATION_DECL
54 #define BOOST_SERIALIZATION_DECL(T) T
57 // enable automatic library variant selection ------------------------------//
59 #if !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_SERIALIZATION_NO_LIB) \
60 && !defined(BOOST_SERIALIZATION_SOURCE) \
61 && !defined(BOOST_ARCHIVE_SOURCE) && !defined(BOOST_WARCHIVE_SOURCE)
63 // Set the name of our library, this will get undef'ed by auto_link.hpp
64 // once it's done with it:
66 #define BOOST_LIB_NAME boost_serialization
68 // And include the header that does the work:
71 //Enabling this reports error about STL_DEBUG version imcompatilibilty
72 #include <boost/config/auto_link.hpp>
75 #endif // !defined(BOOST_SERIALIZATION_SOURCE) && !defined(BOOST_ARCHIVE_SOURCE)
77 //----------------------------------------------------------------------------//
79 #endif // BOOST_SERIALIZATION_CONFIG_HPP