• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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