1 | /* |
2 | * Distributed under the Boost Software License, Version 1.0. |
3 | * (See accompanying file LICENSE_1_0.txt or copy at |
4 | * http://www.boost.org/LICENSE_1_0.txt) |
5 | * |
6 | * Copyright (c) 2012 Hartmut Kaiser |
7 | * Copyright (c) 2014 Andrey Semashev |
8 | */ |
9 | /*! |
10 | * \file atomic/detail/config.hpp |
11 | * |
12 | * This header defines macros for linking with compiled library of Boost.Atomic |
13 | */ |
14 | |
15 | #ifndef BOOST_ATOMIC_DETAIL_LINK_HPP_INCLUDED_ |
16 | #define BOOST_ATOMIC_DETAIL_LINK_HPP_INCLUDED_ |
17 | |
18 | #include <boost/atomic/detail/config.hpp> |
19 | |
20 | #ifdef BOOST_HAS_PRAGMA_ONCE |
21 | #pragma once |
22 | #endif |
23 | |
24 | /////////////////////////////////////////////////////////////////////////////// |
25 | // Set up dll import/export options |
26 | #if (defined(BOOST_ATOMIC_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)) && \ |
27 | !defined(BOOST_ATOMIC_STATIC_LINK) |
28 | |
29 | #if defined(BOOST_ATOMIC_SOURCE) |
30 | #define BOOST_ATOMIC_DECL BOOST_SYMBOL_EXPORT |
31 | #define BOOST_ATOMIC_BUILD_DLL |
32 | #else |
33 | #define BOOST_ATOMIC_DECL BOOST_SYMBOL_IMPORT |
34 | #endif |
35 | |
36 | #endif // building a shared library |
37 | |
38 | #ifndef BOOST_ATOMIC_DECL |
39 | #define BOOST_ATOMIC_DECL |
40 | #endif |
41 | |
42 | /////////////////////////////////////////////////////////////////////////////// |
43 | // Auto library naming |
44 | #if !defined(BOOST_ATOMIC_SOURCE) && !defined(BOOST_ALL_NO_LIB) && \ |
45 | !defined(BOOST_ATOMIC_NO_LIB) |
46 | |
47 | #define BOOST_LIB_NAME boost_atomic |
48 | |
49 | // tell the auto-link code to select a dll when required: |
50 | #if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_ATOMIC_DYN_LINK) |
51 | #define BOOST_DYN_LINK |
52 | #endif |
53 | |
54 | #include <boost/config/auto_link.hpp> |
55 | |
56 | #endif // auto-linking disabled |
57 | |
58 | #endif |
59 | |