1 // boost/system/config.hpp -----------------------------------------------------------// 2 3 // Copyright Beman Dawes 2003, 2006 4 5 // Distributed under the Boost Software License, Version 1.0. (See accompanying 6 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 7 8 // See http://www.boost.org/libs/system for documentation. 9 10 #ifndef BOOST_SYSTEM_CONFIG_HPP 11 #define BOOST_SYSTEM_CONFIG_HPP 12 13 #include <boost/config.hpp> 14 #include <boost/system/api_config.hpp> // for BOOST_POSIX_API or BOOST_WINDOWS_API 15 16 // This header implemented separate compilation features as described in 17 // http://www.boost.org/more/separate_compilation.html 18 // 19 // It's only retained for compatibility now that the library is header-only. 20 21 // normalize macros ------------------------------------------------------------------// 22 23 #if !defined(BOOST_SYSTEM_DYN_LINK) && !defined(BOOST_SYSTEM_STATIC_LINK) \ 24 && !defined(BOOST_ALL_DYN_LINK) && !defined(BOOST_ALL_STATIC_LINK) 25 # define BOOST_SYSTEM_STATIC_LINK 26 #endif 27 28 #if defined(BOOST_ALL_DYN_LINK) && !defined(BOOST_SYSTEM_DYN_LINK) 29 # define BOOST_SYSTEM_DYN_LINK 30 #elif defined(BOOST_ALL_STATIC_LINK) && !defined(BOOST_SYSTEM_STATIC_LINK) 31 # define BOOST_SYSTEM_STATIC_LINK 32 #endif 33 34 #if defined(BOOST_SYSTEM_DYN_LINK) && defined(BOOST_SYSTEM_STATIC_LINK) 35 # error Must not define both BOOST_SYSTEM_DYN_LINK and BOOST_SYSTEM_STATIC_LINK 36 #endif 37 38 // enable dynamic or static linking as requested --------------------------------------// 39 40 #if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SYSTEM_DYN_LINK) 41 # if defined(BOOST_SYSTEM_SOURCE) 42 # define BOOST_SYSTEM_DECL BOOST_SYMBOL_EXPORT 43 # else 44 # define BOOST_SYSTEM_DECL BOOST_SYMBOL_IMPORT 45 # endif 46 #else 47 # define BOOST_SYSTEM_DECL 48 #endif 49 50 #endif // BOOST_SYSTEM_CONFIG_HPP 51