stdcpp/include/config/stl_dm.h
changeset 0 e4d67989cc36
equal deleted inserted replaced
-1:000000000000 0:e4d67989cc36
       
     1 // STLport configuration file for Digital Mars C++
       
     2 
       
     3 #ifndef _STLP_DMC_H
       
     4 # define _STLP_DMC_H
       
     5 
       
     6 #if __DMC__ < 0x832
       
     7 #error "Digital Mars C++ versions prior to 8.32 are not supported!"
       
     8 #endif
       
     9 
       
    10 
       
    11 #ifndef _CPPUNWIND
       
    12 # define _STLP_NO_EXCEPTIONS
       
    13 #endif
       
    14 # undef _STLP_NO_NAMESPACES
       
    15 # define _STLP_NO_RELOPS_NAMESPACE
       
    16 # define _STLP_VENDOR_GLOBAL_CSTD
       
    17 # define _STLP_VENDOR_GLOBAL_STD
       
    18 # define _STLP_VENDOR_EXCEPT_STD std
       
    19 
       
    20 # if !defined(_WIN32)
       
    21 // it's not fully supported on non-Win32 platforms
       
    22 #  define _STLP_NO_NEW_IOSTREAMS
       
    23 #  define _STLP_NO_NATIVE_WIDE_FUNCTIONS
       
    24 # endif
       
    25 
       
    26 # if defined(_STLP_NO_NEW_IOSTREAMS) || defined(_STLP_NO_OWN_IOSTREAMS)
       
    27 #  define _STLP_OWN_NAMESPACE
       
    28 # else
       
    29 #  define _STLP_NO_OWN_NAMESPACE
       
    30 # endif
       
    31 
       
    32 
       
    33 // select threads strategy
       
    34 # if defined (_MT) && !defined (_NOTHREADS)
       
    35 #  define _REENTRANT
       
    36 # else
       
    37 #  define _NOTHREADS
       
    38 # endif
       
    39 
       
    40 // select SGI-style alloc instead of allocator<T>
       
    41 # define _STLP_USE_SGI_ALLOCATORS
       
    42 
       
    43 // select allocation method you like
       
    44 # undef _STLP_USE_MALLOC
       
    45 # define _STLP_USE_NEWALLOC
       
    46 
       
    47 // this one is not mandatory, just enabled
       
    48 # undef _STLP_USE_DEFALLOC
       
    49 
       
    50 // define _STLP_USE_ABBREVS if your linker has trouble with long 
       
    51 // external symbols
       
    52 # undef _STLP_USE_ABBREVS
       
    53 
       
    54 
       
    55 // unsigned 32-bit integer type
       
    56 #  define _STLP_UINT32_T unsigned
       
    57 
       
    58 #  ifndef _BOOL_DEFINED
       
    59 #   define _STLP_NO_BOOL
       
    60 #  else
       
    61 #   define _STLP_DONT_USE_BOOL_TYPEDEF
       
    62 #  endif
       
    63 
       
    64 #  undef _STLP_YVALS_H
       
    65 #  undef _STLP_LIMITED_DEFAULT_TEMPLATES
       
    66 #  define _STLP_DEFAULT_TYPE_PARAM
       
    67 #  undef _STLP_NO_STATIC_TEMPLATE_DATA
       
    68 #  undef _STLP_RAND48
       
    69 #  undef _STLP_LOOP_INLINE_PROBLEMS
       
    70 
       
    71 #  undef _STLP_HAS_NO_NAMESPACES
       
    72 
       
    73 #  undef _STLP_NEED_TYPENAME
       
    74 #  undef _STLP_NEED_EXPLICIT
       
    75 #  undef _STLP_HAS_NO_EXCEPTIONS
       
    76 #  undef _STLP_NO_EXCEPTION_SPEC
       
    77 #  undef _STLP_WEAK_ATTRIBUTE
       
    78 #  undef _STLP_BASE_MATCH_BUG
       
    79 #  undef _STLP_NONTEMPL_BASE_MATCH_BUG
       
    80 #  undef _STLP_NESTED_TYPE_PARAM_BUG
       
    81 #  undef _STLP_NO_ARROW_OPERATOR
       
    82 #  undef _STLP_UNINITIALIZABLE_PRIVATE
       
    83 #  undef _STLP_BASE_TYPEDEF_BUG
       
    84 #  undef _STLP_BASE_TYPEDEF_OUTSIDE_BUG
       
    85 #  undef _STLP_CONST_CONSTRUCTOR_BUG
       
    86 
       
    87 #  undef _STLP_NO_NEW_STYLE_CASTS
       
    88 
       
    89 #  ifndef _WCHAR_T_DEFINED
       
    90 #   define _STLP_NO_WCHAR_T
       
    91 #  endif
       
    92 #  define _STLP_HAS_NO_UNIX98_WCHAR_EXTENSIONS
       
    93 
       
    94 #  undef _STLP_WCHAR_T_IS_USHORT
       
    95 
       
    96 #  if _INTEGRAL_MAX_BITS >= 64
       
    97 #   define _STLP_LONG_LONG long long
       
    98 #  endif
       
    99 
       
   100 #  undef _STLP_NO_LONG_DOUBLE
       
   101 #  undef _STLP_NEED_MUTABLE
       
   102 #  undef _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX
       
   103 #  undef _STLP_NO_BAD_ALLOC
       
   104 #  undef _STLP_DEBUG_ALLOC
       
   105 #  undef _STLP_NO_MEMBER_TEMPLATES
       
   106 #  undef _STLP_NO_MEMBER_TEMPLATE_CLASSES
       
   107 #  define _STLP_NO_MEMBER_TEMPLATE_KEYWORD
       
   108 #  undef _STLP_NO_FRIEND_TEMPLATES
       
   109 #  undef _STLP_NO_QUALIFIED_FRIENDS
       
   110 #  undef _STLP_NO_CLASS_PARTIAL_SPECIALIZATION
       
   111 #  undef _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER
       
   112 #  undef _STLP_AUTOMATIC_TYPE_TRAITS
       
   113 #  undef _STLP_MEMBER_POINTER_PARAM_BUG
       
   114 #  undef _STLP_NON_TYPE_TMPL_PARAM_BUG
       
   115 #  undef _STLP_NO_DEFAULT_NON_TYPE_PARAM
       
   116 #  undef _STLP_NO_METHOD_SPECIALIZATION
       
   117 #  undef _STLP_STATIC_ARRAY_BUG
       
   118 #  undef _STLP_STATIC_CONST_INIT_BUG
       
   119 #  undef _STLP_TRIVIAL_CONSTRUCTOR_BUG
       
   120 #  undef _STLP_TRIVIAL_DESTRUCTOR_BUG
       
   121 #  undef _STLP_BROKEN_USING_DIRECTIVE
       
   122 #  undef _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS
       
   123 #  undef _STLP_NO_EXCEPTION_HEADER
       
   124 #  undef _STLP_DEFAULT_CONSTRUCTOR_BUG
       
   125 
       
   126 #  define _STLP_HAS_NO_NEW_IOSTREAMS
       
   127 #  define _STLP_HAS_NO_NEW_C_HEADERS
       
   128 #  define _STLP_THROW_RETURN_BUG
       
   129 #  undef _STLP_LINK_TIME_INSTANTIATION
       
   130 #  undef _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS
       
   131 #  undef _STLP_NO_TEMPLATE_CONVERSIONS
       
   132 #  undef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS
       
   133 
       
   134 
       
   135 #  define _STLP_NO_NATIVE_MBSTATE_T
       
   136 
       
   137 
       
   138 #  define _STLP_EXPORT_DECLSPEC __declspec(dllexport)
       
   139 #  define _STLP_IMPORT_DECLSPEC __declspec(dllimport)
       
   140 
       
   141 #  define _STLP_CLASS_EXPORT_DECLSPEC __declspec(dllexport)
       
   142 #  define _STLP_CLASS_IMPORT_DECLSPEC __declspec(dllimport)
       
   143 
       
   144 #  define _STLP_IMPORT_TEMPLATE_KEYWORD __declspec(dllimport)
       
   145 #  define _STLP_EXPORT_TEMPLATE_KEYWORD __declspec(dllexport)
       
   146 
       
   147 #define _STLP_NATIVE_HEADER(header)    <../include/##header>
       
   148 #define _STLP_NATIVE_C_HEADER(header)    <../include/##header>
       
   149 #define _STLP_NATIVE_CPP_C_HEADER(header)    <../include/##header>
       
   150 #define _STLP_NATIVE_OLD_STREAMS_HEADER(header) <../include/##header>
       
   151 #define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../include/##header>
       
   152 
       
   153 
       
   154 # if defined(__BUILDING_STLPORT) && defined(_WINDLL)
       
   155 #  define _STLP_CALL __export
       
   156 
       
   157 #  undef _STLP_USE_DECLSPEC
       
   158 #  define _STLP_USE_DECLSPEC 1
       
   159 # endif
       
   160 
       
   161 # if !defined (__BUILDING_STLPORT) && !defined (_STLP_NO_OWN_IOSTREAMS)
       
   162 #  if (defined (_DLL) && !defined (_STLP_DONT_USE_DLL)) || defined (_STLP_USE_DLL)
       
   163 #   undef  _STLP_USE_DECLSPEC
       
   164 #   define _STLP_USE_DECLSPEC 1
       
   165 #  endif
       
   166 
       
   167 #  if defined (_STLP_DEBUG)
       
   168 #   if defined (_DLL)
       
   169 #    if !defined (_STLP_DONT_USE_DLL)
       
   170 #     pragma comment(lib,"stlp45dm_stldebug.lib")
       
   171 #    else
       
   172 #     pragma comment(lib,"stlp45dm_stldebug_staticx.lib")
       
   173 #    endif
       
   174 #   else
       
   175 #    if defined (_STLP_USE_DLL)
       
   176 #     pragma comment(lib,"stlp45dms_stldebug.lib")
       
   177 #    else
       
   178 #     pragma comment(lib,"stlp45dm_stldebug_static.lib")
       
   179 #    endif
       
   180 #   endif
       
   181 #  elif defined (DEBUG)
       
   182 #   if defined (_DLL)
       
   183 #    if !defined (_STLP_DONT_USE_DLL)
       
   184 #     pragma comment(lib,"stlp45dm_debug.lib")
       
   185 #    else
       
   186 #     pragma comment(lib,"stlp45dm_debug_staticx.lib")
       
   187 #    endif
       
   188 #   else
       
   189 #    if defined (_STLP_USE_DLL)
       
   190 #     pragma comment(lib,"stlp45dms_debug.lib")
       
   191 #    else
       
   192 #     pragma comment(lib,"stlp45dm_debug_static.lib")
       
   193 #    endif
       
   194 #   endif
       
   195 #  else
       
   196 #   if defined (_DLL)
       
   197 #    if !defined (_STLP_DONT_USE_DLL)
       
   198 #     pragma comment(lib,"stlp45dm.lib")
       
   199 #    else
       
   200 #     pragma comment(lib,"stlp45dm_staticx.lib")
       
   201 #    endif
       
   202 #   else
       
   203 #    if defined (_STLP_USE_DLL)
       
   204 #     pragma comment(lib,"stlp45dms.lib")
       
   205 #    else
       
   206 #     pragma comment(lib,"stlp45dm_static.lib")
       
   207 #    endif
       
   208 #   endif
       
   209 #  endif
       
   210 # endif
       
   211 
       
   212 
       
   213 #ifdef __BUILDING_STLPORT
       
   214 // still needed for building STLport itself, but isn't needed for
       
   215 // compiling applications anymore
       
   216 # undef __SC__
       
   217 #endif
       
   218 
       
   219 #undef __STLP_NO_KEYWORDS_WORKAROUND
       
   220 #if !defined (__STLP_NO_KEYWORDS_WORKAROUND)
       
   221 # define __in __stl_in
       
   222 # define __out __stl_out
       
   223 #endif
       
   224 
       
   225 #endif