epoc32/include/tools/stlport/stl/config/_apple.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     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
    42 typedef 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