summaryrefslogtreecommitdiff
path: root/ace/config-win32-borland.h
blob: da4f60494a2890a2f0b5ed4b9b6efbab56286da6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
/* -*- C++ -*- */
// $Id$

// The following configuration file contains the defines
// common to all Borland compilers.  Do not include this file directly
// -- just include config-win32-common.h, which includes this file.

#ifndef ACE_WIN32_BORLAND_H
#define ACE_WIN32_BORLAND_H

# if defined (__BORLANDC__)

# define ACE_CC_NAME "Borland C++ Builder"
# define ACE_CC_MAJOR_VERSION (__BORLANDC__ / 0x100)
# define ACE_CC_MINOR_VERSION (__BORLANDC__ % 0x100)
# define ACE_CC_BETA_VERSION  (0)

#   if defined (ACE_LACKS_MODE_MASKS)
#     undef ACE_LACKS_MODE_MASKS
#   endif /* defined (ACE_LACKS_MODE_MASKS) */
#   define ACE_LACKS_MODE_MASKS 1

#   if defined (ACE_HAS_USER_MODE_MASKS)
#     undef ACE_HAS_USER_MODE_MASKS
#   endif /* defined (ACE_HAS_USER_MODE_MASKS) */
#   define ACE_HAS_USER_MODE_MASKS 1

#   if (__BORLANDC__ < 0x540)
#     if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
#       undef ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION
#     endif /* defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) */
#     define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION 1
#   endif /* (__BORLANDC__ < 0x540) */

#   if defined (ACE_EXPORT_NESTED_CLASSES)
#     undef ACE_EXPORT_NESTED_CLASSES
#   endif /* defined (ACE_EXPORT_NESTED_CLASSES) */
#   define ACE_EXPORT_NESTED_CLASSES

#   if defined (ACE_HAS_NONCONST_SELECT_TIMEVAL)
#     undef ACE_HAS_NONCONST_SELECT_TIMEVAL
#   endif /* defined (ACE_HAS_NONCONST_SELECT_TIMEVAL) */
#   define ACE_HAS_NONCONST_SELECT_TIMEVAL 1

#   if (__BORLANDC__ < 0x540)
#     if defined (ACE_HAS_BROKEN_SAP_ANY)
#       undef ACE_HAS_BROKEN_SAP_ANY
#     endif /* defined (ACE_HAS_BROKEN_SAP_ANY) */
#     define ACE_HAS_BROKEN_SAP_ANY 1
#   endif /* (__BORLANDC__ < 0x540) */

/*
 * Definitions common to Borland C++ 5.x, Borland C++ Builder 3.x,
 * and C++ Builder 4.x.
 */
#   if (__BORLANDC__ >= 0x500)
#     if !defined (ACE_HAS_WINCE)
#       if defined (ACE_HAS_SIG_ATOMIC_T)
#         undef ACE_HAS_SIG_ATOMIC_T
#       endif /* defined (ACE_HAS_SIG_ATOMIC_T) */
#       define ACE_HAS_SIG_ATOMIC_T 1
#     endif /* !defined (ACE_HAS_WINCE) */

#     if defined (ACE_HAS_TYPENAME_KEYWORD)
#       undef ACE_HAS_TYPENAME_KEYWORD
#     endif /* defined (ACE_HAS_TYPENAME_KEYWORD) */
#     define ACE_HAS_TYPENAME_KEYWORD 1

#     if defined (ACE_SIZEOF_LONG_DOUBLE)
#       undef ACE_SIZEOF_LONG_DOUBLE
#     endif /* defined (ACE_SIZEOF_LONG_DOUBLE) */
#     define ACE_SIZEOF_LONG_DOUBLE 10

#     if defined (ACE_HAS_USING_KEYWORD)
#       undef ACE_HAS_USING_KEYWORD
#     endif /* defined (ACE_HAS_USING_KEYWORD) */
#     define ACE_HAS_USING_KEYWORD 1

#     if defined (ACE_HAS_STANDARD_CPP_LIBRARY)
#       undef ACE_HAS_STANDARD_CPP_LIBRARY
#     endif /* defined (ACE_HAS_STANDARD_CPP_LIBRARY) */
#     define ACE_HAS_STANDARD_CPP_LIBRARY 0
#   endif /* (__BORLANDC__ >= 0x500) */

