/* -*- C++ -*- */ // $Id$ // This configuration file is designed to work for SunOS 5.5 platforms // using the following compilers: // * Sun C++ 4.2 and later (including 5.x), patched as noted below // * g++ // * Green Hills 1.8.8 and later #ifndef ACE_CONFIG_H #define ACE_CONFIG_H #include /**/ "ace/pre.h" #define ACE_LACKS_STDINT_H // alphasort() is present on earlier Solaris versions but is marked as not for // use on non-BSD systems and not supported for use in applications that use // system libraries or with multiple threads. So it's mostly useless. #define ACE_LACKS_ALPHASORT // Solaris doesn't support log2() #define ACE_LACKS_LOG2 // SunOS 5.5 does not provide getloadavg() #define ACE_LACKS_GETLOADAVG // Before we do anything, we should include to // ensure that things are set up properly. #include // Sun has the posix defines so let this file sort out what Sun delivers #include "ace/config-posix.h" // Compiler version-specific settings: #if defined (__SUNPRO_CC) # if (__SUNPRO_CC < 0x410) // The following might not be necessary, but I can't tell: my build // with Sun C++ 4.0.1 never completes. # define ACE_NEEDS_DEV_IO_CONVERSION # elif (__SUNPRO_CC >= 0x420) # if (__SUNPRO_CC >= 0x500) // string.h and memory.h conflict for memchr definitions # define ACE_LACKS_MEMORY_H // If -compat=4 is turned on, the old 4.2 settings for iostreams are used, // but the newer, explicit instantiation is used (above) # if (__SUNPRO_CC_COMPAT >= 5) # define ACE_HAS_STANDARD_CPP_LIBRARY 1 # define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1 # define ACE_HAS_THR_C_DEST # endif /* __SUNPRO_CC_COMPAT >= 5 */ # define ACE_HAS_NEW_NOTHROW # elif (__SUNPRO_CC == 0x420) || (__SUNPRO_CC == 0x410) # define ACE_LACKS_PLACEMENT_OPERATOR_DELETE # endif /* __SUNPRO_CC >= 0x500 */ # endif /* __SUNPRO_CC >= 0x420 */ # define ACE_CAST_CONST const # define ACE_HAS_HI_RES_TIMER # define ACE_HAS_SIG_C_FUNC /* Sun CC 5.0 needs this, 4.2 doesn't mind. */ # define ACE_HAS_XPG4_MULTIBYTE_CHAR # define ACE_LACKS_LINEBUFFERED_STREAMBUF # define ACE_LACKS_SIGNED_CHAR // If exceptions are enabled and we are using Sun/CC then // throws an exception instead of returning 0. #define ACE_NEW_THROWS_EXCEPTIONS /* If you want to disable threading with Sun CC, remove -mt from your CFLAGS, e.g., using make threads=0. */ // Take advantage of Sun Studio 8 (Sun C++ 5.5) or better symbol // visibility to generate improved shared library binaries. # if (__SUNPRO_CC > 0x540) # if defined (ACE_HAS_CUSTOM_EXPORT_MACROS) && ACE_HAS_CUSTOM_EXPORT_MACROS == 0 # undef ACE_HAS_CUSTOM_EXPORT_MACROS # else # ifndef ACE_HAS_CUSTOM_EXPORT_MACROS # define ACE_HAS_CUSTOM_EXPORT_MACROS # endif /* !ACE_HAS_CUSTOM_EXPORT_MACROS */ # define ACE_Proper_Export_Flag __symbolic # define ACE_Proper_Import_Flag __global # define ACE_EXPORT_SINGLETON_DECLARATION(T) template class ACE_Proper_Export_Flag T # define ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) template class ACE_Proper_Export_Flag SINGLETON_TYPE ; // # define ACE_IMPORT_SINGLETON_DECLARATION(T) extern template class T // # define ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) extern template class SINGLETON_TYPE; # endif /* ACE_HAS_CUSTOM_EXPORT_MACROS == 0 */ # endif /* __SUNPRO_CC > 0x540 (> Sun C++ 5.4) */ #elif defined (__GNUG__) // config-g++-common.h undef's ACE_HAS_STRING_CLASS with -frepo, so // this must appear before its #include. # define ACE_HAS_STRING_CLASS # include "ace/config-g++-common.h" # define ACE_HAS_HI_RES_TIMER # define ACE_HAS_XPG4_MULTIBYTE_CHAR # if !defined (ACE_MT_SAFE) || ACE_MT_SAFE != 0 // ACE_MT_SAFE is #defined below, for all compilers. # if !defined (_REENTRANT) /* If you want to disable threading, comment out the following line. Or, add -DACE_MT_SAFE=0 to your CFLAGS, e.g., using make threads=0. */ # define _REENTRANT # endif /* _REENTRANT */ # endif /* !ACE_MT_SAFE */ # if (__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ <= 3)) # define ACE_LACKS_STD_WSTRING 1 # endif #else /* ! __SUNPRO_CC && ! __GNUG__ */ # ifdef __cplusplus /* Let it slide for C compilers. */ # error unsupported compiler in ace/config-sunos5.5.h # endif /* __cplusplus */ #endif /* ! __SUNPRO_CC && ! __GNUG__ */ #if !defined (__ACE_INLINE__) // @note If you have link problems with undefined inline template // functions with Sun C++, be sure that the #define of __ACE_INLINE__ // below is not commented out. # define __ACE_INLINE__ #endif /* ! __ACE_INLINE__ */ // Platform supports the POSIX regular expression library. // @note Please comment out the ACE_HAS_REGEX #define if you // have link problems with g++ or egcs on SunOS 5.5. #define ACE_HAS_REGEX // Optimize ACE_Handle_Set for select(). #define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT // select()'s timeval arg is not declared as const and may be modified #define ACE_HAS_NONCONST_SELECT_TIMEVAL // Platform supports pread() and pwrite() #define ACE_HAS_P_READ_WRITE #define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS #define ACE_HAS_UALARM #define ACE_LACKS_UALARM_PROTOTYPE // Platform supports System V IPC (most versions of UNIX, but not Win32) #define ACE_HAS_SYSV_IPC #define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES // Platform supports system configuration information. #define ACE_HAS_SYS_SYSTEMINFO_H #define ACE_HAS_SYSV_SYSINFO // Platform supports recvmsg and sendmsg. #define ACE_HAS_MSG // Compiler/platform contains the file. #define ACE_HAS_SYS_SYSCALL_H // Platform has POSIX terminal interface. #define ACE_HAS_TERMIOS // Compiler/platform correctly calls init()/fini() for shared libraries. #define ACE_HAS_AUTOMATIC_INIT_FINI // Platform supports POSIX O_NONBLOCK semantics. #define ACE_HAS_POSIX_NONBLOCK // Compiler/platform has correctly prototyped header files. #define ACE_HAS_CPLUSPLUS_HEADERS // Platform supports IP multicast #define ACE_HAS_IP_MULTICAST // This setting was determined by running the autoconf tests. If it doesn't // work uniformly, will need some tweaking, possibly based on other // XPG feature-test macros. #define ACE_HAS_CONST_CHAR_SWAB // Compiler/platform supports alloca() // Although ACE does have alloca() on this compiler/platform combination, it is // disabled by default since it can be dangerous. Uncomment the following line // if you ACE to use it. //#define ACE_HAS_ALLOCA // Compiler/platform has #define ACE_HAS_ALLOCA_H // Platform contains . #define ACE_HAS_POLL // Platform supports POSIX timers via timestruc_t. #define ACE_HAS_POSIX_TIME // ACE_HAS_CLOCK_GETTIME requires linking with -lposix4. #define ACE_HAS_CLOCK_GETTIME #define ACE_HAS_CLOCK_SETTIME // Platform supports the /proc file system. #define ACE_HAS_PROC_FS // Platform supports the prusage_t struct. #define ACE_HAS_PRUSAGE_T #define ACE_HAS_GETRUSAGE // Compiler/platform defines the sig_atomic_t typedef. #define ACE_HAS_SIG_ATOMIC_T // Platform supports SVR4 extended signals. #define ACE_HAS_SIGINFO_T #define ACE_HAS_UCONTEXT_T // Compiler/platform provides the sockio.h file. #define ACE_HAS_SYS_SOCKIO_H // Compiler supports the ssize_t typedef. #define ACE_HAS_SSIZE_T // Platform supports STREAMS. #define ACE_HAS_STREAMS // Platform supports STREAM pipes. #define ACE_HAS_STREAM_PIPES // Compiler/platform supports struct strbuf. #define ACE_HAS_STRBUF_T // Compiler/platform supports SVR4 dynamic linking semantics. #define ACE_HAS_SVR4_DYNAMIC_LINKING // Compiler/platform supports SVR4 gettimeofday() prototype. #define ACE_HAS_SVR4_GETTIMEOFDAY // Compiler/platform supports SVR4 ACE_TLI (in particular, T_GETNAME stuff)... #define ACE_HAS_SVR4_TLI // Platform provides header. #define ACE_HAS_SYS_FILIO_H #define ACE_HAS_STRSIGNAL // SunOS 5.5.x does not support mkstemp #define ACE_LACKS_MKSTEMP #define ACE_LACKS_SYS_SYSCTL_H #if !(defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 >= 4)) # define ACE_HAS_CHARPTR_SHMDT #endif #if !defined (ACE_MT_SAFE) || (ACE_MT_SAFE == 1) #if defined (_REENTRANT) || \ (defined (_POSIX_C_SOURCE) && (_POSIX_C_SOURCE - 0 >= 199506L)) || \ defined (_POSIX_PTHREAD_SEMANTICS) // Compile using multi-thread libraries. # define ACE_HAS_THREADS # if !defined (ACE_MT_SAFE) # define ACE_MT_SAFE 1 # endif /* ACE_MT_SAFE */ // Platform supports POSIX pthreads *and* Solaris threads, by // default! If you only want to use POSIX pthreads, add // -D_POSIX_PTHREAD_SEMANTICS to your CFLAGS. Or, #define it right // here. See the Intro (3) man page for information on // -D_POSIX_PTHREAD_SEMANTICS. # if defined (_POSIX_PTHREAD_SEMANTICS) # define ACE_LACKS_RWLOCK_T # else # define ACE_HAS_STHREADS # endif /* ! _POSIX_PTHREAD_SEMANTICS */ # define ACE_HAS_PTHREADS // . . . but only supports SCHED_OTHER scheduling policy # define ACE_HAS_ONLY_SCHED_OTHER # define ACE_HAS_SIGWAIT # define ACE_HAS_SIGTIMEDWAIT # define ACE_HAS_SIGSUSPEND # define ACE_LACKS_PTHREAD_ATTR_SETSTACK // Compiler/platform has thread-specific storage # define ACE_HAS_THREAD_SPECIFIC_STORAGE // Platform supports reentrant functions (i.e., all the POSIX *_r functions). # define ACE_HAS_REENTRANT_FUNCTIONS # define ACE_NEEDS_LWP_PRIO_SET # define ACE_HAS_THR_YIELD # define ACE_LACKS_PTHREAD_YIELD #endif /* _REENTRANT || _POSIX_C_SOURCE >= 199506L || \ _POSIX_PTHREAD_SEMANTICS */ #endif /* !ACE_MT_SAFE || ACE_MT_SAFE == 1 */ #define ACE_HAS_PRIOCNTL // Platform supports ACE_TLI timod STREAMS module. #define ACE_HAS_TIMOD_H // Platform supports ACE_TLI tiuser header. #define ACE_HAS_TIUSER_H // Platform provides ACE_TLI function prototypes. #define ACE_HAS_TLI_PROTOTYPES // Platform has broken t_error() prototype. #define ACE_HAS_BROKEN_T_ERROR // Platform supports ACE_TLI. #define ACE_HAS_TLI #define ACE_HAS_GETPAGESIZE 1 #define ACE_HAS_IDTYPE_T #define ACE_HAS_GPERF #define ACE_HAS_DIRENT #define ACE_LACKS_ISCTYPE #define ACE_LACKS_ISBLANK #if defined (__SUNPRO_CC) # define ACE_CC_NAME ACE_TEXT ("SunPro C++") # define ACE_CC_MAJOR_VERSION (__SUNPRO_CC >> 8) # define ACE_CC_MINOR_VERSION (__SUNPRO_CC & 0x00ff) # define ACE_CC_BETA_VERSION (0) #endif /* __SUNPRO_CC */ #if defined (i386) && (_FILE_OFFSET_BITS==32) # define ACE_HAS_X86_STAT_MACROS #endif /* i386 && _FILE_OFFSET_BITS==32 */ #define ACE_MALLOC_ALIGN ((size_t)8) #define ACE_LACKS_SETREUID_PROTOTYPE #define ACE_LACKS_SETREGID_PROTOTYPE // Solaris does indeed implement the inet_aton() function, but it is // found in `libresolv.*'. It doesn't seem worth it to link another // library just for that function. Just use the emulation in ACE that // has been used for years. #define ACE_LACKS_INET_ATON // Solaris doesn't have wcstoull #define ACE_LACKS_WCSTOLL #define ACE_LACKS_WCSTOULL #if defined (_LARGEFILE_SOURCE) || (_FILE_OFFSET_BITS==64) #undef ACE_HAS_PROC_FS #undef ACE_HAS_PRUSAGE_T #endif /* (_LARGEFILE_SOURCE) || (_FILE_OFFSET_BITS==64) */ #if defined (_POSIX_PTHREAD_SEMANTICS) || (_FILE_OFFSET_BITS == 64) || (_POSIX_C_SOURCE - 0 >= 199506L) # define ACE_HAS_3_PARAM_READDIR_R #endif // Sum of the iov_len values can't be larger then SSIZE_MAX #define ACE_HAS_SOCK_BUF_SIZE_MAX #define ACE_LACKS_SETENV #define ACE_LACKS_UNSETENV #include /**/ "ace/post.h" #endif /* ACE_CONFIG_H */