111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* STLport configuration file
211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * It is internal STLport header - DO NOT include it directly
311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */
411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* common configuration settings for Apple MPW MrCpp / SCpp */
611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_COMPILER "spec me!"
811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if defined(__MRC__) && __MRC__ < 0x500
1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# error Apple's MPW MrCpp v.5.0.0 or better compiler required
1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if defined(__SC__) && __SC__ < 0x890
1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# error Apple's MPW SCpp v.8.9.0 or better compiler required
1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* TODO: Check that this config is necessary for all compiler versions.
1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * It is here for historical reasons for the moment.
1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */
1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_NO_CONTAINERS_EXTENSION
2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifdef qMacApp
2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# ifndef __CONDITIONALMACROS__ /* skip including ConditionalMacros_AC.h if ConditionalMacros.h is already included */
2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# include <CoreSwitches_AC.h>
2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# include <ConditionalMacros_AC.h>
2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# include <Types_AC.h>
2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_FILE__ _FILE_AC
2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_DEBUG_MESSAGE
2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define __stl_debug_message ProgramBreak_AC
2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# include <ConditionalMacros.h>
3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# endif
3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# include <Types.h>
3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#else
3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# include <ConditionalMacros.h>
3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# include <Types.h>
3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_UINT32_T UInt32
3811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef int wint_t;
3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef TYPE_BOOL
4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# error <ConditionalMacros.h> must be included. (TYPE_BOOL)
4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if !TYPE_BOOL
4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NO_BOOL
4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_DONT_USE_BOOL_TYPEDEF
4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef TYPE_LONGLONG
4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# error <ConditionalMacros.h> must be included. (TYPE_LONGLONG)
5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if TYPE_LONGLONG
5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_LONG_LONG long long
5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if !__option(exceptions)
5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_HAS_NO_EXCEPTIONS
5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_DEBUG_MESSAGE_POST DebugStr("\pSTL diagnosis issued. See 'stderr' for detail.");
6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_ASSERT_MSG_TRAILER " "
6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifdef _STLP_DEBUG
6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#   define _STLP_THROW(x) (DebugStr("\pSTL is about to throw exception: "#x),throw x)
6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if defined(__MRC__)
6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# ifndef __spillargs
6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define __spillargs 1 // MrCpp requires this symbol to be defined as 1 to properly handle va_start; ref.[ file stdarg.h; line 26 ]
6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# endif
7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if defined(__SC__)
7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_VENDOR_LONG_DOUBLE_MATH        //*TY 12/03/2000 - SCpp's native math type is long double
7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _STLP_NATIVE_INCLUDE_PATH
7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# if __option(unix_includes)
7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_NATIVE_INCLUDE_PATH ../CIncludes   // expects the alias to {CIncludes} under the same folder as {STL}
7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# else
8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_NATIVE_INCLUDE_PATH ::CIncludes   // expects the alias to {CIncludes} under the same folder as {STL}
8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# endif
8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if !defined(_STLP_MAKE_HEADER)
8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# if !__option(unix_includes)
8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define _STLP_MAKE_HEADER(path, header) <path:header> // Mac uses ":" for directory delimiter
8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# endif
8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLD _DBG  // to keep the length of generated symbols within the compiler limitation
9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_USE_STDIO_IO 1       //*TY 02/24/2000 - see also ; ref.[ file _fstream.h; line 36 ]
9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_NO_THREADS           //*TY 12/17/2000 - multi-thread capability not explored, yet.
9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#undef _REENTRANT                  //*ty 11/24/2001 - to make sure no thread facility is activated
9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _NOTHREADS                 //*ty 12/07/2001 -
9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// native library limitations
9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_VENDOR_GLOBAL_STD          // mpw's c++ libs do not utilize namespace std yet
9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_NO_BAD_ALLOC               // known limitation
9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_HAS_NO_NEW_C_HEADERS       // known limitation
10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_NO_NEW_NEW_HEADER          // known limitation
10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_NO_NATIVE_MBSTATE_T        // known limitation
10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_NO_NATIVE_WIDE_FUNCTIONS   // known limitation
10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_NO_NATIVE_WIDE_STREAMS     // known limitation
10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_NO_UNCAUGHT_EXCEPT_SUPPORT // known limitation
10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_BROKEN_EXCEPTION_CLASS     // known limitation
10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// compiler limitations
10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS
10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_MPWFIX_TRY try{                      //*TY 06/01/2000 - exception handling bug workaround
11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_MPWFIX_CATCH }catch(...){throw;}              //*TY 06/01/2000 - exception handling bug workaround
11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_MPWFIX_CATCH_ACTION(action) }catch(...){action;throw;}  //*TY 06/01/2000 - exception handling bug workaround
11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_THROW_RETURN_BUG            // known limitation
11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION    // known limitation
11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX    // known limitation
11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER    // known limitation
11711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NO_RELOPS_NAMESPACE          // known limitation
11811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// end of stl_apple.h
119