author | William Roberts <williamr@symbian.org> |
Tue, 16 Mar 2010 16:12:26 +0000 | |
branch | Symbian2 |
changeset 2 | 2fe1408b6811 |
child 4 | 837f303aceeb |
permissions | -rw-r--r-- |
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 |