111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef __stl_config__solaris_h 211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define __stl_config__solaris_h 311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_PLATFORM "Sun Solaris" 511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* include system features file */ 711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <sys/feature_tests.h> 811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* system-dependent defines */ 1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_USE_UNIX_IO 1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifdef __GNUC__ 1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * See comments (and configuration defines) in the host.h 1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# if !(defined(__SunOS_5_5_1) || defined(__SunOS_5_6) || defined(__SunOS_5_7) || \ 1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert defined(__SunOS_5_8) || defined(__SunOS_5_9) || defined(__SunOS_5_10)) 1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# error Uncomment one of the defines (__SunOS_5_x) in the file stlport/stl/config/host.h 1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# endif 2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if defined (__SunOS_5_8) && ! defined (_STLP_HAS_NO_NEW_C_HEADERS) && ( __cplusplus >= 199711L) 2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_HAS_NATIVE_FLOAT_ABS 2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 >= 4) 2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_RAND48 1 2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if (defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 == 4)) || defined (__SunOS_5_6) 3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_WCHAR_SUNPRO_EXCLUDE 1 3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1 3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* boris : this should always be defined for Solaris 5 & 6. Any ideas how to do it? */ 3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if !(defined ( __KCC ) && __KCC_VERSION > 3400 ) && \ 3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ((defined(__SunOS_5_5_1) || defined(__SunOS_5_6) )) 3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# ifndef _STLP_NO_NATIVE_MBSTATE_T 3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NO_NATIVE_MBSTATE_T 1 4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# endif 4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif /* KCC */ 4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* For SPARC we use lightweight synchronization */ 4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if defined (__sparc) /* && (defined (_REENTRANT) || defined (_PTHREADS)) */ 4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# if ( (defined (__GNUC__) && defined (__sparc_v9__)) || \ 4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert defined (__sparcv9) ) \ 4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert && !defined(_NOTHREADS) && !defined (_STLP_NO_SPARC_SOLARIS_THREADS) 4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_SPARC_SOLARIS_THREADS 4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_THREADS_DEFINED 5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# endif 5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* gcc does not support ELF64 yet ; however; it supports ultrasparc + v8plus. 5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * limits.h contains invalid values for this combination 5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifdef __GNUC__ 5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# if (defined (__sparc_v9__) || defined (__sparcv9)) && !defined ( __WORD64 ) && !defined(__arch64__) 5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define __LONG_MAX__ 2147483647L 5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# endif 6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Attention! See comments (and configuration defines) in the host.h 6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * (you host may has MATH_F and MATH_L functions) 6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * 6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if !defined(__SunOS_5_10) && !defined(_STLP_SOLARIS_MATH_PATCH) 6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NO_VENDOR_MATH_F 6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NO_VENDOR_MATH_L 7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifdef __GNUC__ 7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_WCHAR_BORLAND_EXCLUDE 7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1 7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif /* __stl_config__solaris_h */ 78