summaryrefslogtreecommitdiff
path: root/ace/config-win32-borland.h
diff options
context:
space:
mode:
Diffstat (limited to 'ace/config-win32-borland.h')
-rw-r--r--ace/config-win32-borland.h76
1 files changed, 63 insertions, 13 deletions
diff --git a/ace/config-win32-borland.h b/ace/config-win32-borland.h
index 16c2c3188e2..3e93b6714dc 100644
--- a/ace/config-win32-borland.h
+++ b/ace/config-win32-borland.h
@@ -11,7 +11,35 @@
#error Use config-win32.h in config.h instead of this header
#endif /* ACE_CONFIG_WIN32_H */
-#include "config-borland-common.h"
+#if (__BORLANDC__ < 0x593)
+#error This version of CodeGear C++ is not supported.
+#endif
+
+#define ACE_HAS_CUSTOM_EXPORT_MACROS
+#define ACE_Proper_Export_Flag __declspec (dllexport)
+#define ACE_Proper_Import_Flag __declspec (dllimport)
+#define ACE_EXPORT_SINGLETON_DECLARATION(T) template class __declspec (dllexport) T
+#define ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) template class __declspec (dllexport) SINGLETON_TYPE<CLASS, LOCK>;
+#define ACE_IMPORT_SINGLETON_DECLARATION(T) template class __declspec (dllimport) T
+#define ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) template class __declspec (dllimport) SINGLETON_TYPE <CLASS, LOCK>;
+
+// In later versions of C++Builder we will prefer inline functions by
+// default. The debug configuration of ACE is built with functions
+// out-of-line, so when linking your application against a debug ACE
+// build, you can choose to use the out-of-line functions by adding
+// ACE_NO_INLINE=1 to your project settings.
+# if !defined (__ACE_INLINE__)
+# define __ACE_INLINE__ 1
+# endif /* __ACE_INLINE__ */
+
+# define ACE_CC_NAME ACE_TEXT ("Borland C++ Builder")
+# define ACE_CC_MAJOR_VERSION (__BORLANDC__ / 0x100)
+# define ACE_CC_MINOR_VERSION (__BORLANDC__ % 0x100)
+# define ACE_CC_BETA_VERSION (0)
+
+# ifndef ACE_USING_MCPP_PREPROCESSOR
+# define ACE_CC_PREPROCESSOR_ARGS "-q -P- -o%s"
+# endif
// Automatically define WIN32 macro if the compiler tells us it is our
// target platform.
@@ -30,16 +58,10 @@
# include "ace/config-win32-common.h"
-// Borland on win32 has swab
-# undef ACE_LACKS_SWAB
-
# define ACE_WSTRING_HAS_USHORT_SUPPORT 1
# define ACE_HAS_DIRENT
-#ifdef ACE_USES_STD_NAMESPACE_FOR_STDC_LIB
-#undef ACE_USES_STD_NAMESPACE_FOR_STDC_LIB
#define ACE_USES_STD_NAMESPACE_FOR_STDC_LIB 1
-#endif
#define ACE_NEEDS_DL_UNDERSCORE
@@ -84,6 +106,29 @@
#define ACE_LACKS_STRRECVFD
#define ACE_USES_EXPLICIT_STD_NAMESPACE
+# define ACE_EXPORT_NESTED_CLASSES 1
+# define ACE_HAS_CPLUSPLUS_HEADERS 1
+# define ACE_HAS_EXCEPTIONS
+# define ACE_HAS_GNU_CSTRING_H 1
+# define ACE_HAS_NONCONST_SELECT_TIMEVAL
+# define ACE_HAS_SIG_ATOMIC_T
+# define ACE_HAS_STANDARD_CPP_LIBRARY 1
+# define ACE_HAS_STDCPP_STL_INCLUDES 1
+# define ACE_HAS_STRERROR
+# define ACE_HAS_STRING_CLASS 1
+# define ACE_HAS_TEMPLATE_TYPEDEFS 1
+# define ACE_HAS_USER_MODE_MASKS 1
+# define ACE_LACKS_ACE_IOSTREAM 1
+# define ACE_LACKS_LINEBUFFERED_STREAMBUF 1
+# define ACE_LACKS_PRAGMA_ONCE 1
+# define ACE_HAS_NEW_NOTHROW
+# define ACE_TEMPLATES_REQUIRE_SOURCE 1
+# define ACE_SIZEOF_LONG_DOUBLE 10
+# define ACE_UINT64_FORMAT_SPECIFIER_ASCII "%Lu"
+# define ACE_INT64_FORMAT_SPECIFIER_ASCII "%Ld"
+# define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1
+# define ACE_ENDTHREADEX(STATUS) ::_endthreadex ((DWORD) STATUS)
+
#if defined(ACE_MT_SAFE) && (ACE_MT_SAFE != 0)
// must have _MT defined to include multithreading
// features from win32 headers
@@ -95,19 +140,22 @@
# endif /* !_MT && !ACE_HAS_WINCE */
#endif /* ACE_MT_SAFE && ACE_MT_SAFE != 0 */
-#if (__BORLANDC__ < 0x580)
-# define ACE_LACKS_INTPTR_T
-# define ACE_HAS_NONCONST_SWAB
-# define ACE_HAS_NONCONST_FDOPEN
-#endif
-
#if (__BORLANDC__ < 0x610)
# define ACE_HAS_NONCONST_TEMPNAM
+# define ACE_LACKS_STRTOLL
+# define ACE_LACKS_WCSTOLL
# define ACE_LACKS_STRTOULL
# define ACE_LACKS_WCSTOULL
#endif
#if (__BORLANDC__ <= 0x610)
+# define ACE_LACKS_ISBLANK
+# define ACE_LACKS_ISWBLANK
+# define ACE_LACKS_ISCTYPE
+# define ACE_LACKS_ISWCTYPE
+#endif
+
+#if (__BORLANDC__ <= 0x610)
// Older Borland compilers can't handle assembly in inline methods or
// templates (E2211). When we build for pentium optimized and we are inlining
// then we disable inline assembly
@@ -116,9 +164,11 @@
# endif
#endif
+
#define ACE_WCSDUP_EQUIVALENT ::_wcsdup
#define ACE_STRCASECMP_EQUIVALENT ::stricmp
#define ACE_STRNCASECMP_EQUIVALENT ::strnicmp
+#define ACE_WTOF_EQUIVALENT ::_wtof
#define ACE_HAS_ITOA 1
#include /**/ "ace/post.h"