epoc32/include/tools/stlport/stl/config/_dm.h
author William Roberts <williamr@symbian.org>
Tue, 16 Mar 2010 16:12:26 +0000
branchSymbian2
changeset 2 2fe1408b6811
child 4 837f303aceeb
permissions -rw-r--r--
Final list of Symbian^2 public API header files
     1 // STLport configuration file for Digital Mars C++
     2 
     3 //#define _STLP_VERBOSE
     4 
     5 #define _STLP_COMPILER "DMC"
     6 
     7 #if defined (_STLP_VERBOSE)
     8 #  pragma message __DMC_VERSION_STRING__
     9 #endif
    10 
    11 #if (__DMC__ < 0x846)
    12 #  error "Digital Mars C++ versions prior to 8.46 are not supported!"
    13 #endif
    14 
    15 #ifndef _CPPUNWIND
    16 #  define _STLP_NO_EXCEPTIONS
    17 #endif
    18 #define _STLP_VENDOR_GLOBAL_CSTD
    19 
    20 //DMC prefer enum to real static const variable because it do not consider
    21 //static const as const enough to be used in switch declaration...
    22 #define _STLP_STATIC_CONST_INIT_BUG
    23 
    24 #if !defined (_WIN32)
    25 // it's not fully supported on non-Win32 platforms
    26 #  define _STLP_NO_NATIVE_WIDE_FUNCTIONS
    27 #endif
    28 
    29 /* _STLP_NO_OWN_NAMESPACE is defined because Digital Mars' linker and libarian
    30    appear to have problems with STLport namespaces. Summary of the issues:
    31 
    32    STATIC: Digital Mars' librarian (lib.exe) may fail with "len <= IDMAX" error
    33    if _STLP_DEBUG is defined.  This is because Digital Mars' librarian uses
    34    Microsoft OMF format, which limits identifier length to about 512 bytes.
    35    With STLport namespaces, some identifiers such as Category_Map in
    36    src/locale_catalog.cpp may exceed the maximum OMF identifier length.
    37 
    38    DYNAMIC: Export issues with cin, cout, cerr, clog in src/iostream.cpp.
    39    Exports in Digital Mars 'def' file must match mangled names in iostream.cpp.
    40    With STLport namespaces, the mangled names in the intermediate files no
    41    longer match these pre-defined exports. To use STLport dynamic libraries
    42    and STLport namespaces with Digital Mars, the pre-defined exports in
    43    src/iostream.cpp and the related Digital Mars 'def' files would need to be
    44    revised. */
    45 #define _STLP_NO_OWN_NAMESPACE 1
    46 
    47 // select threads strategy
    48 #if defined (_MT) && !defined (_NOTHREADS)
    49 #  define _REENTRANT
    50 #else
    51 #  define _NOTHREADS
    52 #endif
    53 
    54 #ifndef _BOOL_DEFINED
    55 #  define _STLP_NO_BOOL
    56 #else
    57 #  define _STLP_DONT_USE_BOOL_TYPEDEF
    58 #endif
    59 
    60 #if _INTEGRAL_MAX_BITS >= 64
    61 #  define _STLP_LONG_LONG long long
    62 #endif
    63 
    64 #define _STLP_DONT_USE_PRIV_NAMESPACE
    65 #define _STLP_NO_BAD_ALLOC
    66 #define _STLP_THROW_RETURN_BUG
    67 
    68 #if !defined (_DLL)
    69 #  undef _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT
    70 #endif
    71 
    72 #define _STLP_USE_ABBREVS
    73 #define _STLP_NO_CONTAINERS_EXTENSION
    74 #define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER
    75 
    76 #define _STLP_EXPORT_DECLSPEC __declspec(dllexport)
    77 #define _STLP_IMPORT_DECLSPEC __declspec(dllimport)
    78 
    79 #define _STLP_CLASS_EXPORT_DECLSPEC __declspec(dllexport)
    80 #define _STLP_CLASS_IMPORT_DECLSPEC __declspec(dllimport)
    81 
    82 #define _STLP_IMPORT_TEMPLATE_KEYWORD __declspec(dllimport)
    83 #define _STLP_EXPORT_TEMPLATE_KEYWORD __declspec(dllexport)
    84 
    85 #if defined (_WINDLL)
    86 #  define _STLP_DLL
    87 #endif
    88 #if defined (_DLL)
    89 #  define _STLP_RUNTIME_DLL
    90 #endif
    91 #include <stl/config/_detect_dll_or_lib.h>
    92 #undef _STLP_RUNTIME_DLL
    93 #undef _STLP_DLL
    94 
    95 #if defined (_STLP_USE_DYNAMIC_LIB)
    96 #  define _STLP_USE_DECLSPEC 1
    97 #  if defined (__BUILDING_STLPORT)
    98 #    define _STLP_CALL __export
    99 #  else
   100 #    define _STLP_CALL
   101 #  endif
   102 #else
   103 #  define _STLP_CALL
   104 #endif
   105 
   106 #include <stl/config/_auto_link.h>
   107 
   108 #  undef __SC__
   109