Move #error for non-MSVC to the top of file.

This allows to reduce indentation of the rest of it and avoid a very long #if...#else.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2009-07-25 22:26:15 +00:00
parent ad73320555
commit c82c5274f2

View File

@@ -9,81 +9,84 @@
// Licence: wxWindows licence // Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
#ifndef _MSC_VER
#error "This file should only be included when using Microsoft Visual C++"
#endif
// VC++ IDE predefines _DEBUG and _UNICODE for the new projects itself, but // VC++ IDE predefines _DEBUG and _UNICODE for the new projects itself, but
// the other symbols (WXUSINGDLL, __WXUNIVERSAL__, ...) should be defined // the other symbols (WXUSINGDLL, __WXUNIVERSAL__, ...) should be defined
// explicitly! // explicitly!
#ifdef _MSC_VER #include "wx/version.h"
#include "wx/version.h" #include "wx/cpp.h"
#include "wx/cpp.h"
// notice that wxSUFFIX_DEBUG is a string but wxSUFFIX itself must be an // notice that wxSUFFIX_DEBUG is a string but wxSUFFIX itself must be an
// identifier as string concatenation is not done inside #include where we // identifier as string concatenation is not done inside #include where we
// need it // need it
#ifdef _DEBUG #ifdef _DEBUG
#define wxSUFFIX_DEBUG "d" #define wxSUFFIX_DEBUG "d"
#ifdef _UNICODE #ifdef _UNICODE
#define wxSUFFIX ud #define wxSUFFIX ud
#else // !_UNICODE #else // !_UNICODE
#define wxSUFFIX d #define wxSUFFIX d
#endif // _UNICODE/!_UNICODE #endif // _UNICODE/!_UNICODE
#else #else
#define wxSUFFIX_DEBUG "" #define wxSUFFIX_DEBUG ""
#ifdef _UNICODE #ifdef _UNICODE
#define wxSUFFIX u #define wxSUFFIX u
#else // !_UNICODE #else // !_UNICODE
#define wxSUFFIX #define wxSUFFIX
#endif // _UNICODE/!_UNICODE #endif // _UNICODE/!_UNICODE
#endif #endif
#ifdef WXUSINGDLL #ifdef WXUSINGDLL
#define wxLIB_SUBDIR vc_dll #define wxLIB_SUBDIR vc_dll
#else // !DLL #else // !DLL
#define wxLIB_SUBDIR vc_lib #define wxLIB_SUBDIR vc_lib
#endif // DLL/!DLL #endif // DLL/!DLL
// the real setup.h header file we need is in the build-specific directory, // the real setup.h header file we need is in the build-specific directory,
// construct the path to it // construct the path to it
#define wxSETUPH_PATH \ #define wxSETUPH_PATH \
wxCONCAT5(../../../lib/, wxLIB_SUBDIR, /msw, wxSUFFIX, /wx/setup.h) wxCONCAT5(../../../lib/, wxLIB_SUBDIR, /msw, wxSUFFIX, /wx/setup.h)
#define wxSETUPH_PATH_STR wxSTRINGIZE(wxSETUPH_PATH) #define wxSETUPH_PATH_STR wxSTRINGIZE(wxSETUPH_PATH)
#include wxSETUPH_PATH_STR #include wxSETUPH_PATH_STR
// the library names depend on the build, these macro builds the correct // the library names depend on the build, these macro builds the correct
// library name for the given base name // library name for the given base name
#define wxSUFFIX_STR wxSTRINGIZE(wxSUFFIX) #define wxSUFFIX_STR wxSTRINGIZE(wxSUFFIX)
#define wxSHORT_VERSION_STRING \ #define wxSHORT_VERSION_STRING \
wxSTRINGIZE(wxMAJOR_VERSION) wxSTRINGIZE(wxMINOR_VERSION) wxSTRINGIZE(wxMAJOR_VERSION) wxSTRINGIZE(wxMINOR_VERSION)
#define wxWX_LIB_NAME(name, subname) \ #define wxWX_LIB_NAME(name, subname) \
"wx" name wxSHORT_VERSION_STRING wxSUFFIX_STR subname "wx" name wxSHORT_VERSION_STRING wxSUFFIX_STR subname
#define wxBASE_LIB_NAME(name) wxWX_LIB_NAME("base", "_" name) #define wxBASE_LIB_NAME(name) wxWX_LIB_NAME("base", "_" name)
#define wxMSW_LIB_NAME(name) wxWX_LIB_NAME("msw", "_" name) #define wxMSW_LIB_NAME(name) wxWX_LIB_NAME("msw", "_" name)
// this one is for 3rd party libraries: they don't have the version number // this one is for 3rd party libraries: they don't have the version number
// in their names and usually exist in ANSI version only (except for regex) // in their names and usually exist in ANSI version only (except for regex)
#define wx3RD_PARTY_LIB_NAME(name) "wx" name wxSUFFIX_DEBUG #define wx3RD_PARTY_LIB_NAME(name) "wx" name wxSUFFIX_DEBUG
// special version for regex as it does have a Unicode version // special version for regex as it does have a Unicode version
#define wx3RD_PARTY_LIB_NAME_U(name) "wx" name wxSUFFIX_STR #define wx3RD_PARTY_LIB_NAME_U(name) "wx" name wxSUFFIX_STR
#pragma comment(lib, wxWX_LIB_NAME("base", "")) #pragma comment(lib, wxWX_LIB_NAME("base", ""))
#ifndef wxNO_NET_LIB #ifndef wxNO_NET_LIB
#pragma comment(lib, wxBASE_LIB_NAME("net")) #pragma comment(lib, wxBASE_LIB_NAME("net"))
#endif #endif
#ifndef wxNO_XML_LIB #ifndef wxNO_XML_LIB
#pragma comment(lib, wxBASE_LIB_NAME("xml")) #pragma comment(lib, wxBASE_LIB_NAME("xml"))
#endif #endif
#if wxUSE_REGEX && !defined(wxNO_REGEX_LIB) #if wxUSE_REGEX && !defined(wxNO_REGEX_LIB)
#pragma comment(lib, wx3RD_PARTY_LIB_NAME_U("regex")) #pragma comment(lib, wx3RD_PARTY_LIB_NAME_U("regex"))
#endif #endif
#if wxUSE_GUI #if wxUSE_GUI
#if wxUSE_XML && !defined(wxNO_EXPAT_LIB) #if wxUSE_XML && !defined(wxNO_EXPAT_LIB)
#pragma comment(lib, wx3RD_PARTY_LIB_NAME("expat")) #pragma comment(lib, wx3RD_PARTY_LIB_NAME("expat"))
#endif #endif
@@ -134,8 +137,4 @@
#pragma comment(lib, wxMSW_LIB_NAME("stc")) #pragma comment(lib, wxMSW_LIB_NAME("stc"))
#pragma comment(lib, wx3RD_PARTY_LIB_NAME("scintilla")) #pragma comment(lib, wx3RD_PARTY_LIB_NAME("scintilla"))
#endif #endif
#endif // wxUSE_GUI #endif // wxUSE_GUI
#else
#error "This file should only be included when using Microsoft Visual C++"
#endif