epoc32/include/tools/stlport/stl/config/_como.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
williamr@2
     2
// STLport configuration file
williamr@2
     3
// It is internal STLport header - DO NOT include it directly
williamr@2
     4
williamr@2
     5
#define _STLP_COMPILER "Comeau"
williamr@2
     6
williamr@2
     7
#include <stl/config/_native_headers.h>
williamr@2
     8
williamr@2
     9
#define _STLP_UINT32_T unsigned int
williamr@2
    10
williamr@2
    11
#define _STLP_HAS_NO_NEW_C_HEADERS
williamr@2
    12
// #define _STLP_VENDOR_GLOBAL_EXCEPT_STD
williamr@2
    13
#define _STLP_LONG_LONG long long
williamr@2
    14
williamr@2
    15
williamr@2
    16
//
williamr@2
    17
// ADDITIONS FOR COMEAU C++, made by Comeau Computing.
williamr@2
    18
// We can be reached through comeau@comeaucomputing.com
williamr@2
    19
// You shouldn't need to change anything below here for Comeau C++.
williamr@2
    20
// If you do, please tell us at comeau@comeaucomputing.com
williamr@2
    21
//
williamr@2
    22
// Changes made here, AND THROUGH ALL FILES, based upon the __COMO__ macro
williamr@2
    23
// (and SIMILAR NAMES INVOLVING COMO).... no doubt some of this will
williamr@2
    24
// change as SGI integrates the changes into their code base since
williamr@2
    25
// some changes are not really Comeau C++ specific, but required to
williamr@2
    26
// make the SGI code compliant with Standard C++).
williamr@2
    27
//
williamr@2
    28
// Testing was done with Comeau C++ 4.2.44 and 4.2.45.2.  Changes were made for
williamr@2
    29
// both Comeau relaxed mode and Comeau strict mode, especially for end user code
williamr@2
    30
// (that is, some of the .cxx files cannot compile in strict mode, because they
williamr@2
    31
// contain extensions to Standard C++, however their object code forms can
williamr@2
    32
// be used once compiled in relaxed mode, even if the end user code uses
williamr@2
    33
// strict mode).
williamr@2
    34
//
williamr@2
    35
// These changes may also work for some earlier versions of Comeau C++,
williamr@2
    36
// though we have not tested them.
williamr@2
    37
//
williamr@2
    38
// Actual mods made under RedHat 6.1 LINUX, should be ok with SuSE too and
williamr@2
    39
// other LINUX's, and older Caldera LINUX, Solaris/SPARC, SunOS, SCO UNIX,
williamr@2
    40
// and NetBSD. Other platforms may be added.  Comeau will also perform
williamr@2
    41
// custom ports for you.
williamr@2
    42
//
williamr@2
    43
// Check libcomo details at http://www.comeaucomputing.com/libcomo and
williamr@2
    44
// http://www.comeaucomputing.com
williamr@2
    45
//
williamr@2
    46
// History of Comeau changes (this is rough, as work was often going on in parallel):
williamr@2
    47
// BETA1 July 14, 2000, Initial port for RedHat 6.1 INTEL/ELF
williamr@2
    48
// BETA2 Aug   4, 2000, Stronger RedHat support
williamr@2
    49
//                      Support for Comeau strict mode for end user code
williamr@2
    50
// BETA3 Aug  22, 2000, Support for other LINUX/INTEL/ELF's, including older ones
williamr@2
    51
// BETA4 Sept  2, 2000, Initial support for SCO UNIX + other UNIX x86 SVR3's
williamr@2
    52
//                      Stronger support for end user Comeau strict mode
williamr@2
    53
// BETA5 Oct   5, 2000, Initial support for Solaris/SPARC
williamr@2
    54
//                      More SCO support (though still incomplete)
williamr@2
    55
// BETA6 Feb   5, 2001, Minor mods to accomodate Comeau C++ 4.2.45.1
williamr@2
    56
// BETA7 Mar  13, 2001, Verified with Comeau C++ 4.2.45.2
williamr@2
    57
//                      Minor NetBSD support
williamr@2
    58
// BETA8 Apr   1. 2001, Initial support for SunOS/SPARC
williamr@2
    59