/*
 * Definitions for Borland C++ Builder 3.x and C++ Builder 4.x.
 */
#   if (__BORLANDC__ >= 0x0530)

#     if defined (ACE_HAS_STANDARD_CPP_LIBRARY)
#       undef ACE_HAS_STANDARD_CPP_LIBRARY
#     endif /* defined (ACE_HAS_STANDARD_CPP_LIBRARY) */
#     define ACE_HAS_STANDARD_CPP_LIBRARY 1

#     if defined (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB)
#       undef ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB
#     endif /* defined (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB) */
#     define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1

#     if defined (ACE_NEW_THROWS_EXCEPTIONS)
#       undef ACE_NEW_THROWS_EXCEPTIONS
#     endif /* defined (ACE_NEW_THROWS_EXCEPTIONS) */
#     define ACE_NEW_THROWS_EXCEPTIONS 1

#     if defined (ACE_HAS_ANSI_CASTS)
#       undef ACE_HAS_ANSI_CASTS
#     endif /* defined (ACE_HAS_ANSI_CASTS) */
#     define ACE_HAS_ANSI_CASTS 1

#   endif /* (__BORLANDC__ >= 0x0530) */

/*
 * Definitions only for Borland C++ Builder 4.x
 */
#   if (__BORLANDC__ == 0x0540) 

// Compiler enforces need for 'template<>" when specializing template
// class methods.
#     define ACE_HAS_STD_TEMPLATE_SPECIALIZATION 

// Compiler enforces need for 'template<>" when specializing template
// class methods.
#     define ACE_HAS_STD_TEMPLATE_METHOD_SPECIALIZATION

#     if defined (ACE_HAS_TEMPLATE_TYPEDEFS)
#       undef ACE_HAS_TEMPLATE_TYPEDEFS
#     endif /* defined (ACE_HAS_TEMPLATE_TYPEDEFS) */
#     define ACE_HAS_TEMPLATE_TYPEDEFS 1

#     if defined (ACE_HAS_STRING_CLASS)
#       undef ACE_HAS_STRING_CLASS
#     endif /* defined (ACE_HAS_STRING_CLASS) */
#     define ACE_HAS_STRING_CLASS 1

#     if defined (ACE_HAS_STDCPP_STL_INCLUDES)
#       undef ACE_HAS_STDCPP_STL_INCLUDES
#     endif /* defined (ACE_HAS_STDCPP_STL_INCLUDES) */
#     define ACE_HAS_STDCPP_STL_INCLUDES 1

      /* ACE IOStreams don't work with standard C++ iostreams (yet) */
#     if defined (ACE_LACKS_ACE_IOSTREAM)
#       undef ACE_LACKS_ACE_IOSTREAM
#     endif /* defined (ACE_LACKS_ACE_IOSTREAM) */
#     define ACE_LACKS_ACE_IOSTREAM 1

      /* previously defined for MSVC */ 
#     if defined (ACE_HAS_WCHAR_TYPEDEFS_USHORT)
#       undef ACE_HAS_WCHAR_TYPEDEFS_USHORT
#     endif /* defined (ACE_HAS_WCHAR_TYPEDEFS_USHORT) */

      /* previously defined for MSVC */
#     if defined (ACE_HAS_BROKEN_NAMESPACES)
#       undef ACE_HAS_BROKEN_NAMESPACES
#     endif /* defined (ACE_HAS_BROKEN_NAMESPACES) */

      /* previously defined for MSVC */
#     if defined (ACE_HAS_WORKING_EXPLICIT_TEMPLATE_DESTRUCTOR)
#       undef ACE_HAS_WORKING_EXPLICIT_TEMPLATE_DESTRUCTOR
#     endif /* defined (ACE_HAS_WORKING_EXPLICIT_TEMPLATE_DESTRUCTOR) */

      /* include only forward declaration of iostreams */
#     if defined (ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION)
#       undef ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION
#     endif /* defined (ACE_HAS_STDCPP_STL_INCLUDES) */
#     define ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION 1

      /* need to ensure these are included before <iomanip> */
#     include <time.h>
#     include <stdlib.h>

#   endif /* (__BORLANDC__ == 0x0540) */

# endif /* defined(__BORLANDC__) */

#endif /* ACE_WIN32_BORLAND_H */