2 * Copyright Andrey Semashev 2007 - 2015.
3 * Distributed under the Boost Software License, Version 1.0.
4 * (See accompanying file LICENSE_1_0.txt or copy at
5 * http://www.boost.org/LICENSE_1_0.txt)
8 * \file setup_config.hpp
9 * \author Andrey Semashev
12 * \brief This header is the Boost.Log library implementation, see the library documentation
13 * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. In this file
14 * internal configuration macros are defined.
17 #ifndef BOOST_LOG_DETAIL_SETUP_CONFIG_HPP_INCLUDED_
18 #define BOOST_LOG_DETAIL_SETUP_CONFIG_HPP_INCLUDED_
20 #include <boost/log/detail/config.hpp>
22 #ifdef BOOST_HAS_PRAGMA_ONCE
26 #if !defined(BOOST_LOG_SETUP_BUILDING_THE_LIB)
28 // Detect if we're dealing with dll
29 # if defined(BOOST_LOG_SETUP_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)
30 # define BOOST_LOG_SETUP_DLL
33 # if defined(BOOST_LOG_SETUP_DLL)
34 # define BOOST_LOG_SETUP_API BOOST_SYMBOL_IMPORT
36 # define BOOST_LOG_SETUP_API
40 // Automatically link to the correct build variant where possible.
42 # if !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_LOG_SETUP_NO_LIB)
43 # define BOOST_LIB_NAME boost_log_setup
44 # if defined(BOOST_LOG_SETUP_DLL)
45 # define BOOST_DYN_LINK
47 # include <boost/config/auto_link.hpp>
48 # endif // auto-linking disabled
50 #else // !defined(BOOST_LOG_SETUP_BUILDING_THE_LIB)
52 # if defined(BOOST_LOG_SETUP_DLL)
53 # define BOOST_LOG_SETUP_API BOOST_SYMBOL_EXPORT
55 # define BOOST_LOG_SETUP_API BOOST_SYMBOL_VISIBLE
58 #endif // !defined(BOOST_LOG_SETUP_BUILDING_THE_LIB)
60 #endif // BOOST_LOG_DETAIL_SETUP_CONFIG_HPP_INCLUDED_