summaryrefslogtreecommitdiff
path: root/ace/config-sunos5.7.h
diff options
context:
space:
mode:
Diffstat (limited to 'ace/config-sunos5.7.h')
-rw-r--r--ace/config-sunos5.7.h79
1 files changed, 79 insertions, 0 deletions
diff --git a/ace/config-sunos5.7.h b/ace/config-sunos5.7.h
new file mode 100644
index 00000000000..9fb6f36481f
--- /dev/null
+++ b/ace/config-sunos5.7.h
@@ -0,0 +1,79 @@
+/* -*- C++ -*- */
+// $Id$
+
+// The following configuration file is designed to work for SunOS 5.7
+// (Solaris 7) platforms using the SunC++ 4.x, 5.x, or g++ compilers.
+
+#ifndef ACE_CONFIG_H
+
+// ACE_CONFIG_H is defined by one of the following #included headers.
+
+// #include the SunOS 5.6 config file, then add SunOS 5.7 updates below.
+
+#include "ace/config-sunos5.6.h"
+
+#if defined (__GNUG__)
+# if __GNUC__ <= 2 && __GNUC_MINOR__ < 8
+ // Assume that later g++ were built on SunOS 5.7, so they don't
+ // have these problems . . .
+
+ // Disable the following, because g++ 2.7.2.3 can't handle it.
+ // Maybe later g++ versions can?
+# undef ACE_HAS_XPG4_MULTIBYTE_CHAR
+
+ // The Solaris86 g++ 2.7.2.3 sys/types.h doesn't have these . . .
+ typedef long t_scalar_t; /* historical versions */
+ typedef unsigned long t_uscalar_t;
+ typedef void *timeout_id_t;
+# endif /* __GNUC__ <= 2 && __GNUC_MINOR__ < 8 */
+
+#elif defined (ghs)
+ // SunOS 5.7's /usr/include/sys/procfs_isa.h needs uint64_t,
+ // but /usr/include/sys/int_types.h doesn't #define it because
+ // _NO_LONGLONG is #
+# undef ACE_HAS_PROC_FS
+# undef ACE_HAS_PRUSAGE_T
+
+#elif defined (__KCC)
+typedef unsigned long long uint64_t;
+#endif /* __GNUG__ || ghs || __KCC */
+
+// SunOS 5.7 supports SCHED_FIFO and SCHED_RR, as well as SCHED_OTHER.
+#undef ACE_HAS_ONLY_SCHED_OTHER
+
+// SunOS 5.7 gets this right . . .
+#undef ACE_HAS_BROKEN_T_ERROR
+
+// And doesn't need to set LWP priorities, as shown by
+// performance-tests/Misc/preempt.
+#undef ACE_NEEDS_LWP_PRIO_SET
+
+// SunOS 5.7 can support Real-Time Signals and POSIX4 AIO operations
+// are supported.
+
+#if !defined (ACE_HAS_AIO_CALLS)
+#define ACE_HAS_AIO_CALLS
+#endif /* !ACE_HAS_AIO_CALLS */
+
+#if defined (ACE_POSIX_AIOCB_PROACTOR)
+#undef ACE_POSIX_AIOCB_PROACTOR
+#endif /* ACE_POSIX_AIOCB_PROACTOR */
+
+// This is anyway default.
+#define ACE_POSIX_SIG_PROACTOR
+
+#ifdef ACE_HAS_LIMITED_SELECT
+#undef ACE_HAS_LIMITED_SELECT
+#endif /* ACE_HAS_LIMITED_SELECT */
+
+// SunOS 5.7 has socklen_t
+#define ACE_HAS_SOCKLEN_T
+
+#if defined (__sparcv9)
+#define ERRMAX 256 /* Needed for following define */
+#define ACE_LACKS_SYS_NERR
+#define _LP64
+#define ACE_SIZEOF_LONG 8 /* Needed to circumvent compiler bug #4294969 */
+#endif /* __sparcv9 */
+
+#endif /* ACE_CONFIG_H */