Index: boost/atomic.hpp =================================================================== --- boost/atomic.hpp (revision 80334) +++ boost/atomic.hpp (working copy) @@ -12,6 +12,7 @@ #include +#include #include #include #include Index: boost/atomic/config.hpp =================================================================== --- boost/atomic/config.hpp (revision 0) +++ boost/atomic/config.hpp (working copy) @@ -0,0 +1,46 @@ +#ifndef BOOST_ATOMIC_CONFIG_HPP +#define BOOST_ATOMIC_CONFIG_HPP + +// Copyright (c) 2012 Hartmut Kaiser +// +// Distributed under the Boost Software License, Version 1.0. +// See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#include + +/////////////////////////////////////////////////////////////////////////////// +// Set up dll import/export options +#if (defined(BOOST_ATOMIC_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)) && \ + !defined(BOOST_ATOMIC_STATIC_LINK) + +#if defined(BOOST_ATOMIC_SOURCE) +#define BOOST_ATOMIC_DECL BOOST_SYMBOL_EXPORT +#define BOOST_ATOMIC_BUILD_DLL +#else +#define BOOST_ATOMIC_DECL BOOST_SYMBOL_IMPORT +#endif + +#endif // building a shared library + +#ifndef BOOST_ATOMIC_DECL +#define BOOST_ATOMIC_DECL +#endif + +/////////////////////////////////////////////////////////////////////////////// +// Auto library naming +#if !defined(BOOST_ATOMIC_SOURCE) && !defined(BOOST_ALL_NO_LIB) && \ + !defined(BOOST_ATOMIC_NO_LIB) + +#define BOOST_LIB_NAME boost_atomic + +// tell the auto-link code to select a dll when required: +#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_ATOMIC_DYN_LINK) +#define BOOST_DYN_LINK +#endif + +#include + +#endif // auto-linking disabled + +#endif Index: boost/atomic/detail/lockpool.hpp =================================================================== --- boost/atomic/detail/lockpool.hpp (revision 80334) +++ boost/atomic/detail/lockpool.hpp (working copy) @@ -8,6 +8,7 @@ // http://www.boost.org/LICENSE_1_0.txt) +#include #ifndef BOOST_ATOMIC_FLAG_LOCK_FREE #include #endif @@ -31,7 +32,7 @@ } }; private: - static mutex pool_[41]; + static BOOST_ATOMIC_DECL mutex pool_[41]; static mutex & lock_for(const volatile void * addr) @@ -69,7 +70,7 @@ }; private: - static atomic_flag pool_[41]; + static BOOST_ATOMIC_DECL atomic_flag pool_[41]; static lock_type & lock_for(const volatile void * addr) Index: libs/atomic/build/Jamfile.v2 =================================================================== --- libs/atomic/build/Jamfile.v2 (revision 80334) +++ libs/atomic/build/Jamfile.v2 (working copy) @@ -8,6 +8,9 @@ import common ; project boost/atomic + : requirements + shared:BOOST_ATOMIC_DYN_LINK=1 + BOOST_ATOMIC_SOURCE : source-location ../src ;