Correct feature names
[ACE_TAO.git] / ACE / ace / config-win32-borland.h
blob88b54d708cd172160c2dd4b42d3eed43c376c18f
1 //-*- C++ -*-
2 // The following configuration file contains defines for Borland compilers.
4 #ifndef ACE_CONFIG_WIN32_BORLAND_H
5 #define ACE_CONFIG_WIN32_BORLAND_H
6 #include /**/ "ace/pre.h"
8 #ifndef ACE_CONFIG_WIN32_H
9 #error Use config-win32.h in config.h instead of this header
10 #endif /* ACE_CONFIG_WIN32_H */
12 #define ACE_HAS_CUSTOM_EXPORT_MACROS 1
13 #define ACE_Proper_Export_Flag __declspec (dllexport)
14 #define ACE_Proper_Import_Flag __declspec (dllimport)
15 #define ACE_EXPORT_SINGLETON_DECLARATION(T) template class __declspec (dllexport) T
16 #define ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) template class __declspec (dllexport) SINGLETON_TYPE<CLASS, LOCK>;
17 #define ACE_IMPORT_SINGLETON_DECLARATION(T) template class __declspec (dllimport) T
18 #define ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) template class __declspec (dllimport) SINGLETON_TYPE <CLASS, LOCK>;
20 // In later versions of C++Builder we will prefer inline functions by
21 // default. The debug configuration of ACE is built with functions
22 // out-of-line, so when linking your application against a debug ACE
23 // build, you can choose to use the out-of-line functions by adding
24 // ACE_NO_INLINE=1 to your project settings.
25 # if !defined (__ACE_INLINE__)
26 # define __ACE_INLINE__ 1
27 # endif /* __ACE_INLINE__ */
29 # define ACE_CC_NAME ACE_TEXT ("Embarcadero C++ Builder")
30 # define ACE_CC_MAJOR_VERSION (__BORLANDC__ / 0x100)
31 # define ACE_CC_MINOR_VERSION (__BORLANDC__ % 0x100)
32 # define ACE_CC_BETA_VERSION (0)
34 #if (__BORLANDC__ >= 0x620)
35 # define ACE_CC_PREPROCESSOR_ARGS "-q -Sl -o%s"
36 #endif
38 #if !defined (WIN32)
39 # if defined (__WIN32__) || defined (_WIN32)
40 # define WIN32 1
41 # endif
42 #endif
44 // When building a VCL application, the main VCL header file should be
45 // included before anything else. You can define ACE_HAS_VCL=1 in your
46 // project settings to have this file included for you automatically.
47 # if defined (ACE_HAS_VCL) && (ACE_HAS_VCL != 0)
48 # include /**/ <vcl.h>
49 # endif
51 #if defined (_WIN64)
52 # define ACE_HAS_BCC64
53 #else
54 # define ACE_HAS_BCC32
55 #endif
57 #if defined (ACE_HAS_BCC64)
58 // Use 32bit pre processor because cpp64 doesn't have the same
59 // options
60 # define ACE_CC_PREPROCESSOR "CPP32.EXE"
61 #else
62 # define ACE_CC_PREPROCESSOR "CPP32.EXE"
63 #endif
65 # include "ace/config-win32-common.h"
67 # define ACE_WSTRING_HAS_USHORT_SUPPORT 1
68 # define ACE_HAS_DIRENT
70 #define ACE_USES_STD_NAMESPACE_FOR_STDC_LIB 1
72 #define ACE_LACKS_TERMIOS_H
73 #define ACE_LACKS_NETINET_TCP_H
74 #define ACE_LACKS_REGEX_H
75 #define ACE_LACKS_SYS_MSG_H
76 #define ACE_LACKS_PWD_H
77 #define ACE_LACKS_POLL_H
78 #define ACE_LACKS_SYS_SHM_H
79 #define ACE_LACKS_STRINGS_H
80 #define ACE_LACKS_SEMAPHORE_H
81 #define ACE_LACKS_INTTYPES_H
82 #define ACE_LACKS_UCONTEXT_H
83 #define ACE_LACKS_SYS_SELECT_H
84 #define ACE_LACKS_SYS_TIME_H
85 #define ACE_LACKS_SYS_RESOURCE_H
86 #define ACE_LACKS_SYS_WAIT_H
87 #define ACE_LACKS_DLFCN_H
88 #define ACE_LACKS_SYS_MMAN_H
89 #define ACE_LACKS_SYS_UIO_H
90 #define ACE_LACKS_SYS_SOCKET_H
91 #define ACE_LACKS_NETINET_IN_H
92 #define ACE_LACKS_NETDB_H
93 #define ACE_LACKS_NET_IF_H
94 #define ACE_LACKS_SYS_IPC_H
95 #define ACE_LACKS_SYS_SEM_H
96 #define ACE_LACKS_SYS_IOCTL_H
97 #define ACE_LACKS_STROPTS_H
98 #define ACE_LACKS_WCSRTOMBS
100 #undef ACE_LACKS_STRUCT_DIR
101 #undef ACE_LACKS_CLOSEDIR
102 #undef ACE_LACKS_OPENDIR
103 #undef ACE_LACKS_READDIR
104 #undef ACE_LACKS_REWINDDIR
106 #define ACE_HAS_WOPENDIR
107 #define ACE_HAS_WCLOSEDIR
108 #define ACE_HAS_WREADDIR
109 #define ACE_HAS_WREWINDDIR
111 #define ACE_LACKS_STRRECVFD
112 #define ACE_USES_EXPLICIT_STD_NAMESPACE
114 #if defined (ACE_HAS_BCC64)
115 # define ACE_HAS_TIME_T_LONG_MISMATCH
116 #endif
118 #define ACE_HAS_CPLUSPLUS_HEADERS 1
119 #define ACE_HAS_NONCONST_SELECT_TIMEVAL
120 #define ACE_HAS_SIG_ATOMIC_T
121 #define ACE_HAS_STANDARD_CPP_LIBRARY 1
122 #define ACE_HAS_STDCPP_STL_INCLUDES 1
123 #define ACE_HAS_STRING_CLASS 1
124 #define ACE_HAS_USER_MODE_MASKS 1
125 #define ACE_LACKS_ACE_IOSTREAM 1
126 #define ACE_LACKS_LINEBUFFERED_STREAMBUF 1
127 #define ACE_HAS_NEW_NOTHROW
128 #define ACE_TEMPLATES_REQUIRE_SOURCE 1
129 #if defined (ACE_HAS_BCC32)
130 # define ACE_UINT64_FORMAT_SPECIFIER_ASCII "%Lu"
131 # define ACE_INT64_FORMAT_SPECIFIER_ASCII "%Ld"
132 #endif
133 #define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1
134 #define ACE_USES_STD_NAMESPACE_FOR_ABS 1
135 #define ACE_ENDTHREADEX(STATUS) ::_endthreadex ((DWORD) STATUS)
137 #if defined(ACE_MT_SAFE) && (ACE_MT_SAFE != 0)
138 // must have _MT defined to include multithreading
139 // features from win32 headers
140 # if !defined(__MT__)
141 // *** DO NOT *** defeat this error message by defining __MT__ yourself.
142 // You must link with the multi threaded libraries. Add -tWM to your
143 // compiler options
144 # error You must link against multi-threaded libraries when using ACE (check your project settings)
145 # endif /* !__MT__ */
146 #endif /* ACE_MT_SAFE && ACE_MT_SAFE != 0 */
148 #if (__BORLANDC__ <= 0x750)
149 # define ACE_LACKS_ISWCTYPE
150 # define ACE_LACKS_ISCTYPE
151 #endif
153 #if (__BORLANDC__ >= 0x640) && (__BORLANDC__ <= 0x750)
154 # define ACE_LACKS_STRTOK_R
155 #endif
157 #if (__BORLANDC__ <= 0x740)
158 # define ACE_LACKS_LOCALTIME_R
159 # define ACE_LACKS_GMTIME_R
160 #endif
162 #if (__BORLANDC__ <= 0x750)
163 # define ACE_LACKS_ASCTIME_R
164 #endif
166 #define ACE_WCSDUP_EQUIVALENT ::_wcsdup
167 #define ACE_STRCASECMP_EQUIVALENT ::stricmp
168 #define ACE_STRNCASECMP_EQUIVALENT ::strnicmp
169 #define ACE_WTOF_EQUIVALENT ::_wtof
170 #define ACE_FILENO_EQUIVALENT(X) (_get_osfhandle (::_fileno (X)))
171 #define ACE_HAS_ITOA 1
173 #if defined (ACE_HAS_BCC64)
174 # if (__BORLANDC__ <= 0x730)
175 # define ACE_LACKS_SWAB
176 # endif
177 #endif
179 #if defined (ACE_HAS_BCC32)
180 // The bcc32 compiler can't handle assembly in inline methods or
181 // templates (E2211). When we build for pentium optimized and we are inlining
182 // then we disable inline assembly
183 # if defined (ACE_HAS_PENTIUM) && defined(__ACE_INLINE__) && !defined(__clang__)
184 # define ACE_LACKS_INLINE_ASSEMBLY
185 # endif
186 # define ACE_SIZEOF_LONG_DOUBLE 10
187 # define ACE_NEEDS_DL_UNDERSCORE
188 #endif
190 #ifdef __clang__
191 # define ACE_ANY_OPS_USE_NAMESPACE
192 # define ACE_HAS_BUILTIN_BSWAP16
193 # define ACE_HAS_BUILTIN_BSWAP32
194 # define ACE_HAS_BUILTIN_BSWAP64
195 # define ACE_LACKS_INLINE_ASSEMBLY
197 # if __cplusplus >= 201103L
198 # define ACE_HAS_CPP11
199 # endif
200 # if __cplusplus >= 201402L
201 # define ACE_HAS_CPP14
202 # endif
203 # if __cplusplus >= 201703L
204 # define ACE_HAS_CPP17
205 # endif
206 # if __cplusplus >= 202002L
207 # define ACE_HAS_CPP20
208 # endif
209 #endif /* __clang__ */
211 #include /**/ "ace/post.h"
212 #endif /* ACE_CONFIG_WIN32_BORLAND_H */