diff options
-rw-r--r-- | ChangeLog-98b | 10 | ||||
-rw-r--r-- | README | 1 | ||||
-rw-r--r-- | ace/config-irix6.x-common.h | 149 | ||||
-rw-r--r-- | ace/config-irix6.x-g++.h | 115 | ||||
-rw-r--r-- | ace/config-irix6.x-sgic++-nothreads.h | 127 |
5 files changed, 165 insertions, 237 deletions
diff --git a/ChangeLog-98b b/ChangeLog-98b index 11ed4b4376c..d8a75db2274 100644 --- a/ChangeLog-98b +++ b/ChangeLog-98b @@ -1,3 +1,13 @@ +Wed Oct 7 18:18:14 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * README: + * ace/config-irix6.x-g++.h: + * ace/config-irix6.x-common.h: + * ace/config-irix6.x-sgic++-nothreads.h: + Peter Nordlund <petern@nada.kth.se> kindly submitted a common + configuration file for IRIX 6.X that works with both g++ and SGI + MIPSPro 7.X + Wed Oct 7 17:21:17 1998 Arturo Montes <mitosys@colomsat.com.co> * ace/OS.{i,cpp}: FSU pthreads is draft6, but FSU in SCO is an @@ -647,6 +647,7 @@ Dann Corbit <DCorbit@SolutionsIQ.com> James <james@tsunami.com> Jason Milley <Jason.Milley.jcmilley@nt.com> Ulf Jaehrig <jaehrig@desys.com> +Peter Nordlund <petern@nada.kth.se> I would particularly like to thank Paul Stephenson, who worked with me at Ericsson and is now at ObjectSpace. Paul devised the recursive diff --git a/ace/config-irix6.x-common.h b/ace/config-irix6.x-common.h new file mode 100644 index 00000000000..34172f4b57c --- /dev/null +++ b/ace/config-irix6.x-common.h @@ -0,0 +1,149 @@ +/* -*- C++ -*- */ +// +// $Id$ +// +// This file contains the common configuration options for both +// SGI/MIPSPro C++ and g++ under IRIX 6.X +// +#ifndef ACE_CONFIG_IRIX6X_COMMON_H + +#if !(defined(ACE_CONFIG_H) || defined(ACE_CONFIG_IRIX6X_NTHR_H)) +#error "This file may only be included via config.h or config-irix6.x-nothreads.h" +#endif + +#if (defined(ACE_CONFIG_H) && defined(ACE_CONFIG_IRIX6X_NTHR_H)) +#error "May only be included via config.h *OR* config-irix6.x-nothreads.h, not both!" +#endif + +// The Irix 6.x float.h doesn't allow us to distinguish between a +// double and a long double. So, we have to hard-code this. Thanks +// to Bob Laferriere <laferrie@gsao.med.ge.com> for figuring it out. +#if defined (_MIPS_SIM) /* 6.X System */ +# if defined (_MIPS_SIM_NABI32) && (_MIPS_SIM == _MIPS_SIM_NABI32) +# define ACE_SIZEOF_LONG_DOUBLE 16 +# elif defined (_MIPS_SIM_ABI32) && (_MIPS_SIM == _MIPS_SIM_ABI32) +# define ACE_SIZEOF_LONG_DOUBLE 8 +# elif !defined (ACE_SIZEOF_LONG_DOUBLE) +# define ACE_SIZEOF_LONG_DOUBLE 8 +# endif +#else +# define ACE_SIZEOF_LONG_DOUBLE 8 /* 5.3 System */ +#endif + +// petern, Next part of it: + +// Platform supports getpagesize() call. +#define ACE_HAS_GETPAGESIZE + +// Platform has no implementation of pthread_condattr_setpshared(), +// even though it supports pthreads! (like Irix 6.2) +#define ACE_LACKS_CONDATTR_PSHARED +#define ACE_LACKS_MUTEXATTR_PSHARED + +// Platform/compiler has the sigwait(2) prototype +#define ACE_HAS_SIGWAIT + +// Platform supports System V IPC (most versions of UNIX, but not Win32) +#define ACE_HAS_SYSV_IPC + +// Platform requires void * for mmap(). +#define ACE_HAS_VOIDPTR_MMAP + +// Platform supports recvmsg and sendmsg. +#define ACE_HAS_MSG + +// Compiler/platform contains the <sys/syscall.h> file. +#define ACE_HAS_SYSCALL_H + +// Compiler/platform supports alloca() +#define ACE_HAS_ALLOCA + +// Compiler/platform has <alloca.h> +#define ACE_HAS_ALLOCA_H + +// Irix needs to define bzero() in this odd file <bstring.h> +#define ACE_HAS_BSTRING + +// Compiler/platform has the getrusage() system call. +#define ACE_HAS_GETRUSAGE + +// Platform supports POSIX O_NONBLOCK semantics. +#define ACE_HAS_POSIX_NONBLOCK + +// Compiler/platform has correctly prototyped header files. +#define ACE_HAS_CPLUSPLUS_HEADERS + +// Platform contains <poll.h>. +#define ACE_HAS_POLL + +// No multi-threading so use poll() call +// - for easier debugging, if nothing else +// #define ACE_USE_POLL + +// Platform supports the /proc file system. +#define ACE_HAS_PROC_FS + +// 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 supports the ssize_t typedef. +#define ACE_HAS_SSIZE_T + +// Platform supports STREAMS. +#define ACE_HAS_STREAMS + +// Platform supports STREAM pipes (note that this is disabled by +// default, see the manual page on pipe(2) to find out how to enable +// it). +// #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 + +// Platform provides <sys/filio.h> header. +#define ACE_HAS_SYS_FILIO_H + +// Compiler/platform defines a union semun for SysV shared memory. +#define ACE_HAS_SEMUN + +// Platform supports IP multicast +#define ACE_HAS_IP_MULTICAST + +//************************************************************** +// Not so sure how next lines should look like +// Platform supports POSIX timers via timestruc_t. +// This will *NOT* work in 6.4, but ACE doesn't use it anymore. +// #define ACE_HAS_POSIX_TIME +// #define ACE_HAS_SVR4_TIME + + +// Platform supports POSIX timers via timestruc_t. +#define ACE_HAS_POSIX_TIME +// #define ACE_HAS_SVR4_TIME +#define ACE_LACKS_SYSTIME_H +//************************************************************** + +#define ACE_HAS_DIRENT +#define ACE_LACKS_RWLOCK_T + +// Platform supports the tid_t type (e.g., AIX and Irix 6.2) +#define ACE_HAS_TID_T + + +// Turns off the tracing feature. +#if !defined (ACE_NTRACE) +#define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + + +#endif /* ACE_CONFIG_IRIX6X_COMMON_H */ diff --git a/ace/config-irix6.x-g++.h b/ace/config-irix6.x-g++.h index d399e23eae5..3bfb96352c3 100644 --- a/ace/config-irix6.x-g++.h +++ b/ace/config-irix6.x-g++.h @@ -9,20 +9,6 @@ #include "ace/config-g++-common.h" -// The Irix 6.x float.h doesn't allow us to distinguish between a -// double and a long double. So, we have to hard-code this. Thanks -// to Bob Laferriere <laferrie@gsao.med.ge.com> for figuring it out. -#if defined (_MIPS_SIM) // 6.X System -# if defined (_ABI64) && (_MIPS_SIM == _ABI64) -# define ACE_SIZEOF_LONG_DOUBLE 16 -# elif defined (_ABIN32) && (_MIPS_SIM == _ABIN32) -# define ACE_SIZEOF_LONG_DOUBLE 16 -# elif defined (_ABIO32) && (_MIPS_SIM == _ABIO32) -# define ACE_SIZEOF_LONG_DOUBLE 8 -# endif -#else -# define ACE_SIZEOF_LONG_DOUBLE 8 // 5.3 System -#endif // Platform supports the very odd IRIX 6.2 threads... #define ACE_HAS_THREADS @@ -36,17 +22,15 @@ #define ACE_HAS_PTHREADS_STD #define ACE_HAS_PTHREAD_SIGMASK +#include "ace/config-irix6.x-common.h" + // Needed for the threading stuff? #include /**/ <sched.h> #include /**/ <task.h> + #define PTHREAD_MIN_PRIORITY PX_PRIO_MIN #define PTHREAD_MAX_PRIORITY PX_PRIO_MAX -// Platform has no implementation of pthread_condattr_setpshared(), -// even though it supports pthreads! (like Irix 6.2) -#define ACE_LACKS_CONDATTR_PSHARED -#define ACE_LACKS_MUTEXATTR_PSHARED - // Platforms has pthread_thr_sigsetmask #define ACE_HAS_PTHREAD_SIGMASK @@ -59,111 +43,18 @@ // Compiler/platform has thread-specific storage #define ACE_HAS_THREAD_SPECIFIC_STORAGE -// Platform supports getpagesize() call. -#define ACE_HAS_GETPAGESIZE #define ACE_HAS_STRING_CLASS #define IRIX6 -#define ACE_HAS_SIGWAIT - -// Optimize ACE_Handle_Set for select(). -#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT - -// Platform supports System V IPC (most versions of UNIX, but not Win32) -#define ACE_HAS_SYSV_IPC - -// Platform requires void * for mmap(). -#define ACE_HAS_VOIDPTR_MMAP - -// Platform supports recvmsg and sendmsg. -#define ACE_HAS_MSG - -// Compiler/platform contains the <sys/syscall.h> file. -#define ACE_HAS_SYSCALL_H - -// Compiler/platform supports alloca() -#define ACE_HAS_ALLOCA - -// Compiler/platform has <alloca.h> -#define ACE_HAS_ALLOCA_H - -// IRIX6 needs to define bzero() in this odd file <bstring.h> -#define ACE_HAS_BSTRING - -// Compiler/platform has the getrusage() system call. -#define ACE_HAS_GETRUSAGE // Denotes that GNU has cstring.h as standard // which redefines memchr() #define ACE_HAS_GNU_CSTRING_H -// Platform supports POSIX O_NONBLOCK semantics. -#define ACE_HAS_POSIX_NONBLOCK - -// Platform supports POSIX timers via timestruc_t. -#define ACE_HAS_POSIX_TIME -#define ACE_HAS_SVR4_TIME -#define ACE_LACKS_SYSTIME_H - -// Compiler/platform has correctly prototyped header files. -#define ACE_HAS_CPLUSPLUS_HEADERS - -// Platform contains <poll.h>. -#define ACE_HAS_POLL - -// Platform supports the /proc file system. -#define ACE_HAS_PROC_FS - -// 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 supports the ssize_t typedef. -#define ACE_HAS_SSIZE_T - -// Platform supports STREAMS. -#define ACE_HAS_STREAMS - -// Platform supports STREAM pipes (note that this is disabled by -// default, see the manual page on pipe(2) to find out how to enable -// it). -// #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 - // Compiler/platform supports SVR4 signal typedef. #define ACE_HAS_IRIX_53_SIGNALS // Compiler/platform supports sys_siglist array. //#define ACE_HAS_SYS_SIGLIST -// Platform provides <sys/filio.h> header. -#define ACE_HAS_SYS_FILIO_H - -// Platform has the xti header in <sys/xti.h>. -#define ACE_HAS_SYS_XTI_H - -// Compiler/platform defines a union semun for SysV shared memory. -#define ACE_HAS_SEMUN - -// Platform supports IP multicast -#define ACE_HAS_IP_MULTICAST - -#define ACE_HAS_TID_T -#define ACE_LACKS_RWLOCK_T - -// Turns off the tracing feature. -#if !defined (ACE_NTRACE) -#define ACE_NTRACE 1 -#endif /* ACE_NTRACE */ #endif /* ACE_CONFIG_H */ diff --git a/ace/config-irix6.x-sgic++-nothreads.h b/ace/config-irix6.x-sgic++-nothreads.h index 1dc5494cd53..a2da083d00e 100644 --- a/ace/config-irix6.x-sgic++-nothreads.h +++ b/ace/config-irix6.x-sgic++-nothreads.h @@ -22,22 +22,8 @@ #define ACE_CONFIG_IRIX6X_NTHR_H // Include this file to set the _MIPS_SIM*ABI* macros. -#include <sgidefs.h> - -// The Irix 6.x float.h doesn't allow us to distinguish between a -// double and a long double. So, we have to hard-code this. Thanks -// to Bob Laferriere <laferrie@gsao.med.ge.com> for figuring it out. -#if defined (_MIPS_SIM) /* 6.X System */ -# if defined (_MIPS_SIM_NABI32) && (_MIPS_SIM == _MIPS_SIM_NABI32) -# define ACE_SIZEOF_LONG_DOUBLE 16 -# elif defined (_MIPS_SIM_ABI32) && (_MIPS_SIM == _MIPS_SIM_ABI32) -# define ACE_SIZEOF_LONG_DOUBLE 8 -# elif !defined (ACE_SIZEOF_LONG_DOUBLE) -# define ACE_SIZEOF_LONG_DOUBLE 8 -# endif -#else -# define ACE_SIZEOF_LONG_DOUBLE 8 /* 5.3 System */ -#endif +#include /**/ <sgidefs.h> +#include "ace/config-irix6.x-common.h" #define ACE_HAS_SGIDLADD #define ACE_HAS_P_READ_WRITE @@ -56,8 +42,6 @@ #define ACE_DEFAULT_BASE_ADDR ((char *) (1024U * 1024 * 1024)) #define ACE_LACKS_SIGNED_CHAR -// Platform supports getpagesize() call. -#define ACE_HAS_GETPAGESIZE // Platform supports reentrant functions (i.e., all the POSIX *_r // functions). @@ -77,108 +61,12 @@ // getservbyname_r). #define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS -// Platform supports the tid_t type (e.g., AIX and Irix 6.2) -#define ACE_HAS_TID_T - // uses ctime_r & asctime_r with only two parameters vs. three #define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R -// Platform has no implementation of pthread_condattr_setpshared(), -// even though it supports pthreads! (like Irix 6.2) -#define ACE_LACKS_CONDATTR_PSHARED -#define ACE_LACKS_MUTEXATTR_PSHARED - -#define ACE_LACKS_RWLOCK_T - -// Platform/compiler has the sigwait(2) prototype -#define ACE_HAS_SIGWAIT - -// Platform supports System V IPC (most versions of UNIX, but not Win32) -#define ACE_HAS_SYSV_IPC - -// Platform requires void * for mmap(). -#define ACE_HAS_VOIDPTR_MMAP - -// Platform supports recvmsg and sendmsg. -#define ACE_HAS_MSG - -// Compiler/platform contains the <sys/syscall.h> file. -#define ACE_HAS_SYSCALL_H - -// Compiler/platform supports alloca() -#define ACE_HAS_ALLOCA - -// Compiler/platform has <alloca.h> -#define ACE_HAS_ALLOCA_H - -// Irix needs to define bzero() in this odd file <bstring.h> -#define ACE_HAS_BSTRING - -// Compiler/platform has the getrusage() system call. -#define ACE_HAS_GETRUSAGE - -// Platform supports POSIX O_NONBLOCK semantics. -#define ACE_HAS_POSIX_NONBLOCK - -// Platform supports POSIX timers via timestruc_t. -#define ACE_HAS_POSIX_TIME -// #define ACE_HAS_SVR4_TIME -#define ACE_LACKS_SYSTIME_H - -// Compiler/platform has correctly prototyped header files. -#define ACE_HAS_CPLUSPLUS_HEADERS - -// Platform contains <poll.h>. -#define ACE_HAS_POLL - -// No multi-threading so use poll() call -// - for easier debugging, if nothing else -// #define ACE_USE_POLL - -// Platform supports the /proc file system. -#define ACE_HAS_PROC_FS - -// 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 supports the ssize_t typedef. -#define ACE_HAS_SSIZE_T - -// Platform supports STREAMS. -#define ACE_HAS_STREAMS - -// Platform supports STREAM pipes (note that this is disabled by -// default, see the manual page on pipe(2) to find out how to enable -// it). -// #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 - // Prototypes for both signal() and struct sigaction are consistent. #define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES -// Platform provides <sys/filio.h> header. -#define ACE_HAS_SYS_FILIO_H - -// Platform has the xti header in <sys/xti.h>. -#define ACE_HAS_SYS_XTI_H - -// Compiler/platform defines a union semun for SysV shared memory. -#define ACE_HAS_SEMUN - -// Platform supports IP multicast -#define ACE_HAS_IP_MULTICAST // The following three should be enabled/disabled together. #if _COMPILER_VERSION >= 720 @@ -200,18 +88,7 @@ // it). // #define ACE_HAS_STREAM_PIPES -// Platform supports POSIX timers via timestruc_t. -// This will *NOT* work in 6.4, but ACE doesn't use it anymore. -// #define ACE_HAS_POSIX_TIME -// #define ACE_HAS_SVR4_TIME - -// Turns off the tracing feature. -#if !defined (ACE_NTRACE) -#define ACE_NTRACE 1 -#endif /* ACE_NTRACE */ - #define ACE_HAS_GPERF -#define ACE_HAS_DIRENT #if defined (_COMPILER_VERSION) #define ACE_CC_NAME "SGI/MIPSPro" |