diff options
Diffstat (limited to 'stlport/stl/config/_evc.h')
-rw-r--r-- | stlport/stl/config/_evc.h | 333 |
1 files changed, 0 insertions, 333 deletions
diff --git a/stlport/stl/config/_evc.h b/stlport/stl/config/_evc.h deleted file mode 100644 index c460450..0000000 --- a/stlport/stl/config/_evc.h +++ /dev/null @@ -1,333 +0,0 @@ -/* - * File to have Microsoft eMbedded Visual C++ 3.0 and .NET working with STLport - * May 2004 - * Origin : Zdenek Nemec - zero@mapfactor.com - * Michael Fink - vividos@users.sourceforge.net - */ - -#ifndef _STLP_EVC_H -#define _STLP_EVC_H - -#define _STLP_COMPILER "eMbedded Visual C++" - -// This flag is being used by STLport to support -// old-fashioned Windows CE SDK (see stl_wince.h) -// do not use with eMebedded Visual C++ 3 or 4! -#ifdef _STLP_WINCE -# undef _STLP_WINCE -#endif - -/* Compiler dependent define. The following defines may be available: - * _STLP_WCE_EVC3 when compiling under eMbedded Visual C++ 3 - * _STLP_WCE_NET when compiling under eMbedded Visual C++ .NET - * _STLP_WCE always defined when compiling with one of the above - */ -#undef _STLP_WCE_EVC3 -#undef _STLP_WCE_NET - -#if (_WIN32_WCE > 300) -# define _STLP_WCE_NET UNDER_CE -#elif (_WIN32_WCE == 300) -# define _STLP_WCE_EVC3 UNDER_CE -#else -# error No support for Windows CE below 3.0! -#endif - -// This is defined for all platforms using Windows CE -#define _STLP_WCE - -/* All Windows CE versions up to at least version 5 are little-endian, even - * if the hardware (like e.g. MIPS) can be configured for big-endian, too. */ -#define _STLP_LITTLE_ENDIAN - -// Ensure _DEBUG is defined. -#if defined (DEBUG) && !defined (_DEBUG) -# define _DEBUG -#endif - -// inherit all msvc6 options -#include <stl/config/_msvc.h> - -// CE up to at least version 5 has no C locale support -#define _STLP_NO_LOCALE_SUPPORT - -#if _WIN32_WCE >= 420 - // SDKs built with PB5 have terminate&co in namespace std... -# define _STLP_VENDOR_TERMINATE_STD _STLP_VENDOR_STD -# define _STLP_VENDOR_UNCAUGHT_EXCEPTION_STD _STLP_VENDOR_STD - // ...and new_handler/set_new_handler in the global namespace. -# define _STLP_GLOBAL_NEW_HANDLER 1 -#endif - -// Always threaded in eMbedded Visual C++ 3.0 and .NET -#ifndef _MT -# define _MT -#endif - -// we don't have a static native runtime library -#undef _STLP_USING_CROSS_NATIVE_RUNTIME_LIB - -#if _WIN32_WCE < 400 -// no long double under CE3 and older -# define _STLP_NO_LONG_DOUBLE -#endif - -// no *f and *l math functions available -#define _STLP_NO_VENDOR_MATH_F -#define _STLP_NO_VENDOR_MATH_L - -/* - * Redirect cout, cerr and clog: - * If defined redirect cout, cerr and clog to - * files stdout.txt, stderr.txt and stdlog.txt - */ -//# define _STLP_REDIRECT_STDSTREAMS - -/* - * Static class members may generate LNK1179: - * Wrong COMDAT packing may cause LNK1179 error. - * For details see http://groups.google.com/groups?th=8a05c82c4ffee280 - * example P78. This define is not used/needed at this moment - * but may came handy in future... - */ -//# define _STLP_STATIC_MEMBERS_BUG - -// Use wide-string interface of windows native functions (CreateFile...). -// Note that this should be defined all the time while under CE. -#if defined (UNICODE) -# define _STLP_USE_WIDE_INTERFACE -#endif - -// Force exception std to std instead of __std_alias. -#if defined (__cplusplus) && !defined (_STLP_HAS_NO_NAMESPACES) -# ifdef _STLP_VENDOR_EXCEPT_STD -# undef _STLP_VENDOR_EXCEPT_STD -# endif -# define _STLP_VENDOR_EXCEPT_STD std -#endif - -// short string optimization bug under evc3, evc4 using ARM compiler -#if _MSC_VER < 1400 && (defined (ARM) || defined (_ARM_)) -# define _STLP_DONT_USE_SHORT_STRING_OPTIM -#endif - -// when using MFC, disable another placement new declaration, since there is one in wcealt.h -#if !defined (__BUILDING_STLPORT) && defined (_MFC_VER) -# define __PLACEMENT_NEW_INLINE -#endif - -// threads -#undef _REENTRANT -#define _REENTRANT -#undef _NOTHREADS - -// Use old fashioned headers (ctime vs. time.h). -#undef _STLP_NO_NEW_C_HEADERS -#define _STLP_NO_NEW_C_HEADERS - -// exception handling support: only on evc4 and user added /GX to project settings -#if defined (_STLP_WCE_EVC3) || !defined (_CPPUNWIND) -# define _STLP_NO_EXCEPTION_HEADER -# define _STLP_NO_EXCEPTIONS -# undef _STLP_USE_EXCEPTIONS -# ifndef _STLP_THROW_BAD_ALLOC -# define _STLP_THROW_BAD_ALLOC { _STLP_WINCE_TRACE(L"out of memory"); ExitThread(1); } -# endif -#endif - -#define _STLP_WINCE_TRACE(msg) OutputDebugString(msg) - -/* - * eMbedded Visual C++ .NET specific settings - */ -#if defined (_STLP_WCE_NET) - -// evc4 has no locale and time support -# define _STLP_NO_LOCALE_SUPPORT -# define _STLP_NO_TIME_SUPPORT - -// ptrdiff_t is not defined in evc4 headers -# ifndef _PTRDIFF_T_DEFINED - typedef int ptrdiff_t; -# define _PTRDIFF_T_DEFINED -# endif - -/* - * Helper macros for including the native headers in cases where a file with - * the same name also exists in the STLport include folder. The idea behind - * this is that we first go up one directory and then down into a dir that - * is only present in the native install but not in STLport. - * - */ -# if !defined (_STLP_NATIVE_INCLUDE_PATH) -# if defined (_X86_) -# if defined (_STLP_WCE_TARGET_PROC_SUBTYPE_EMULATOR) -# define _STLP_NATIVE_INCLUDE_PATH ../Emulator -# else -# define _STLP_NATIVE_INCLUDE_PATH ../X86 -# endif -# elif defined (_ARM_) -# if _MSC_VER < 1400 - // eVC3/4 -# if defined (ARMV4) -# define _STLP_NATIVE_INCLUDE_PATH ../Armv4 -# elif defined (ARMV4I) -# define _STLP_NATIVE_INCLUDE_PATH ../Armv4i -# elif defined (ARMV4T) -# define _STLP_NATIVE_INCLUDE_PATH ../Armv4t -# else -# error Unknown ARM SDK. -# endif -# else - // VC8 crosscompiling for CE -# if defined (ARMV4) - // VC8 bundled Pocket PC 2003 SDK don't have a target CPU subfolder. -# if defined(WIN32_PLATFORM_PSPC) -# define _STLP_NATIVE_INCLUDE_PATH ../Include -# else -# define _STLP_NATIVE_INCLUDE_PATH ../Armv4 -# endif -# elif defined(ARMV4I) || defined(ARMV4T) -# define _STLP_NATIVE_INCLUDE_PATH ../Armv4i -# else -# error Unknown ARM SDK. -# endif -# endif -# elif defined (_MIPS_) -# if defined (MIPS16) -# define _STLP_NATIVE_INCLUDE_PATH ../mips16 -# elif defined (MIPSII) -# define _STLP_NATIVE_INCLUDE_PATH ../mipsII -# elif defined (MIPSII_FP) -# define _STLP_NATIVE_INCLUDE_PATH ../mipsII_fp -# elif defined (MIPSIV) -# define _STLP_NATIVE_INCLUDE_PATH ../mipsIV -# elif defined (MIPSIV_FP) -# define _STLP_NATIVE_INCLUDE_PATH ../mipsIV_fp -# else -# error Unknown MIPS SDK. -# endif -# elif defined (SHx) -# if defined (SH3) -# define _STLP_NATIVE_INCLUDE_PATH ../sh3 -# elif defined (SH4) -# define _STLP_NATIVE_INCLUDE_PATH ../sh4 -# else -# error Unknown SHx SDK. -# endif -# else -# error Unknown SDK. -# endif -# endif /* !_STLP_NATIVE_INCLUDE_PATH */ - -/* Workaround when using MFCCE and using <new> together: MFCCE's wcealt.h doesn't - * check for __PLACEMENT_NEW_INLINE before defining operator new, so when <new> - * defines the operatore before, there will be an error C2084: - * "function 'void *__cdecl operator new(unsigned int,void *)' already has a body". - */ -# ifdef _STLP_USE_MFC -# define __PLACEMENT_NEW_INLINE -# endif - -#endif /* _STLP_WCE_NET */ - -/* - * eMbedded Visual C++ 3.0 specific settings - */ -#if defined (_STLP_WCE_EVC3) - -# define _STLP_NO_NATIVE_MBSTATE_T - -// evc3 has no locale and time support -# define _STLP_NO_LOCALE_SUPPORT -# define _STLP_NO_TIME_SUPPORT - -// evc3 has new, but no explicit header -# define _STLP_NO_NEW_HEADER -# define _STLP_NO_NEW_NEW_HEADER - -// evc3 has no bad_alloc and no typeinfo -# undef _STLP_NO_BAD_ALLOC -# define _STLP_NO_BAD_ALLOC - -# undef _STLP_NO_TYPEINFO -# define _STLP_NO_TYPEINFO - -// missing things in eMbedded Visual C++ 3.0 headers -# ifndef _SIZE_T_DEFINED - typedef unsigned int size_t; -# define _SIZE_T_DEFINED -# endif - -# ifndef _WCHAR_T_DEFINED - typedef unsigned short wchar_t; -# define _WCHAR_T_DEFINED -# endif - -// ptrdiff_t is not defined in evc3 headers -# ifndef _PTRDIFF_T_DEFINED - typedef int ptrdiff_t; -# define _PTRDIFF_T_DEFINED -# endif - -// clock_t is not defined in evc3 headers -# ifndef _CLOCK_T_DEFINED - typedef long clock_t; -# define _CLOCK_T_DEFINED -# endif - -// Struct tm is not defined in evc3 headers -# ifndef _TM_DEFINED -struct tm { - int tm_sec; /* seconds after the minute - [0,59] */ - int tm_min; /* minutes after the hour - [0,59] */ - int tm_hour; /* hours since midnight - [0,23] */ - int tm_mday; /* day of the month - [1,31] */ - int tm_mon; /* months since January - [0,11] */ - int tm_year; /* years since 1900 */ - int tm_wday; /* days since Sunday - [0,6] */ - int tm_yday; /* days since January 1 - [0,365] */ - int tm_isdst; /* daylight savings time flag */ -}; -# define _TM_DEFINED -# endif - -// define placement new and delete operator -// note: when MFCCE headers are included first, don't define the new operator, -// since it was already defined in wcealt.h -# ifdef __cplusplus -# ifndef __PLACEMENT_NEW_INLINE -# ifndef _MFC_VER -inline void *__cdecl operator new(size_t, void *_P) { return (_P); } -# endif /* _MFC_VER */ -inline void __cdecl operator delete(void *, void *) { return; } -# define __PLACEMENT_NEW_INLINE -# endif -# endif /* __cplusplus */ - -// evc3 doesn't have native wide functions, e.g. fgetwc, wmemmove -# define _STLP_NO_NATIVE_WIDE_FUNCTIONS - -// evc3 doesn't have assert.h -# ifndef _ASSERT_DEFINED -# define assert(expr) _STLP_ASSERT(expr) -# define _ASSERT_DEFINED -# endif - -#endif /* _STLP_WCE_EVC3 */ - -/* - * original call: TerminateProcess(GetCurrentProcess(), 0); - * we substitute the GetCurrentProcess() with the result of the inline function - * defined in kfuncs.h, since we then can avoid including <windows.h> at all. - * all needed Win32 API functions are defined in <stl/_windows.h> - */ -#ifndef _ABORT_DEFINED -# define _STLP_ABORT() TerminateProcess(reinterpret_cast<HANDLE>(66), 0) -# define _ABORT_DEFINED -#endif - -// Notice: windows.h isn't included here anymore; all needed defines are in -// stl/_windows.h now - -#endif /* _STLP_EVC_H */ |