_apple.h 4.3 KB

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