summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrunsch <brunsch@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-03-07 02:18:08 +0000
committerbrunsch <brunsch@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-03-07 02:18:08 +0000
commitf705a1c3b9a68e8a3ee664e8ff20a1e27dccd8a2 (patch)
tree2a4e8db3f4bc2db69b0f1b2c974a41b41d628724
parenta0dfb8a29cdb4588ca6d25dbb8587d152bfb9c95 (diff)
downloadATCD-f705a1c3b9a68e8a3ee664e8ff20a1e27dccd8a2.tar.gz
ChangeLogTag:Tue Mar 6 14:14:06 2001 Darrell Brunsch <brunsch@uci.edu>
-rw-r--r--ace/README2
-rw-r--r--ace/config-WinCE.h6
-rw-r--r--ace/config-hpux-10.x-hpc++.h3
-rw-r--r--ace/config-hpux-11.00.h3
-rw-r--r--ace/config-win32-borland.h19
-rw-r--r--ace/config-win32-common.h18
-rw-r--r--ace/config-win32-ghs.h17
-rw-r--r--ace/config-win32-msvc-5.h185
-rw-r--r--ace/config-win32-msvc-6.h179
-rw-r--r--ace/config-win32-msvc-7.h119
-rw-r--r--ace/config-win32-msvc.h250
-rw-r--r--ace/config-win32-visualage.h32
-rw-r--r--ace/config-win32.h78
13 files changed, 616 insertions, 295 deletions
diff --git a/ace/README b/ace/README
index 4cbfc645690..7ca0c70e20f 100644
--- a/ace/README
+++ b/ace/README
@@ -115,8 +115,6 @@ ACE_THREAD_MANAGER_USES_SAFE_SPAWN Disable the "check before lock" feature
reordering.
ACE_HAS_GNUG_PRE_2_8 Compiling with g++ prior to
version 2.8.0.
-ACE_HAS_ONE_DEFINITION_RULE Compiler enforces C++ One
- Definition Rule
ACE_HAS_PRIOCNTL OS has priocntl (2).
ACE_HAS_RECURSIVE_MUTEXES Mutexes are inherently recursive (e.g., Win32)
ACE_HAS_RECV_TIMEDWAIT Platform has the MIT pthreads
diff --git a/ace/config-WinCE.h b/ace/config-WinCE.h
index 7c0405df3a6..ca0281675a9 100644
--- a/ace/config-WinCE.h
+++ b/ace/config-WinCE.h
@@ -4,6 +4,10 @@
#define ACE_CONFIG_WINCE_H
#include "ace/pre.h"
+#ifndef ACE_CONFIG_WIN32_H
+#error Use config-win32.h in config.h instead of this header
+#endif /* ACE_CONFIG_WIN32_H */
+
#if !defined (UNDER_CE)
#error Define UNDER_CE to version (i.e. 300 = 3.0)
#endif /* UNDER_CE */
@@ -226,5 +230,7 @@ typedef long off_t;
inline void *operator new (unsigned int, void *p) { return p; }
#endif /* ACE_HAS_MFC */
+#define ACE_ENDTHREADEX(STATUS) ExitThread ((DWORD) STATUS)
+
#include "ace/post.h"
#endif /* ACE_CONFIG_WINCE_H */
diff --git a/ace/config-hpux-10.x-hpc++.h b/ace/config-hpux-10.x-hpc++.h
index 360b80082a4..006ecd8fcf1 100644
--- a/ace/config-hpux-10.x-hpc++.h
+++ b/ace/config-hpux-10.x-hpc++.h
@@ -73,9 +73,6 @@
# define ACE_HAS_EXCEPTIONS
# endif /* __HPACC_NOEH */
-// Compiler enforces the "One Definition Rule"
-# define ACE_HAS_ONE_DEFINITION_RULE
-
// Compiler enforces need for 'template<>" when specializing template
// classes.
# define ACE_HAS_STD_TEMPLATE_SPECIALIZATION
diff --git a/ace/config-hpux-11.00.h b/ace/config-hpux-11.00.h
index 39ef2c9ab5b..af3ffe1bd09 100644
--- a/ace/config-hpux-11.00.h
+++ b/ace/config-hpux-11.00.h
@@ -80,9 +80,6 @@
// By default, it is set in wrapper_macros.GNU.
// # define ACE_HAS_EXCEPTIONS 1
-// Compiler enforces the "One Definition Rule"
-# define ACE_HAS_ONE_DEFINITION_RULE
-
# define ACE_HAS_TYPENAME_KEYWORD
// Compiler implements templates that support typedefs inside of classes
diff --git a/ace/config-win32-borland.h b/ace/config-win32-borland.h
index 5887ef8c6d7..68faa754021 100644
--- a/ace/config-win32-borland.h
+++ b/ace/config-win32-borland.h
@@ -3,11 +3,19 @@
// The following configuration file contains defines for Borland compilers.
-#ifndef ACE_WIN32_BORLAND_H
-#define ACE_WIN32_BORLAND_H
+#ifndef ACE_CONFIG_WIN32_BORLAND_H
+#define ACE_CONFIG_WIN32_BORLAND_H
#include "ace/pre.h"
-#if defined (__BORLANDC__)
+#ifndef ACE_CONFIG_WIN32_H
+#error Use config-win32.h in config.h instead of this header
+#endif /* ACE_CONFIG_WIN32_H */
+
+# if defined (ACE_HAS_PACE)
+# ifndef PACE_HAS_ALL_POSIX_FUNCS
+# define PACE_HAS_ALL_POSIX_FUNCS 1
+# endif /* PACE_HAS_ALL_POSIX_FUNCS */
+# endif /* ACE_HAS_PACE */
# if (__BORLANDC__ == 0x540)
// The linker in C++Builder 4 has trouble with the large number of DLL
@@ -55,7 +63,6 @@
# define ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION 1
# define ACE_HAS_MUTABLE_KEYWORD 1
# define ACE_HAS_NONCONST_SELECT_TIMEVAL 1
-# define ACE_HAS_ONE_DEFINITION_RULE 1
# define ACE_HAS_SIG_ATOMIC_T 1
# define ACE_HAS_STANDARD_CPP_LIBRARY 1
# if (__BORLANDC__ <= 0x540)
@@ -88,7 +95,7 @@
# define ACE_USES_STD_NAMESPACE_FOR_STDC_LIB 1
# define ACE_WSTRING_HAS_USHORT_SUPPORT 1
-#endif /* defined(__BORLANDC__) */
+# define ACE_ENDTHREADEX(STATUS) ::_endthreadex ((DWORD) STATUS)
#include "ace/post.h"
-#endif /* ACE_WIN32_BORLAND_H */
+#endif /* ACE_CONFIG_WIN32_BORLAND_H */
diff --git a/ace/config-win32-common.h b/ace/config-win32-common.h
index 456d6f53476..6f29a75994b 100644
--- a/ace/config-win32-common.h
+++ b/ace/config-win32-common.h
@@ -1,14 +1,14 @@
/* -*- C++ -*- */
// $Id$
-// The following configuration file is designed to work for Windows 95,
-// Windows NT 3.51 and Windows NT 4.0 platforms using the Microsoft Visual C++
-// compilers 2.0, 4.0, 4.1, 4.2, 5.0 and 6.0
-
-#ifndef ACE_WIN32_COMMON_H
-#define ACE_WIN32_COMMON_H
+#ifndef ACE_CONFIG_WIN32_COMMON_H
+#define ACE_CONFIG_WIN32_COMMON_H
#include "ace/pre.h"
+#ifndef ACE_CONFIG_WIN32_H
+#error Use config-win32.h in config.h instead of this header
+#endif /* ACE_CONFIG_WIN32_H */
+
// Complain if WIN32 is not already defined.
#if !defined (WIN32) && !defined (ACE_HAS_WINCE)
# error Please define WIN32 in your project settings.
@@ -20,7 +20,7 @@
// Setting applies to : building ACE
// Runtime restrictions: System must be Windows NT => 4.0
#if !defined (ACE_HAS_WINNT4)
-# define ACE_HAS_WINNT4 1 // assuming Win NT 4.0 or greater
+# define ACE_HAS_WINNT4 1 /* assuming Win NT 4.0 or greater */
#endif
#if (defined (ACE_HAS_WINNT4) && ACE_HAS_WINNT4 != 0)
@@ -226,7 +226,7 @@
// Green Hills Native x86 does not support __int64 keyword
#if !defined (ghs)
typedef unsigned __int64 ACE_UINT64;
-#endif // (ghs)
+#endif /* (ghs) */
// Optimize ACE_Handle_Set for select().
#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT
@@ -491,4 +491,4 @@ typedef unsigned __int64 ACE_UINT64;
#define ACE_HAS_MUTEX_TIMEOUTS
#include "ace/post.h"
-#endif /* ACE_WIN32_COMMON_H */
+#endif /* ACE_CONFIG_WIN32_COMMON_H */
diff --git a/ace/config-win32-ghs.h b/ace/config-win32-ghs.h
index 1e999f4a105..0b83b22e14d 100644
--- a/ace/config-win32-ghs.h
+++ b/ace/config-win32-ghs.h
@@ -3,11 +3,13 @@
// The following configuration file contains defines for Green Hills compilers.
-#ifndef ACE_WIN32_GHS_H
-#define ACE_WIN32_GHS_H
+#ifndef ACE_CONFIG_WIN32_GHS_H
+#define ACE_CONFIG_WIN32_GHS_H
#include "ace/pre.h"
-#if defined (ghs)
+#ifndef ACE_CONFIG_WIN32_H
+#error Use config-win32.h in config.h instead of this header
+#endif /* ACE_CONFIG_WIN32_H */
#ifndef WIN32
# define WIN32
@@ -22,7 +24,6 @@
#undef _DLL
#define ACE_OS_HAS_DLL 0
-# include "ace/config-win32-common.h"
//Green Hills Native x86 does not support structural exceptions
# undef ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS
# undef ACE_HAS_WCHAR
@@ -41,9 +42,7 @@
# undef ACE_LACKS_AUTO_PTR
// Microsoft's standard cpp library auto_ptr doesn't have reset ().
# define ACE_AUTO_PTR_LACKS_RESET
-// In earlier versions, the following line appeared in OS.cpp,
-// but has been moved to config-win32.h. Since ghs does not use
-// config-win32.h, the line must appear here.
+
#define ACE_ENDTHREADEX(STATUS) ::_endthreadex ((DWORD) STATUS)
// This section below was extracted from config-win32-msvc
@@ -63,7 +62,6 @@
# define ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION 1
# define ACE_HAS_MUTABLE_KEYWORD 1
# define ACE_HAS_NONCONST_SELECT_TIMEVAL 1
-# define ACE_HAS_ONE_DEFINITION_RULE 1
# define ACE_HAS_SIG_ATOMIC_T 1
# define ACE_HAS_STANDARD_CPP_LIBRARY 1
//# if (__BORLANDC__ <= 0x540)
@@ -104,7 +102,6 @@
# if !defined (ACE_LD_DECORATOR_STR) && defined (_DEBUG)
# define ACE_LD_DECORATOR_STR ACE_LIB_TEXT ("d")
# endif
-#endif /* defined(ghs) */
#include "ace/post.h"
-#endif /* ACE_WIN32_GHS_H */
+#endif /* ACE_CONFIG_WIN32_GHS_H */
diff --git a/ace/config-win32-msvc-5.h b/ace/config-win32-msvc-5.h
new file mode 100644
index 00000000000..c8aa3bed2b8
--- /dev/null
+++ b/ace/config-win32-msvc-5.h
@@ -0,0 +1,185 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file config-win32-msvc-7.h
+ *
+ * $Id$
+ *
+ * @brief Microsoft Visual C++ 5.0 configuration file.
+ *
+ * This file is the ACE configuration file for Microsoft Visual C++ version 5.
+ *
+ * @note Do not include this file directly, include config-win32.h instead.
+ *
+ * @author Darrell Brunsch <brunsch@cs.wustl.edu>
+ */
+//=============================================================================
+
+#ifndef ACE_CONFIG_WIN32_MSVC_5_H
+#define ACE_CONFIG_WIN32_MSVC_5_H
+#include "ace/pre.h"
+
+#ifndef ACE_CONFIG_WIN32_H
+#error Use config-win32.h in config.h instead of this header
+#endif /* ACE_CONFIG_WIN32_H */
+
+# if defined (ACE_HAS_PACE)
+# ifndef PACE_HAS_ALL_POSIX_FUNCS
+# define PACE_HAS_ALL_POSIX_FUNCS 1
+# endif /* PACE_HAS_ALL_POSIX_FUNCS */
+# endif /* ACE_HAS_PACE */
+
+# if !defined (ACE_HAS_STANDARD_CPP_LIBRARY)
+# define ACE_HAS_STANDARD_CPP_LIBRARY 0
+# endif
+
+// The STL that comes with ACE uses the std namespace. Note however, it is not
+// part of the standard C++ library
+# if !defined (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB)
+# define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1
+# endif /* ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB */
+
+# if !defined (ACE_HAS_BROKEN_NESTED_TEMPLATES)
+# define ACE_HAS_BROKEN_NESTED_TEMPLATES
+# endif /* ACE_HAS_BROKEN_NESTED_TEMPLATES */
+
+// By default, we disable the C++ casting because
+// it requires the RTTI support to be turned on which
+// is not something we usually do.
+# if !defined (ACE_HAS_ANSI_CASTS)
+# define ACE_HAS_ANSI_CASTS 0
+# endif
+
+# define ACE_HAS_EXPLICIT_KEYWORD
+# define ACE_HAS_MUTABLE_KEYWORD
+
+#define ACE_HAS_ITOA
+
+#define ACE_ITOA_EQUIVALENT ::_itoa
+#define ACE_STRCASECMP_EQUIVALENT ::_stricmp
+#define ACE_STRNCASECMP_EQUIVALENT ::_strnicmp
+#define ACE_WCSDUP_EQUIVALENT ::_wcsdup
+
+// VC5 doesn't support operator placement delete
+# if (_MSC_VER < 1200)
+# define ACE_LACKS_PLACEMENT_OPERATOR_DELETE
+# endif /* _MSC_VER < 1200 */
+
+# if !defined (ACE_HAS_WINCE)
+# define ACE_HAS_EXCEPTIONS
+# endif /* ACE_HAS_WINCE */
+# define ACE_HAS_BROKEN_NAMESPACES
+# define ACE_HAS_BROKEN_IMPLICIT_CONST_CAST
+# define ACE_HAS_WORKING_EXPLICIT_TEMPLATE_DESTRUCTOR
+
+# if defined (ACE_HAS_ANSI_CASTS) && (ACE_HAS_ANSI_CASTS == 0)
+# undef ACE_HAS_ANSI_CASTS
+# endif /* ACE_HAS_ANSI_CASTS && ACE_HAS_ANSI_CASTS == 0 */
+
+# if !defined (ACE_HAS_WINCE)
+# define ACE_HAS_SIG_ATOMIC_T
+# endif /* ACE_HAS_WINCE */
+
+// Only >= MSVC 6.0 definitions
+# if (_MSC_VER >= 1200)
+# define ACE_HAS_TYPENAME_KEYWORD
+# define ACE_HAS_STD_TEMPLATE_SPECIALIZATION
+# endif /* _MSC_VER >= 1200 */
+
+// Compiler doesn't support static data member templates.
+# define ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES
+
+# define ACE_LACKS_MODE_MASKS
+# define ACE_LACKS_STRRECVFD
+
+# if !defined (ACE_HAS_WINCE)
+# define ACE_HAS_LLSEEK
+# endif /* ACE_HAS_WINCE */
+
+// Compiler/platform has correctly prototyped header files.
+# define ACE_HAS_CPLUSPLUS_HEADERS
+
+// Platform supports POSIX timers via timestruc_t.
+//define ACE_HAS_POSIX_TIME
+# define ACE_HAS_STRPTIME
+# define ACE_LACKS_NATIVE_STRPTIME
+
+// Compiler/platform supports strerror ().
+# define ACE_HAS_STRERROR
+
+# define ACE_TEMPLATES_REQUIRE_SOURCE
+
+// Platform provides ACE_TLI function prototypes.
+// For Win32, this is not really true, but saves a lot of hassle!
+# define ACE_HAS_TLI_PROTOTYPES
+
+// Platform support linebuffered streaming is broken
+# define ACE_LACKS_LINEBUFFERED_STREAMBUF
+
+// Template specialization is supported.
+# define ACE_HAS_TEMPLATE_SPECIALIZATION
+
+// ----------------- "derived" defines and includes -----------
+
+# if defined (ACE_HAS_STANDARD_CPP_LIBRARY) && (ACE_HAS_STANDARD_CPP_LIBRARY != 0)
+
+// Platform has its Standard C++ library in the namespace std
+# if !defined (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB)
+# define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1
+# endif /* ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB */
+
+// Microsoft's auto_ptr in standard cpp library doesn't have reset ().
+# define ACE_AUTO_PTR_LACKS_RESET
+
+// ace/iostream.h does not work with the standard cpp library (yet).
+# if !defined (ACE_USES_OLD_IOSTREAMS)
+# define ACE_LACKS_ACE_IOSTREAM
+# endif /* ! ACE_USES_OLD_IOSTREAMS */
+# else
+// iostream header lacks ipfx (), isfx (), etc., declarations
+# define ACE_LACKS_IOSTREAM_FX
+# endif
+
+// While digging the MSVC 4.0 include files, I found how to disable
+// MSVC warnings: --Amos Shapira
+
+// "C4355: 'this' : used in base member initializer list"
+# pragma warning(disable:4355) /* disable C4514 warning */
+// #pragma warning(default:4355) // use this to reenable, if desired
+
+# pragma warning(disable:4201) /* winnt.h uses nameless structs */
+
+# pragma warning(disable:4231)
+// Disable warning of using Microsoft Extension.
+
+// MSVC allows throw keyword but complains about it.
+# pragma warning( disable : 4290 )
+
+
+// Compiler/Platform supports the "using" keyword.
+#define ACE_HAS_USING_KEYWORD
+
+# if !defined(ACE_HAS_WINCE)
+# if defined(ACE_HAS_DLL) && (ACE_HAS_DLL != 0)
+# if !defined(_DLL)
+// *** DO NOT *** DO NOT *** defeat this error message
+// by defining _DLL yourself. RTFM and see who set _DLL.
+# error You must link against (Debug) Multithreaded DLL run-time libraries.
+# endif /* !_DLL */
+# endif /* ACE_HAS_DLL && ACE_HAS_DLL != 0 */
+# endif /* !ACE_HAS_WINCE */
+
+# pragma warning(default: 4201) /* winnt.h uses nameless structs */
+
+// At least for Win32 - MSVC compiler (ver. 5)
+# define ACE_INT64_FORMAT_SPECIFIER ACE_LIB_TEXT ("%I64d")
+# define ACE_UINT64_FORMAT_SPECIFIER ACE_LIB_TEXT ("%I64u")
+
+# if !defined (ACE_LD_DECORATOR_STR) && defined (_DEBUG)
+# define ACE_LD_DECORATOR_STR ACE_LIB_TEXT ("d")
+# endif
+
+# define ACE_ENDTHREADEX(STATUS) ::_endthreadex ((DWORD) STATUS)
+
+#include "ace/post.h"
+#endif /* ACE_CONFIG_WIN32_MSVC_5_H */
diff --git a/ace/config-win32-msvc-6.h b/ace/config-win32-msvc-6.h
new file mode 100644
index 00000000000..77b80799431
--- /dev/null
+++ b/ace/config-win32-msvc-6.h
@@ -0,0 +1,179 @@
+
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file config-win32-msvc-7.h
+ *
+ * $Id$
+ *
+ * @brief Microsoft Visual C++ 6.0 configuration file.
+ *
+ * This file is the ACE configuration file for Microsoft Visual C++ version 6.
+ *
+ * @note Do not include this file directly, include config-win32.h instead.
+ *
+ * @author Darrell Brunsch <brunsch@cs.wustl.edu>
+ */
+//=============================================================================
+
+#ifndef ACE_CONFIG_WIN32_MSVC_6_H
+#define ACE_CONFIG_WIN32_MSVC_6_H
+#include "ace/pre.h"
+
+#ifndef ACE_CONFIG_WIN32_H
+#error Use config-win32.h in config.h instead of this header
+#endif /* ACE_CONFIG_WIN32_H */
+
+# if defined (ACE_HAS_PACE)
+# ifndef PACE_HAS_ALL_POSIX_FUNCS
+# define PACE_HAS_ALL_POSIX_FUNCS 1
+# endif /* PACE_HAS_ALL_POSIX_FUNCS */
+# endif /* ACE_HAS_PACE */
+
+# if !defined (ACE_HAS_STANDARD_CPP_LIBRARY)
+# define ACE_HAS_STANDARD_CPP_LIBRARY 0
+# endif
+
+// The STL that comes with ACE uses the std namespace. Note however, it is not
+// part of the standard C++ library
+# if !defined (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB)
+# define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1
+# endif /* ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB */
+
+# if !defined (ACE_HAS_BROKEN_NESTED_TEMPLATES)
+# define ACE_HAS_BROKEN_NESTED_TEMPLATES
+# endif /* ACE_HAS_BROKEN_NESTED_TEMPLATES */
+
+// By default, we disable the C++ casting because
+// it requires the RTTI support to be turned on which
+// is not something we usually do.
+# if !defined (ACE_HAS_ANSI_CASTS)
+# define ACE_HAS_ANSI_CASTS 0
+# endif
+
+// Keywords
+
+# define ACE_HAS_EXPLICIT_KEYWORD
+# define ACE_HAS_MUTABLE_KEYWORD
+# define ACE_HAS_TYPENAME_KEYWORD
+# define ACE_HAS_USING_KEYWORD
+
+
+
+#define ACE_HAS_ITOA
+
+#define ACE_ITOA_EQUIVALENT ::_itoa
+#define ACE_STRCASECMP_EQUIVALENT ::_stricmp
+#define ACE_STRNCASECMP_EQUIVALENT ::_strnicmp
+#define ACE_WCSDUP_EQUIVALENT ::_wcsdup
+
+# if !defined (ACE_HAS_WINCE)
+# define ACE_HAS_EXCEPTIONS
+# endif /* ACE_HAS_WINCE */
+
+# define ACE_HAS_BROKEN_NAMESPACES
+# define ACE_HAS_BROKEN_IMPLICIT_CONST_CAST
+# define ACE_HAS_WORKING_EXPLICIT_TEMPLATE_DESTRUCTOR
+# define ACE_HAS_STD_TEMPLATE_SPECIALIZATION
+
+# if defined (ACE_HAS_ANSI_CASTS) && (ACE_HAS_ANSI_CASTS == 0)
+# undef ACE_HAS_ANSI_CASTS
+# endif /* ACE_HAS_ANSI_CASTS && ACE_HAS_ANSI_CASTS == 0 */
+
+# if !defined (ACE_HAS_WINCE)
+# define ACE_HAS_SIG_ATOMIC_T
+# endif /* ACE_HAS_WINCE */
+
+
+// Compiler doesn't support static data member templates.
+# define ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES
+
+# define ACE_LACKS_MODE_MASKS
+# define ACE_LACKS_STRRECVFD
+
+# if !defined (ACE_HAS_WINCE)
+# define ACE_HAS_LLSEEK
+# endif /* ACE_HAS_WINCE */
+
+// Compiler/platform has correctly prototyped header files.
+# define ACE_HAS_CPLUSPLUS_HEADERS
+
+// Platform supports POSIX timers via timestruc_t.
+# define ACE_HAS_STRPTIME
+# define ACE_LACKS_NATIVE_STRPTIME
+
+// Compiler/platform supports strerror ().
+# define ACE_HAS_STRERROR
+
+# define ACE_TEMPLATES_REQUIRE_SOURCE
+
+// Platform provides ACE_TLI function prototypes.
+// For Win32, this is not really true, but saves a lot of hassle!
+# define ACE_HAS_TLI_PROTOTYPES
+
+// Platform support linebuffered streaming is broken
+# define ACE_LACKS_LINEBUFFERED_STREAMBUF
+
+// Template specialization is supported.
+# define ACE_HAS_TEMPLATE_SPECIALIZATION
+
+// ----------------- "derived" defines and includes -----------
+
+# if defined (ACE_HAS_STANDARD_CPP_LIBRARY) && (ACE_HAS_STANDARD_CPP_LIBRARY != 0)
+
+// Platform has its Standard C++ library in the namespace std
+# if !defined (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB)
+# define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1
+# endif /* ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB */
+
+// Microsoft's auto_ptr in standard cpp library doesn't have reset ().
+# define ACE_AUTO_PTR_LACKS_RESET
+
+// ace/iostream.h does not work with the standard cpp library (yet).
+# if !defined (ACE_USES_OLD_IOSTREAMS)
+# define ACE_LACKS_ACE_IOSTREAM
+# endif /* ! ACE_USES_OLD_IOSTREAMS */
+# else
+// iostream header lacks ipfx (), isfx (), etc., declarations
+# define ACE_LACKS_IOSTREAM_FX
+# endif
+
+// While digging the MSVC 4.0 include files, I found how to disable
+// MSVC warnings: --Amos Shapira
+
+// "C4355: 'this' : used in base member initializer list"
+# pragma warning(disable:4355) /* disable C4514 warning */
+// #pragma warning(default:4355) // use this to reenable, if desired
+
+# pragma warning(disable:4201) /* winnt.h uses nameless structs */
+
+# pragma warning(disable:4231)
+// Disable warning of using Microsoft Extension.
+
+// MSVC allows throw keyword but complains about it.
+# pragma warning( disable : 4290 )
+
+
+# if !defined(ACE_HAS_WINCE)
+# if defined(ACE_HAS_DLL) && (ACE_HAS_DLL != 0)
+# if !defined(_DLL)
+// *** DO NOT *** DO NOT *** defeat this error message
+// by defining _DLL yourself. RTFM and see who set _DLL.
+# error You must link against (Debug) Multithreaded DLL run-time libraries.
+# endif /* !_DLL */
+# endif /* ACE_HAS_DLL && ACE_HAS_DLL != 0 */
+# endif /* !ACE_HAS_WINCE */
+
+# pragma warning(default: 4201) /* winnt.h uses nameless structs */
+
+# define ACE_INT64_FORMAT_SPECIFIER ACE_LIB_TEXT ("%I64d")
+# define ACE_UINT64_FORMAT_SPECIFIER ACE_LIB_TEXT ("%I64u")
+
+# if !defined (ACE_LD_DECORATOR_STR) && defined (_DEBUG)
+# define ACE_LD_DECORATOR_STR ACE_LIB_TEXT ("d")
+# endif
+
+# define ACE_ENDTHREADEX(STATUS) ::_endthreadex ((DWORD) STATUS)
+
+#include "ace/post.h"
+#endif /* ACE_CONFIG_WIN32_MSVC_6_H */
diff --git a/ace/config-win32-msvc-7.h b/ace/config-win32-msvc-7.h
new file mode 100644
index 00000000000..14d7aaa2e43
--- /dev/null
+++ b/ace/config-win32-msvc-7.h
@@ -0,0 +1,119 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file config-win32-msvc-7.h
+ *
+ * $Id$
+ *
+ * @brief Microsoft Visual C++ 7.0 configuration file.
+ *
+ * This file is the ACE configuration file for Microsoft Visual C++ version 7.
+ *
+ * @note Do not include this file directly, include config-win32.h instead.
+ *
+ * @author Darrell Brunsch <brunsch@cs.wustl.edu>
+ */
+//=============================================================================
+
+#ifndef ACE_CONFIG_WIN32_MSVC_7_H
+#define ACE_CONFIG_WIN32_MSVC_7_H
+#include "ace/pre.h"
+
+#ifndef ACE_CONFIG_WIN32_H
+#error Use config-win32.h in config.h instead of this header
+#endif /* ACE_CONFIG_WIN32_H */
+
+// Visual C++ 7.0 (.NET) deprecated the old iostreams
+#if !defined (ACE_HAS_STANDARD_CPP_LIBRARY)
+#define ACE_HAS_STANDARD_CPP_LIBRARY 1
+#endif
+
+#if !defined (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB)
+#define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1
+#endif
+
+#if !defined (ACE_HAS_BROKEN_NESTED_TEMPLATES)
+#define ACE_HAS_BROKEN_NESTED_TEMPLATES
+#endif
+
+// By default, we disable the C++ casting because
+// it requires the RTTI support to be turned on which
+// is not something we usually do.
+#if !defined (ACE_HAS_ANSI_CASTS)
+#define ACE_HAS_ANSI_CASTS 0
+#endif
+
+#define ACE_HAS_EXPLICIT_KEYWORD
+#define ACE_HAS_MUTABLE_KEYWORD
+#define ACE_HAS_TYPENAME_KEYWORD
+
+#define ACE_HAS_ITOA
+
+#define ACE_HAS_BROKEN_NAMESPACES
+#define ACE_HAS_BROKEN_IMPLICIT_CONST_CAST
+#define ACE_HAS_WORKING_EXPLICIT_TEMPLATE_DESTRUCTOR
+
+#define ACE_ITOA_EQUIVALENT ::_itoa
+#define ACE_STRCASECMP_EQUIVALENT ::_stricmp
+#define ACE_STRNCASECMP_EQUIVALENT ::_strnicmp
+#define ACE_WCSDUP_EQUIVALENT ::_wcsdup
+
+#if !defined (ACE_HAS_WINCE)
+#define ACE_HAS_EXCEPTIONS
+#endif /* ACE_HAS_WINCE */
+
+#if defined (ACE_HAS_ANSI_CASTS) && (ACE_HAS_ANSI_CASTS == 0)
+#undef ACE_HAS_ANSI_CASTS
+#endif /* ACE_HAS_ANSI_CASTS && ACE_HAS_ANSI_CASTS == 0 */
+
+#define ACE_HAS_STRERROR
+#define ACE_HAS_STRPTIME
+#define ACE_LACKS_NATIVE_STRPTIME
+
+#define ACE_HAS_SIG_ATOMIC_T
+#define ACE_HAS_STD_TEMPLATE_SPECIALIZATION
+#define ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES
+#define ACE_LACKS_MODE_MASKS
+#define ACE_LACKS_STRRECVFD
+#define ACE_HAS_CPLUSPLUS_HEADERS
+
+#define ACE_TEMPLATES_REQUIRE_SOURCE
+#define ACE_HAS_TEMPLATE_SPECIALIZATION
+
+#define ACE_INT64_FORMAT_SPECIFIER ACE_LIB_TEXT ("%I64d")
+#define ACE_UINT64_FORMAT_SPECIFIER ACE_LIB_TEXT ("%I64u")
+
+// Platform provides ACE_TLI function prototypes.
+// For Win32, this is not really true, but saves a lot of hassle!
+#define ACE_HAS_TLI_PROTOTYPES
+
+// Platform support linebuffered streaming is broken
+#define ACE_LACKS_LINEBUFFERED_STREAMBUF
+
+#if defined (ACE_HAS_STANDARD_CPP_LIBRARY) && (ACE_HAS_STANDARD_CPP_LIBRARY != 0)
+
+// Platform has its Standard C++ library in the namespace std
+# if !defined (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB)
+# define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1
+# endif /* ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB */
+
+// ace/iostream.h does not work with the standard cpp library (yet).
+# if !defined (ACE_USES_OLD_IOSTREAMS)
+# define ACE_LACKS_ACE_IOSTREAM
+# endif /* ! ACE_USES_OLD_IOSTREAMS */
+
+#else
+
+// iostream header lacks ipfx (), isfx (), etc., declarations
+# define ACE_LACKS_IOSTREAM_FX
+
+#endif
+
+// There are too many instances of this warning to fix it right now.
+// Maybe in the future.
+#pragma warning(disable:4355)
+
+#define ACE_ENDTHREADEX(STATUS) ::_endthreadex ((DWORD) STATUS)
+
+#include "ace/post.h"
+#endif /* ACE_CONFIG_WIN32_MSVC_7_H */
diff --git a/ace/config-win32-msvc.h b/ace/config-win32-msvc.h
index 5c247e75854..2e162554194 100644
--- a/ace/config-win32-msvc.h
+++ b/ace/config-win32-msvc.h
@@ -1,221 +1,43 @@
-// -*- C++ -*-
-// $Id$
-
-// The following configuration file contains the defines
-// common to all Win32/MSVC/MFC combinations.
-
-#ifndef ACE_WIN32_MSVC_H
-#define ACE_WIN32_MSVC_H
+//=============================================================================
+/**
+ * @file config-win32-msvc.h
+ *
+ * $Id$
+ *
+ * @brief Microsoft Visual C++ configuration file.
+ *
+ * This file is the ACE configuration file for Microsoft Visual C++ versions
+ * 5.0, 6.0, and 7.0 (.NET)
+ *
+ * @author Darrell Brunsch <brunsch@cs.wustl.edu>
+ */
+//=============================================================================
+
+#ifndef ACE_CONFIG_WIN32_MSVC_H
+#define ACE_CONFIG_WIN32_MSVC_H
#include "ace/pre.h"
-#if defined (_MSC_VER)
-
-# include "ace/config-win32-common.h"
-
-# define ACE_CC_NAME ACE_LIB_TEXT ("Visual C++")
-# define ACE_CC_PREPROCESSOR "CL.EXE"
-# define ACE_CC_PREPROCESSOR_ARGS "-nologo -E"
-
-# if (_MSC_VER >= 1200)
-# define ACE_CC_MAJOR_VERSION 6
-# elif (_MSC_VER >= 1100)
-# define ACE_CC_MAJOR_VERSION 5
-# elif (_MSC_VER >= 1000)
-# define ACE_CC_MAJOR_VERSION 4
-# endif /* _MSC_VER >= 1200 */
-
-# define ACE_CC_MINOR_VERSION (_MSC_VER % 100)
-# define ACE_CC_BETA_VERSION (0)
-
-// Define this if you want to use the standard C++ library
-//#define ACE_HAS_STANDARD_CPP_LIBRARY 1
-
-// MSVC enforces the One Definition Rule
-# define ACE_HAS_ONE_DEFINITION_RULE
-
-# if defined (_MSC_VER) && (_MSC_VER >= 1020)
-# if !defined (ACE_HAS_STANDARD_CPP_LIBRARY)
-# define ACE_HAS_STANDARD_CPP_LIBRARY 0
-# endif
-# else
-# if defined (ACE_HAS_STANDARD_CPP_LIBRARY)
-# undef ACE_HAS_STANDARD_CPP_LIBRARY
-# endif
-# define ACE_HAS_STANDARD_CPP_LIBRARY 0
-# endif
-
-// The STL that comes with ACE uses the std namespace. Note however, it is not
-// part of the standard C++ library
-# if !defined (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB)
-# define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1
-# endif /* ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB */
-
-# if !defined (ACE_HAS_BROKEN_NESTED_TEMPLATES)
-# define ACE_HAS_BROKEN_NESTED_TEMPLATES
-# endif /* ACE_HAS_BROKEN_NESTED_TEMPLATES */
-
-// By default, we disable the C++ casting because
-// it requires the RTTI support to be turned on which
-// is not something we usually do.
-# if !defined (ACE_HAS_ANSI_CASTS)
-# define ACE_HAS_ANSI_CASTS 0
-# endif
-
-# define ACE_HAS_EXPLICIT_KEYWORD
-# define ACE_HAS_MUTABLE_KEYWORD
-
-#define ACE_HAS_ITOA
-
-#define ACE_ITOA_EQUIVALENT ::_itoa
-#define ACE_STRCASECMP_EQUIVALENT ::_stricmp
-#define ACE_STRNCASECMP_EQUIVALENT ::_strnicmp
-#define ACE_WCSDUP_EQUIVALENT ::_wcsdup
-
-// VC5 doesn't support operator placement delete
-# if defined (_MSC_VER) && (_MSC_VER < 1200)
-# define ACE_LACKS_PLACEMENT_OPERATOR_DELETE
-# endif /* _MSC_VER && _MSC_VER < 1200 */
-
-# if !defined (ACE_HAS_WINCE)
-# define ACE_HAS_EXCEPTIONS
-# endif /* ACE_HAS_WINCE */
-# define ACE_HAS_BROKEN_NAMESPACES
-# define ACE_HAS_BROKEN_IMPLICIT_CONST_CAST
-# define ACE_HAS_WORKING_EXPLICIT_TEMPLATE_DESTRUCTOR
-
-# if defined (ACE_HAS_ANSI_CASTS) && (ACE_HAS_ANSI_CASTS == 0)
-# undef ACE_HAS_ANSI_CASTS
-# endif /* ACE_HAS_ANSI_CASTS && ACE_HAS_ANSI_CASTS == 0 */
-
-# if _MSC_VER < 1000
-# define ACE_LACKS_PRAGMA_ONCE
-# endif /* _MSC_VER < 1000 */
-
-// Only >= MSVC 5.0 definitions
-# if (_MSC_VER >= 1100)
-# if !defined (ACE_HAS_WINCE)
-# define ACE_HAS_SIG_ATOMIC_T
-# endif /* ACE_HAS_WINCE */
-# endif /* _MSC_VER >= 1100 */
-
-// Only >= MSVC 6.0 definitions
-# if (_MSC_VER >= 1200)
-# define ACE_HAS_TYPENAME_KEYWORD
-# define ACE_HAS_STD_TEMPLATE_SPECIALIZATION
-# endif /* _MSC_VER >= 1200 */
-
-// Compiler doesn't support static data member templates.
-# define ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES
-
-# define ACE_LACKS_MODE_MASKS
-# define ACE_LACKS_STRRECVFD
-
-# if !defined (ACE_HAS_WINCE)
-# define ACE_HAS_LLSEEK
-# endif /* ACE_HAS_WINCE */
-
-// Compiler/platform has correctly prototyped header files.
-# define ACE_HAS_CPLUSPLUS_HEADERS
-
-// Platform supports POSIX timers via timestruc_t.
-//define ACE_HAS_POSIX_TIME
-# define ACE_HAS_STRPTIME
-# define ACE_LACKS_NATIVE_STRPTIME
-
-// Compiler/platform supports strerror ().
-# define ACE_HAS_STRERROR
-
-# define ACE_TEMPLATES_REQUIRE_SOURCE
-
-// Platform provides ACE_TLI function prototypes.
-// For Win32, this is not really true, but saves a lot of hassle!
-# define ACE_HAS_TLI_PROTOTYPES
-
-// Platform support linebuffered streaming is broken
-# define ACE_LACKS_LINEBUFFERED_STREAMBUF
-
-// Template specialization is supported.
-# define ACE_HAS_TEMPLATE_SPECIALIZATION
-
-// ----------------- "derived" defines and includes -----------
-
-# if defined (ACE_HAS_STANDARD_CPP_LIBRARY) && (ACE_HAS_STANDARD_CPP_LIBRARY != 0)
-
-# if (_MSC_VER > 1020)
-// Platform has its Standard C++ library in the namespace std
-# if !defined (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB)
-# define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1
-# endif /* ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB */
-# else /* (_MSC_VER > 1020) */
-# if defined (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB)
-# undef ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB
-# endif /* ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB */
-# define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 0
-# endif /* (_MSC_VER > 1020) */
-
-// Microsoft's auto_ptr in standard cpp library doesn't have reset ().
-# define ACE_AUTO_PTR_LACKS_RESET
-
-// ace/iostream.h does not work with the standard cpp library (yet).
-# if !defined (ACE_USES_OLD_IOSTREAMS)
-# define ACE_LACKS_ACE_IOSTREAM
-# endif /* ! ACE_USES_OLD_IOSTREAMS */
-# else
-// iostream header lacks ipfx (), isfx (), etc., declarations
-# define ACE_LACKS_IOSTREAM_FX
-# endif
-
-// While digging the MSVC 4.0 include files, I found how to disable
-// MSVC warnings: --Amos Shapira
-
-// "C4355: 'this' : used in base member initializer list"
-# pragma warning(disable:4355) /* disable C4514 warning */
-// #pragma warning(default:4355) // use this to reenable, if desired
-
-# pragma warning(disable:4201) /* winnt.h uses nameless structs */
-
-# pragma warning(disable:4231)
-// Disable warning of using Microsoft Extension.
-
-// MSVC 4.0 or greater
-# if (_MSC_VER >= 1000)
-// Compiler/Platform supports the "using" keyword.
-# define ACE_HAS_USING_KEYWORD
-# endif
-
-// MSVC 2.2 or lower
-# if (_MSC_VER < 1000)
-// This needs to be here since MSVC++ 2.0 seems to have forgotten to
-// include it. Does anybody know which MSC_VER MSVC 2.0 has ?
-inline void *operator new (unsigned int, void *p) { return p; }
-# endif
-
-# if !defined(ACE_HAS_WINCE)
-# if defined(ACE_HAS_DLL) && (ACE_HAS_DLL != 0)
-# if !defined(_DLL)
-// *** DO NOT *** DO NOT *** defeat this error message
-// by defining _DLL yourself. RTFM and see who set _DLL.
-# error You must link against (Debug) Multithreaded DLL run-time libraries.
-# endif /* !_DLL */
-# endif /* ACE_HAS_DLL && ACE_HAS_DLL != 0 */
-# endif /* !ACE_HAS_WINCE */
-
-# ifdef _DEBUG
-# if !defined (ACE_HAS_WINCE)
-# include /**/ <crtdbg.h>
-# endif /* ACE_HAS_WINCE */
-# endif
+#ifndef ACE_CONFIG_WIN32_H
+#error Use config-win32.h in config.h instead of this header
+#endif /* ACE_CONFIG_WIN32_H */
-# pragma warning(default: 4201) /* winnt.h uses nameless structs */
+#define ACE_CC_NAME ACE_LIB_TEXT ("Visual C++")
+#define ACE_CC_PREPROCESSOR "CL.EXE"
+#define ACE_CC_PREPROCESSOR_ARGS "-nologo -E"
-// At least for Win32 - MSVC compiler (ver. 5)
-# define ACE_INT64_FORMAT_SPECIFIER ACE_LIB_TEXT ("%I64d")
-# define ACE_UINT64_FORMAT_SPECIFIER ACE_LIB_TEXT ("%I64u")
+#define ACE_CC_MAJOR_VERSION (_MSC_VER / 100 - 6)
+#define ACE_CC_MINOR_VERSION (_MSC_VER % 100)
+#define ACE_CC_BETA_VERSION (0)
-# if !defined (ACE_LD_DECORATOR_STR) && defined (_DEBUG)
-# define ACE_LD_DECORATOR_STR ACE_LIB_TEXT ("d")
-# endif
-#endif /* _MSC_VER */
+#if (_MSC_VER >= 1300)
+# include "ace/config-win32-msvc-7.h"
+#elif (_MSC_VER >= 1200)
+# include "ace/config-win32-msvc-6.h"
+#elif (_MSC_VER >= 1100)
+# include "ace/config-win32-msvc-5.h"
+#else
+# error This version of Microsoft Visual C++ not supported.
+#endif
#include "ace/post.h"
-#endif /* ACE_WIN32_COMMON_H */
+#endif /* ACE_CONFIG_WIN32_MSVC_H */
diff --git a/ace/config-win32-visualage.h b/ace/config-win32-visualage.h
index 9bc2baa8da5..fab98161d8e 100644
--- a/ace/config-win32-visualage.h
+++ b/ace/config-win32-visualage.h
@@ -1,14 +1,25 @@
-/* -*- C++ -*- */
-// $Id$
+//=============================================================================
+/**
+ * @file config-win32-visualage.h
+ *
+ * $Id$
+ *
+ * @brief Configuration file for VisualAge compilers
+ *
+ * @note Do not include this file directly, include config-win32.h instead.
+ *
+ * @author Darrell Brunsch <brunsch@cs.wustl.edu>
+ */
+//=============================================================================
-//Created for IBMCPP
-// The following configuration file contains the defines
-// common to all VisualAge compilers.
-
-#ifndef ACE_WIN32_VISUALAGECPP_H
-#define ACE_WIN32_VISUALAGECPP_H
+#ifndef ACE_CONFIG_WIN32_VISUALAGE_H
+#define ACE_CONFIG_WIN32_VISUALAGE_H
#include "ace/pre.h"
+#ifndef ACE_CONFIG_WIN32_H
+#error Use config-win32.h in config.h instead of this header
+#endif /* ACE_CONFIG_WIN32_H */
+
#if defined (__IBMCPP__) && (__IBMCPP__ >= 400)
#define ACE_CC_NAME ACE_LIB_TEXT ("IBM VisualAge C++")
@@ -41,7 +52,6 @@
#define ACE_HAS_GNU_CSTRING_H 1
#define ACE_HAS_MUTABLE_KEYWORD 1
#define ACE_HAS_NONCONST_SELECT_TIMEVAL 1
-#define ACE_HAS_ONE_DEFINITION_RULE 1
#define ACE_HAS_SIG_ATOMIC_T 1
#define ACE_HAS_STANDARD_CPP_LIBRARY 1
#define ACE_HAS_STDCPP_STL_INCLUDES 1
@@ -83,7 +93,9 @@
#define EPIPE 32
#define ENAMETOOLONG 38
+#define ACE_ENDTHREADEX(STATUS) ::_endthread ()
+
#endif /* defined(__IBMCPP__) */
#include "ace/post.h"
-#endif /* ACE_WIN32_VISUALAGECPP_H */
+#endif /* ACE_CONFIG_WIN32_VISUALAGE_H */
diff --git a/ace/config-win32.h b/ace/config-win32.h
index be58dfd6b26..8d31c736ce0 100644
--- a/ace/config-win32.h
+++ b/ace/config-win32.h
@@ -1,50 +1,52 @@
/* -*- C++ -*- */
-// $Id$
+//=============================================================================
+/**
+ * @file config-win32.h
+ *
+ * $Id$
+ *
+ * @brief Microsoft Windows configuration file.
+ *
+ * This file is the ACE configuration file for all of Microsoft Windows
+ * platforms that ACE runs on. Based on preprocessor definitions, it
+ * includes other more specific configuration files.
+ *
+ * @author Darrell Brunsch <brunsch@cs.wustl.edu>
+ */
+//=============================================================================
+
+#ifndef ACE_CONFIG_WIN32_H
+#define ACE_CONFIG_WIN32_H
+#include "ace/pre.h"
-// The following configuration file is designed to work for Windows
-// 9x, Windows NT 3.51, and Windows NT 4.0 platforms and supports a
-// variety of compilers.
-#ifndef ACE_CONFIG_H
-#define ACE_CONFIG_H
-#include "ace/pre.h"
-// If you wish to build ACE using PACE, you must uncomment
-// the following lines or include the following syntax in your
-// config file #included before this one!
-//# if !defined (ACE_HAS_PACE)
-//# define ACE_HAS_PACE
-//# endif // ACE_HAS_PACE
+// NOTE: Please do not add anything besides #include's here. Put other stuff
+// (definitions, etc.) in the included headers
+
-# if defined (ACE_HAS_PACE)
-# ifndef PACE_HAS_ALL_POSIX_FUNCS
-# define PACE_HAS_ALL_POSIX_FUNCS 1
-# endif /* PACE_HAS_ALL_POSIX_FUNCS */
-# endif /* ACE_HAS_PACE */
+
+// Include the platform specific config file (Windows CE is special)
#if defined (_WIN32_WCE)
-# include "ace/config-WinCE.h"
+# include "ace/config-win32-wince.h"
+#else /* _WIN32_WCE */
+# include "ace/config-win32-common.h"
#endif /* _WIN32_WCE */
-# if defined (_MSC_VER)
-# include "ace/config-win32-msvc.h"
-# elif defined (__BORLANDC__)
-# include "ace/config-win32-borland.h"
-# elif defined (__IBMCPP__)
-# include "ace/config-win32-visualage.h"
-# else
-# error "Compiler does not seem to be supported"
-# endif /* _MSC_VER */
-
-#if !defined(ACE_WIN32) && defined (__IBMCPP__) && (__IBMCPP__ >= 400)
-# define ACE_ENDTHREADEX(STATUS) ::_endthread ()
-#elif defined(ACE_WIN32) && defined (__IBMCPP__) && (__IBMCPP__ >= 400)
-# define ACE_ENDTHREADEX(STATUS) ::_endthread ()
-#elif defined (ACE_HAS_WINCE) && defined (UNDER_CE) && (UNDER_CE >= 211)
-# define ACE_ENDTHREADEX(STATUS) ExitThread ((DWORD) STATUS)
+// Include the config-win32-* file specific to the compiler
+
+#if defined (_MSC_VER)
+# include "ace/config-win32-msvc.h"
+#elif defined (__BORLANDC__)
+# include "ace/config-win32-borland.h"
+#elif defined (__IBMCPP__)
+# include "ace/config-win32-visualage.h"
+#elif defined (ghs)
+# include "ace/config-win32-ghs.h"
#else
-# define ACE_ENDTHREADEX(STATUS) ::_endthreadex ((DWORD) STATUS)
-#endif /* defined (__IBMCPP__) && (__IBMCPP__ >= 400) */
+# error Compiler is not supported
+#endif
#include "ace/post.h"
-#endif /* ACE_CONFIG_H */
+#endif /* ACE_CONFIG_WIN32_H */