// BETA9 Apr   7, 2001, Stronger SCO support + other UNIX x86 SVR3's
williamr@2
    60
//                      Mods for an fpos_t problem for some LINUXes
williamr@2
    61
//                      Mods since Destroy did not work in strict mode
williamr@2
    62
// BETA10 Apr  12. 2001, Stronger NetBSD support
williamr@2
    63
//
williamr@2
    64
// PLANNED:
williamr@2
    65
// BETAx TBA  TBA, 2001, NetBSD, UNIXWARE, and Windows support expected
williamr@2
    66
//
williamr@2
    67
williamr@2
    68
williamr@2
    69
#ifdef __linux__
williamr@2
    70
williamr@2
    71
#   define _STLP_NO_NATIVE_MBSTATE_T      1
williamr@2
    72
#   define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1
williamr@2
    73
#   define _STLP_NO_NATIVE_WIDE_STREAMS   1
williamr@2
    74
#   define _STLP_NO_LONG_DOUBLE   1
williamr@2
    75
williamr@2
    76
// Comeau C++ under LINUX/INTEL/ELF
williamr@2
    77
// Preprocess away "long long" routines for now, even in relaxed mode
williamr@2
    78
# define __wcstoull_internal_defined  1
williamr@2
    79
# define __wcstoll_internal_defined  1
williamr@2
    80
williamr@2
    81
#endif /* __COMO__ under __linux__ */
williamr@2
    82
williamr@2
    83
#ifdef __USING_x86SVR3x_WITH_COMO /* SCO et al */
williamr@2
    84
/* UNIX 386+ SVR3 mods made with __USING_x86SVR3x_WITH_COMO
williamr@2
    85
   in other sources, not here */
williamr@2
    86
#    define atan2l atan2
williamr@2
    87
#    define cosl cos
williamr@2
    88
#    define sinl sin
williamr@2
    89
#    define sqrtl sqrt
williamr@2
    90
#    include <math.h>
williamr@2
    91
     inline long double expl(long double arg) { return exp(arg); }
williamr@2
    92
     inline long double logl(long double arg) { return log(arg); }
williamr@2
    93
#    define log10l log10
williamr@2
    94
williamr@2
    95
#    define sinhl sinh
williamr@2
    96
#    define coshl cosh
williamr@2
    97
#    define fabsl fabs
williamr@2
    98
namespace std {
williamr@2
    99
 inline int min(int a, int b) { return a>b ? b : a; }
williamr@2
   100
}
williamr@2
   101
#endif
williamr@2
   102
williamr@2
   103
#ifdef sun
williamr@2
   104
// Comeau C++ under Solaris/SPARC or SunOS
williamr@2
   105
williamr@2
   106
#ifdef solarissparc
williamr@2
   107
#define __USING_SOLARIS_SPARC_WITH_COMO /* show this in the source when grep'ing for COMO */
williamr@2
   108
// Note comowchar.h for Solaris/SPARC wchar stuff
williamr@2
   109
williamr@2
   110
#include <math.h>
williamr@2
   111
#    define sinf sin
williamr@2
   112
#    define sinl sin
williamr@2
   113
#    define sinhf sinh
williamr@2
   114
#    define sinhl sinh
williamr@2
   115
#    define cosf cos
williamr@2
   116
#    define cosl cos
williamr@2
   117
#    define coshf cosh
williamr@2
   118
#    define coshl cosh
williamr@2
   119
#    define atan2l atan2
williamr@2
   120
#    define atan2f atan2
williamr@2
   121
     inline float logf(float arg) { return log(arg); }
williamr@2
   122
     inline long double logl(long double arg) { return log(arg); }
williamr@2
   123
#    define log10f log10
williamr@2
   124
#    define log10l log10
williamr@2
   125
#    define expf exp
williamr@2
   126
     inline long double expl(long double arg) { return exp(arg); }
williamr@2
   127
#    define sqrtf sqrt
williamr@2
   128
#    define sqrtl sqrt
williamr@2
   129
#    define fabsf fabs
williamr@2
   130
#    define fabsl fabs
williamr@2
   131
#else
williamr@2
   132
