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