text: /* -*- 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 <sys/feature_tests.h> to
  // ensure that things are set up properly.
  #include <sys/feature_tests.h>
  
  // 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
  // <operator new> 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 <CLASS, LOCK>;
  
  // #      define ACE_IMPORT_SINGLETON_DECLARATION(T) extern template class T
  // #      define ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) extern template class SINGLETON_TYPE<CLASS, LOCK>;
  
  #    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 <sys/syscall.h> 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 <alloca.h>
  #define ACE_HAS_ALLOCA_H
  
  // Platform contains <poll.h>.
  #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 <sys/filio.h> 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 */
  