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