/home/ntakagi/work/STLport-5.1.5/stlport/stl/config/_mwerks.h

Go to the documentation of this file.
00001 // STLport configuration file
00002 // It is internal STLport header - DO NOT include it directly
00003 
00004 #define _STLP_COMPILER "Metrowerk Codewarrior"
00005 
00006 // Bring in definition of __MSL__ and related items
00007 #include <mslGlobals.h>
00008 #include <ansi_parms.h>
00009 
00010 //
00011 //  Compiler features
00012 //
00013 
00014 
00015 // *** CodeWarrior Compiler Common Features ***
00016 #  if __option(longlong)
00017 #   define _STLP_LONG_LONG  long long
00018 #  endif
00019 
00020 #  define _STLP_USE_UNIX_EMULATION_IO  1
00021 
00022 #  define _STLP_USE_AUTO_PTR_CONVERSIONS  1
00023 
00024 # ifdef __INTEL__
00025 #  define _STLP_LITTLE_ENDIAN
00026 # else
00027 #  define _STLP_BIG_ENDIAN
00028 # endif
00029 
00030 #if defined(_MSL_NO_LOCALE)
00031 #define _STLP_NO_IMPORT_LOCALE
00032 #endif
00033 #if !__option( wchar_type )
00034 # define _STLP_WCHAR_T_IS_USHORT
00035 #endif
00036 
00037 #  if __MWERKS__ < 0x3000
00038 // *** CodeWarrior Compiler Common Bugs ***
00039 #   define __MSL_FIX_ITERATORS__(myType)    // Some MSL headers rely on this
00040 #   define _STLP_NO_FRIEND_TEMPLATES 1  // Bug mysteriously reintroduced in this version.
00041 #   define _STLP_THROW_RETURN_BUG  1
00042 #  endif
00043 
00044 //  *** Version-specific settings ***
00045 
00046 #  if __MWERKS__ >= 0x2405
00047 #   define _STLP_HAS_NATIVE_FLOAT_ABS
00048 #  endif
00049 
00050 #  if __MWERKS__ < 0x2405
00051 #   define _STLP_STATIC_CONST_INIT_BUG
00052 #  endif
00053 
00054 #  if __MWERKS__ <= 0x2303
00055 #   define _STLP_NO_TEMPLATE_CONVERSIONS  1
00056 #   define _STLP_NO_MEMBER_TEMPLATE_KEYWORD  1
00057 #  endif
00058 
00059 #  if __MWERKS__ < 0x2301
00060 #   define _STLP_MEMBER_SPECIALIZATION_BUG  1
00061 #  endif
00062 
00063 #  if __MWERKS__ < 0x2300    // CW Pro5 features
00064 #   define _STLP_INLINE_MEMBER_TEMPLATES 1
00065 #   define _STLP_RELOPS_IN_STD_BUG   1
00066 #   define _STLP_DEF_CONST_PLCT_NEW_BUG 1
00067 #   define _STLP_DEF_CONST_DEF_PARAM_BUG 1
00068 #   define _STLP_NO_TYPENAME_ON_RETURN_TYPE
00069 #  endif
00070 
00071 #  if __MWERKS__ < 0x2200    // CW Pro4 features
00072 #   define _STLP_BROKEN_USING_DIRECTIVE  1
00073 #   define _STLP_NO_MEMBER_TEMPLATES 1
00074 #   define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1
00075 #   define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1
00076 #   define _STLP_NO_FRIEND_TEMPLATES 1
00077 #   define _STLP_NO_QUALIFIED_FRIENDS 1
00078 #   define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1
00079 #  endif
00080 
00081 #  if __MWERKS__ < 0x2100      // CW Pro3 features
00082 #   define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1
00083 #   define _STLP_HAS_NO_NAMESPACES 1
00084 #   define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1
00085 
00086 #   define _STLP_NEED_TYPENAME        1
00087 #   define _STLP_NO_ARROW_OPERATOR 1
00088 #   define _STLP_TEMPLATE_PARAM_SUBTYPE_BUG  1
00089 #   define _STLP_FORCED_INLINE_INSTANTIATION_BUG  1
00090 #   define _STLP_MULTI_CONST_TEMPLATE_ARG_BUG  1
00091 #   define _STLP_INLINE_NAME_RESOLUTION_BUG  1
00092 // *** Metrowerks Standard Library Bug ***
00093 #   define _STLP_MSVC50_COMPATIBILITY 1
00094 #  endif
00095 
00096 #  if __MWERKS__ < 0x2000      // v. 2.0 features
00097 #   define _STLP_NO_WCHAR_T 1
00098 #   define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1
00099 #   define _STLP_NON_TYPE_TMPL_PARAM_BUG  1  // dwa 8/21/97 - this bug fixed for CWPro2
00100 #  endif
00101 
00102 #  if __MWERKS__ < 0x1900                 // dwa 8/19/97 - 1.9 Compiler feature defines
00103 #   define _STLP_LIMITED_DEFAULT_TEMPLATES 1
00104 #   define _STLP_BASE_TYPEDEF_BUG        1
00105 #   define _STLP_BASE_MATCH_BUG   1
00106 #   define _STLP_NONTEMPL_BASE_MATCH_BUG 1
00107 #   define _STLP_DEFAULT_TYPE_PARAM  1      // More limited template parameters
00108 
00109 #   if __MWERKS__ < 0x1800
00110     __GIVE_UP_WITH_STL(CW_18)
00111 #   endif
00112 
00113 #  endif
00114 
00115 
00116 // fixes to native inclusion wrappers.
00117 # if __MWERKS__ >= 0x2300  // CWPro5 changes paths - dwa 2/28/99
00118 #  define _STLP_NATIVE_INCLUDE_PATH  ../include
00119 #  define _STLP_NATIVE_C_INCLUDE_PATH  ../include
00120 #  define _STLP_NATIVE_HEADER(header)     <../include/##header>
00121 #  define _STLP_NATIVE_CPP_C_HEADER(header)     <../include/##header>
00122 #  define _STLP_NATIVE_C_HEADER(header)     <../include/##header>
00123 #  define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../include/##header>
00124 # else
00125 
00126 #  define _STLP_NATIVE_INCLUDE_PATH  Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C++:Include
00127 #  define _STLP_NATIVE_C_INCLUDE_PATH  Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:MSL Common:Public Includes
00128 #  define _STLP_NATIVE_HEADER(header)     <Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C++:Include:##header>
00129 #  define _STLP_NATIVE_CPP_C_HEADER(header)     <Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C++:Include:##header>
00130 #  define _STLP_NATIVE_C_HEADER(header)     <Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:MSL Common:Public Includes:##header>
00131 #  define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:MSL Common:Public Includes:##header>
00132 
00133 # endif
00134 
00135 //Following block come from boost intrinsics.hpp file:
00136 #if defined (__MSL_CPP__) && (__MSL_CPP__ >= 0x8000)
00137     // Metrowerks compiler is acquiring intrinsic type traits support
00138     // post version 8.  We hook into the published interface to pick up
00139     // user defined specializations as well as compiler intrinsics as
00140     // and when they become available:
00141 #   include <msl_utility>
00142 #   define _STLP_HAS_TRIVIAL_CONSTRUCTOR(T) Metrowerks::has_trivial_default_ctor<T>::value
00143 #   define _STLP_HAS_TRIVIAL_COPY(T) Metrowerks::has_trivial_copy_ctor<T>::value
00144 #   define _STLP_HAS_TRIVIAL_ASSIGN(T) Metrowerks::has_trivial_assignment<T>::value
00145 #   define _STLP_HAS_TRIVIAL_DESTRUCTOR(T) Metrowerks::has_trivial_dtor<T>::value
00146 #   define _STLP_IS_POD(T) Metrowerks::is_POD<T>::value
00147 #   define _STLP_HAS_TYPE_TRAITS_INTRINSICS
00148 #endif
00149 
00150 // fbp
00151 # if !defined( __MSL_CPP__ ) || __MSL_CPP__ <= 0x4105
00152 #   define _STLP_NO_NATIVE_WIDE_STREAMS 1
00153 #  endif
00154 
00155 # if defined(__MACH__)
00156 #  define _STLP_MAC
00157 #  define O_BINARY 0
00158 # elif defined(macintosh)
00159 #  define _NOTHREADS
00160 # endif
00161 # define _STLP_DLLEXPORT_NEEDS_PREDECLARATION 1



Generated on Mon Mar 10 15:32:46 2008 by  doxygen 1.5.1