Remove MSVC6 support.

Don't support this compiler any more, this allows to get rid of tons of
MSVC6-specific workarounds, in particular we can now use Bind() and natural
template functions calls in the library code.

Also remove MSVC6 project and solution files and don't generate them when
bakefile_gen is ran any more (removing the remaining occurrences of msvc6prj
from the bakefiles results in weird bake-time errors, so it's simpler to just
leave them there).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2014-05-15 22:32:17 +00:00
parent 28f9670787
commit f4b80e5337
289 changed files with 394 additions and 38949 deletions

View File

@@ -149,16 +149,6 @@
# endif
#endif
/*
* See WINVER definition in wx/msw/wrapwin.h for the explanation of this test
* logic.
*/
#if (defined(__VISUALC__) && (__VISUALC__ < 1300)) && \
(!defined(WINVER) || WINVER < 0x0500)
# undef wxUSE_TASKBARICON_BALLOONS
# define wxUSE_TASKBARICON_BALLOONS 0
#endif
/*
* All of the settings below require SEH support (__try/__catch) and can't work
* without it.

View File

@@ -19,25 +19,10 @@
#endif // __WXWINCE__
#include "wx/msw/private.h"
// All known versions of imagehlp.h define API_VERSION_NUMBER but it's not
// documented, so deal with the possibility that it's not defined just in case.
#ifndef API_VERSION_NUMBER
#define API_VERSION_NUMBER 0
#endif
// wxUSE_DBGHELP is a bit special as it is not defined in wx/setup.h and we try
// to auto-detect whether we should be using debug help API or not ourselves
// below. However if the auto-detection fails, you can always predefine it as 0
// to avoid even trying.
// wxUSE_DBGHELP can be predefined as 0 to avoid the use of dbghelp.dll if this
// is undesirable for some reason.
#ifndef wxUSE_DBGHELP
// The version of imagehlp.h from VC6 (7) is too old and is missing some
// required symbols while the version from VC7 (9) is good enough. As we
// don't know anything about version 8, don't use it unless we can test it.
#if API_VERSION_NUMBER >= 9
#define wxUSE_DBGHELP 1
#else
#define wxUSE_DBGHELP 0
#endif
#define wxUSE_DBGHELP 1
#endif
#if wxUSE_DBGHELP

View File

@@ -10,24 +10,6 @@
#ifndef _WX_MISSING_H_
#define _WX_MISSING_H_
/*
* The following are required for VC++ 6.
*/
// Needed by cursor.cpp
#ifndef IDC_HAND
#define IDC_HAND MAKEINTRESOURCE(32649)
#endif
// Needed by strconv.cpp
#ifndef WC_NO_BEST_FIT_CHARS
#define WC_NO_BEST_FIT_CHARS 0x400
#endif
#ifndef WM_CONTEXTMENU
#define WM_CONTEXTMENU 0x007B
#endif
#ifndef WM_CHANGEUISTATE
#define WM_CHANGEUISTATE 0x0127
#endif
@@ -526,8 +508,7 @@ typedef struct
#endif
//Various defines that will be needed by mingw and possibly VC++6
//Used by the webview library
// Various defines used by the webview library that are needed by mingw
#ifndef DISPID_COMMANDSTATECHANGE
#define DISPID_COMMANDSTATECHANGE 105

View File

@@ -55,9 +55,8 @@
extern void wxSETranslator(unsigned int code, EXCEPTION_POINTERS *ep);
// up to VC 12 this warning ("calling _set_se_translator() requires /EHa")
// is harmless and it's easier to suppress it than use different makefiles
// for VC5 and 6 (which don't support /EHa at all) and VC7+ (which does
// accept it but it seems to change nothing for it anyhow)
// is harmless and it's easier to suppress it than deal with it as make/
// project file level as it seems to be harmless
#if __VISUALC__ < 1900
#pragma warning(disable: 4535)
#endif

View File

