123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- // STLport configuration file for Digital Mars C++
- #define _STLP_COMPILER __DMC_VERSION_STRING__
- #if (__DMC__ < 0x849)
- # error "Digital Mars C++ compilers before version 8.49 are not supported!"
- #endif
- /* DMC goes too far in template instanciation and tries to fully instanciate
- * slist<pair<const int, string> > for instance. The generation of assignment
- * operator fails of course so we are force to use mutable key for this compiler.
- */
- #define _STLP_NO_CONST_IN_PAIR
- #define _STLP_DONT_SUP_DFLT_PARAM
- #ifndef _CPPUNWIND
- # define _STLP_NO_EXCEPTIONS
- #endif
- #ifndef _CPPRTTI
- # define _STLP_NO_RTTI
- #endif
- #define _STLP_VENDOR_GLOBAL_CSTD
- //DMC prefer enum to real static const variable because it do not consider
- //static const as const enough to be used in switch declaration...
- #define _STLP_STATIC_CONST_INIT_BUG
- #if !defined (_WIN32)
- // it's not fully supported on non-Win32 platforms
- # define _STLP_NO_NATIVE_WIDE_FUNCTIONS
- #endif
- /* _STLP_NO_OWN_NAMESPACE is defined because Digital Mars' linker and libarian
- appear to have problems with STLport namespaces. Summary of the issues:
- STATIC: Digital Mars' librarian (lib.exe) may fail with "len <= IDMAX" error
- if _STLP_DEBUG is defined. This is because Digital Mars' librarian uses
- Microsoft OMF format, which limits identifier length to about 512 bytes.
- With STLport namespaces, some identifiers such as Category_Map in
- src/locale_catalog.cpp may exceed the maximum OMF identifier length.
- DYNAMIC: Export issues with cin, cout, cerr, clog in src/iostream.cpp.
- Exports in Digital Mars 'def' file must match mangled names in iostream.cpp.
- With STLport namespaces, the mangled names in the intermediate files no
- longer match these pre-defined exports. To use STLport dynamic libraries
- and STLport namespaces with Digital Mars, the pre-defined exports in
- src/iostream.cpp and the related Digital Mars 'def' files would need to be
- revised. */
- #define _STLP_NO_OWN_NAMESPACE 1
- // select threads strategy
- #if defined (_MT) && !defined (_STLP_NO_THREADS)
- # define _STLP_THREADS
- #endif
- #ifndef _BOOL_DEFINED
- # define _STLP_NO_BOOL
- #else
- # define _STLP_DONT_USE_BOOL_TYPEDEF
- #endif
- #if _INTEGRAL_MAX_BITS >= 64
- # define _STLP_LONG_LONG long long
- #endif
- #define _STLP_MARK_PARAMETER_AS_UNUSED(X)
- #define _STLP_DONT_USE_PRIV_NAMESPACE
- #define _STLP_PRIV
- #define _STLP_THROW_RETURN_BUG
- #if !defined (_DLL)
- # undef _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT
- #endif
- #if (__DMC__ < 0x849)
- # define _STLP_NO_BAD_ALLOC
- #endif
- #define _STLP_USE_ABBREVS
- #define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER
- #define _STLP_USE_MSVC6_MEM_T_BUG_WORKAROUND
- #define _STLP_EXPORT_DECLSPEC __declspec(dllexport)
- #define _STLP_IMPORT_DECLSPEC __declspec(dllimport)
- #define _STLP_CLASS_EXPORT_DECLSPEC __declspec(dllexport)
- #define _STLP_CLASS_IMPORT_DECLSPEC __declspec(dllimport)
- #define _STLP_NEED_ADDITIONAL_STATIC_DECLSPEC
- //#define _STLP_IMPORT_TEMPLATE_KEYWORD __declspec(dllimport)
- //#define _STLP_EXPORT_TEMPLATE_KEYWORD __declspec(dllexport)
- #if defined (_WINDLL)
- # define _STLP_DLL
- #endif
- #if defined (_DLL)
- # define _STLP_RUNTIME_DLL
- #endif
- #include <stl/config/_detect_dll_or_lib.h>
- #undef _STLP_RUNTIME_DLL
- #undef _STLP_DLL
- #if defined (_STLP_USE_DYNAMIC_LIB)
- # define _STLP_USE_DECLSPEC 1
- # if defined (__BUILDING_STLPORT)
- # define _STLP_CALL __export
- # else
- # define _STLP_CALL
- # endif
- #else
- # define _STLP_CALL
- #endif
- #include <stl/config/_auto_link.h>
- #undef __SC__
- #include <stl/config/_feedback.h>
|