_mwerks.h 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. // STLport configuration file
  2. // It is internal STLport header - DO NOT include it directly
  3. #define _STLP_COMPILER "Metrowerk Codewarrior"
  4. // Bring in definition of __MSL__ and related items
  5. #include <mslGlobals.h>
  6. #include <ansi_parms.h>
  7. //
  8. // Compiler features
  9. //
  10. // *** CodeWarrior Compiler Common Features ***
  11. # if __option(longlong)
  12. # define _STLP_LONG_LONG long long
  13. # endif
  14. # define _STLP_USE_UNIX_EMULATION_IO 1
  15. # define _STLP_USE_AUTO_PTR_CONVERSIONS 1
  16. # ifdef __INTEL__
  17. # define _STLP_LITTLE_ENDIAN
  18. # else
  19. # define _STLP_BIG_ENDIAN
  20. # endif
  21. #if defined(_MSL_NO_LOCALE)
  22. #define _STLP_NO_IMPORT_LOCALE
  23. #endif
  24. #if !__option( wchar_type )
  25. # define _STLP_WCHAR_T_IS_USHORT
  26. #endif
  27. # if __MWERKS__ < 0x3000
  28. // *** CodeWarrior Compiler Common Bugs ***
  29. # define __MSL_FIX_ITERATORS__(myType) // Some MSL headers rely on this
  30. # define _STLP_THROW_RETURN_BUG 1
  31. # endif
  32. // *** Version-specific settings ***
  33. # if __MWERKS__ >= 0x2405
  34. # define _STLP_HAS_NATIVE_FLOAT_ABS
  35. # endif
  36. # if __MWERKS__ < 0x2405
  37. # define _STLP_STATIC_CONST_INIT_BUG
  38. # endif
  39. # if __MWERKS__ <= 0x2303
  40. # define _STLP_NO_TEMPLATE_CONVERSIONS 1
  41. # define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1
  42. # endif
  43. # if __MWERKS__ < 0x2301
  44. # define _STLP_MEMBER_SPECIALIZATION_BUG 1
  45. # endif
  46. # if __MWERKS__ < 0x2300 // CW Pro5 features
  47. # define _STLP_INLINE_MEMBER_TEMPLATES 1
  48. # define _STLP_RELOPS_IN_STD_BUG 1
  49. # define _STLP_DEF_CONST_PLCT_NEW_BUG 1
  50. # define _STLP_DEF_CONST_DEF_PARAM_BUG 1
  51. # define _STLP_NO_TYPENAME_ON_RETURN_TYPE
  52. # endif
  53. # if __MWERKS__ < 0x2200 // CW Pro4 features
  54. # define _STLP_BROKEN_USING_DIRECTIVE 1
  55. # define _STLP_NO_MEMBER_TEMPLATES 1
  56. # define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1
  57. # define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1
  58. # define _STLP_NO_QUALIFIED_FRIENDS 1
  59. # define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1
  60. # endif
  61. # if __MWERKS__ < 0x2100 // CW Pro3 features
  62. # define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1
  63. # define _STLP_HAS_NO_NAMESPACES 1
  64. # define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1
  65. # define _STLP_NEED_TYPENAME 1
  66. # define _STLP_NO_ARROW_OPERATOR 1
  67. # define _STLP_TEMPLATE_PARAM_SUBTYPE_BUG 1
  68. # define _STLP_FORCED_INLINE_INSTANTIATION_BUG 1
  69. # define _STLP_MULTI_CONST_TEMPLATE_ARG_BUG 1
  70. # define _STLP_INLINE_NAME_RESOLUTION_BUG 1
  71. // *** Metrowerks Standard Library Bug ***
  72. # define _STLP_MSVC50_COMPATIBILITY 1
  73. # endif
  74. # if __MWERKS__ < 0x2000 // v. 2.0 features
  75. # define _STLP_NO_WCHAR_T 1
  76. # define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1
  77. # define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 // dwa 8/21/97 - this bug fixed for CWPro2
  78. # endif
  79. # if __MWERKS__ < 0x1900 // dwa 8/19/97 - 1.9 Compiler feature defines
  80. # define _STLP_LIMITED_DEFAULT_TEMPLATES 1
  81. # define _STLP_BASE_TYPEDEF_BUG 1
  82. # define _STLP_BASE_MATCH_BUG 1
  83. # define _STLP_NONTEMPL_BASE_MATCH_BUG 1
  84. # define _STLP_DEFAULT_TYPE_PARAM 1 // More limited template parameters
  85. # if __MWERKS__ < 0x1800
  86. __GIVE_UP_WITH_STL(CW_18)
  87. # endif
  88. # endif
  89. // fixes to native inclusion wrappers.
  90. # if __MWERKS__ >= 0x2300 // CWPro5 changes paths - dwa 2/28/99
  91. # define _STLP_NATIVE_INCLUDE_PATH ../include
  92. # define _STLP_NATIVE_C_INCLUDE_PATH ../include
  93. # define _STLP_NATIVE_HEADER(header) <../include/##header>
  94. # define _STLP_NATIVE_CPP_C_HEADER(header) <../include/##header>
  95. # define _STLP_NATIVE_C_HEADER(header) <../include/##header>
  96. # define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../include/##header>
  97. # else
  98. # define _STLP_NATIVE_INCLUDE_PATH Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C++:Include
  99. # define _STLP_NATIVE_C_INCLUDE_PATH Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:MSL Common:Public Includes
  100. # define _STLP_NATIVE_HEADER(header) <Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C++:Include:##header>
  101. # define _STLP_NATIVE_CPP_C_HEADER(header) <Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C++:Include:##header>
  102. # define _STLP_NATIVE_C_HEADER(header) <Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:MSL Common:Public Includes:##header>
  103. # define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:MSL Common:Public Includes:##header>
  104. # endif
  105. //Following block come from boost intrinsics.hpp file:
  106. #if defined (__MSL_CPP__) && (__MSL_CPP__ >= 0x8000)
  107. // Metrowerks compiler is acquiring intrinsic type traits support
  108. // post version 8. We hook into the published interface to pick up
  109. // user defined specializations as well as compiler intrinsics as
  110. // and when they become available:
  111. # include <msl_utility>
  112. # define _STLP_HAS_TRIVIAL_CONSTRUCTOR(T) Metrowerks::has_trivial_default_ctor<T>::value
  113. # define _STLP_HAS_TRIVIAL_COPY(T) Metrowerks::has_trivial_copy_ctor<T>::value
  114. # define _STLP_HAS_TRIVIAL_ASSIGN(T) Metrowerks::has_trivial_assignment<T>::value
  115. # define _STLP_HAS_TRIVIAL_DESTRUCTOR(T) Metrowerks::has_trivial_dtor<T>::value
  116. # define _STLP_IS_POD(T) Metrowerks::is_POD<T>::value
  117. # define _STLP_HAS_TYPE_TRAITS_INTRINSICS
  118. #endif
  119. // fbp
  120. # if !defined( __MSL_CPP__ ) || __MSL_CPP__ <= 0x4105
  121. # define _STLP_NO_NATIVE_WIDE_STREAMS 1
  122. # endif
  123. # if defined(__MACH__)
  124. # define _STLP_MAC
  125. # define O_BINARY 0
  126. # elif defined(macintosh)
  127. # define _NOTHREADS
  128. # endif
  129. # define _STLP_DLLEXPORT_NEEDS_PREDECLARATION 1