_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