1 | // (C) Copyright John Maddock 2001 - 2003.
|
---|
2 | // (C) Copyright David Abrahams 2002 - 2003.
|
---|
3 | // (C) Copyright Aleksey Gurtovoy 2002.
|
---|
4 | // Use, modification and distribution are subject to the
|
---|
5 | // Boost Software License, Version 1.0. (See accompanying file
|
---|
6 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
---|
7 |
|
---|
8 | // See http://www.boost.org for most recent version.
|
---|
9 |
|
---|
10 | // CodeGear C++ compiler setup:
|
---|
11 |
|
---|
12 | #if !defined( BOOST_WITH_CODEGEAR_WARNINGS )
|
---|
13 | // these warnings occur frequently in optimized template code
|
---|
14 | # pragma warn -8004 // var assigned value, but never used
|
---|
15 | # pragma warn -8008 // condition always true/false
|
---|
16 | # pragma warn -8066 // dead code can never execute
|
---|
17 | # pragma warn -8104 // static members with ctors not threadsafe
|
---|
18 | # pragma warn -8105 // reference member in class without ctors
|
---|
19 | #endif
|
---|
20 | //
|
---|
21 | // versions check:
|
---|
22 | // last known and checked version is 0x610
|
---|
23 | #if (__CODEGEARC__ > 0x610)
|
---|
24 | # if defined(BOOST_ASSERT_CONFIG)
|
---|
25 | # error "Unknown compiler version - please run the configure tests and report the results"
|
---|
26 | # else
|
---|
27 | # pragma message( "Unknown compiler version - please run the configure tests and report the results")
|
---|
28 | # endif
|
---|
29 | #endif
|
---|
30 |
|
---|
31 | // CodeGear C++ Builder 2009
|
---|
32 | #if (__CODEGEARC__ <= 0x610)
|
---|
33 | # define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
|
---|
34 | # define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
|
---|
35 | # define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
|
---|
36 | # define BOOST_NO_PRIVATE_IN_AGGREGATE
|
---|
37 | # define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
---|
38 | # define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
|
---|
39 | # define BOOST_NO_USING_TEMPLATE
|
---|
40 | // we shouldn't really need this - but too many things choke
|
---|
41 | // without it, this needs more investigation:
|
---|
42 | # define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
|
---|
43 | # define BOOST_NO_TYPENAME_WITH_CTOR // Cannot use typename keyword when making temporaries of a dependant type
|
---|
44 | # define BOOST_NO_NESTED_FRIENDSHIP // TC1 gives nested classes access rights as any other member
|
---|
45 |
|
---|
46 | // Temporary hack, until specific MPL preprocessed headers are generated
|
---|
47 | # define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
|
---|
48 |
|
---|
49 | # ifdef NDEBUG
|
---|
50 | // fix broken <cstring> so that Boost.test works:
|
---|
51 | # include <cstring>
|
---|
52 | # undef strcmp
|
---|
53 | # endif
|
---|
54 | // fix broken errno declaration:
|
---|
55 | # include <errno.h>
|
---|
56 | # ifndef errno
|
---|
57 | # define errno errno
|
---|
58 | # endif
|
---|
59 |
|
---|
60 | #endif
|
---|
61 |
|
---|
62 |
|
---|
63 | # define BOOST_HAS_CHAR16_T
|
---|
64 | # define BOOST_HAS_CHAR32_T
|
---|
65 | # define BOOST_HAS_LONG_LONG
|
---|
66 |
|
---|
67 | //# define BOOST_HAS_ALIGNOF
|
---|
68 | # define BOOST_HAS_DECLTYPE
|
---|
69 | # define BOOST_HAS_EXPLICIT_CONVERSION_OPS
|
---|
70 | //# define BOOST_HAS_RVALUE_REFS
|
---|
71 | # define BOOST_HAS_SCOPED_ENUM
|
---|
72 | //# define BOOST_HAS_STATIC_ASSERT
|
---|
73 | # define BOOST_HAS_STD_TYPE_TRAITS
|
---|
74 |
|
---|
75 | # define BOOST_HAS_TR1_HASH
|
---|
76 | # define BOOST_HAS_TR1_TYPE_TRAITS
|
---|
77 | # define BOOST_HAS_TR1_UNORDERED_MAP
|
---|
78 | # define BOOST_HAS_TR1_UNORDERED_SET
|
---|
79 |
|
---|
80 | # define BOOST_HAS_MACRO_USE_FACET
|
---|
81 |
|
---|
82 |
|
---|
83 | // On non-Win32 platforms let the platform config figure this out:
|
---|
84 | # ifdef _WIN32
|
---|
85 | # define BOOST_HAS_STDINT_H
|
---|
86 | # endif
|
---|
87 |
|
---|
88 | //
|
---|
89 | // __int64:
|
---|
90 | //
|
---|
91 | #if !defined(__STRICT_ANSI__)
|
---|
92 | # define BOOST_HAS_MS_INT64
|
---|
93 | #endif
|
---|
94 | //
|
---|
95 | // check for exception handling support:
|
---|
96 | //
|
---|
97 | #if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS)
|
---|
98 | # define BOOST_NO_EXCEPTIONS
|
---|
99 | #endif
|
---|
100 | //
|
---|
101 | // all versions have a <dirent.h>:
|
---|
102 | //
|
---|
103 | #if !defined(__STRICT_ANSI__)
|
---|
104 | # define BOOST_HAS_DIRENT_H
|
---|
105 | #endif
|
---|
106 | //
|
---|
107 | // all versions support __declspec:
|
---|
108 | //
|
---|
109 | #if !defined(__STRICT_ANSI__)
|
---|
110 | # define BOOST_HAS_DECLSPEC
|
---|
111 | #endif
|
---|
112 | //
|
---|
113 | // ABI fixing headers:
|
---|
114 | //
|
---|
115 | #ifndef BOOST_ABI_PREFIX
|
---|
116 | # define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp"
|
---|
117 | #endif
|
---|
118 | #ifndef BOOST_ABI_SUFFIX
|
---|
119 | # define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp"
|
---|
120 | #endif
|
---|
121 | //
|
---|
122 | // Disable Win32 support in ANSI mode:
|
---|
123 | //
|
---|
124 | # pragma defineonoption BOOST_DISABLE_WIN32 -A
|
---|
125 | //
|
---|
126 | // MSVC compatibility mode does some nasty things:
|
---|
127 | // TODO: look up if this doesn't apply to the whole 12xx range
|
---|
128 | //
|
---|
129 | #if defined(_MSC_VER) && (_MSC_VER <= 1200)
|
---|
130 | # define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
|
---|
131 | # define BOOST_NO_VOID_RETURNS
|
---|
132 | #endif
|
---|
133 |
|
---|
134 | #define BOOST_COMPILER "CodeGear C++ version " BOOST_STRINGIZE(__CODEGEARC__)
|
---|
135 |
|
---|