1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/ossrv/ossrv_pub/boost_apis/boost/tr1/detail/config.hpp Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,138 @@
1.4 +// (C) Copyright John Maddock 2005.
1.5 +// Use, modification and distribution are subject to the
1.6 +// Boost Software License, Version 1.0. (See accompanying file
1.7 +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
1.8 +
1.9 +
1.10 +#ifndef BOOST_TR1_DETAIL_CONFIG_HPP_INCLUDED
1.11 +# define BOOST_TR1_DETAIL_CONFIG_HPP_INCLUDED
1.12 +
1.13 +//
1.14 +// IMPORTANT: we must figure out the basics, such as how to
1.15 +// forward to the real std lib headers *without* including
1.16 +// boost/config.hpp or any of the std lib headers. A classic
1.17 +// chicken and the egg problem....
1.18 +//
1.19 +// Including <cstddef> at least lets us detect STLport:
1.20 +//
1.21 +#include <cstddef>
1.22 +
1.23 +# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && !defined(__BORLANDC__)
1.24 +# ifdef __SUNPRO_CC
1.25 + // can't use <../stlport/name> since some compilers put stlport in a different directory:
1.26 +# define BOOST_TR1_STD_HEADER(name) <../stlport4/name>
1.27 +# else
1.28 +# define BOOST_TR1_STD_HEADER(name) <../stlport/name>
1.29 +# endif
1.30 +# elif defined(__HP_aCC)
1.31 +# define BOOST_TR1_STD_HEADER(name) <../include_std/name>
1.32 +# elif defined(__DECCXX)
1.33 +# define BOOST_TR1_STD_HEADER(name) <../cxx/name>
1.34 +# elif defined(__BORLANDC__) && __BORLANDC__ >= 0x570
1.35 +# define BOOST_TR1_STD_HEADER(name) <../include/dinkumware/name>
1.36 +# else
1.37 +# define BOOST_TR1_STD_HEADER(name) <../include/name>
1.38 +# endif
1.39 +
1.40 +#if defined(__GNUC__) && !defined(BOOST_HAS_INCLUDE_NEXT)
1.41 +# define BOOST_HAS_INCLUDE_NEXT
1.42 +#endif
1.43 +
1.44 +// Can't use BOOST_WORKAROUND here, it leads to recursive includes:
1.45 +#if (defined(__BORLANDC__) && (__BORLANDC__ <= 0x600)) || (defined(_MSC_VER) && (_MSC_VER < 1310))
1.46 +# define BOOST_TR1_USE_OLD_TUPLE
1.47 +#endif
1.48 +
1.49 +//
1.50 +// We may be in the middle of parsing boost/config.hpp
1.51 +// when this header is included, so don't rely on config
1.52 +// stuff in the rest of this header...
1.53 +//
1.54 +// Find our actual std lib:
1.55 +//
1.56 +#ifdef BOOST_HAS_INCLUDE_NEXT
1.57 +# ifndef BOOST_TR1_NO_RECURSION
1.58 +# define BOOST_TR1_NO_RECURSION
1.59 +# define BOOST_TR1_NO_CONFIG_RECURSION
1.60 +# endif
1.61 +# include_next <utility>
1.62 +# if (__GNUC__ < 3)
1.63 +# include_next <algorithm>
1.64 +# include_next <iterator>
1.65 +# endif
1.66 +# ifdef BOOST_TR1_NO_CONFIG_RECURSION
1.67 +# undef BOOST_TR1_NO_CONFIG_RECURSION
1.68 +# undef BOOST_TR1_NO_RECURSION
1.69 +# endif
1.70 +#else
1.71 +# include BOOST_TR1_STD_HEADER(utility)
1.72 +#endif
1.73 +
1.74 +#if defined(__GLIBCXX__) && !defined(BOOST_TR1_PATH)
1.75 +# define BOOST_TR1_PATH(name) tr1/name
1.76 +#endif
1.77 +#if !defined(BOOST_TR1_PATH)
1.78 +# define BOOST_TR1_PATH(name) name
1.79 +#endif
1.80 +
1.81 +#define BOOST_TR1_HEADER(name) <BOOST_TR1_PATH(name)>
1.82 +
1.83 +#ifdef BOOST_HAS_TR1
1.84 + // turn on support for everything:
1.85 +# define BOOST_HAS_TR1_ARRAY
1.86 +# define BOOST_HAS_TR1_COMPLEX_OVERLOADS
1.87 +# define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
1.88 +# define BOOST_HAS_TR1_REFERENCE_WRAPPER
1.89 +# define BOOST_HAS_TR1_RESULT_OF
1.90 +# define BOOST_HAS_TR1_MEM_FN
1.91 +# define BOOST_HAS_TR1_BIND
1.92 +# define BOOST_HAS_TR1_FUNCTION
1.93 +# define BOOST_HAS_TR1_HASH
1.94 +# define BOOST_HAS_TR1_SHARED_PTR
1.95 +# define BOOST_HAS_TR1_RANDOM
1.96 +# define BOOST_HAS_TR1_REGEX
1.97 +# define BOOST_HAS_TR1_TUPLE
1.98 +# define BOOST_HAS_TR1_TYPE_TRAITS
1.99 +# define BOOST_HAS_TR1_UTILITY
1.100 +# define BOOST_HAS_TR1_UNORDERED_MAP
1.101 +# define BOOST_HAS_TR1_UNORDERED_SET
1.102 +
1.103 +#endif
1.104 +
1.105 +#if defined(__MWERKS__) && (__MWERKS__ >= 0x3205)
1.106 +//
1.107 +// Very preliminary MWCW support, may not be right:
1.108 +//
1.109 +# define BOOST_HAS_TR1_SHARED_PTR
1.110 +# define BOOST_HAS_TR1_REFERENCE_WRAPPER
1.111 +# define BOOST_HAS_TR1_FUNCTION
1.112 +# define BOOST_HAS_TR1_TUPLE
1.113 +# define BOOST_HAS_TR1_RESULT_OF
1.114 +#endif
1.115 +
1.116 +#ifdef BOOST_HAS_GCC_TR1
1.117 + // turn on support for everything in gcc 4.0.x:
1.118 +# define BOOST_HAS_TR1_ARRAY
1.119 +//# define BOOST_HAS_TR1_COMPLEX_OVERLOADS
1.120 +//# define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
1.121 +# define BOOST_HAS_TR1_REFERENCE_WRAPPER
1.122 +# define BOOST_HAS_TR1_RESULT_OF
1.123 +# define BOOST_HAS_TR1_MEM_FN
1.124 +# define BOOST_HAS_TR1_BIND
1.125 +# define BOOST_HAS_TR1_FUNCTION
1.126 +# define BOOST_HAS_TR1_HASH
1.127 +# define BOOST_HAS_TR1_SHARED_PTR
1.128 +//# define BOOST_HAS_TR1_RANDOM
1.129 +//# define BOOST_HAS_TR1_REGEX
1.130 +# define BOOST_HAS_TR1_TUPLE
1.131 +# define BOOST_HAS_TR1_TYPE_TRAITS
1.132 +# define BOOST_HAS_TR1_UTILITY
1.133 +# define BOOST_HAS_TR1_UNORDERED_MAP
1.134 +# define BOOST_HAS_TR1_UNORDERED_SET
1.135 +
1.136 +#endif
1.137 +
1.138 +#include <boost/config.hpp>
1.139 +
1.140 +#endif
1.141 +