Chris@101: /* Chris@101: * Distributed under the Boost Software License, Version 1.0. Chris@101: * (See accompanying file LICENSE_1_0.txt or copy at Chris@101: * http://www.boost.org/LICENSE_1_0.txt) Chris@101: * Chris@101: * Copyright (c) 2012 Hartmut Kaiser Chris@101: * Copyright (c) 2014 Andrey Semashev Chris@101: */ Chris@101: /*! Chris@101: * \file atomic/detail/config.hpp Chris@101: * Chris@101: * This header defines macros for linking with compiled library of Boost.Atomic Chris@101: */ Chris@16: Chris@101: #ifndef BOOST_ATOMIC_DETAIL_LINK_HPP_INCLUDED_ Chris@101: #define BOOST_ATOMIC_DETAIL_LINK_HPP_INCLUDED_ Chris@16: Chris@16: #include Chris@16: Chris@16: #ifdef BOOST_HAS_PRAGMA_ONCE Chris@16: #pragma once Chris@16: #endif Chris@16: Chris@16: /////////////////////////////////////////////////////////////////////////////// Chris@16: // Set up dll import/export options Chris@16: #if (defined(BOOST_ATOMIC_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)) && \ Chris@16: !defined(BOOST_ATOMIC_STATIC_LINK) Chris@16: Chris@16: #if defined(BOOST_ATOMIC_SOURCE) Chris@16: #define BOOST_ATOMIC_DECL BOOST_SYMBOL_EXPORT Chris@16: #define BOOST_ATOMIC_BUILD_DLL Chris@16: #else Chris@16: #define BOOST_ATOMIC_DECL BOOST_SYMBOL_IMPORT Chris@16: #endif Chris@16: Chris@16: #endif // building a shared library Chris@16: Chris@16: #ifndef BOOST_ATOMIC_DECL Chris@16: #define BOOST_ATOMIC_DECL Chris@16: #endif Chris@16: Chris@16: /////////////////////////////////////////////////////////////////////////////// Chris@16: // Auto library naming Chris@16: #if !defined(BOOST_ATOMIC_SOURCE) && !defined(BOOST_ALL_NO_LIB) && \ Chris@16: !defined(BOOST_ATOMIC_NO_LIB) Chris@16: Chris@16: #define BOOST_LIB_NAME boost_atomic Chris@16: Chris@16: // tell the auto-link code to select a dll when required: Chris@16: #if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_ATOMIC_DYN_LINK) Chris@16: #define BOOST_DYN_LINK Chris@16: #endif Chris@16: Chris@16: #include Chris@16: Chris@16: #endif // auto-linking disabled Chris@16: Chris@16: #endif