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