annotate DEPENDENCIES/generic/include/boost/tr1/detail/config.hpp @ 16:2665513ce2d3

Add boost headers
author Chris Cannam
date Tue, 05 Aug 2014 11:11:38 +0100
parents
children c530137014c0
rev   line source
Chris@16 1 // (C) Copyright John Maddock 2005-7.
Chris@16 2 // Use, modification and distribution are subject to the
Chris@16 3 // Boost Software License, Version 1.0. (See accompanying file
Chris@16 4 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Chris@16 5
Chris@16 6 #ifndef BOOST_TR1_DETAIL_CONFIG_HPP_INCLUDED
Chris@16 7 # define BOOST_TR1_DETAIL_CONFIG_HPP_INCLUDED
Chris@16 8
Chris@16 9 #include <cstddef>
Chris@16 10
Chris@16 11 #if (defined(__GNUC__) && !(defined(linux) || defined(__linux) || defined(__linux__))) \
Chris@16 12 || (!defined(_AIX) && defined(__IBMCPP__) && (__IBMCPP__ >= 800))
Chris@16 13 // Disable use of #include_next on Linux as typically we are installed in a
Chris@16 14 // directory that is searched *after* the std lib include path.
Chris@16 15 #if !defined(BOOST_HAS_INCLUDE_NEXT)
Chris@16 16 # define BOOST_HAS_INCLUDE_NEXT
Chris@16 17 #endif
Chris@16 18 // Need to find out if we're using GLIBC:
Chris@16 19 #ifdef BOOST_TR1_UTILITY_INCLUDED
Chris@16 20 // Oops we're in a recursive include path!!
Chris@16 21 // Need to include utility, or some std lib header,
Chris@16 22 // but *not* via <utility> or <boost/config/no_tr1/utility.hpp>
Chris@16 23 # ifndef BOOST_TR1_NO_RECURSION
Chris@16 24 # define BOOST_TR1_NO_RECURSION
Chris@16 25 # define BOOST_TR1_NO_CONFIG_RECURSION
Chris@16 26 # endif
Chris@16 27 # if defined(BOOST_HAS_INCLUDE_NEXT) && !defined(BOOST_TR1_DISABLE_INCLUDE_NEXT)
Chris@16 28 # include_next <utility>
Chris@16 29 # else
Chris@16 30 # include BOOST_TR1_STD_HEADER(utility)
Chris@16 31 # endif
Chris@16 32 # ifdef BOOST_TR1_NO_CONFIG_RECURSION
Chris@16 33 # undef BOOST_TR1_NO_CONFIG_RECURSION
Chris@16 34 # undef BOOST_TR1_NO_RECURSION
Chris@16 35 # endif
Chris@16 36 #else
Chris@16 37 #include <boost/config/no_tr1/utility.hpp>
Chris@16 38 #endif
Chris@16 39 #endif
Chris@16 40
Chris@16 41 #if defined(__GLIBCXX__) && !defined(BOOST_TR1_PATH)
Chris@16 42 # define BOOST_TR1_PATH(name) tr1/name
Chris@16 43 #endif
Chris@16 44 #if !defined(BOOST_TR1_PATH)
Chris@16 45 # define BOOST_TR1_PATH(name) name
Chris@16 46 #endif
Chris@16 47
Chris@16 48 #define BOOST_TR1_HEADER(name) <BOOST_TR1_PATH(name)>
Chris@16 49
Chris@16 50 // Can't use BOOST_WORKAROUND here, it leads to recursive includes:
Chris@16 51 #if (defined(__BORLANDC__) && (__BORLANDC__ <= 0x600)) || (defined(_MSC_VER) && (_MSC_VER < 1310))
Chris@16 52 # define BOOST_TR1_USE_OLD_TUPLE
Chris@16 53 #endif
Chris@16 54
Chris@16 55 #ifdef __IBMCPP_TR1__
Chris@16 56 // turn on support for everything:
Chris@16 57 # define BOOST_HAS_TR1
Chris@16 58 #endif
Chris@16 59
Chris@16 60 #ifdef __GXX_EXPERIMENTAL_CXX0X__
Chris@16 61 # define BOOST_HAS_TR1_COMPLEX_OVERLOADS
Chris@16 62 # define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
Chris@16 63 #endif
Chris@16 64
Chris@16 65 #ifdef BOOST_HAS_TR1
Chris@16 66 // turn on support for everything:
Chris@16 67 # define BOOST_HAS_TR1_ARRAY
Chris@16 68 # define BOOST_HAS_TR1_COMPLEX_OVERLOADS
Chris@16 69 # define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
Chris@16 70 # define BOOST_HAS_TR1_REFERENCE_WRAPPER
Chris@16 71 # define BOOST_HAS_TR1_RESULT_OF
Chris@16 72 # define BOOST_HAS_TR1_MEM_FN
Chris@16 73 # define BOOST_HAS_TR1_BIND
Chris@16 74 # define BOOST_HAS_TR1_FUNCTION
Chris@16 75 # define BOOST_HAS_TR1_HASH
Chris@16 76 # define BOOST_HAS_TR1_SHARED_PTR
Chris@16 77 # define BOOST_HAS_TR1_RANDOM
Chris@16 78 # define BOOST_HAS_TR1_REGEX
Chris@16 79 # define BOOST_HAS_TR1_TUPLE
Chris@16 80 # define BOOST_HAS_TR1_TYPE_TRAITS
Chris@16 81 # define BOOST_HAS_TR1_UTILITY
Chris@16 82 # define BOOST_HAS_TR1_UNORDERED_MAP
Chris@16 83 # define BOOST_HAS_TR1_UNORDERED_SET
Chris@16 84 # define BOOST_HAS_TR1_CMATH
Chris@16 85
Chris@16 86 #endif
Chris@16 87
Chris@16 88 #if defined(__MWERKS__) && (__MWERKS__ >= 0x3205)
Chris@16 89 //
Chris@16 90 // Very preliminary MWCW support, may not be right:
Chris@16 91 //
Chris@16 92 # define BOOST_HAS_TR1_SHARED_PTR
Chris@16 93 # define BOOST_HAS_TR1_REFERENCE_WRAPPER
Chris@16 94 # define BOOST_HAS_TR1_FUNCTION
Chris@16 95 # define BOOST_HAS_TR1_TUPLE
Chris@16 96 # define BOOST_HAS_TR1_RESULT_OF
Chris@16 97 #endif
Chris@16 98
Chris@16 99 #ifdef BOOST_HAS_GCC_TR1
Chris@16 100 // turn on support for everything in gcc 4.0.x:
Chris@16 101 # define BOOST_HAS_TR1_ARRAY
Chris@16 102 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 403
Chris@16 103 //# define BOOST_HAS_TR1_COMPLEX_OVERLOADS
Chris@16 104 # define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
Chris@16 105 #endif
Chris@16 106 # define BOOST_HAS_TR1_REFERENCE_WRAPPER
Chris@16 107 # define BOOST_HAS_TR1_RESULT_OF
Chris@16 108 # define BOOST_HAS_TR1_MEM_FN
Chris@16 109 # define BOOST_HAS_TR1_BIND
Chris@16 110 # define BOOST_HAS_TR1_FUNCTION
Chris@16 111 # define BOOST_HAS_TR1_HASH
Chris@16 112 # define BOOST_HAS_TR1_SHARED_PTR
Chris@16 113 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 403
Chris@16 114 # define BOOST_HAS_TR1_RANDOM
Chris@16 115 //# define BOOST_HAS_TR1_REGEX
Chris@16 116 #ifdef _GLIBCXX_USE_C99_MATH_TR1
Chris@16 117 # define BOOST_HAS_TR1_CMATH
Chris@16 118 #endif
Chris@16 119 #endif
Chris@16 120 # define BOOST_HAS_TR1_TUPLE
Chris@16 121 # define BOOST_HAS_TR1_TYPE_TRAITS
Chris@16 122 # define BOOST_HAS_TR1_UTILITY
Chris@16 123 # define BOOST_HAS_TR1_UNORDERED_MAP
Chris@16 124 # define BOOST_HAS_TR1_UNORDERED_SET
Chris@16 125
Chris@16 126 #endif
Chris@16 127
Chris@16 128 #if defined(_MSC_VER) && (_MSC_VER >= 1500) \
Chris@16 129 && defined(_MSC_FULL_VER) && \
Chris@16 130 !defined(__SGI_STL_PORT) && \
Chris@16 131 !defined(_STLPORT_VERSION) && \
Chris@16 132 !defined(_RWSTD_VER_STR) && \
Chris@16 133 !defined(_RWSTD_VER)
Chris@16 134 //
Chris@16 135 // MSVC-9.0 defines a not-quite TR1 conforming hash
Chris@16 136 // function object in <functional>, so we must define
Chris@16 137 // this here, in addition the feature pack for VC9
Chris@16 138 // provides a more or less full TR1 implementation:
Chris@16 139 //
Chris@16 140 # if defined(_HAS_TR1) && (_HAS_TR1 + 0)
Chris@16 141 # define BOOST_HAS_TR1_ARRAY
Chris@16 142 # define BOOST_HAS_TR1_REFERENCE_WRAPPER
Chris@16 143 # define BOOST_HAS_TR1_RESULT_OF
Chris@16 144 # define BOOST_HAS_TR1_MEM_FN
Chris@16 145 # define BOOST_HAS_TR1_BIND
Chris@16 146 # define BOOST_HAS_TR1_FUNCTION
Chris@16 147 # define BOOST_HAS_TR1_HASH
Chris@16 148 # define BOOST_HAS_TR1_SHARED_PTR
Chris@16 149 # define BOOST_HAS_TR1_RANDOM
Chris@16 150 # define BOOST_HAS_TR1_REGEX
Chris@16 151 # define BOOST_HAS_TR1_TUPLE
Chris@16 152 # define BOOST_HAS_TR1_TYPE_TRAITS
Chris@16 153 # define BOOST_HAS_TR1_UTILITY
Chris@16 154 # define BOOST_HAS_TR1_UNORDERED_MAP
Chris@16 155 # define BOOST_HAS_TR1_UNORDERED_SET
Chris@16 156 # else
Chris@16 157 # define BOOST_HAS_TR1_HASH
Chris@16 158 # endif
Chris@16 159 # if _MSC_VER >= 1600
Chris@16 160 # define BOOST_HAS_CPP_0X
Chris@16 161 # endif
Chris@16 162 #endif
Chris@16 163
Chris@16 164 #include <boost/config.hpp>
Chris@16 165
Chris@16 166 #endif
Chris@16 167
Chris@16 168
Chris@16 169