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