_apple.h revision 9720d5f59b9c1f5d1b9ecbc9173dbcb71bd557be
1/* STLport configuration file 2 * It is internal STLport header - DO NOT include it directly 3 */ 4 5/* common configuration settings for Apple MPW MrCpp / SCpp */ 6 7#if defined (__MRC__) 8# define _STLP_COMPILER "MPW MrCpp" 9#else 10# define _STLP_COMPILER "MPW SCpp" 11#endif 12 13#if defined(__MRC__) && __MRC__ < 0x500 14# error Apple's MPW MrCpp v.5.0.0 or better compiler required 15#endif 16#if defined(__SC__) && __SC__ < 0x890 17# error Apple's MPW SCpp v.8.9.0 or better compiler required 18#endif 19 20/* TODO: Check that this config is necessary for all compiler versions. 21 * It is here for historical reasons for the moment. 22 */ 23#define _STLP_NO_CONTAINERS_EXTENSION 24 25#ifdef qMacApp 26# ifndef __CONDITIONALMACROS__ /* skip including ConditionalMacros_AC.h if ConditionalMacros.h is already included */ 27# include <CoreSwitches_AC.h> 28# include <ConditionalMacros_AC.h> 29# include <Types_AC.h> 30# define _STLP_FILE__ _FILE_AC 31# define _STLP_DEBUG_MESSAGE 32# define __stl_debug_message ProgramBreak_AC 33# include <ConditionalMacros.h> 34# endif 35# include <Types.h> 36#else 37# include <ConditionalMacros.h> 38# include <Types.h> 39#endif 40 41#define _STLP_UINT32_T UInt32 42typedef int wint_t; 43 44#ifndef TYPE_BOOL 45# error <ConditionalMacros.h> must be included. (TYPE_BOOL) 46#endif 47#if !TYPE_BOOL 48# define _STLP_NO_BOOL 49# define _STLP_DONT_USE_BOOL_TYPEDEF 50#endif 51 52#ifndef TYPE_LONGLONG 53# error <ConditionalMacros.h> must be included. (TYPE_LONGLONG) 54#endif 55#if TYPE_LONGLONG 56# define _STLP_LONG_LONG long long 57#endif 58 59#if !__option(exceptions) 60# define _STLP_HAS_NO_EXCEPTIONS 61#endif 62 63#define _STLP_DEBUG_MESSAGE_POST DebugStr("\pSTL diagnosis issued. See 'stderr' for detail."); 64#define _STLP_ASSERT_MSG_TRAILER " " 65 66#ifdef _STLP_DEBUG 67# define _STLP_THROW(x) (DebugStr("\pSTL is about to throw exception: "#x),throw x) 68#endif 69 70#if defined(__MRC__) 71# ifndef __spillargs 72# define __spillargs 1 // MrCpp requires this symbol to be defined as 1 to properly handle va_start; ref.[ file stdarg.h; line 26 ] 73# endif 74#endif 75 76#if defined(__SC__) 77#define _STLP_VENDOR_LONG_DOUBLE_MATH //*TY 12/03/2000 - SCpp's native math type is long double 78#endif 79 80#ifndef _STLP_NATIVE_INCLUDE_PATH 81# if __option(unix_includes) 82# define _STLP_NATIVE_INCLUDE_PATH ../CIncludes // expects the alias to {CIncludes} under the same folder as {STL} 83# else 84# define _STLP_NATIVE_INCLUDE_PATH ::CIncludes // expects the alias to {CIncludes} under the same folder as {STL} 85# endif 86#endif 87#if !defined(_STLP_MAKE_HEADER) 88# if !__option(unix_includes) 89# define _STLP_MAKE_HEADER(path, header) <path:header> // Mac uses ":" for directory delimiter 90# endif 91#endif 92 93# define _STLD _DBG // to keep the length of generated symbols within the compiler limitation 94 95#define _STLP_USE_STDIO_IO 1 //*TY 02/24/2000 - see also ; ref.[ file _fstream.h; line 36 ] 96#define _STLP_NO_THREADS //*TY 12/17/2000 - multi-thread capability not explored, yet. 97#undef _REENTRANT //*ty 11/24/2001 - to make sure no thread facility is activated 98#define _NOTHREADS //*ty 12/07/2001 - 99 100// native library limitations 101#define _STLP_VENDOR_GLOBAL_STD // mpw's c++ libs do not utilize namespace std yet 102#define _STLP_NO_BAD_ALLOC // known limitation 103#define _STLP_HAS_NO_NEW_C_HEADERS // known limitation 104#define _STLP_NO_NEW_NEW_HEADER // known limitation 105#define _STLP_NO_NATIVE_MBSTATE_T // known limitation 106#define _STLP_NO_NATIVE_WIDE_FUNCTIONS // known limitation 107#define _STLP_NO_NATIVE_WIDE_STREAMS // known limitation 108#define _STLP_NO_UNCAUGHT_EXCEPT_SUPPORT // known limitation 109#define _STLP_BROKEN_EXCEPTION_CLASS // known limitation 110 111// compiler limitations 112# define _STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS 113 114# define _STLP_MPWFIX_TRY try{ //*TY 06/01/2000 - exception handling bug workaround 115# define _STLP_MPWFIX_CATCH }catch(...){throw;} //*TY 06/01/2000 - exception handling bug workaround 116# define _STLP_MPWFIX_CATCH_ACTION(action) }catch(...){action;throw;} //*TY 06/01/2000 - exception handling bug workaround 117# define _STLP_THROW_RETURN_BUG // known limitation 118# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION // known limitation 119# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX // known limitation 120# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER // known limitation 121# define _STLP_NO_RELOPS_NAMESPACE // known limitation 122// end of stl_apple.h 123