diff options
Diffstat (limited to 'dep/ACE_wrappers/ace/config-cray.h')
-rw-r--r-- | dep/ACE_wrappers/ace/config-cray.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/dep/ACE_wrappers/ace/config-cray.h b/dep/ACE_wrappers/ace/config-cray.h index 825642c408c..87fe263503d 100644 --- a/dep/ACE_wrappers/ace/config-cray.h +++ b/dep/ACE_wrappers/ace/config-cray.h @@ -1,8 +1,10 @@ /* -*- C++ -*- */ // $Id: config-cray.h 81935 2008-06-12 22:01:53Z jtc $ + #ifndef ACE_CONFIG_CRAY_H #define ACE_CONFIG_CRAY_H #include /**/ "ace/pre.h" + /* The following predefined macros are used within ACE ifdefs. These are defined when using the Cray compilers. _CRAYMPP @@ -10,63 +12,105 @@ massively parallel machine. Moreover, in the case of the T3E, _CRAYT3E will be defined. This is used to determine the ACE_SIZEOF defines for primitive types. + _UNICOS is defined as either the major version of UNICOS being run, e.g. 9 or 10 on the vector machines (e.g. C90, T90, J90, YMP, ...) or the major+minor+level UNICOS/mk version, e.g. 2.0.3 => 203, being run on an MPP machine. + Summary: + _CRAYMPP (defined only if running on MPP machine, e.g. T3E, UNICOS/mk) _CRAYT3E (defined specifically if compiling on a Cray T3E) _UNICOS (defined if running UNICOS or UNICOS/mk) + Tested on UNICOS 10.0.0.5, UNICOS/mk 2.0.4.57 Compiles on UNICOS 9.0.2.8, but some tests deadlock + Contributed by Doug Anderson <dla@home.com> */ + #if defined (_UNICOS) && !defined (MAXPATHLEN) #define MAXPATHLEN 1023 #endif /* _UNICOS */ + #define ACE_DEFAULT_CLOSE_ALL_HANDLES 0 + // Defines the page size of the system. #define ACE_PAGE_SIZE 4096 + #define ACE_HAS_CPLUSPLUS_HEADERS + #define ACE_HAS_SSIZE_T + #define ACE_HAS_SYSV_IPC + #define ACE_MT_SAFE 1 + #define ACE_HAS_THREADS + #define ACE_HAS_PTHREADS + #define ACE_HAS_THREAD_SPECIFIC_STORAGE + #define ACE_HAS_PTHREAD_MUTEXATTR_SETKIND_NP + #define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R + #define ACE_HAS_POSIX_TIME + #define ACE_HAS_TIMEZONE_GETTIMEOFDAY + #define ACE_HAS_POSIX_NONBLOCK + // Platform has POSIX terminal interface. #define ACE_HAS_TERMIOS + #define ACE_HAS_DIRENT + #define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT + #define ACE_HAS_IP_MULTICAST + #define ACE_HAS_SOCKADDR_IN_SIN_LEN + #define ACE_HAS_NONCONST_SELECT_TIMEVAL + #define ACE_HAS_NONCONST_READLINK + #define ACE_HAS_CHARPTR_SOCKOPT + #define ACE_HAS_NONCONST_GETBY + // has man pages, but links with missing symbols and I can't find lib yet /* #define ACE_HAS_REGEX */ + #define ACE_HAS_SIG_MACROS + #define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES + #if _UNICOS > 9 # define ACE_HAS_SIGWAIT #endif + #define ACE_HAS_SIG_ATOMIC_T + #define ACE_HAS_SIGISMEMBER_BUG + #define ACE_HAS_MSG + #define ACE_HAS_STRERROR + #define ACE_HAS_GPERF + // Special modifications that apply to UNICOS/mk #if defined(_CRAYMPP) + # define ACE_HAS_SIGINFO_T # define ACE_HAS_UCONTEXT_T + #endif + // The Cray T90 supposedly supports SYSV SHMEM, but I was unable to get it // working. Of course, all other Cray PVP and MPP systems do NOT support it, // so it's probably good to just define like this for consistency @@ -81,10 +125,14 @@ #define ACE_LACKS_PTHREAD_CLEANUP #define ACE_LACKS_CONDATTR_PSHARED #define ACE_LACKS_THREAD_PROCESS_SCOPING + #if !defined(_CRAYMPP) + #define ACE_LACKS_PTHREAD_CANCEL #define ACE_LACKS_PTHREAD_KILL + #endif + #define ACE_LACKS_MUTEXATTR_PSHARED #define ACE_LACKS_RWLOCK_T #define ACE_LACKS_PRI_T @@ -96,18 +144,26 @@ #define ACE_LACKS_MSYNC #define ACE_LACKS_READV #define ACE_LACKS_RLIMIT + // we probably want to fake not having this, since Cray memory mgmt is different #define ACE_LACKS_SBRK + #define ACE_LACKS_SETSCHED + #define ACE_LACKS_SIGINFO_H + #define ACE_LACKS_TIMESPEC_T + #define ACE_LACKS_WRITEV + // Cray vector machines are "word" oriented, and modern ones are hard 64-bit. // "char" is somewhat of a special case. Most problems arise when code thinks // it can address 32-bit quantities and the like. MPP crays are typically // byte oriented, e.g. T3E uses Alpha processors, so we don't need as much // special treatment. + #ifndef _CRAYMPP + # define ACE_SIZEOF_CHAR 1 # define ACE_SIZEOF_SHORT 8 # define ACE_SIZEOF_INT 8 @@ -117,7 +173,9 @@ # define ACE_SIZEOF_DOUBLE 8 # define ACE_SIZEOF_LONG_DOUBLE 16 # define ACE_SIZEOF_VOID_P 8 + #elif defined(_CRAYT3E) + # define ACE_SIZEOF_CHAR 1 # define ACE_SIZEOF_SHORT 4 # define ACE_SIZEOF_INT 8 @@ -127,21 +185,30 @@ # define ACE_SIZEOF_DOUBLE 8 # define ACE_SIZEOF_LONG_DOUBLE 8 # define ACE_SIZEOF_VOID_P 8 + #endif + // Ones to check out at some point + /* #define ACE_HAS_SYS_SIGLIST */ + // C++ Compiler stuff to verify /* #define ACE_NEW_THROWS_EXCEPTIONS */ /* #define ACE_HAS_TEMPLATE_TYPEDEFS */ + // thread issues to check out /* #define ACE_LACKS_TIMEDWAIT_PROTOTYPES */ + // Cray does seem to support it, in -lnsl and has tiuser.h header /* #define ACE_HAS_TLI */ /* #define ACE_HAS_TIUSER_H */ /* #define ACE_HAS_TLI_PROTOTYPES */ /* #define ACE_LACKS_T_ERRNO */ + /* #define ACE_LACKS_NAMED_POSIX_SEM */ + /* #define ACE_HAS_SYS_ERRLIST */ + #include /**/ "ace/post.h" #endif /* ACE_CONFIG_CRAY_H */ |