summaryrefslogtreecommitdiff
path: root/ace/config-dgux-4.x-ghs.h
diff options
context:
space:
mode:
authorSteve Huston <shuston@riverace.com>1998-02-11 16:09:09 +0000
committerSteve Huston <shuston@riverace.com>1998-02-11 16:09:09 +0000
commit29441fb7faaa6d09d8758053ff5287060364f68b (patch)
tree20dfa6d0938c0caacc8ad482edd99e59f138b2d4 /ace/config-dgux-4.x-ghs.h
parentd40af50793af4ed2ea2051610877cb91ca85821e (diff)
downloadATCD-29441fb7faaa6d09d8758053ff5287060364f68b.tar.gz
New config file for DG/UX 4.x using Green Hills Multi C++ compiler and
draft 10 pthreads.
Diffstat (limited to 'ace/config-dgux-4.x-ghs.h')
-rw-r--r--ace/config-dgux-4.x-ghs.h228
1 files changed, 228 insertions, 0 deletions
diff --git a/ace/config-dgux-4.x-ghs.h b/ace/config-dgux-4.x-ghs.h
new file mode 100644
index 00000000000..77ab15b8719
--- /dev/null
+++ b/ace/config-dgux-4.x-ghs.h
@@ -0,0 +1,228 @@
+/* -*- C++ -*- */
+// $Id$
+
+// The following configuration file is designed to work for DG/UX
+// 4.x platforms using the Green Hills Multi C++ compiler.
+
+#if !defined (ACE_CONFIG_H)
+#define ACE_CONFIG_H
+
+// Static objects do not get initialized correctly, so this is needed.
+#define ACE_HAS_NONSTATIC_OBJECT_MANAGER
+
+// Platform requires (struct sockaddr *) for msg_name field of struct
+// msghdr.
+#define ACE_HAS_SOCKADDR_MSG_NAME
+
+// Platform lacks strcasecmp().
+#define ACE_LACKS_STRCASECMP
+
+// 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_SYSINFO
+
+// Platform supports the POSIX regular expression library.
+#define ACE_HAS_REGEX
+
+// Platform supports recvmsg and sendmsg.
+#define ACE_HAS_MSG
+
+// Platform supports reentrant functions (i.e., all the POSIX *_r functions).
+//#define ACE_HAS_REENTRANT_FUNCTIONS
+
+// Platform has terminal ioctl flags like TCGETS and TCSETS.
+#define ACE_HAS_TERM_IOCTLS
+
+// 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
+
+// Compiler/platform supports SunOS high resolution timers.
+// #define ACE_HAS_HI_RES_TIMER
+
+// Platform supports IP multicast
+#define ACE_HAS_IP_MULTICAST
+
+// Compiler/platform does not support the "long long" datatype.
+#define ACE_LACKS_LONGLONG_T
+#if defined (__LL_Is_32)
+#define ACE_SIZEOF_LONG_LONG 4
+#elif defined (__LL_Is_64)
+#define ACE_SIZEOF_LONG_LONG 8
+#endif
+// Green Hills doesn't give a preprocessor symbol for long double
+#define ACE_SIZEOF_LONG_DOUBLE 8
+
+// Sockets may be called in multi-threaded programs.
+#define ACE_HAS_MT_SAFE_SOCKETS
+
+// Platform contains <poll.h>.
+#define ACE_HAS_POLL
+
+// Platform supports POSIX timers via timestruc_t.
+#define ACE_HAS_POSIX_TIME
+#define ACE_HAS_SVR4_TIME
+
+// 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
+
+// Compiler/platform provides the sockio.h file.
+#define ACE_HAS_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 strerror ().
+#define ACE_HAS_STRERROR
+
+// Compiler/platform supports struct strbuf.
+#define ACE_HAS_STRBUF_T
+
+// Compiler/platform supports SVR4 dynamic linking semantics.
+#define ACE_HAS_SVR4_DYNAMIC_LINKING
+// ... but redefines the entrypoint names with a leading underscore
+#define dlopen _dlopen
+#define dlclose _dlclose
+#define dlerror _dlerror
+#define dlsym _dlsym
+// ... and uses 'char *' rather than 'const char *'
+#define ACE_HAS_CHARPTR_DL
+
+// DG/UX uses the same gettimeofday() prototype as OSF/1.
+#define ACE_HAS_OSF1_GETTIMEOFDAY
+
+// Compiler/platform supports SVR4 signal typedef.
+#define ACE_HAS_SVR4_SIGNAL_T
+
+// Compiler/platform supports SVR4 ACE_TLI (in particular, T_GETNAME stuff)...
+#define ACE_HAS_SVR4_TLI
+
+// Compiler/platform supports sys_siglist array.
+// On DG/UX this is only done if the /usr/include/sys/_int_dg_features.h
+// file determines it should be turned on. It will take some work to
+// figure out the magic options to turn it on reliably, so it'll have to
+// be delayed for now.
+//#define _TARGETTING_DGUXELF 1
+//#define _IX86_DG 1
+//#define _DGUX_TARGET 1
+//#define ACE_HAS_SYS_SIGLIST
+
+/* Turn off the following four defines if you want to disable threading. */
+// Compile using multi-thread libraries.
+#if !defined (ACE_MT_SAFE)
+#define ACE_MT_SAFE 1
+#endif
+
+// Platform supports threads.
+#define ACE_HAS_THREADS
+#define ACE_HAS_PTHREADS
+// DG/UX claims to implement draft 10 of the pthreads standard. They also
+// claim that draft 10 is the final standard. To get the behavior, some
+// further macros need to be defined which are specific to DG/UX.
+// _POSIX4A_DRAFT10_SOURCE turns on the draft 10 variant of threads.
+// _POSIX4A_DRAFT_SOURCE turns on sched_yield().
+#define _POSIX4A_DRAFT10_SOURCE
+#define ACE_HAS_PTHREADS_1003_DOT_1C
+#define _POSIX4_DRAFT_SOURCE
+// Well, here are some from the standard they don't have...
+#define ACE_LACKS_KEYDELETE
+#define ACE_LACKS_PTHREAD_THR_SIGSETMASK
+#define ACE_HAS_SIGWAIT
+#define ACE_LACKS_CONDATTR_PSHARED
+#define ACE_LACKS_THREAD_PROCESS_SCOPING
+// The default thread stacksize on DG/UX 4.x is 4096. This needs to be bumped
+// up to do anything real in ACE.
+#define ACE_NEEDS_HUGE_THREAD_STACKSIZE 65536
+
+// Need to #include <sched.h>
+#define ACE_NEEDS_SCHED_H
+
+// Compiler/platform has thread-specific storage
+//
+#define ACE_HAS_THREAD_SPECIFIC_STORAGE
+
+// 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 supports ACE_TLI.
+#define ACE_HAS_TLI
+
+// Platform doesn't have read-write locks natively.
+#define ACE_LACKS_RWLOCK_T
+
+// Platform doesn't have timespec_t data type.
+#define ACE_LACKS_TIMESPEC_T
+
+// Platform doesn't correctly support signed char
+#define ACE_LACKS_SIGNED_CHAR
+
+// Platform doesn't have streambuf linebuffered()
+#define ACE_LACKS_ACE_IOSTREAM
+#define ACE_LACKS_LINEBUFFERED_STREAMBUF
+
+// Use the poll() event demultiplexor rather than select().
+//#define ACE_USE_POLL
+
+// Turns off the tracing feature.
+#if !defined (ACE_NTRACE)
+#define ACE_NTRACE 1
+#endif /* ACE_NTRACE */
+
+// Defines the page size of the system.
+#define ACE_PAGE_SIZE 4096
+
+#define ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA
+#define ACE_TEMPLATES_REQUIRE_SOURCE
+
+#define ACE_HAS_UCONTEXT_T
+#define ACE_NEEDS_SYSTIME_H
+#define ACE_HAS_NONCONST_GETBY
+#define ACE_LACKS_MADVISE
+
+#if !defined (IP_ADD_MEMBERSHIP)
+#define IP_ADD_MEMBERSHIP 0x13
+#endif
+
+#if !defined (IP_DROP_MEMBERSHIP)
+#define IP_DROP_MEMBERSHIP 0x14
+#endif
+
+// Header files lack t_errno for ACE_TLI.
+#define ACE_LACKS_T_ERRNO
+
+// Optimize ACE_Handle_Set for select().
+#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT
+
+#define ACE_DGUX
+#endif /* ACE_CONFIG_H */