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