19720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#ifndef __stl_config__solaris_h 29720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#define __stl_config__solaris_h 39720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 49720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#define _STLP_PLATFORM "Sun Solaris" 59720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 69720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block/* include system features file */ 79720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#include <sys/feature_tests.h> 89720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 99720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block/* system-dependent defines */ 10e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#define _STLP_USE_UNIX_IO 119720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 12e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#ifdef __GNUC__ 13e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott/* 14e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * See comments (and configuration defines) in the host.h 159720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block */ 16e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# if !(defined(__SunOS_5_5_1) || defined(__SunOS_5_6) || defined(__SunOS_5_7) || \ 17e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott defined(__SunOS_5_8) || defined(__SunOS_5_9) || defined(__SunOS_5_10)) 18e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# error Uncomment one of the defines (__SunOS_5_x) in the file stlport/stl/config/host.h 19e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# endif 20e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#endif 219720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 229720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#if defined (__SunOS_5_8) && ! defined (_STLP_HAS_NO_NEW_C_HEADERS) && ( __cplusplus >= 199711L) 239720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_HAS_NATIVE_FLOAT_ABS 249720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif 259720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 269720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#if defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 >= 4) 279720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_RAND48 1 289720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif 299720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 309720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#if (defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 == 4)) || defined (__SunOS_5_6) 319720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_WCHAR_SUNPRO_EXCLUDE 1 329720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1 339720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif 349720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 359720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block/* boris : this should always be defined for Solaris 5 & 6. Any ideas how to do it? */ 369720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#if !(defined ( __KCC ) && __KCC_VERSION > 3400 ) && \ 379720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block ((defined(__SunOS_5_5_1) || defined(__SunOS_5_6) )) 389720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# ifndef _STLP_NO_NATIVE_MBSTATE_T 399720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NO_NATIVE_MBSTATE_T 1 409720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 419720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif /* KCC */ 429720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 439720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block/* For SPARC we use lightweight synchronization */ 449720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#if defined (__sparc) /* && (defined (_REENTRANT) || defined (_PTHREADS)) */ 459720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if ( (defined (__GNUC__) && defined (__sparc_v9__)) || \ 469720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block defined (__sparcv9) ) \ 479720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block && !defined(_NOTHREADS) && !defined (_STLP_NO_SPARC_SOLARIS_THREADS) 489720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_SPARC_SOLARIS_THREADS 499720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_THREADS_DEFINED 509720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 519720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif 529720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 539720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block/* gcc does not support ELF64 yet ; however; it supports ultrasparc + v8plus. 549720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * limits.h contains invalid values for this combination 559720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block */ 569720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#ifdef __GNUC__ 579720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if (defined (__sparc_v9__) || defined (__sparcv9)) && !defined ( __WORD64 ) && !defined(__arch64__) 589720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define __LONG_MAX__ 2147483647L 599720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 609720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif 619720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 62e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott/* 63e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * Attention! See comments (and configuration defines) in the host.h 64e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * (you host may has MATH_F and MATH_L functions) 659720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * 669720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block */ 67e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#if !defined(__SunOS_5_10) && !defined(_STLP_SOLARIS_MATH_PATCH) 68e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# define _STLP_NO_VENDOR_MATH_F 69e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# define _STLP_NO_VENDOR_MATH_L 70e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#endif 719720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 729720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#ifdef __GNUC__ 739720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_WCHAR_BORLAND_EXCLUDE 749720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1 759720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif 769720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 779720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif /* __stl_config__solaris_h */ 78