Ugly, not-to-be-pushed sucking in of all of Boost to get windows to work.
[dyninst.git] / external / boost / filesystem / config.hpp
1 //  boost/filesystem/config.hpp  ---------------------------------------------//
2
3 //  © Copyright Beman Dawes 2003
4 //  Use, modification, and distribution is subject to the Boost Software
5 //  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
6 //  http://www.boost.org/LICENSE_1_0.txt)
7
8 //  See library home page at http://www.boost.org/libs/filesystem
9
10 //----------------------------------------------------------------------------// 
11
12 #ifndef BOOST_FILESYSTEM_CONFIG_HPP
13 #define BOOST_FILESYSTEM_CONFIG_HPP
14
15 // This header implements separate compilation features as described in
16 // http://www.boost.org/more/separate_compilation.html
17
18 #include <boost/config.hpp>
19
20 //  enable dynamic linking on Windows  ---------------------------------------//
21
22 #  if (defined(BOOST_ALL_DYN_LINK) || defined(BOOST_FILESYSTEM_DYN_LINK)) && defined(__BORLANDC__) && defined(__WIN32__)
23 #    error Dynamic linking Boost.Filesystem does not work for Borland; use static linking instead
24 #  endif
25
26 #ifdef BOOST_HAS_DECLSPEC // defined in config system
27 // we need to import/export our code only if the user has specifically
28 // asked for it by defining either BOOST_ALL_DYN_LINK if they want all boost
29 // libraries to be dynamically linked, or BOOST_FILESYSTEM_DYN_LINK
30 // if they want just this one to be dynamically liked:
31 #if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_FILESYSTEM_DYN_LINK)
32 // export if this is our own source, otherwise import:
33 #ifdef BOOST_FILESYSTEM_SOURCE
34 # define BOOST_FILESYSTEM_DECL __declspec(dllexport)
35 #else
36 # define BOOST_FILESYSTEM_DECL __declspec(dllimport)
37 #endif  // BOOST_FILESYSTEM_SOURCE
38 #endif  // DYN_LINK
39 #endif  // BOOST_HAS_DECLSPEC
40 //
41 // if BOOST_FILESYSTEM_DECL isn't defined yet define it now:
42 #ifndef BOOST_FILESYSTEM_DECL
43 #define BOOST_FILESYSTEM_DECL
44 #endif
45
46 //  enable automatic library variant selection  ------------------------------// 
47
48 #if !defined(BOOST_FILESYSTEM_SOURCE) && !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_FILESYSTEM_NO_LIB)
49 //
50 // Set the name of our library, this will get undef'ed by auto_link.hpp
51 // once it's done with it:
52 //
53 #define BOOST_LIB_NAME boost_filesystem
54 //
55 // If we're importing code from a dll, then tell auto_link.hpp about it:
56 //
57 #if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_FILESYSTEM_DYN_LINK)
58 #  define BOOST_DYN_LINK
59 #endif
60 //
61 // And include the header that does the work:
62 //
63 #include <boost/config/auto_link.hpp>
64 #endif  // auto-linking disabled
65
66 #endif // BOOST_FILESYSTEM_CONFIG_HPP