summaryrefslogtreecommitdiff
path: root/ace/config-osf1-4.0.h
diff options
context:
space:
mode:
authorlevine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-12-26 17:59:57 +0000
committerlevine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-12-26 17:59:57 +0000
commit7a7474123d3c34a82439f40398bb927679d52a98 (patch)
treebf9fc5cc46826939354f35836143296e7964febf /ace/config-osf1-4.0.h
parent54f3a56deaa1291a73a61868545b37eab37c8d88 (diff)
downloadATCD-7a7474123d3c34a82439f40398bb927679d52a98.tar.gz
added support for DCE threads, and merged in config-osf1-4.0-g++.h
Diffstat (limited to 'ace/config-osf1-4.0.h')
-rw-r--r--ace/config-osf1-4.0.h286
1 files changed, 107 insertions, 179 deletions
diff --git a/ace/config-osf1-4.0.h b/ace/config-osf1-4.0.h
index 7215f7f02ba..6e6bb3c11fc 100644
--- a/ace/config-osf1-4.0.h
+++ b/ace/config-osf1-4.0.h
@@ -2,222 +2,150 @@
// $Id$
// The following configuration file is designed to work for the
-// Digital UNIX V4.0a platforms with the DEC 5.4 C++ compiler. It is
-// configured to use the IEEE Std 1003.1c-1995, POSIX System
-// Application Program Interface. By 4.0a the version is meant that
-// is called "V4.0 464" by uname -a.
+// Digital UNIX V4.0a platforms with the DEC 5.4 and later either the
+// GNU g++ or DEC cxx compilers. It is configured to use the IEEE Std
+// 1003.1c-1995, POSIX System Application Program Interface, or DCE
+// threads (with cxx only); it automatically selects the proper thread
+// interface depending on whether the cxx -pthread or -threads option
+// was specified. By 4.0a the version is meant that is called "V4.0
+// 464" by uname -a.
#if !defined (ACE_CONFIG_H)
#define ACE_CONFIG_H
-// this platform uses Digital's CXX compiler
-#define DEC_CXX
-
-// DEC's CXX supports explicit template specialization.
-#define ACE_HAS_TEMPLATE_SPECIALIZATION
-
-#define ACE_DEFAULT_BASE_ADDR ((char *) 0x80000000)
-
-// Optimize ACE_Handle_Set for select().
-#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT
-
-#define ACE_POLL_IS_BROKEN
-#define ACE_HAS_STRING_CLASS
-#define ACE_LACKS_LINEBUFFERED_STREAMBUF
-#define ACE_LACKS_SIGNED_CHAR
-#define ACE_HAS_UALARM
-
#if ! defined (__ACE_INLINE__)
-#define __ACE_INLINE__
+# define __ACE_INLINE__
#endif /* ! __ACE_INLINE__ */
-// DJT removed this due to some minor issues related to the
-// definitions of timestruc_t and tid_t in procfs.h not sure what
-// functionality is lost? Platform supports <sys/procfs.h>
-//#define ACE_HAS_PROC_FS
-
-// Platform defines MAP_FAILED as a long constant.
-#define ACE_HAS_LONG_MAP_FAILED
+// Compile using multi-thread libraries.
+#if !defined (ACE_MT_SAFE)
+# define ACE_MT_SAFE 1
+#endif
-// DJT 6/10/96 All these broken macro's can now be removed with the
-// approporiate ordering of the include files. The Platinum release
-// now temporarily supports both forms. Platform's implementation of
-// sendmsg() has a non-const msgheader parameter.
-#define ACE_HAS_BROKEN_SENDMSG
+// Turns off the tracing feature.
+#if !defined (ACE_NTRACE)
+# define ACE_NTRACE 1
+#endif /* ACE_NTRACE */
-// Platform's implementation of writev() has a non-const iovec
-// parameter.
-#define ACE_HAS_BROKEN_WRITEV
+// Include unistd.h to define _POSIX_C_SOURCE.
+#include <unistd.h>
+
+// Configuration-specific #defines:
+// 1) g++ with pthreads,
+// 2) cxx with pthreads, or
+// 3) cxx with DCE threads?
+#if defined (__GNUG__)
+ // g++ with pthreads
+# define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION
+# define ACE_HAS_GNU_CSTRING_H
+# define ACE_HAS_REENTRANT_FUNCTIONS
+# define ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES
+# define ACE_TEMPLATES_REQUIRE_SOURCE
+#else /* ! __GNUG__ */
+# define ACE_LACKS_LINEBUFFERED_STREAMBUF
+# define ACE_LACKS_SIGNED_CHAR
+# define DEC_CXX
+# if defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 199506L)
+ // cxx with POSIX 1003.1c-1995 threads (pthreads) . . .
+# define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R
+# define ACE_HAS_BROKEN_IF_HEADER
+# define ACE_HAS_BROKEN_R_ROUTINES
+# define ACE_HAS_BROKEN_T_ERRNO
+# define ACE_HAS_PTHREADS
+# define ACE_HAS_PTHREADS_1003_DOT_1C
+# define ACE_HAS_PTHREAD_SIGMASK
+# define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS
+# define ACE_LACKS_T_ERRNO
+# define ACE_POLL_IS_BROKEN
+# define DIGITAL_UNIX
+ // DJT removed this due to some minor issues related to the
+ // definitions of timestruc_t and tid_t in procfs.h not sure what
+ // functionality is lost? Platform supports <sys/procfs.h>
+ //#define ACE_HAS_PROC_FS
+# else /* _POSIX_C_SOURCE < 199506L */
+ // cxx with DCE threads . . .
+ // This ACE configuration is only supported with cxx; it has not been
+ // test with g++.
+# define ACE_HAS_BROKEN_MSG_H
+# define ACE_HAS_BROKEN_POSIX_TIME
+# define ACE_HAS_DCETHREADS
+# define ACE_HAS_DCE_DRAFT4_THREADS
+# define ACE_HAS_GETPAGESIZE
+# define ACE_HAS_ONEARG_SIGWAIT
+# define ACE_HAS_PROC_FS
+# define ACE_HAS_PTHREAD_EQUAL
+# define ACE_HAS_PTHREAD_GETSPECIFIC_DATAPTR
+# define ACE_HAS_PTHREAD_T
+# define ACE_HAS_SETKIND_NP
+# define ACE_HAS_THREAD_SELF
+# define ACE_HAS_TID_T
+# define ACE_LACKS_CONST_TIMESPEC_PTR
+# define ACE_LACKS_GETPGID
+# define ACE_LACKS_PTHREAD_THR_SIGSETMASK
+# define ACE_LACKS_PTHREAD_THR_SIGSETMASK
+# define ACE_LACKS_SETSCHED
+# define ACE_LACKS_SIGNED_CHAR
+# define ACE_LACKS_SYSV_MSQ_PROTOS
+# endif /* _POSIX_C_SOURCE < 199506L */
+#endif /* ! __GNUG__ */
-// Platform's implementation of setlrmit() has a non-const rlimit
-// parameter.
+#define ACE_DEFAULT_BASE_ADDR ((char *) 0x80000000)
+// NOTE: ACE_HAS_64BIT_LONGS is deprecated. Instead, use ACE_SIZEOF_LONG == 8.
+#define ACE_HAS_64BIT_LONGS
+#define ACE_HAS_AUTOMATIC_INIT_FINI
#define ACE_HAS_BROKEN_SETRLIMIT
-
-#define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS
-
-// Platform supports POSIX 1.b clock_gettime ()
+#define ACE_HAS_BROKEN_WRITEV
#define ACE_HAS_CLOCK_GETTIME
-
-// Compiler/platform supports the "long long" datatype.
-#define ACE_HAS_LONGLONG_T
-
-// Platform supports System V IPC (most versions of UNIX, but not
-// Win32)
-#define ACE_HAS_SYSV_IPC
-
-// Platform supports recvmsg and sendmsg.
-#define ACE_HAS_MSG
-
-// Compiler/platform contains the <sys/syscall.h> file.
-#define ACE_HAS_SYSCALL_H
-
-// Compiler/platform correctly calls init()/fini().
-#define ACE_HAS_AUTOMATIC_INIT_FINI
-
-// Prototypes for both signal() and struct sigaction are consistent.
#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES
-
-// ACE has no mktemp().
-//#define ACE_LACKS_MKTEMP
-
-// Compiler/platform has thread-specific storage
-#define ACE_HAS_THREAD_SPECIFIC_STORAGE
-
-// Platform supports C++ headers
#define ACE_HAS_CPLUSPLUS_HEADERS
-
-// Compiler/platform has the getrusage() system call.
#define ACE_HAS_GETRUSAGE
-
-// Platform supports the OSF ACE_TLI timod STREAMS module.
-#define ACE_HAS_OSF_TIMOD_H
-
-// Platform supports IP multicast
+#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT
#define ACE_HAS_IP_MULTICAST
-
-// Sockets may be called in multi-threaded programs.
+#define ACE_HAS_LONGLONG_T
+#define ACE_HAS_LONG_MAP_FAILED
+#define ACE_HAS_MSG
#define ACE_HAS_MT_SAFE_SOCKETS
-
-// Platform contains <poll.h>.
+#define ACE_HAS_OSF1_GETTIMEOFDAY
+#define ACE_HAS_OSF_TIMOD_H
#define ACE_HAS_POLL
-
-// Platform supports POSIX timers via timestruc_t.
-#define ACE_HAS_POSIX_TIME
-
-// Platform defines struct timespec in <sys/timers.h>
-// #define ACE_HAS_BROKEN_POSIX_TIME
-// DJT added 6/5/96
-// #define ACE_HAS_SVR4_TIME
-//#define ACE_HAS_SVR4_TIME
-
-// Platform supports POSIX O_NONBLOCK semantics.
#define ACE_HAS_POSIX_NONBLOCK
-
-// DJT modified 6/5/96
-// ACE supports POSIX Pthreads.
-//#define ACE_HAS_DCETHREADS
-#define ACE_HAS_PTHREADS
-
-#define ACE_LACKS_RWLOCK_T
-// DJT 6/6/96 added
-// IEEE Std 1003.1c-1995, POSIX System Application Program Interface
-#define ACE_HAS_PTHREADS_1003_DOT_1C
-
-// Compiler/platform defines the sig_atomic_t typedef.
-#define ACE_HAS_SIG_ATOMIC_T
-
-// Added 6/13/95, 1 line
+#define ACE_HAS_POSIX_TIME
#define ACE_HAS_SIGINFO_T
-#define ACE_HAS_UCONTEXT_T
-
-// Compiler/platform has ssize_t.
+#define ACE_HAS_SIG_ATOMIC_T
#define ACE_HAS_SSIZE_T
-
-// Compiler/platform supports struct strbuf.
#define ACE_HAS_STRBUF_T
-
-// Platform supports STREAMS.
#define ACE_HAS_STREAMS
-
-// Platform has 64bit longs and 32bit ints...
-// NOTE: ACE_HAS_64BIT_LONGS is deprecated. Instead, use ACE_SIZEOF_LONG == 8.
-#define ACE_HAS_64BIT_LONGS
-
-// Platform supports STREAM pipes.
-// #define ACE_HAS_STREAM_PIPES
-
-// Compiler/platform supports SVR4 dynamic linking semantics.
+#define ACE_HAS_STRERROR
+#define ACE_HAS_STRING_CLASS
#define ACE_HAS_SVR4_DYNAMIC_LINKING
-
-// Platform support OSF1 gettimeofday
-#define ACE_HAS_OSF1_GETTIMEOFDAY
-
-// Compiler/platform supports SVR4 signal typedef.
#define ACE_HAS_SVR4_SIGNAL_T
-
-// Compiler/platform has strerror().
-#define ACE_HAS_STRERROR
-
-// ACE supports threads.
+#define ACE_HAS_SYSCALL_H
+#define ACE_HAS_SYSV_IPC
+#define ACE_HAS_TEMPLATE_SPECIALIZATION
#define ACE_HAS_THREADS
-
-// DJT modified 6/5/96
-// Platform defines the tid_t structure.
-//#define ACE_HAS_TID_T
-
-// Platform supports ACE_TLI tiuser header.
+#define ACE_HAS_THREAD_SPECIFIC_STORAGE
#define ACE_HAS_TIUSER_H
-
-// Platform supports ACE_TLI timod STREAMS module.
-// #define ACE_HAS_TIMOD_H
-
-// Platform provides ACE_TLI function prototypes.
-#define ACE_HAS_TLI_PROTOTYPES
-
-// Platform supports ACE_TLI.
#define ACE_HAS_TLI
-
-// DJT added 6/6/96
+#define ACE_HAS_TLI_PROTOTYPES
+#define ACE_HAS_UALARM
+#define ACE_HAS_UCONTEXT_T
#define ACE_LACKS_CONDATTR_PSHARED
-
-// DJT added 6/7/96
-#define ACE_LACKS_THREAD_STACK_ADDR
-
-// DJT added 7/10/96
+#define ACE_LACKS_RWLOCK_T
#define ACE_LACKS_THREAD_PROCESS_SCOPING
-
-// Compile using multi-thread libraries.
-#if !defined (ACE_MT_SAFE)
- #define ACE_MT_SAFE 1
-#endif
-
-// Turns off the tracing feature.
-#if !defined (ACE_NTRACE)
-#define ACE_NTRACE 1
-#endif /* ACE_NTRACE */
-
-// DJT modified 6/5/96
-// Defines the page size of the system.
-//#define ACE_PAGE_SIZE 4096
-// This should really be set with the getpagesize() function since
-// this is machine configurable on Digital UNIX, etc..
+#define ACE_LACKS_THREAD_STACK_ADDR
#define ACE_PAGE_SIZE 8192
-// DJT added 6/6/96
-// uses ctime_r & asctime_r with only two parameters vs. three
-#define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R
+// DJT 6/10/96 All these broken macro's can now be removed with the
+// approporiate ordering of the include files. The Platinum release
+// now temporarily supports both forms. Platform's implementation of
+// sendmsg() has a non-const msgheader parameter.
+#define ACE_HAS_BROKEN_SENDMSG
-#define ACE_HAS_PTHREAD_SIGMASK
-#define ACE_HAS_BROKEN_IF_HEADER
-//#define ACE_HAS_REENTRANT_FUNCTIONS
-#define DIGITAL_UNIX
-#define ACE_LACKS_T_ERRNO
-#define ACE_HAS_BROKEN_T_ERRNO
-#define ACE_HAS_BROKEN_R_ROUTINES
// As 1MB thread-stack size seems to become standard (at least Solaris and
// NT have it), we should raise the minimum stack size to this level for
// avoiding unpleasant surprises when porting ACE software to Digital UNIX.
// Do not define this smaller than 64KB, because ACE_Log_Msg::log needs that!
// TK, 05 Feb 97
#define ACE_NEEDS_HUGE_THREAD_STACKSIZE (1024 * 1024)
+
#endif /* ACE_CONFIG_H */