diff options
author | brunsch <brunsch@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2001-03-07 02:18:08 +0000 |
---|---|---|
committer | brunsch <brunsch@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2001-03-07 02:18:08 +0000 |
commit | f705a1c3b9a68e8a3ee664e8ff20a1e27dccd8a2 (patch) | |
tree | 2a4e8db3f4bc2db69b0f1b2c974a41b41d628724 /ace/config-win32-msvc.h | |
parent | a0dfb8a29cdb4588ca6d25dbb8587d152bfb9c95 (diff) | |
download | ATCD-f705a1c3b9a68e8a3ee664e8ff20a1e27dccd8a2.tar.gz |
ChangeLogTag:Tue Mar 6 14:14:06 2001 Darrell Brunsch <brunsch@uci.edu>
Diffstat (limited to 'ace/config-win32-msvc.h')
-rw-r--r-- | ace/config-win32-msvc.h | 250 |
1 files changed, 36 insertions, 214 deletions
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 */ |