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

Go to the documentation of this file.
00001 // STLport configuration file for Digital Mars C++
00002 
00003 //#define _STLP_VERBOSE
00004 
00005 #define _STLP_COMPILER "DMC"
00006 
00007 #if defined (_STLP_VERBOSE)
00008 #  pragma message __DMC_VERSION_STRING__
00009 #endif
00010 
00011 #if (__DMC__ < 0x846)
00012 #  error "Digital Mars C++ versions prior to 8.46 are not supported!"
00013 #endif
00014 
00015 #ifndef _CPPUNWIND
00016 #  define _STLP_NO_EXCEPTIONS
00017 #endif
00018 #define _STLP_VENDOR_GLOBAL_CSTD
00019 
00020 //DMC prefer enum to real static const variable because it do not consider
00021 //static const as const enough to be used in switch declaration...
00022 #define _STLP_STATIC_CONST_INIT_BUG
00023 
00024 #if !defined (_WIN32)
00025 // it's not fully supported on non-Win32 platforms
00026 #  define _STLP_NO_NATIVE_WIDE_FUNCTIONS
00027 #endif
00028 
00029 /* _STLP_NO_OWN_NAMESPACE is defined because Digital Mars' linker and libarian
00030    appear to have problems with STLport namespaces. Summary of the issues:
00031 
00032    STATIC: Digital Mars' librarian (lib.exe) may fail with "len <= IDMAX" error
00033    if _STLP_DEBUG is defined.  This is because Digital Mars' librarian uses
00034    Microsoft OMF format, which limits identifier length to about 512 bytes.
00035    With STLport namespaces, some identifiers such as Category_Map in
00036    src/locale_catalog.cpp may exceed the maximum OMF identifier length.
00037 
00038    DYNAMIC: Export issues with cin, cout, cerr, clog in src/iostream.cpp.
00039    Exports in Digital Mars 'def' file must match mangled names in iostream.cpp.
00040    With STLport namespaces, the mangled names in the intermediate files no
00041    longer match these pre-defined exports. To use STLport dynamic libraries
00042    and STLport namespaces with Digital Mars, the pre-defined exports in
00043    src/iostream.cpp and the related Digital Mars 'def' files would need to be
00044    revised. */
00045 #define _STLP_NO_OWN_NAMESPACE 1
00046 
00047 // select threads strategy
00048 #if defined (_MT) && !defined (_NOTHREADS)
00049 #  define _REENTRANT
00050 #else
00051 #  define _NOTHREADS
00052 #endif
00053 
00054 #ifndef _BOOL_DEFINED
00055 #  define _STLP_NO_BOOL
00056 #else
00057 #  define _STLP_DONT_USE_BOOL_TYPEDEF
00058 #endif
00059 
00060 #if _INTEGRAL_MAX_BITS >= 64
00061 #  define _STLP_LONG_LONG long long
00062 #endif
00063 
00064 #define _STLP_DONT_USE_PRIV_NAMESPACE
00065 #define _STLP_NO_BAD_ALLOC
00066 #define _STLP_THROW_RETURN_BUG
00067 
00068 #if !defined (_DLL)
00069 #  undef _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT
00070 #endif
00071 
00072 #define _STLP_USE_ABBREVS
00073 #define _STLP_NO_CONTAINERS_EXTENSION
00074 #define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER
00075 
00076 #define _STLP_EXPORT_DECLSPEC __declspec(dllexport)
00077 #define _STLP_IMPORT_DECLSPEC __declspec(dllimport)
00078 
00079 #define _STLP_CLASS_EXPORT_DECLSPEC __declspec(dllexport)
00080 #define _STLP_CLASS_IMPORT_DECLSPEC __declspec(dllimport)
00081 
00082 #define _STLP_IMPORT_TEMPLATE_KEYWORD __declspec(dllimport)
00083 #define _STLP_EXPORT_TEMPLATE_KEYWORD __declspec(dllexport)
00084 
00085 #if defined (_WINDLL)
00086 #  define _STLP_DLL
00087 #endif
00088 #if defined (_DLL)
00089 #  define _STLP_RUNTIME_DLL
00090 #endif
00091 #include <stl/config/_detect_dll_or_lib.h>
00092 #undef _STLP_RUNTIME_DLL
00093 #undef _STLP_DLL
00094 
00095 #if defined (_STLP_USE_DYNAMIC_LIB)
00096 #  define _STLP_USE_DECLSPEC 1
00097 #  if defined (__BUILDING_STLPORT)
00098 #    define _STLP_CALL __export
00099 #  else
00100 #    define _STLP_CALL
00101 #  endif
00102 #else
00103 #  define _STLP_CALL
00104 #endif
00105 
00106 #include <stl/config/_auto_link.h>
00107 
00108 #  undef __SC__
00109 



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