home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / stlpt453.zip / STLport-4.5.3 / stlport / config / stl_como.h < prev    next >
C/C++ Source or Header  |  2001-05-30  |  7KB  |  210 lines

  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.  
  210.