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