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