@@ -305,11 +305,7 @@
// Currently the Digital Mars and Watcom compilers come without standard C++
// library headers by default, wxUSE_STD_STRING can be set to 1 if you do have
// them (e.g. from STLPort).
//
// VC++ 5.0 does include standard C++ library headers, however they produce
// many warnings that can't be turned off when compiled at warning level 4.
#if defined(__DMC__) || defined(__WATCOMC__) \
|| (defined(_MSC_VER) && _MSC_VER < 1200)
#if defined(__DMC__) || defined(__WATCOMC__)
#define wxUSE_STD_DEFAULT 0
#else
#define wxUSE_STD_DEFAULT 1
@@ -321,11 +317,7 @@
// dependency on the C++ run-time library.
//
// Notice that the compilers mentioned in wxUSE_STD_DEFAULT comment above don't
// support using standard containers and that VC6 needs non-default options for
// such build to avoid getting "fatal error C1076: compiler limit : internal
// heap limit reached; use /Zm to specify a higher limit" in its own standard
// headers, so you need to ensure you do increase the heap size before enabling
// this option for this compiler.
// support using standard containers.
//
// Default is 0 for compatibility reasons.
//
@@ -770,15 +762,7 @@
// notice that we can't use wxCHECK_VISUALC_VERSION() here as this file is
// included from wx/platform.h before wxCHECK_VISUALC_VERSION() is defined
#ifdef _MSC_VER
# if _MSC_VER >= 1310
// MSVC7.1+ comes with new enough Platform SDK, enable
// wxGraphicsContext support for it
# define wxUSE_GRAPHICS_CONTEXT 1
# else
// MSVC 6 didn't include GDI+ headers so disable by default, enable it
// here if you use MSVC 6 with a newer SDK
# define wxUSE_GRAPHICS_CONTEXT 0
# endif
# define wxUSE_GRAPHICS_CONTEXT 1
#else
// Disable support for other Windows compilers, enable it if your compiler
// comes with new enough SDK or you installed the headers manually.

View File

@@ -305,11 +305,7 @@
// Currently the Digital Mars and Watcom compilers come without standard C++
// library headers by default, wxUSE_STD_STRING can be set to 1 if you do have
// them (e.g. from STLPort).
//
// VC++ 5.0 does include standard C++ library headers, however they produce
// many warnings that can't be turned off when compiled at warning level 4.
#if defined(__DMC__) || defined(__WATCOMC__) \
|| (defined(_MSC_VER) && _MSC_VER < 1200)
#if defined(__DMC__) || defined(__WATCOMC__)
#define wxUSE_STD_DEFAULT 0
#else
#define wxUSE_STD_DEFAULT 1
@@ -321,11 +317,7 @@
// dependency on the C++ run-time library.
//
// Notice that the compilers mentioned in wxUSE_STD_DEFAULT comment above don't
// support using standard containers and that VC6 needs non-default options for
// such build to avoid getting "fatal error C1076: compiler limit : internal
// heap limit reached; use /Zm to specify a higher limit" in its own standard
// headers, so you need to ensure you do increase the heap size before enabling
// this option for this compiler.
// support using standard containers.
//
// Default is 0 for compatibility reasons.
//
@@ -770,15 +762,7 @@
// notice that we can't use wxCHECK_VISUALC_VERSION() here as this file is
// included from wx/platform.h before wxCHECK_VISUALC_VERSION() is defined
#ifdef _MSC_VER
# if _MSC_VER >= 1310
// MSVC7.1+ comes with new enough Platform SDK, enable
// wxGraphicsContext support for it
# define wxUSE_GRAPHICS_CONTEXT 1
# else
// MSVC 6 didn't include GDI+ headers so disable by default, enable it
// here if you use MSVC 6 with a newer SDK
# define wxUSE_GRAPHICS_CONTEXT 0
# endif
# define wxUSE_GRAPHICS_CONTEXT 1
#else
// Disable support for other Windows compilers, enable it if your compiler
// comes with new enough SDK or you installed the headers manually.

View File

@@ -27,15 +27,7 @@
// before including windows.h, define version macros at (currently) maximal
// values because we do all our checks at run-time anyhow
#ifndef WINVER
// the only exception to the above is MSVC 6 which has a time bomb in its
// headers: they warn against using them with WINVER >= 0x0500 as they
// contain only part of the declarations and they're not always correct, so
// don't define WINVER for it at all as this allows everything to work as
// expected both with standard VC6 headers (which define WINVER as 0x0400
// by default) and headers from a newer SDK (which may define it as 0x0500)
#if !defined(__VISUALC__) || (__VISUALC__ >= 1300)
#define WINVER 0x0600
#endif
#define WINVER 0x0600
#endif
// define _WIN32_WINNT and _WIN32_IE to the highest possible values because we
@@ -71,20 +63,6 @@
// #undef the macros defined in winsows.h which conflict with code elsewhere
#include "wx/msw/winundef.h"
// Types DWORD_PTR, ULONG_PTR and so on are used for 64-bit compatibility
// in the WINAPI SDK (they are an integral type that is the size of a
// pointer) on MSVC 7 and later. However, they are not available in older
// Platform SDKs, and since they are typedefs and not #defines we simply
// overwrite them if there is a chance that they're not defined
#if (!defined(_MSC_VER) || (_MSC_VER < 1300)) && !defined(__WIN64__)
#define UINT_PTR unsigned int
#define INT_PTR int
#define HANDLE_PTR unsigned long
#define LONG_PTR long
#define ULONG_PTR unsigned long
#define DWORD_PTR unsigned long
#endif // !defined(_MSC_VER) || _MSC_VER < 1300
// ----------------------------------------------------------------------------
// Fix the functions wrongly implemented in unicows.dll
// ----------------------------------------------------------------------------