williamr@2: // STLport configuration file for Digital Mars C++ williamr@2: williamr@2: //#define _STLP_VERBOSE williamr@2: williamr@2: #define _STLP_COMPILER "DMC" williamr@2: williamr@2: #if defined (_STLP_VERBOSE) williamr@2: # pragma message __DMC_VERSION_STRING__ williamr@2: #endif williamr@2: williamr@2: #if (__DMC__ < 0x846) williamr@2: # error "Digital Mars C++ versions prior to 8.46 are not supported!" williamr@2: #endif williamr@2: williamr@2: #ifndef _CPPUNWIND williamr@2: # define _STLP_NO_EXCEPTIONS williamr@2: #endif williamr@2: #define _STLP_VENDOR_GLOBAL_CSTD williamr@2: williamr@2: //DMC prefer enum to real static const variable because it do not consider williamr@2: //static const as const enough to be used in switch declaration... williamr@2: #define _STLP_STATIC_CONST_INIT_BUG williamr@2: williamr@2: #if !defined (_WIN32) williamr@2: // it's not fully supported on non-Win32 platforms williamr@2: # define _STLP_NO_NATIVE_WIDE_FUNCTIONS williamr@2: #endif williamr@2: williamr@2: /* _STLP_NO_OWN_NAMESPACE is defined because Digital Mars' linker and libarian williamr@2: appear to have problems with STLport namespaces. Summary of the issues: williamr@2: williamr@2: STATIC: Digital Mars' librarian (lib.exe) may fail with "len <= IDMAX" error williamr@2: if _STLP_DEBUG is defined. This is because Digital Mars' librarian uses williamr@2: Microsoft OMF format, which limits identifier length to about 512 bytes. williamr@2: With STLport namespaces, some identifiers such as Category_Map in williamr@2: src/locale_catalog.cpp may exceed the maximum OMF identifier length. williamr@2: williamr@2: DYNAMIC: Export issues with cin, cout, cerr, clog in src/iostream.cpp. williamr@2: Exports in Digital Mars 'def' file must match mangled names in iostream.cpp. williamr@2: With STLport namespaces, the mangled names in the intermediate files no williamr@2: longer match these pre-defined exports. To use STLport dynamic libraries williamr@2: and STLport namespaces with Digital Mars, the pre-defined exports in williamr@2: src/iostream.cpp and the related Digital Mars 'def' files would need to be williamr@2: revised. */ williamr@2: #define _STLP_NO_OWN_NAMESPACE 1 williamr@2: williamr@2: // select threads strategy williamr@2: #if defined (_MT) && !defined (_NOTHREADS) williamr@2: # define _REENTRANT williamr@2: #else williamr@2: # define _NOTHREADS williamr@2: #endif williamr@2: williamr@2: #ifndef _BOOL_DEFINED williamr@2: # define _STLP_NO_BOOL williamr@2: #else williamr@2: # define _STLP_DONT_USE_BOOL_TYPEDEF williamr@2: #endif williamr@2: williamr@2: #if _INTEGRAL_MAX_BITS >= 64 williamr@2: # define _STLP_LONG_LONG long long williamr@2: #endif williamr@2: williamr@2: #define _STLP_DONT_USE_PRIV_NAMESPACE williamr@2: #define _STLP_NO_BAD_ALLOC williamr@2: #define _STLP_THROW_RETURN_BUG williamr@2: williamr@2: #if !defined (_DLL) williamr@2: # undef _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT williamr@2: #endif williamr@2: williamr@2: #define _STLP_USE_ABBREVS williamr@2: #define _STLP_NO_CONTAINERS_EXTENSION williamr@2: #define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER williamr@2: williamr@2: #define _STLP_EXPORT_DECLSPEC __declspec(dllexport) williamr@2: #define _STLP_IMPORT_DECLSPEC __declspec(dllimport) williamr@2: williamr@2: #define _STLP_CLASS_EXPORT_DECLSPEC __declspec(dllexport) williamr@2: #define _STLP_CLASS_IMPORT_DECLSPEC __declspec(dllimport) williamr@2: williamr@2: #define _STLP_IMPORT_TEMPLATE_KEYWORD __declspec(dllimport) williamr@2: #define _STLP_EXPORT_TEMPLATE_KEYWORD __declspec(dllexport) williamr@2: williamr@2: #if defined (_WINDLL) williamr@2: # define _STLP_DLL williamr@2: #endif williamr@2: #if defined (_DLL) williamr@2: # define _STLP_RUNTIME_DLL williamr@2: #endif williamr@2: #include williamr@2: #undef _STLP_RUNTIME_DLL williamr@2: #undef _STLP_DLL williamr@2: williamr@2: #if defined (_STLP_USE_DYNAMIC_LIB) williamr@2: # define _STLP_USE_DECLSPEC 1 williamr@2: # if defined (__BUILDING_STLPORT) williamr@2: # define _STLP_CALL __export williamr@2: # else williamr@2: # define _STLP_CALL williamr@2: # endif williamr@2: #else williamr@2: # define _STLP_CALL williamr@2: #endif williamr@2: williamr@2: #include williamr@2: williamr@2: # undef __SC__ williamr@2: