1 /*
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)
6  */
7 /*!
8  * \file   setup_config.hpp
9  * \author Andrey Semashev
10  * \date   14.09.2009
11  *
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.
15  */
16 
17 #ifndef BOOST_LOG_DETAIL_SETUP_CONFIG_HPP_INCLUDED_
18 #define BOOST_LOG_DETAIL_SETUP_CONFIG_HPP_INCLUDED_
19 
20 #include <boost/log/detail/config.hpp>
21 
22 #ifdef BOOST_HAS_PRAGMA_ONCE
23 #pragma once
24 #endif
25 
26 #if !defined(BOOST_LOG_SETUP_BUILDING_THE_LIB)
27 
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
31 #   endif
32 
33 #   if defined(BOOST_LOG_SETUP_DLL)
34 #       define BOOST_LOG_SETUP_API BOOST_SYMBOL_IMPORT
35 #   else
36 #       define BOOST_LOG_SETUP_API
37 #   endif
38 
39 //
40 // Automatically link to the correct build variant where possible.
41 //
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
46 #       endif
47 #       include <boost/config/auto_link.hpp>
48 #   endif  // auto-linking disabled
49 
50 #else // !defined(BOOST_LOG_SETUP_BUILDING_THE_LIB)
51 
52 #   if defined(BOOST_LOG_SETUP_DLL)
53 #       define BOOST_LOG_SETUP_API BOOST_SYMBOL_EXPORT
54 #   else
55 #       define BOOST_LOG_SETUP_API BOOST_SYMBOL_VISIBLE
56 #   endif
57 
58 #endif // !defined(BOOST_LOG_SETUP_BUILDING_THE_LIB)
59 
60 #endif // BOOST_LOG_DETAIL_SETUP_CONFIG_HPP_INCLUDED_
61