#define __USING_SUNOS_WITH_COMO
williamr@2
   133
williamr@2
   134
#define __unix 1
williamr@2
   135
#define __EXTENSIONS__ /* This might create undue noise somewhere */
williamr@2
   136
#endif
williamr@2
   137
#endif /* sun */
williamr@2
   138
williamr@2
   139
#if defined(__NetBSD__)
williamr@2
   140
// From non-como #ifdef __GNUC__ above
williamr@2
   141
#undef _STLP_NO_FUNCTION_PTR_IN_CLASS_TEMPLATE
williamr@2
   142
#define __unix 1
williamr@2
   143
williamr@2
   144
#include <sys/cdefs.h>
williamr@2
   145
// Some joker #define'd __END_DECLS as };
williamr@2
   146
#undef __END_DECLS
williamr@2
   147
#define __END_DECLS }
williamr@2
   148
williamr@2
   149
// <sys/stat.h> prob
williamr@2
   150
#include <sys/cdefs.h>
williamr@2
   151
#undef __RENAME
williamr@2
   152
#define __RENAME(x)
williamr@2
   153
williamr@2
   154
#define wchar_t __COMO_WCHAR_T
williamr@2
   155
#include <stddef.h>
williamr@2
   156
#undef wchar_t
williamr@2
   157
williamr@2
   158
#include <math.h>
williamr@2
   159
# ifdef BORIS_DISABLED
williamr@2
   160
#    define atan2l atan2
williamr@2
   161
#    define cosl cos
williamr@2
   162
#    define sinl sin
williamr@2
   163
#    define sqrtl sqrt
williamr@2
   164
     inline long double expl(long double arg) { return exp(arg); }
williamr@2
   165
     inline long double logl(long double arg) { return log(arg); }
williamr@2
   166
#    define log10l log10
williamr@2
   167
#    define sinhl sinh
williamr@2
   168
#    define coshl cosh
williamr@2
   169
#    define fabsl fabs
williamr@2
   170
# endif
williamr@2
   171
#endif /* __NetBSD__ under __COMO__ */
williamr@2
   172
williamr@2
   173
// Shouldn't need to change anything below here for Comeau C++
williamr@2
   174
// If so, tell us at comeau@comeaucomputing.com
williamr@2
   175
williamr@2
   176
#define _STLP_NO_DRAND48
williamr@2
   177
williamr@2
   178
#define _STLP_PARTIAL_SPECIALIZATION_SYNTAX
williamr@2
   179
#define _STLP_NO_USING_CLAUSE_IN_CLASS
williamr@2
   180
williamr@2
   181
#if __COMO_VERSION__ < 4300
williamr@2
   182
#if __COMO_VERSION__ >= 4245
williamr@2
   183
#define _STLP_NO_EXCEPTION_HEADER /**/
williamr@2
   184
    // Is this needed?
williamr@2
   185
#   include <stdexcept.stdh>
williamr@2
   186
#endif
williamr@2
   187
#define _STLP_NO_BAD_ALLOC /**/
williamr@2
   188
#define _STLP_USE_AUTO_PTR_CONVERSIONS /**/
williamr@2
   189
#endif
williamr@2
   190
williamr@2
   191
// this one is true only with MS
williamr@2
   192
# if defined (_MSC_VER)
williamr@2
   193
#  define _STLP_WCHAR_T_IS_USHORT 1
williamr@2
   194
#  if _MSC_VER <= 1200
williamr@2
   195
#   define _STLP_VENDOR_GLOBAL_CSTD
williamr@2
   196
#  endif
williamr@2
   197
#  if _MSC_VER < 1100
williamr@2
   198
#   define _STLP_NO_BAD_ALLOC 1
williamr@2
   199
#   define _STLP_NO_EXCEPTION_HEADER 1
williamr@2
   200
#   define _STLP_NO_NEW_NEW_HEADER 1
williamr@2
   201
#   define _STLP_USE_NO_IOSTREAMS 1
williamr@2
   202
#  endif
williamr@2
   203
# endif
williamr@2
   204
williamr@2
   205
// # define __EDG_SWITCHES
williamr@2
   206
williamr@2
   207