Home | History | Annotate | Download | only in config
      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
    119