aboutsummaryrefslogtreecommitdiff
path: root/dep/ACE_wrappers/ace/config-cray.h
diff options
context:
space:
mode:
authormaximius <none@none>2009-10-17 15:51:44 -0700
committermaximius <none@none>2009-10-17 15:51:44 -0700
commite585187b248f48b3c6e9247b49fa07c6565d65e5 (patch)
tree637c5b7ddacf41040bef4ea4f75a97da64c6a9bc /dep/ACE_wrappers/ace/config-cray.h
parent26b5e033ffde3d161382fc9addbfa99738379641 (diff)
*Backed out changeset 3be01fb200a5
--HG-- branch : trunk
Diffstat (limited to 'dep/ACE_wrappers/ace/config-cray.h')
-rw-r--r--dep/ACE_wrappers/ace/config-cray.h67
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 */