Ugly, not-to-be-pushed sucking in of all of Boost to get windows to work.
[dyninst.git] / external / boost / archive / detail / decl.hpp
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