]> AND Private Git Repository - canny.git/blob - stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem/config.hpp
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
648f293116c5558a946677655ac25c25276a2758
[canny.git] / stc / exp / ml_stc_linux_make_v1.0 / include / boost / filesystem / config.hpp
1 //  boost/filesystem/config.hpp  ---------------------------------------------//\r
2 \r
3 //  Copyright Beman Dawes 2003\r
4 \r
5 //  Distributed under the Boost Software License, Version 1.0. (See accompanying\r
6 //  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
7 \r
8 //  See library home page at http://www.boost.org/libs/filesystem\r
9 \r
10 //----------------------------------------------------------------------------// \r
11 \r
12 #ifndef BOOST_FILESYSTEM_CONFIG_HPP\r
13 #define BOOST_FILESYSTEM_CONFIG_HPP\r
14 \r
15 #define BOOST_FILESYSTEM_I18N  // aid users wishing to compile several versions\r
16 \r
17 //  ability to change namespace aids path_table.cpp  ------------------------// \r
18 #ifndef BOOST_FILESYSTEM_NAMESPACE\r
19 # define BOOST_FILESYSTEM_NAMESPACE filesystem\r
20 #endif\r
21 \r
22 // This header implements separate compilation features as described in\r
23 // http://www.boost.org/more/separate_compilation.html\r
24 \r
25 #include <boost/config.hpp>\r
26 #include <boost/detail/workaround.hpp> \r
27 \r
28 //  determine platform  ------------------------------------------------------//\r
29 \r
30 //  BOOST_CYGWIN_PATH implies BOOST_WINDOWS_PATH and BOOST_POSIX_API\r
31 \r
32 # if defined(BOOST_CYGWIN_PATH)\r
33 #   if defined(BOOST_POSIX_PATH)\r
34 #     error BOOST_POSIX_PATH is invalid when BOOST_CYGWIN_PATH is defined\r
35 #   endif\r
36 #   if defined(BOOST_WINDOWS_API)\r
37 #     error BOOST_WINDOWS_API is invalid when BOOST_CYGWIN_PATH is defined\r
38 #   endif\r
39 #   define BOOST_WINDOWS_PATH\r
40 #   define BOOST_POSIX_API\r
41 # endif\r
42 \r
43 //  BOOST_POSIX_API or BOOST_WINDOWS_API specify which API to use\r
44 \r
45 # if defined( BOOST_WINDOWS_API ) && defined( BOOST_POSIX_API )\r
46 #   error both BOOST_WINDOWS_API and BOOST_POSIX_API are defined\r
47 # elif !defined( BOOST_WINDOWS_API ) && !defined( BOOST_POSIX_API )\r
48 #   if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__CYGWIN__)\r
49 #     define BOOST_WINDOWS_API\r
50 #   else\r
51 #     define BOOST_POSIX_API \r
52 #   endif\r
53 # endif\r
54 \r
55 //  BOOST_WINDOWS_PATH enables Windows path syntax recognition\r
56 \r
57 # if !defined(BOOST_POSIX_PATH) && (defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__CYGWIN__))\r
58 #   define BOOST_WINDOWS_PATH\r
59 # endif\r
60 \r
61 //  narrow support only for badly broken compilers or libraries  -------------//\r
62 \r
63 # if defined(BOOST_NO_STD_WSTRING) || defined(BOOST_NO_SFINAE) || defined(BOOST_NO_STD_LOCALE) || BOOST_WORKAROUND(__BORLANDC__, <0x610)\r
64 #   define BOOST_FILESYSTEM_NARROW_ONLY\r
65 # endif\r
66 \r
67 //  enable dynamic linking on Windows  ---------------------------------------//\r
68 \r
69 #  if (defined(BOOST_ALL_DYN_LINK) || defined(BOOST_FILESYSTEM_DYN_LINK)) &&  BOOST_WORKAROUND(__BORLANDC__, <0x610) && defined(__WIN32__)\r
70 #    error Dynamic linking Boost.Filesystem does not work for Borland; use static linking instead\r
71 #  endif\r
72 \r
73 #ifdef BOOST_HAS_DECLSPEC // defined in config system\r
74 // we need to import/export our code only if the user has specifically\r
75 // asked for it by defining either BOOST_ALL_DYN_LINK if they want all boost\r
76 // libraries to be dynamically linked, or BOOST_FILESYSTEM_DYN_LINK\r
77 // if they want just this one to be dynamically liked:\r
78 #if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_FILESYSTEM_DYN_LINK)\r
79 // export if this is our own source, otherwise import:\r
80 #ifdef BOOST_FILESYSTEM_SOURCE\r
81 # define BOOST_FILESYSTEM_DECL __declspec(dllexport)\r
82 #else\r
83 # define BOOST_FILESYSTEM_DECL __declspec(dllimport)\r
84 #endif  // BOOST_FILESYSTEM_SOURCE\r
85 #endif  // DYN_LINK\r
86 #endif  // BOOST_HAS_DECLSPEC\r
87 //\r
88 // if BOOST_FILESYSTEM_DECL isn't defined yet define it now:\r
89 #ifndef BOOST_FILESYSTEM_DECL\r
90 #define BOOST_FILESYSTEM_DECL\r
91 #endif\r
92 \r
93 //  enable automatic library variant selection  ------------------------------// \r
94 \r
95 #if !defined(BOOST_FILESYSTEM_SOURCE) && !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_FILESYSTEM_NO_LIB)\r
96 //\r
97 // Set the name of our library, this will get undef'ed by auto_link.hpp\r
98 // once it's done with it:\r
99 //\r
100 #define BOOST_LIB_NAME boost_filesystem\r
101 //\r
102 // If we're importing code from a dll, then tell auto_link.hpp about it:\r
103 //\r
104 #if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_FILESYSTEM_DYN_LINK)\r
105 #  define BOOST_DYN_LINK\r
106 #endif\r
107 //\r
108 // And include the header that does the work:\r
109 //\r
110 #include <boost/config/auto_link.hpp>\r
111 #endif  // auto-linking disabled\r
112 \r
113 #endif // BOOST_FILESYSTEM_CONFIG_HPP\r