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