~ubuntu-branches/ubuntu/warty/aqsis/warty

« back to all changes in this revision

Viewing changes to boost/boost/config/compiler/borland.hpp

  • Committer: Bazaar Package Importer
  • Author(s): LaMont Jones
  • Date: 2004-08-24 07:25:04 UTC
  • Revision ID: james.westby@ubuntu.com-20040824072504-zf993vnevvisdsvb
Tags: upstream-0.9.1
ImportĀ upstreamĀ versionĀ 0.9.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
//  (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
 
2
//  distribute this software is granted provided this copyright notice appears
 
3
//  in all copies. This software is provided "as is" without express or implied
 
4
//  warranty, and with no claim as to its suitability for any purpose.
 
5
 
 
6
//  See http://www.boost.org for most recent version.
 
7
 
 
8
//  Borland C++ compiler setup:
 
9
 
 
10
// Version 5.0 and below:
 
11
#   if __BORLANDC__ <= 0x0550
 
12
// Borland C++Builder 4 and 5:
 
13
#     define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
 
14
#     if __BORLANDC__ == 0x0550
 
15
// Borland C++Builder 5, command-line compiler 5.5:
 
16
#       define BOOST_NO_OPERATORS_IN_NAMESPACE
 
17
#     endif
 
18
#   endif
 
19
 
 
20
// Version 5.51 and below:
 
21
#if (__BORLANDC__ <= 0x551)
 
22
#  define BOOST_NO_CV_SPECIALIZATIONS
 
23
#  define BOOST_NO_CV_VOID_SPECIALIZATIONS
 
24
#  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
 
25
#endif
 
26
 
 
27
// Version 7.0 (Kylix) and below:
 
28
#if (__BORLANDC__ <= 0x570) || !defined(BOOST_STRICT_CONFIG)
 
29
#  define BOOST_NO_INTEGRAL_INT64_T
 
30
#  define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
 
31
#  define BOOST_NO_PRIVATE_IN_AGGREGATE
 
32
#  define BOOST_NO_USING_TEMPLATE
 
33
#  define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
 
34
#  define BOOST_NO_TEMPLATE_TEMPLATES
 
35
   // we shouldn't really need this - but too many things choke
 
36
   // without it, this needs more investigation:
 
37
#  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
 
38
 
 
39
//
 
40
// new bug in 5.61:
 
41
#if __BORLANDC__ >= 0x561
 
42
   // this seems to be needed by the command line compiler, but not the IDE:
 
43
#  define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
 
44
#endif
 
45
 
 
46
#  ifdef _WIN32
 
47
#     define BOOST_NO_SWPRINTF
 
48
#  elif defined(linux) || defined(__linux__) || defined(__linux)
 
49
      // we should really be able to do without this
 
50
      // but the wcs* functions aren't imported into std::
 
51
#     define BOOST_NO_STDC_NAMESPACE
 
52
      // _CPPUNWIND doesn't get automatically set for some reason:
 
53
#     pragma defineonoption BOOST_CPPUNWIND -x
 
54
#  endif
 
55
#endif
 
56
 
 
57
//
 
58
// Post 0x561 we have long long and stdint.h:
 
59
#if __BORLANDC__ >= 0x561
 
60
#  define BOOST_HAS_LONG_LONG
 
61
   // On non-Win32 platforms let the platform config figure this out:
 
62
#  ifdef _WIN32
 
63
#      define BOOST_HAS_STDINT_H
 
64
#  endif
 
65
#endif
 
66
 
 
67
// Borland C++Builder 6 defaults to using STLPort.  If _USE_OLD_RW_STL is
 
68
// defined, then we have 0x560 or greater with the Rogue Wave implementation
 
69
// which presumably has the std::DBL_MAX bug.
 
70
#if ((__BORLANDC__ >= 0x550) && (__BORLANDC__ < 0x560)) || defined(_USE_OLD_RW_STL)
 
71
// <climits> is partly broken, some macros define symbols that are really in
 
72
// namespace std, so you end up having to use illegal constructs like
 
73
// std::DBL_MAX, as a fix we'll just include float.h and have done with:
 
74
#include <float.h>
 
75
#endif
 
76
//
 
77
// __int64:
 
78
//
 
79
#if __BORLANDC__ >= 0x530
 
80
#  define BOOST_HAS_MS_INT64
 
81
#endif
 
82
//
 
83
// check for exception handling support:
 
84
//
 
85
#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND)
 
86
#  define BOOST_NO_EXCEPTIONS
 
87
#endif
 
88
//
 
89
// all versions have a <dirent.h>:
 
90
//
 
91
#define BOOST_HAS_DIRENT_H
 
92
//
 
93
// Disable Win32 support in ANSI mode:
 
94
//
 
95
#pragma defineonoption BOOST_DISABLE_WIN32 -A
 
96
 
 
97
#define BOOST_COMPILER "Borland C++ version " BOOST_STRINGIZE(__BORLANDC__)
 
98
 
 
99
//
 
100
// versions check:
 
101
// we don't support Borland prior to version 5.4:
 
102
#if __BORLANDC__ < 0x540
 
103
#  error "Compiler not supported or configured - please reconfigure"
 
104
#endif
 
105
//
 
106
// last known and checked version is 5.7 (Kylix 3):
 
107
#if (__BORLANDC__ > 0x570)
 
108
#  if defined(BOOST_ASSERT_CONFIG)
 
109
#     error "Unknown compiler version - please run the configure tests and report the results"
 
110
#  else
 
111
#     pragma message( "Unknown compiler version - please run the configure tests and report the results")
 
112
#  endif
 
113
#endif
 
114
 
 
115
 
 
116
 
 
117
 
 
118
 
 
119