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