source: NonGTP/Boost/boost/serialization/config.hpp @ 857

Revision 857, 2.9 KB checked in by igarcia, 18 years ago (diff)
Line 
1#ifndef BOOST_SERIALIZATION_CONFIG_HPP
2#define BOOST_SERIALIZATION_CONFIG_HPP
3
4// MS compatible compilers support #pragma once
5#if defined(_MSC_VER) && (_MSC_VER >= 1020)
6# pragma once
7#endif
8
9//  config.hpp  ---------------------------------------------//
10
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)
15
16//  See library home page at http://www.boost.org/libs/serialization
17
18//----------------------------------------------------------------------------//
19
20// This header implements separate compilation features as described in
21// http://www.boost.org/more/separate_compilation.html
22
23#include <boost/config.hpp>
24#include <boost/detail/workaround.hpp>
25#include <boost/preprocessor/facilities/empty.hpp>
26
27// note: this version incorporates the related code into the the
28// the same library as BOOST_ARCHIVE.  This could change some day in the
29// future
30
31#ifdef BOOST_HAS_DECLSPEC // defined in config system
32// we need to import/export our code only if the user has specifically
33// asked for it by defining either BOOST_ALL_DYN_LINK if they want all boost
34// libraries to be dynamically linked, or BOOST_SERIALIZATION_DYN_LINK
35// if they want just this one to be dynamically liked:
36#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SERIALIZATION_DYN_LINK)
37#define BOOST_DYN_LINK
38// export if this is our own source, otherwise import:
39#if defined(BOOST_SERIALIZATION_SOURCE)
40    #if defined(BOOST_MSVC) || defined(BOOST_INTEL_WIN) || defined(__MWERKS__)
41    #define BOOST_SERIALIZATION_DECL(T) __declspec(dllexport) T
42    #else
43    #define BOOST_SERIALIZATION_DECL(T) T __declspec(dllexport)
44    #endif
45    #pragma message( "BOOST_SERIALIZATION_DECL __declspec(dllexport)" )
46#endif // defined(BOOST_SERIALIZATION_SOURCE)
47#endif // defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SERIALIZATION_DYN_LINK)
48#endif // BOOST_HAS_DECLSPEC
49
50// if BOOST_SERIALIZATION_DECL isn't defined yet define it now:
51#ifndef BOOST_SERIALIZATION_DECL
52    #define BOOST_SERIALIZATION_DECL(T) T
53#endif
54
55//  enable automatic library variant selection  ------------------------------//
56
57#if !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_SERIALIZATION_NO_LIB) \
58&& !defined(BOOST_SERIALIZATION_SOURCE) \
59&& !defined(BOOST_ARCHIVE_SOURCE) && !defined(BOOST_WARCHIVE_SOURCE)
60//
61// Set the name of our library, this will get undef'ed by auto_link.hpp
62// once it's done with it:
63//
64#define BOOST_LIB_NAME boost_serialization
65//
66// And include the header that does the work:
67//
68#include <boost/config/auto_link.hpp>
69
70#endif  // !defined(BOOST_SERIALIZATION_SOURCE) && !defined(BOOST_ARCHIVE_SOURCE)
71
72//----------------------------------------------------------------------------//
73
74#endif // BOOST_SERIALIZATION_CONFIG_HPP
Note: See TracBrowser for help on using the repository browser.