source: NonGTP/Boost/boost/archive/detail/decl.hpp @ 857

Revision 857, 2.9 KB checked in by igarcia, 18 years ago (diff)
Line 
1#ifndef BOOST_ARCHIVE_DETAIL_DECL_HPP
2#define BOOST_ARCHIVE_DETAIL_DECL_HPP
3
4// MS compatible compilers support #pragma once
5#if defined(_MSC_VER) && (_MSC_VER >= 1020)
6# pragma once
7#endif
8
9/////////1/////////2///////// 3/////////4/////////5/////////6/////////7/////////8
10//  decl.hpp
11//
12//  © Copyright Robert Ramey 2004
13//  Use, modification, and distribution is subject to the Boost Software
14//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
15//  http://www.boost.org/LICENSE_1_0.txt)
16
17//  See library home page at http://www.boost.org/libs/serialization
18
19//----------------------------------------------------------------------------//
20
21// This header implements separate compilation features as described in
22// http://www.boost.org/more/separate_compilation.html
23
24#include <boost/config.hpp>
25#include <boost/preprocessor/facilities/empty.hpp>
26
27#if defined(BOOST_HAS_DECLSPEC)
28    #if (defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SERIALIZATION_DYN_LINK))
29        #if defined(BOOST_ARCHIVE_SOURCE)
30            #if defined(__BORLANDC__)
31            #define BOOST_ARCHIVE_DECL(T) T __export
32            #define BOOST_ARCHIVE_OR_WARCHIVE_DECL(T)  T __export
33            #else
34            #define BOOST_ARCHIVE_DECL(T) __declspec(dllexport) T
35            #define BOOST_ARCHIVE_OR_WARCHIVE_DECL(T)  __declspec(dllexport) T
36            #endif
37        #else
38            #if defined(__BORLANDC__)
39            #define BOOST_ARCHIVE_DECL(T) T __import
40            #else
41            #define BOOST_ARCHIVE_DECL(T) __declspec(dllimport) T
42            #endif
43        #endif
44        #if defined(BOOST_WARCHIVE_SOURCE)
45            #if defined(__BORLANDC__)
46            #define BOOST_WARCHIVE_DECL(T) T __export
47            #define BOOST_ARCHIVE_OR_WARCHIVE_DECL(T) T __export
48            #else
49            #define BOOST_WARCHIVE_DECL(T) __declspec(dllexport) T
50            #define BOOST_ARCHIVE_OR_WARCHIVE_DECL(T) __declspec(dllexport) T
51            #endif
52        #else
53            #if defined(__BORLANDC__)
54            #define BOOST_WARCHIVE_DECL(T) T __import
55            #else
56            #define BOOST_WARCHIVE_DECL(T) __declspec(dllimport) T
57            #endif
58        #endif
59        #if !defined(BOOST_WARCHIVE_SOURCE) && !defined(BOOST_ARCHIVE_SOURCE)
60            #if defined(__BORLANDC__)
61            #define BOOST_ARCHIVE_OR_WARCHIVE_DECL(T) T __import
62            #else
63            #define BOOST_ARCHIVE_OR_WARCHIVE_DECL(T) __declspec(dllimport) T
64            #endif
65        #endif
66    #endif
67#endif // BOOST_HAS_DECLSPEC
68
69#if ! defined(BOOST_ARCHIVE_DECL)
70    #define BOOST_ARCHIVE_DECL(T) T
71#endif
72#if ! defined(BOOST_WARCHIVE_DECL)
73    #define BOOST_WARCHIVE_DECL(T) T
74#endif
75#if ! defined(BOOST_ARCHIVE_OR_WARCHIVE_DECL)
76    #define BOOST_ARCHIVE_OR_WARCHIVE_DECL(T) T
77#endif
78
79#endif // BOOST_ARCHIVE_DETAIL_DECL_HPP
Note: See TracBrowser for help on using the repository browser.