From 836f18f93bea2593d3bf0a37382f60bc6198c8ba Mon Sep 17 00:00:00 2001 From: storri Date: Thu, 10 Jan 2002 21:10:23 +0000 Subject: Bringing back in config* files that were accidentally removed --- ace/config-WinCE.h | 236 +++++++++++++ ace/config-aix-4.1.x.h | 8 + ace/config-aix-4.2.x.h | 8 + ace/config-aix-4.3.x.h | 8 + ace/config-aix-4.x.h | 291 ++++++++++++++++ ace/config-aix5.1.h | 5 + ace/config-all.h | 640 ++++++++++++++++++++++++++++++++++ ace/config-chorus.h | 159 +++++++++ ace/config-cray.h | 242 +++++++++++++ ace/config-cxx-common.h | 88 +++++ ace/config-cygwin32-common.h | 141 ++++++++ ace/config-cygwin32.h | 16 + ace/config-dgux-4.11-epc.h | 195 +++++++++++ ace/config-dgux-4.x-ghs.h | 214 ++++++++++++ ace/config-doxygen.h | 74 ++++ ace/config-freebsd-pthread.h | 218 ++++++++++++ ace/config-freebsd.h | 197 +++++++++++ ace/config-fsu-pthread.h | 59 ++++ ace/config-g++-common.h | 117 +++++++ ace/config-ghs-common.h | 44 +++ ace/config-hpux-10.x-g++.h | 28 ++ ace/config-hpux-10.x-hpc++.h | 136 ++++++++ ace/config-hpux-10.x.h | 252 +++++++++++++ ace/config-hpux-11.00.h | 420 ++++++++++++++++++++++ ace/config-hpux11.h | 250 +++++++++++++ ace/config-irix5.2.h | 69 ++++ ace/config-irix5.3-g++.h | 120 +++++++ ace/config-irix5.3-sgic++.h | 123 +++++++ ace/config-irix6.5.x-sgic++.h | 18 + ace/config-irix6.x-common.h | 169 +++++++++ ace/config-irix6.x-g++.h | 54 +++ ace/config-irix6.x-kcc.h | 68 ++++ ace/config-irix6.x-sgic++-nothreads.h | 95 +++++ ace/config-irix6.x-sgic++.h | 59 ++++ ace/config-kcc-common.h | 76 ++++ ace/config-linux-common.h | 279 +++++++++++++++ ace/config-linux.h | 70 ++++ ace/config-lynxos.h | 183 ++++++++++ ace/config-m88k.h | 227 ++++++++++++ ace/config-macosx.h | 173 +++++++++ ace/config-minimal.h | 39 +++ ace/config-mit-pthread.h | 53 +++ ace/config-mklinux.h | 20 ++ ace/config-mvs.h | 122 +++++++ ace/config-netbsd.h | 179 ++++++++++ ace/config-osf1-3.2.h | 188 ++++++++++ ace/config-osf1-4.0.h | 183 ++++++++++ ace/config-pharlap.h | 60 ++++ ace/config-psos-diab-mips.h | 246 +++++++++++++ ace/config-psos-diab-ppc.h | 281 +++++++++++++++ ace/config-psos-diab.h | 237 +++++++++++++ ace/config-psos-tm.h | 210 +++++++++++ ace/config-psosim-g++.h | 246 +++++++++++++ ace/config-qnx-neutrino.h | 148 ++++++++ ace/config-qnx-rtp.h | 195 +++++++++++ ace/config-rtems.h | 164 +++++++++ ace/config-sco-4.2-nothread.h | 116 ++++++ ace/config-sco-5.0.0-fsu-pthread.h | 15 + ace/config-sco-5.0.0-mit-pthread.h | 178 ++++++++++ ace/config-sco-5.0.0-nothread.h | 14 + ace/config-sco-5.0.0.h | 110 ++++++ ace/config-sunos4-g++.h | 105 ++++++ ace/config-sunos4-lucid3.2.h | 95 +++++ ace/config-sunos4-sun3.x.h | 87 +++++ ace/config-sunos4-sun4.1.4.h | 99 ++++++ ace/config-sunos4-sun4.x.h | 106 ++++++ ace/config-sunos5.4-centerline-2.x.h | 162 +++++++++ ace/config-sunos5.4-g++.h | 181 ++++++++++ ace/config-sunos5.4-sunc++-4.x.h | 194 +++++++++++ ace/config-sunos5.5.h | 378 ++++++++++++++++++++ ace/config-sunos5.6.h | 128 +++++++ ace/config-sunos5.7.h | 79 +++++ ace/config-sunos5.8.h | 25 ++ ace/config-tandem.h | 445 +++++++++++++++++++++++ ace/config-tru64.h | 23 ++ ace/config-unixware-2.01-g++.h | 113 ++++++ ace/config-unixware-2.1.2-g++.h | 102 ++++++ ace/config-unixware-7.1.0.h | 447 ++++++++++++++++++++++++ ace/config-unixware-7.1.0.udk.h | 529 ++++++++++++++++++++++++++++ ace/config-visualage.h | 20 ++ ace/config-vxworks5.x.h | 217 ++++++++++++ ace/config-win32-borland.h | 111 ++++++ ace/config-win32-common.h | 498 ++++++++++++++++++++++++++ ace/config-win32-ghs.h | 110 ++++++ ace/config-win32-mingw.h | 64 ++++ ace/config-win32-msvc-5.h | 197 +++++++++++ ace/config-win32-msvc-6.h | 194 +++++++++++ ace/config-win32-msvc-7.h | 119 +++++++ ace/config-win32-msvc.h | 43 +++ ace/config-win32-visualage.h | 101 ++++++ ace/config-win32.h | 58 +++ 91 files changed, 13863 insertions(+) create mode 100644 ace/config-WinCE.h create mode 100644 ace/config-aix-4.1.x.h create mode 100644 ace/config-aix-4.2.x.h create mode 100644 ace/config-aix-4.3.x.h create mode 100644 ace/config-aix-4.x.h create mode 100644 ace/config-aix5.1.h create mode 100644 ace/config-all.h create mode 100644 ace/config-chorus.h create mode 100644 ace/config-cray.h create mode 100644 ace/config-cxx-common.h create mode 100644 ace/config-cygwin32-common.h create mode 100644 ace/config-cygwin32.h create mode 100644 ace/config-dgux-4.11-epc.h create mode 100644 ace/config-dgux-4.x-ghs.h create mode 100644 ace/config-doxygen.h create mode 100644 ace/config-freebsd-pthread.h create mode 100644 ace/config-freebsd.h create mode 100644 ace/config-fsu-pthread.h create mode 100644 ace/config-g++-common.h create mode 100644 ace/config-ghs-common.h create mode 100644 ace/config-hpux-10.x-g++.h create mode 100644 ace/config-hpux-10.x-hpc++.h create mode 100644 ace/config-hpux-10.x.h create mode 100644 ace/config-hpux-11.00.h create mode 100644 ace/config-hpux11.h create mode 100644 ace/config-irix5.2.h create mode 100644 ace/config-irix5.3-g++.h create mode 100644 ace/config-irix5.3-sgic++.h create mode 100644 ace/config-irix6.5.x-sgic++.h create mode 100644 ace/config-irix6.x-common.h create mode 100644 ace/config-irix6.x-g++.h create mode 100644 ace/config-irix6.x-kcc.h create mode 100644 ace/config-irix6.x-sgic++-nothreads.h create mode 100644 ace/config-irix6.x-sgic++.h create mode 100644 ace/config-kcc-common.h create mode 100644 ace/config-linux-common.h create mode 100644 ace/config-linux.h create mode 100644 ace/config-lynxos.h create mode 100644 ace/config-m88k.h create mode 100644 ace/config-macosx.h create mode 100644 ace/config-minimal.h create mode 100644 ace/config-mit-pthread.h create mode 100644 ace/config-mklinux.h create mode 100644 ace/config-mvs.h create mode 100644 ace/config-netbsd.h create mode 100644 ace/config-osf1-3.2.h create mode 100644 ace/config-osf1-4.0.h create mode 100644 ace/config-pharlap.h create mode 100644 ace/config-psos-diab-mips.h create mode 100644 ace/config-psos-diab-ppc.h create mode 100644 ace/config-psos-diab.h create mode 100644 ace/config-psos-tm.h create mode 100644 ace/config-psosim-g++.h create mode 100644 ace/config-qnx-neutrino.h create mode 100644 ace/config-qnx-rtp.h create mode 100644 ace/config-rtems.h create mode 100644 ace/config-sco-4.2-nothread.h create mode 100644 ace/config-sco-5.0.0-fsu-pthread.h create mode 100644 ace/config-sco-5.0.0-mit-pthread.h create mode 100644 ace/config-sco-5.0.0-nothread.h create mode 100644 ace/config-sco-5.0.0.h create mode 100644 ace/config-sunos4-g++.h create mode 100644 ace/config-sunos4-lucid3.2.h create mode 100644 ace/config-sunos4-sun3.x.h create mode 100644 ace/config-sunos4-sun4.1.4.h create mode 100644 ace/config-sunos4-sun4.x.h create mode 100644 ace/config-sunos5.4-centerline-2.x.h create mode 100644 ace/config-sunos5.4-g++.h create mode 100644 ace/config-sunos5.4-sunc++-4.x.h create mode 100644 ace/config-sunos5.5.h create mode 100644 ace/config-sunos5.6.h create mode 100644 ace/config-sunos5.7.h create mode 100644 ace/config-sunos5.8.h create mode 100644 ace/config-tandem.h create mode 100644 ace/config-tru64.h create mode 100644 ace/config-unixware-2.01-g++.h create mode 100644 ace/config-unixware-2.1.2-g++.h create mode 100644 ace/config-unixware-7.1.0.h create mode 100644 ace/config-unixware-7.1.0.udk.h create mode 100644 ace/config-visualage.h create mode 100644 ace/config-vxworks5.x.h create mode 100644 ace/config-win32-borland.h create mode 100644 ace/config-win32-common.h create mode 100644 ace/config-win32-ghs.h create mode 100644 ace/config-win32-mingw.h create mode 100644 ace/config-win32-msvc-5.h create mode 100644 ace/config-win32-msvc-6.h create mode 100644 ace/config-win32-msvc-7.h create mode 100644 ace/config-win32-msvc.h create mode 100644 ace/config-win32-visualage.h create mode 100644 ace/config-win32.h diff --git a/ace/config-WinCE.h b/ace/config-WinCE.h new file mode 100644 index 00000000000..ca0281675a9 --- /dev/null +++ b/ace/config-WinCE.h @@ -0,0 +1,236 @@ +// $Id$ + +#ifndef ACE_CONFIG_WINCE_H +#define ACE_CONFIG_WINCE_H +#include "ace/pre.h" + +#ifndef ACE_CONFIG_WIN32_H +#error Use config-win32.h in config.h instead of this header +#endif /* ACE_CONFIG_WIN32_H */ + +#if !defined (UNDER_CE) +#error Define UNDER_CE to version (i.e. 300 = 3.0) +#endif /* UNDER_CE */ + +#if !defined (ACE_HAS_WINCE) +#define ACE_HAS_WINCE 1 +#endif + +// Only DLL version is supported on CE. +#if defined (ACE_HAS_DLL) +# undef ACE_HAS_DLL +#endif /* ACE_HAS_DLL */ +#define ACE_HAS_DLL 1 + +// Need to define LD search path explicitly on CE because +// CE doesn't have environment variables and we can't get +// the information using getenv. +#define ACE_DEFAULT_LD_SEARCH_PATH ACE_LIB_TEXT (".\\;\\windows") + +#define ACE_LACKS_SYS_TYPES_H + + +// CE is not NT. +#if defined (ACE_HAS_WINNT4) +# undef ACE_HAS_WINNT4 +#endif /* ACE_HAS_WINNT4 */ +#define ACE_HAS_WINNT4 0 + +#define ACE_LACKS_ACE_TOKEN +#define ACE_LACKS_ACE_OTHER +#define ACE_LACKS_MSG_WFMO + +#define ACE_HAS_WCHAR + +#if !defined (ACE_USES_WCHAR) +#define ACE_USES_WCHAR +#endif /* ACE_USES_WCHAR */ + +#define ACE_USES_WINCE_SEMA_SIMULATION + +#define ACE_LACKS_IOSTREAM_TOTALLY + +#if defined (ACE_HAS_STRICT) +# undef ACE_HAS_STRICT +#endif /* ACE_HAS_STRICT */ +#define ACE_HAS_STRICT 1 + +#define ACE_HAS_NONSTATIC_OBJECT_MANAGER 1 + +// FILE stuff isn't always defined in CE +#ifndef _FILE_DEFINED +typedef void FILE; +#define _FILE_DEFINED +#endif /* _FILE_DEFINED */ + +// This was defined in previous versions of CE, but not 2.11 +#define EXCEPTION_ACCESS_VIOLATION STATUS_ACCESS_VIOLATION + +// We need to rename program entry name "main" with ace_ce_main here +// so that we can call it from CE's bridge class. +#define ACE_MAIN ace_ce_main +#define ACE_MAIN_OBJECT_MANAGER + +// SH3 cross-compiler can't handle inline functions correctly +// (along with other bugs.) +#if defined (SH3) +#define ACE_LACKS_INLINE_FUNCTIONS +#endif /* SH3 && _DEBUG */ + +#ifndef ACE_DEFAULT_SERVER_HOST +# define ACE_DEFAULT_SERVER_HOST L"localhost" +#endif /* ACE_DEFAULT_SERVER_HOST */ + +// @@ Need to remap every function that uses any of these flags to +// Win32 API. These are for ANSI styled function and are not +// available on WinCE. + +#define _O_RDONLY 0x0000 /* open for reading only */ +#define _O_WRONLY 0x0001 /* open for writing only */ +#define _O_RDWR 0x0002 /* open for reading and writing */ +#define _O_APPEND 0x0008 /* writes done at eof */ + +#define _O_CREAT 0x0100 /* create and open file */ +#define _O_TRUNC 0x0200 /* open and truncate */ +#define _O_EXCL 0x0400 /* open only if file doesn't already exist */ + +/* O_TEXT files have sequences translated to on read()'s, +** and sequences translated to on write()'s +*/ + +#define _O_TEXT 0x4000 /* file mode is text (translated) */ +#define _O_BINARY 0x8000 /* file mode is binary (untranslated) */ + +/* macro to translate the C 2.0 name used to force binary mode for files */ + +//#define _O_RAW _O_BINARY + +/* Open handle inherit bit */ + +//#define _O_NOINHERIT 0x0080 /* child process doesn't inherit file */ + +/* Temporary file bit - file is deleted when last handle is closed */ + +#define _O_TEMPORARY 0x0040 /* temporary file bit */ + +/* temporary access hint */ + +//#define _O_SHORT_LIVED 0x1000 /* temporary storage file, try not to flush */ + +/* sequential/random access hints */ + +//#define _O_SEQUENTIAL 0x0020 /* file access is primarily sequential */ +//#define _O_RANDOM 0x0010 /* file access is primarily random */ + + +// Non-ANSI names +#define O_RDONLY _O_RDONLY +#define O_WRONLY _O_WRONLY +#define O_RDWR _O_RDWR +#define O_APPEND _O_APPEND +#define O_CREAT _O_CREAT +#define O_TRUNC _O_TRUNC +#define O_EXCL _O_EXCL +#define O_TEXT _O_TEXT +#define O_BINARY _O_BINARY +//#define O_RAW _O_BINARY +#define O_TEMPORARY _O_TEMPORARY +//#define O_NOINHERIT _O_NOINHERIT +//#define O_SEQUENTIAL _O_SEQUENTIAL +//#define O_RANDOM _O_RANDOM + + +// @@ NSIG value. This is definitely not correct. +#define NSIG 23 + + +// @@ For some reason, WinCE forgot to define this. +// Need to find out what it is. (Used in MapViewOfFile ().) +#define FILE_MAP_COPY 0 + + +#define ACE_LACKS_STRCASECMP // WinCE doesn't support _stricmp +#define ACE_LACKS_GETSERVBYNAME +#define ACE_LACKS_ACCESS +#define ACE_LACKS_FILELOCKS +#define ACE_LACKS_EXEC +#define ACE_LACKS_MKTEMP +#define ACE_LACKS_STRRCHR +#define ACE_LACKS_BSEARCH +#define ACE_LACKS_SOCKET_BUFSIZ +#define ACE_LACKS_ISATTY +#define ACE_LACKS_STRERROR + +#define ERRMAX 256 /* Needed for following define */ +#define ACE_LACKS_SYS_NERR /* Needed for sys_nerr in Log_Msg.cpp */ + + +#define ACE_LACKS_CUSERID +#define ACE_LACKS_CHDIR +#define ACE_LACKS_ENV +#define ACE_LACKS_HOSTNAME + +#if defined (_WIN32_WCE_EMULATION) +// @@ For some reason, qsort isn't defined correctly (_stdcall vs _cdecl) +// under emulation. So for right now, exclude it. +#define ACE_LACKS_QSORT +#endif /* _WIN32_WCE_EMULATION && UNDER_CE == 300 */ + +// @@ Followings are used to keep existing programs happy. + +#define ostream FILE +#if !defined (BUFSIZ) +# define BUFSIZ 1024 +#endif /* BUFSIZ */ + +typedef void (__cdecl * __sighandler_t)(int); // keep Signal compilation happy +typedef long off_t; + +#if defined (UNDER_CE) && (UNDER_CE > 200) +#define EMFILE WSAEMFILE +#define EINTR WSAEINTR +#define EACCES ERROR_ACCESS_DENIED +#define ENOSPC ERROR_HANDLE_DISK_FULL +#define EEXIST ERROR_FILE_EXISTS +#define EPIPE ERROR_BROKEN_PIPE +#define EFAULT WSAEFAULT +#define ENOENT WSAEINVAL +#define EINVAL WSAEINVAL +#define ERANGE WSAEINVAL +#define EAGAIN WSAEWOULDBLOCK +#define ENOMEM ERROR_OUTOFMEMORY +#define ENODEV ERROR_BAD_DEVICE +#define ACE_LACKS_MALLOC_H // We do have malloc.h, but don't use it. +#endif /* UNDER_CE && UNDER_CE > 201 */ + +#if (UNDER_CE < 300) +#define ACE_LACKS_STRPBRK +#define ACE_LACKS_STRSPN +#define ACE_LACKS_STRTOD +#define ACE_LACKS_STRTOL +#define ACE_LACKS_STRTOUL +#endif /* UNDER_CE < 300 */ + +#if defined (UNDER_CE) && (UNDER_CE >= 211) +#define ACE_HAS_WINCE_BROKEN_ERRNO +#define _MAX_FNAME 255 +#endif /* UNDER_CE && UNDER_CE >= 211 */ + +#define ACE_HAS_STRDUP_EMULATION +#define ACE_HAS_WINSOCK2 0 + +// CE doesn't have instead +#define ACE_HAS_FLAT_TYPES_H + +// @@ This needs to be defined and initialized as a static. (Singleton?) +#define ACE_DEFAULT_LOG_STREAM 0 + +// If you don't use MFC, this doesn't get defined +#if !defined (ACE_HAS_MFC) +inline void *operator new (unsigned int, void *p) { return p; } +#endif /* ACE_HAS_MFC */ + +#define ACE_ENDTHREADEX(STATUS) ExitThread ((DWORD) STATUS) + +#include "ace/post.h" +#endif /* ACE_CONFIG_WINCE_H */ diff --git a/ace/config-aix-4.1.x.h b/ace/config-aix-4.1.x.h new file mode 100644 index 00000000000..a739c1ae49a --- /dev/null +++ b/ace/config-aix-4.1.x.h @@ -0,0 +1,8 @@ +/* -*- C++ -*- */ +// $Id$ + +#ifndef ACE_AIX_VERS +# define ACE_AIX_VERS 401 +#endif + +#include "ace/config-aix-4.x.h" diff --git a/ace/config-aix-4.2.x.h b/ace/config-aix-4.2.x.h new file mode 100644 index 00000000000..b44c851a437 --- /dev/null +++ b/ace/config-aix-4.2.x.h @@ -0,0 +1,8 @@ +/* -*- C++ -*- */ +// $Id$ + +#ifndef ACE_AIX_VERS +# define ACE_AIX_VERS 402 +#endif + +#include "ace/config-aix-4.x.h" diff --git a/ace/config-aix-4.3.x.h b/ace/config-aix-4.3.x.h new file mode 100644 index 00000000000..d6b2824ec35 --- /dev/null +++ b/ace/config-aix-4.3.x.h @@ -0,0 +1,8 @@ +/* -*- C++ -*- */ +// $Id$ + +#ifndef ACE_AIX_VERS +# define ACE_AIX_VERS 403 +#endif + +#include "ace/config-aix-4.x.h" diff --git a/ace/config-aix-4.x.h b/ace/config-aix-4.x.h new file mode 100644 index 00000000000..a649923ac05 --- /dev/null +++ b/ace/config-aix-4.x.h @@ -0,0 +1,291 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for OS +// platforms running AIX 4.x using the IBM C++ compiler (xlC), +// Visual Age C++ or g++/egcs. + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +#if defined (__xlC__) || defined (__IBMCPP__) + // AIX xlC, IBM C/C++, and Visual Age C++ compilers + //******************************************************************** + // + + // Compiler supports the ssize_t typedef. +# define ACE_HAS_SSIZE_T + +// When using the preprocessor, Ignore info msg; invalid #pragma +# if defined (__IBMCPP__) && (__IBMCPP__ < 400) // IBM C++ 3.6 +# define ACE_CC_PREPROCESSOR_ARGS "-E -qflag=w:w" +# endif /* (__IBMCPP__) && (__IBMCPP__ < 400) */ + + // Keep an eye on this as the compiler and standards converge... +# define ACE_LACKS_LINEBUFFERED_STREAMBUF +# define ACE_LACKS_PRAGMA_ONCE + + // C Set++ 3.1, IBM C/C++ 3.6, and Visual Age C++ 5 batch (__xlC__) +# if defined (__xlC__) +# if (__xlC__ < 0x0500) +# define ACE_LACKS_PLACEMENT_OPERATOR_DELETE +# endif /* __xlC__ < 0x0500 */ +# define ACE_TEMPLATES_REQUIRE_PRAGMA + // If compiling without thread support, turn off ACE's thread capability. +# if !defined (_THREAD_SAFE) +# define ACE_HAS_THREADS 0 +# endif /* _THREAD_SAFE */ +# endif + + // These are for Visual Age C++ only +# if defined (__IBMCPP__) && (__IBMCPP__ >= 400) +# define ACE_TEMPLATES_REQUIRE_SOURCE +# define ACE_HAS_STD_TEMPLATE_SPECIALIZATION +# define ACE_HAS_TYPENAME_KEYWORD +# undef WIFEXITED +# undef WEXITSTATUS +# if (__IBMCPP__ >= 500) /* Visual Age C++ 5 */ +# define ACE_HAS_STANDARD_CPP_LIBRARY 1 +# define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1 +# endif /* __IBMCPP__ >= 500 */ +# endif /* __IBMCPP__ */ + +#elif defined (__GNUG__) + // config-g++-common.h undef's ACE_HAS_STRING_CLASS with -frepo, so + // this must appear before its #include. +# define ACE_HAS_STRING_CLASS + +# include "ace/config-g++-common.h" + // Denotes that GNU has cstring.h as standard, to redefine memchr(). +# define ACE_HAS_GNU_CSTRING_H +# define ACE_HAS_SSIZE_T + +# if !defined (ACE_MT_SAFE) || ACE_MT_SAFE != 0 + // ACE_MT_SAFE is #defined below, for all compilers. +# if !defined (_REENTRANT) +# define _REENTRANT +# endif /* _REENTRANT */ +# endif /* !ACE_MT_SAFE */ + +#else /* ! __xlC__ && ! __GNUG__ */ +# error unsupported compiler in ace/config-aix-4.x.h +#endif /* ! __xlC__ && ! __GNUG__ */ + + +// Compiling for AIX. +#ifndef AIX +# define AIX +#endif /* AIX */ + +// AIX shared libs look strangely like archive libs until you look inside +// them. +#if defined (ACE_DLL_SUFFIX) +# undef ACE_DLL_SUFFIX +#endif +#define ACE_DLL_SUFFIX ".a" + +// Use BSD 4.4 socket definitions for pre-AIX 4.2. The _BSD setting also +// controls the data type used for waitpid(), wait(), and wait3(). +#if (ACE_AIX_VERS < 402) +# define _BSD 44 +# define ACE_HAS_UNION_WAIT +#endif /* ACE_AIX_VERS < 402 */ + +// This environment requires this thing, pre-AIX 4.3 +#if (ACE_AIX_VERS < 403) +# define _BSD_INCLUDES +#endif /* ACE_AIX_VERS < 403 */ + +#define ACE_DEFAULT_BASE_ADDR ((char *) 0x80000000) + +#define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R + +// ACE_HAS_AIX_BROKEN_SOCKET_HEADER may be required if your OS patches are +// not up to date. On up-to-date 4.2+ systems, it should not be required. +// 4.2+ has 4.4 BSD sendmsg/recvmsg +#if (ACE_AIX_VERS < 402) +# define ACE_HAS_AIX_BROKEN_SOCKET_HEADER +#else +# if (ACE_AIX_VERS == 402) +# define ACE_HAS_SIZET_SOCKET_LEN +# else +# define ACE_HAS_SOCKLEN_T +# endif +# define ACE_HAS_4_4BSD_SENDMSG_RECVMSG +#endif /* ACE_AIX_VERS < 402 */ + +#define ACE_HAS_AIX_HI_RES_TIMER +#define ACE_HAS_ALLOCA + +// Compiler/platform has correctly prototyped header files. +#define ACE_HAS_CPLUSPLUS_HEADERS +#if (ACE_AIX_VERS < 403) +# define ACE_HAS_CHARPTR_DL +#endif /* ACE_AIX_VERS < 403 */ + +// Prototypes for both signal() and struct sigaction are consistent. +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES + +// OS has readdir and friends. +#define ACE_HAS_DIRENT + +// OS supports the getrusage() system call +#define ACE_HAS_GETRUSAGE + +#define ACE_HAS_GPERF + +#define ACE_HAS_H_ERRNO + +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT +#define ACE_HAS_NONCONST_SELECT_TIMEVAL +#define ACE_HAS_IP_MULTICAST +#define ACE_HAS_MSG +#if (ACE_AIX_VERS < 402) +# define ACE_LACKS_MSG_ACCRIGHTS +# define ACE_LACKS_RLIMIT +#endif + +// Compiler/platform supports poll(). +#define ACE_HAS_POLL + +// Platform supports POSIX O_NONBLOCK semantics. +#define ACE_HAS_POSIX_NONBLOCK + +#define ACE_HAS_POSIX_TIME +// ... but needs to include another header for it on 4.2+ +#if (ACE_AIX_VERS >= 402) +# define ACE_HAS_BROKEN_POSIX_TIME +#endif /* ACE_AIX_VERS > 402 */ +// ... and needs another typedef +#define ACE_LACKS_TIMESPEC_T +#define ACE_HAS_SELECT_H + +#define ACE_HAS_REENTRANT_FUNCTIONS + +// Compiler/platform defines the sig_atomic_t typedef +#define ACE_HAS_SIG_ATOMIC_T +#if (ACE_AIX_VERS >= 402) +# define ACE_HAS_SIGINFO_T +# define ACE_LACKS_SIGINFO_H +#endif /* ACE_AIX_VERS >= 402 */ +#if (ACE_AIX_VERS >= 403) +# define ACE_HAS_SIGTIMEDWAIT +// it may exist in earlier revs, but I'm not sure and I don't have a +// system to validate +# define ACE_HAS_P_READ_WRITE +#endif /* ACE_AIX_VERS >= 403 */ + +#define ACE_HAS_SIGWAIT +#if (ACE_AIX_VERS >= 403) +# define ACE_HAS_SIGTIMEDWAIT +#endif /* ACE_AIX_VERS >= 403 */ +#define ACE_HAS_SIN_LEN +#define ACE_HAS_STRBUF_T + +// Compiler supports stropts.h +#define ACE_HAS_STREAMS +// #define ACE_HAS_STREAM_PIPES + +// Compiler/platform supports strerror (). +#define ACE_HAS_STRERROR + +// AIX bzero() +#define ACE_HAS_STRINGS + +#define ACE_HAS_STRUCT_NETDB_DATA + +// Dynamic linking is in good shape on newer OS/patch levels. If you have +// trouble with the dynamic linking parts of ACE, and can't patch your OS +// up to latest levels, comment this out. +#define ACE_HAS_SVR4_DYNAMIC_LINKING +// This is tightly related to dynamic linking... +#define ACE_HAS_AUTOMATIC_INIT_FINI + +#define ACE_HAS_SVR4_GETTIMEOFDAY + +#define ACE_HAS_SYSV_IPC +#define ACE_HAS_TIMOD_H +#define ACE_HAS_TIUSER_H +#define ACE_HAS_TLI +#define ACE_HAS_BROKEN_T_ERROR +#define ACE_HAS_TLI_PROTOTYPES +#define ACE_TLI_TCP_DEVICE "/dev/xti/tcp" + +#define ACE_HAS_UALARM + +#if (ACE_AIX_VERS >= 402) +# define ACE_HAS_UCONTEXT_T +#endif /* ACE_AIX_VERS >= 402 */ + +#define ACE_HAS_UTIME + +// Platform has XPG4 wide character type and functions +#define ACE_HAS_XPG4_MULTIBYTE_CHAR + +#define ACE_LACKS_TCP_H + +// AIX uses LIBPATH to search for libraries +#define ACE_LD_SEARCH_PATH "LIBPATH" + +#define ACE_NEEDS_DEV_IO_CONVERSION + +// Defines the page size of the system. +#define ACE_PAGE_SIZE 4096 + +//************************************************************** +// +// Threads related definitions. +// +// The threads on AIX are generally POSIX P1003.1c (ACE_HAS_PTHREADS). +// However, there is also a kernel thread ID (tid_t) that is used in +// ACE_Log_Msg (printing the thread ID). The tid_t is not the same as +// pthread_t, and can't derive one from the other - thread_self() gets +// the tid_t (kernel thread ID) if called from a thread. +// Thanks very much to Chris Lahey for straightening this out. + +// Unless threads are specifically turned off, build with them enabled. +#if !defined (ACE_HAS_THREADS) +# define ACE_HAS_THREADS 1 +#endif + +#if (ACE_HAS_THREADS != 0) +# if !defined (ACE_MT_SAFE) +# define ACE_MT_SAFE 1 +# endif + +# define ACE_HAS_PTHREADS +// 4.3 and up has 1003.1c standard; 4.2 has draft 7 +# if (ACE_AIX_VERS >= 403) +# define ACE_HAS_PTHREADS_STD +# define ACE_HAS_PTHREADS_UNIX98_EXT +# else +# define ACE_HAS_PTHREADS_DRAFT7 +# define ACE_LACKS_RWLOCK_T +# define ACE_LACKS_THREAD_STACK_ADDR +// If ACE doesn't compile due to the lack of these methods, please +// send email to ace-users@cs.wustl.edu reporting this. +// #define ACE_LACKS_CONDATTR_PSHARED +// #define ACE_LACKS_MUTEXATTR_PSHARED +# define ACE_LACKS_SETSCHED +# endif /* ACE_AIX_VERS >= 403 */ + +# define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS +# define ACE_HAS_SIGTHREADMASK +# define ACE_HAS_THREAD_SPECIFIC_STORAGE + +# define ACE_LACKS_THREAD_PROCESS_SCOPING +#else +# undef ACE_HAS_THREADS +#endif /* ACE_HAS_THREADS != 0 */ + +#define ACE_MALLOC_ALIGN 8 + +// By default, tracing code is not compiled. To compile it in, cause +// ACE_NTRACE to not be defined, and rebuild ACE. +#if !defined (ACE_NTRACE) +#define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-aix5.1.h b/ace/config-aix5.1.h new file mode 100644 index 00000000000..3d1d53828cd --- /dev/null +++ b/ace/config-aix5.1.h @@ -0,0 +1,5 @@ +// $Id$ +// +// Config file for AIX 5.1 + +#include "ace/config-aix-4.x.h" diff --git a/ace/config-all.h b/ace/config-all.h new file mode 100644 index 00000000000..4c3ea8750bc --- /dev/null +++ b/ace/config-all.h @@ -0,0 +1,640 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file config-all.h + * + * $Id$ + * + * @author (Originally in OS.h)Doug Schmidt + * @author Jesper S. M|ller + * @author and a cast of thousands... + */ +//============================================================================= + +#ifndef ACE_CONFIG_ALL_H +#define ACE_CONFIG_ALL_H +#include "ace/pre.h" + +#include "ace/config.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +// ============================================================================ +// RCSID Macros +// ============================================================================ + +// By default, DO include RCS Id strings in object code. +#if ! defined (ACE_USE_RCSID) +# define ACE_USE_RCSID 1 +#endif /* #if ! defined (ACE_USE_RCSID) */ + +#if (defined (ACE_USE_RCSID) && (ACE_USE_RCSID != 0)) +# if ! defined (ACE_RCSID) + + // This hack has the following purposes: + // 1. To define the RCS id string variable as a static char*, so + // that there won't be any duplicate extern symbols at link + // time. + // 2. To have a RCS id string variable with a unique name for each + // file. + // 3. To avoid warnings of the type "variable declared and never + // used". + +# define ACE_RCSID(path, file, id) \ + inline const char* get_rcsid_ ## path ## _ ## file (const char*) \ + { \ + return id ; \ + } \ + static const char* rcsid_ ## path ## _ ## file = \ + get_rcsid_ ## path ## _ ## file ( rcsid_ ## path ## _ ## file ) ; + +# endif /* #if ! defined (ACE_RCSID) */ +#else + + // RCS id strings are not wanted. +# if defined (ACE_RCSID) +# undef ACE_RCSID +# endif /* #if defined (ACE_RCSID) */ +# define ACE_RCSID(path, file, id) /* noop */ +#endif /* #if (defined (ACE_USE_RCSID) && (ACE_USE_RCSID != 0)) */ + +// ============================================================================ +// INLINE macros +// +// These macros handle all the inlining of code via the .i or .inl files +// ============================================================================ + +#if defined (ACE_LACKS_INLINE_FUNCTIONS) && !defined (ACE_NO_INLINE) +# define ACE_NO_INLINE +#endif /* defined (ACE_LACKS_INLINE_FUNCTIONS) && !defined (ACE_NO_INLINE) */ + +// ACE inlining has been explicitly disabled. Implement +// internally within ACE by undefining __ACE_INLINE__. +#if defined (ACE_NO_INLINE) +# undef __ACE_INLINE__ +#endif /* ! ACE_NO_INLINE */ + +#if defined (__ACE_INLINE__) +# define ACE_INLINE inline +# if !defined (ACE_HAS_INLINED_OSCALLS) +# define ACE_HAS_INLINED_OSCALLS +# endif /* !ACE_HAS_INLINED_OSCALLS */ +#else +# define ACE_INLINE +#endif /* __ACE_INLINE__ */ + +# if defined (ACE_HAS_GNUC_BROKEN_TEMPLATE_INLINE_FUNCTIONS) +# define ACE_INLINE_FOR_GNUC ACE_INLINE +# else +# define ACE_INLINE_FOR_GNUC +# endif /* ACE_HAS_GNUC_BROKEN_TEMPLATE_INLINE_FUNCTIONS */ + +// Some ACE classes always use inline functions to maintain high +// performance, but some platforms have buggy inline function support. +// In this case, we don't use inline with them. +# if defined (ACE_LACKS_INLINE_FUNCTIONS) +# if defined (ASYS_INLINE) +# undef ASYS_INLINE +# endif /* ASYS_INLINE */ +# define ASYS_INLINE +# if defined (ACE_HAS_INLINED_OSCALLS) +# undef ACE_HAS_INLINED_OSCALLS +# endif /* ACE_HAS_INLINED_OSCALLS */ +# else +# define ASYS_INLINE inline +# endif /* ACE_LACKS_INLINE_FUNCTIONS */ + +// ============================================================================ +// EXPLICIT macro +// ============================================================================ + +# if defined (ACE_HAS_EXPLICIT_KEYWORD) +# define ACE_EXPLICIT explicit +# else /* ! ACE_HAS_EXPLICIT_KEYWORD */ +# define ACE_EXPLICIT +# endif /* ! ACE_HAS_EXPLICIT_KEYWORD */ + +// ============================================================================ +// MUTABLE macro +// ============================================================================ + +# if defined (ACE_HAS_MUTABLE_KEYWORD) +# define ACE_MUTABLE mutable +# define ACE_CONST_WHEN_MUTABLE const // Addition #1 +# else /* ! ACE_HAS_MUTABLE_KEYWORD */ +# define ACE_MUTABLE +# define ACE_CONST_WHEN_MUTABLE // Addition #2 +# endif /* ! ACE_HAS_MUTABLE_KEYWORD */ + +// ============================================================================ +// EXPORT macros +// +// Since Win32 DLL's do not export all symbols by default, they must be +// explicitly exported (which is done by *_Export macros). +// ============================================================================ + +// Win32 should have already defined the macros in config-win32-common.h +#if !defined (ACE_HAS_CUSTOM_EXPORT_MACROS) +# define ACE_Proper_Export_Flag +# define ACE_Proper_Import_Flag +# define ACE_EXPORT_SINGLETON_DECLARATION(T) +# define ACE_IMPORT_SINGLETON_DECLARATION(T) +# define ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) +# define ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) +#endif /* ACE_HAS_CUSTOM_EXPORT_MACROS */ + +#include "ace/ACE_export.h" +#include "ace/svc_export.h" + +// This is a whim of mine -- that instead of annotating a class with +// ACE_Export in its declaration, we make the declaration near the TOP +// of the file with ACE_DECLARE_EXPORT. +// TS = type specifier (e.g., class, struct, int, etc.) +// ID = identifier +// So, how do you use it? Most of the time, just use ... +// ACE_DECLARE_EXPORT(class, someobject); +// If there are global functions to be exported, then use ... +// ACE_DECLARE_EXPORT(void, globalfunction) (int, ...); +// Someday, when template libraries are supported, we made need ... +// ACE_DECLARE_EXPORT(template class, sometemplate) ; +# define ACE_DECLARE_EXPORT(TS,ID) TS ACE_Export ID + +// ============================================================================ +// Cast macros +// +// These macros are used to choose between the old cast style and the new +// *_cast<> operators +// ============================================================================ + +# if defined (ACE_HAS_ANSI_CASTS) + +# define ACE_sap_any_cast(TYPE) reinterpret_cast (const_cast (ACE_Addr::sap_any)) + +# define ACE_static_cast(TYPE, EXPR) static_cast (EXPR) +# define ACE_static_cast_1_ptr(TYPE, T1, EXPR) static_cast *> (EXPR) +# define ACE_static_cast_2_ptr(TYPE, T1, T2, EXPR) static_cast *> (EXPR) +# define ACE_static_cast_3_ptr(TYPE, T1, T2, T3, EXPR) static_cast *> (EXPR) +# define ACE_static_cast_4_ptr(TYPE, T1, T2, T3, T4, EXPR) static_cast *> (EXPR) +# define ACE_static_cast_5_ptr(TYPE, T1, T2, T3, T4, T5, EXPR) static_cast *> (EXPR) +# define ACE_static_cast_1_ref(TYPE, T1, EXPR) static_cast &> (EXPR) +# define ACE_static_cast_2_ref(TYPE, T1, T2, EXPR) static_cast &> (EXPR) +# define ACE_static_cast_3_ref(TYPE, T1, T2, T3, EXPR) static_cast &> (EXPR) +# define ACE_static_cast_4_ref(TYPE, T1, T2, T3, T4, EXPR) static_cast &> (EXPR) +# define ACE_static_cast_5_ref(TYPE, T1, T2, T3, T4, T5, EXPR) static_cast &> (EXPR) + +# define ACE_const_cast(TYPE, EXPR) const_cast (EXPR) +# define ACE_const_cast_1_ptr(TYPE, T1, EXPR) const_cast *> (EXPR) +# define ACE_const_cast_2_ptr(TYPE, T1, T2, EXPR) const_cast *> (EXPR) +# define ACE_const_cast_3_ptr(TYPE, T1, T2, T3, EXPR) const_cast *> (EXPR) +# define ACE_const_cast_4_ptr(TYPE, T1, T2, T3, T4, EXPR) const_cast *> (EXPR) +# define ACE_const_cast_5_ptr(TYPE, T1, T2, T3, T4, T5, EXPR) const_cast *> (EXPR) +# define ACE_const_cast_1_ref(TYPE, T1, EXPR) const_cast &> (EXPR) +# define ACE_const_cast_2_ref(TYPE, T1, T2, EXPR) const_cast &> (EXPR) +# define ACE_const_cast_3_ref(TYPE, T1, T2, T3, EXPR) const_cast &> (EXPR) +# define ACE_const_cast_4_ref(TYPE, T1, T2, T3, T4, EXPR) const_cast &> (EXPR) +# define ACE_const_cast_5_ref(TYPE, T1, T2, T3, T4, T5, EXPR) const_cast &> (EXPR) + +# define ACE_reinterpret_cast(TYPE, EXPR) reinterpret_cast (EXPR) +# define ACE_reinterpret_cast_1_ptr(TYPE, T1, EXPR) reinterpret_cast *> (EXPR) +# define ACE_reinterpret_cast_2_ptr(TYPE, T1, T2, EXPR) reinterpret_cast *> (EXPR) +# define ACE_reinterpret_cast_3_ptr(TYPE, T1, T2, T3, EXPR) reinterpret_cast *> (EXPR) +# define ACE_reinterpret_cast_4_ptr(TYPE, T1, T2, T3, T4, EXPR) reinterpret_cast *> (EXPR) +# define ACE_reinterpret_cast_5_ptr(TYPE, T1, T2, T3, T4, T5, EXPR) reinterpret_cast *> (EXPR) +# define ACE_reinterpret_cast_1_ref(TYPE, T1, EXPR) reinterpret_cast &> (EXPR) +# define ACE_reinterpret_cast_2_ref(TYPE, T1, T2, EXPR) reinterpret_cast &> (EXPR) +# define ACE_reinterpret_cast_3_ref(TYPE, T1, T2, T3, EXPR) reinterpret_cast &> (EXPR) +# define ACE_reinterpret_cast_4_ref(TYPE, T1, T2, T3, T4, EXPR) reinterpret_cast &> (EXPR) +# define ACE_reinterpret_cast_5_ref(TYPE, T1, T2, T3, T4, T5, EXPR) reinterpret_cast &> (EXPR) + +# if defined (ACE_LACKS_RTTI) +# define ACE_dynamic_cast(TYPE, EXPR) static_cast (EXPR) +# define ACE_dynamic_cast_1_ptr(TYPE, T1, EXPR) static_cast *> (EXPR) +# define ACE_dynamic_cast_2_ptr(TYPE, T1, T2, EXPR) static_cast *> (EXPR) +# define ACE_dynamic_cast_3_ptr(TYPE, T1, T2, T3, EXPR) static_cast *> (EXPR) +# define ACE_dynamic_cast_4_ptr(TYPE, T1, T2, T3, T4, EXPR) static_cast *> (EXPR) +# define ACE_dynamic_cast_5_ptr(TYPE, T1, T2, T3, T4, T5, EXPR) static_cast *> (EXPR) +# define ACE_dynamic_cast_1_ref(TYPE, T1, EXPR) static_cast &> (EXPR) +# define ACE_dynamic_cast_2_ref(TYPE, T1, T2, EXPR) static_cast &> (EXPR) +# define ACE_dynamic_cast_3_ref(TYPE, T1, T2, T3, EXPR) static_cast &> (EXPR) +# define ACE_dynamic_cast_4_ref(TYPE, T1, T2, T3, T4, EXPR) static_cast &> (EXPR) +# define ACE_dynamic_cast_5_ref(TYPE, T1, T2, T3, T4, T5, EXPR) static_cast &> (EXPR) +# else /* ! ACE_LACKS_RTTI */ +# define ACE_dynamic_cast(TYPE, EXPR) dynamic_cast (EXPR) +# define ACE_dynamic_cast_1_ptr(TYPE, T1, EXPR) dynamic_cast *> (EXPR) +# define ACE_dynamic_cast_2_ptr(TYPE, T1, T2, EXPR) dynamic_cast *> (EXPR) +# define ACE_dynamic_cast_3_ptr(TYPE, T1, T2, T3, EXPR) dynamic_cast *> (EXPR) +# define ACE_dynamic_cast_4_ptr(TYPE, T1, T2, T3, T4, EXPR) dynamic_cast *> (EXPR) +# define ACE_dynamic_cast_5_ptr(TYPE, T1, T2, T3, T4, T5, EXPR) dynamic_cast *> (EXPR) +# define ACE_dynamic_cast_1_ref(TYPE, T1, EXPR) dynamic_cast &> (EXPR) +# define ACE_dynamic_cast_2_ref(TYPE, T1, T2, EXPR) dynamic_cast &> (EXPR) +# define ACE_dynamic_cast_3_ref(TYPE, T1, T2, T3, EXPR) dynamic_cast &> (EXPR) +# define ACE_dynamic_cast_4_ref(TYPE, T1, T2, T3, T4, EXPR) dynamic_cast &> (EXPR) +# define ACE_dynamic_cast_5_ref(TYPE, T1, T2, T3, T4, T5, EXPR) dynamic_cast &> (EXPR) +# endif /* ! ACE_LACKS_RTTI */ + +# else + +# define ACE_sap_any_cast(TYPE) ((TYPE) (ACE_Addr::sap_any)) + +# define ACE_static_cast(TYPE, EXPR) ((TYPE) (EXPR)) +# define ACE_static_cast_1_ptr(TYPE, T1, EXPR) ((TYPE *) (EXPR)) +# define ACE_static_cast_2_ptr(TYPE, T1, T2, EXPR) ((TYPE *) (EXPR)) +# define ACE_static_cast_3_ptr(TYPE, T1, T2, T3, EXPR) ((TYPE *) (EXPR)) +# define ACE_static_cast_4_ptr(TYPE, T1, T2, T3, T4, EXPR) ((TYPE *) (EXPR)) +# define ACE_static_cast_5_ptr(TYPE, T1, T2, T3, T4, T5, EXPR) ((TYPE *) (EXPR)) +# define ACE_static_cast_1_ref(TYPE, T1, EXPR) ((TYPE &) (EXPR)) +# define ACE_static_cast_2_ref(TYPE, T1, T2, EXPR) ((TYPE &) (EXPR)) +# define ACE_static_cast_3_ref(TYPE, T1, T2, T3, EXPR) ((TYPE &) (EXPR)) +# define ACE_static_cast_4_ref(TYPE, T1, T2, T3, T4, EXPR) ((TYPE &) (EXPR)) +# define ACE_static_cast_5_ref(TYPE, T1, T2, T3, T4, T5, EXPR) ((TYPE &) (EXPR)) + +# define ACE_const_cast(TYPE, EXPR) ((TYPE) (EXPR)) +# define ACE_const_cast_1_ptr(TYPE, T1, EXPR) ((TYPE *) (EXPR)) +# define ACE_const_cast_2_ptr(TYPE, T1, T2, EXPR) ((TYPE *) (EXPR)) +# define ACE_const_cast_3_ptr(TYPE, T1, T2, T3, EXPR) ((TYPE *) (EXPR)) +# define ACE_const_cast_4_ptr(TYPE, T1, T2, T3, T4, EXPR) ((TYPE *) (EXPR)) +# define ACE_const_cast_5_ptr(TYPE, T1, T2, T3, T4, T5, EXPR) ((TYPE *) (EXPR)) +# define ACE_const_cast_1_ref(TYPE, T1, EXPR) ((TYPE &) (EXPR)) +# define ACE_const_cast_2_ref(TYPE, T1, T2, EXPR) ((TYPE &) (EXPR)) +# define ACE_const_cast_3_ref(TYPE, T1, T2, T3, EXPR) ((TYPE &) (EXPR)) +# define ACE_const_cast_4_ref(TYPE, T1, T2, T3, T4, EXPR) ((TYPE &) (EXPR)) +# define ACE_const_cast_5_ref(TYPE, T1, T2, T3, T4, T5, EXPR) ((TYPE &) (EXPR)) + +# define ACE_reinterpret_cast(TYPE, EXPR) ((TYPE) (EXPR)) +# define ACE_reinterpret_cast_1_ptr(TYPE, T1, EXPR) ((TYPE *) (EXPR)) +# define ACE_reinterpret_cast_2_ptr(TYPE, T1, T2, EXPR) ((TYPE *) (EXPR)) +# define ACE_reinterpret_cast_3_ptr(TYPE, T1, T2, T3, EXPR) ((TYPE *) (EXPR)) +# define ACE_reinterpret_cast_4_ptr(TYPE, T1, T2, T3, T4, EXPR) ((TYPE *) (EXPR)) +# define ACE_reinterpret_cast_5_ptr(TYPE, T1, T2, T3, T4, T5, EXPR) ((TYPE *) (EXPR)) +# define ACE_reinterpret_cast_1_ref(TYPE, T1, EXPR) ((TYPE &) (EXPR)) +# define ACE_reinterpret_cast_2_ref(TYPE, T1, T2, EXPR) ((TYPE &) (EXPR)) +# define ACE_reinterpret_cast_3_ref(TYPE, T1, T2, T3, EXPR) ((TYPE &) (EXPR)) +# define ACE_reinterpret_cast_4_ref(TYPE, T1, T2, T3, T4, EXPR) ((TYPE &) (EXPR)) +# define ACE_reinterpret_cast_5_ref(TYPE, T1, T2, T3, T4, T5, EXPR) ((TYPE &) (EXPR)) + +# define ACE_dynamic_cast(TYPE, EXPR) ((TYPE) (EXPR)) +# define ACE_dynamic_cast_1_ptr(TYPE, T1, EXPR) ((TYPE *) (EXPR)) +# define ACE_dynamic_cast_2_ptr(TYPE, T1, T2, EXPR) ((TYPE *) (EXPR)) +# define ACE_dynamic_cast_3_ptr(TYPE, T1, T2, T3, EXPR) ((TYPE *) (EXPR)) +# define ACE_dynamic_cast_4_ptr(TYPE, T1, T2, T3, T4, EXPR) ((TYPE *) (EXPR)) +# define ACE_dynamic_cast_5_ptr(TYPE, T1, T2, T3, T4, T5, EXPR) ((TYPE *) (EXPR)) +# define ACE_dynamic_cast_1_ref(TYPE, T1, EXPR) ((TYPE &) (EXPR)) +# define ACE_dynamic_cast_2_ref(TYPE, T1, T2, EXPR) ((TYPE &) (EXPR)) +# define ACE_dynamic_cast_3_ref(TYPE, T1, T2, T3, EXPR) ((TYPE &) (EXPR)) +# define ACE_dynamic_cast_4_ref(TYPE, T1, T2, T3, T4, EXPR) ((TYPE &) (EXPR)) +# define ACE_dynamic_cast_5_ref(TYPE, T1, T2, T3, T4, T5, EXPR) ((TYPE &) (EXPR)) +# endif /* ACE_HAS_ANSI_CASTS */ + +# if !defined (ACE_CAST_CONST) + // Sun CC 4.2, for example, requires const in reinterpret casts of + // data members in const member functions. But, other compilers + // complain about the useless const. This keeps everyone happy. +# if defined (__SUNPRO_CC) +# define ACE_CAST_CONST const +# else /* ! __SUNPRO_CC */ +# define ACE_CAST_CONST +# endif /* ! __SUNPRO_CC */ +# endif /* ! ACE_CAST_CONST */ + +// ============================================================================ +// UNICODE macros (to be added later) +// ============================================================================ + +// Get the unicode (i.e. ACE_TCHAR) defines +# include "ace/ace_wchar.h" + + +// ============================================================================ +// Compiler Silencing macros +// +// Some compilers complain about parameters that are not used. This macro +// should keep them quiet. +// ============================================================================ + +#if defined (ghs) || defined (__GNUC__) || defined (__hpux) || defined (__sgi) || defined (__DECCXX) || defined (__KCC) || defined (__rational__) || defined (__USLC__) || defined (ACE_RM544) +// Some compilers complain about "statement with no effect" with (a). +// This eliminates the warnings, and no code is generated for the null +// conditional statement. NOTE: that may only be true if -O is enabled, +// such as with GreenHills (ghs) 1.8.8. +# define ACE_UNUSED_ARG(a) do {/* null */} while (&a == 0) +#else /* ghs || __GNUC__ || ..... */ +# define ACE_UNUSED_ARG(a) (a) +#endif /* ghs || __GNUC__ || ..... */ + +#if defined (__sgi) || defined (ghs) || defined (__DECCXX) || defined(__BORLANDC__) || defined (__KCC) || defined (ACE_RM544) || defined (__USLC__) +# define ACE_NOTREACHED(a) +#else /* __sgi || ghs || ..... */ +# define ACE_NOTREACHED(a) a +#endif /* __sgi || ghs || ..... */ + +// ============================================================================ +// errno stuff +// ============================================================================ + +#include "ace/OS_Errno.h" + +// ============================================================================ +// ACE_NEW macros +// +// A useful abstraction for expressions involving operator new since +// we can change memory allocation error handling policies (e.g., +// depending on whether ANSI/ISO exception handling semantics are +// being used). +// ============================================================================ + +#if defined (ACE_NEW_THROWS_EXCEPTIONS) + +// Since new() throws exceptions, we need a way to avoid passing +// exceptions past the call to new because ACE counts on having a 0 +// return value for a failed allocation. Some compilers offer the +// new (nothrow) version, which does exactly what we want. Others +// do not. For those that do not, this sets up what exception is thrown, +// and then below we'll do a try/catch around the new to catch it and +// return a 0 pointer instead. + +# if defined (__HP_aCC) + // I know this works for HP aC++... if is used, it + // introduces other stuff that breaks things, like , which + // screws up auto_ptr. +# include /**/ + // _HP_aCC was first defined at aC++ 03.13 on HP-UX 11. Prior to that + // (03.10 and before) a failed new threw bad_alloc. After that (03.13 + // and above) the exception thrown is dependent on the below settings. +# if (HPUX_VERS >= 1100) +# if (((__HP_aCC < 32500 && !defined (RWSTD_NO_NAMESPACE)) || \ + (__HP_aCC >= 32500 && defined (_HP_NAMESPACE_STD))) \ + || defined (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB)) +# define ACE_bad_alloc std::bad_alloc +# else +# define ACE_bad_alloc bad_alloc +# endif /* __HP_aCC */ +# elif ((__HP_aCC < 12500 && !defined (RWSTD_NO_NAMESPACE)) || \ + (__HP_aCC >= 12500 && defined (_NAMESPACE_STD))) +# define ACE_bad_alloc std::bad_alloc +# else +# define ACE_bad_alloc bad_alloc +# endif /* HPUX_VERS < 1100 */ +# define ACE_throw_bad_alloc throw ACE_bad_alloc () +# elif defined (__SUNPRO_CC) +# if (__SUNPRO_CC < 0x500) || ((__SUNPRO_CC == 0x500 && __SUNPRO_CC_COMPAT == 4)) +# include /**/ + // Note: we catch ::xalloc rather than just xalloc because of + // a name clash with unsafe_ios::xalloc() +# define ACE_bad_alloc ::xalloc +# define ACE_throw_bad_alloc throw ACE_bad_alloc ("no more memory") +# else +# include /**/ +# define ACE_bad_alloc std::bad_alloc +# define ACE_throw_bad_alloc throw ACE_bad_alloc () +# endif /* __SUNPRO_CC < 0x500 */ +# elif defined (__BORLANDC__) +# include /**/ +# define ACE_bad_alloc std::bad_alloc +# define ACE_throw_bad_alloc throw ACE_bad_alloc () +# else +# include /**/ +# define ACE_bad_alloc bad_alloc +# define ACE_throw_bad_alloc throw ACE_bad_alloc () +# endif /* __HP_aCC */ + +# if defined (ACE_HAS_NEW_NOTHROW) +# define ACE_NEW_RETURN(POINTER,CONSTRUCTOR,RET_VAL) \ + do { POINTER = new(nothrow) CONSTRUCTOR; \ + if (POINTER == 0) { errno = ENOMEM; return RET_VAL; } \ + } while (0) +# define ACE_NEW(POINTER,CONSTRUCTOR) \ + do { POINTER = new(nothrow) CONSTRUCTOR; \ + if (POINTER == 0) { errno = ENOMEM; return; } \ + } while (0) + +# else + +# define ACE_NEW_RETURN(POINTER,CONSTRUCTOR,RET_VAL) \ + do { try { POINTER = new CONSTRUCTOR; } \ + catch (ACE_bad_alloc) { errno = ENOMEM; return RET_VAL; } \ + } while (0) + +# define ACE_NEW(POINTER,CONSTRUCTOR) \ + do { try { POINTER = new CONSTRUCTOR; } \ + catch (ACE_bad_alloc) { errno = ENOMEM; return; } \ + } while (0) +# endif /* ACE_HAS_NEW_NOTHROW */ + +#else /* ACE_NEW_THROWS_EXCEPTIONS */ + +# define ACE_NEW_RETURN(POINTER,CONSTRUCTOR,RET_VAL) \ + do { POINTER = new CONSTRUCTOR; \ + if (POINTER == 0) { errno = ENOMEM; return RET_VAL; } \ + } while (0) +# define ACE_NEW(POINTER,CONSTRUCTOR) \ + do { POINTER = new CONSTRUCTOR; \ + if (POINTER == 0) { errno = ENOMEM; return; } \ + } while (0) + +# define ACE_throw_bad_alloc \ + void* gcc_will_complain_if_literal_0_is_returned = 0; \ + return gcc_will_complain_if_literal_0_is_returned + +#endif /* ACE_NEW_THROWS_EXCEPTIONS */ + +// ============================================================================ +// ACE_ALLOC_HOOK* macros +// +// Macros to declare and define class-specific allocation operators. +// ============================================================================ + +# if defined (ACE_HAS_ALLOC_HOOKS) +# define ACE_ALLOC_HOOK_DECLARE \ + void *operator new (size_t bytes); \ + void operator delete (void *ptr); + + // Note that these are just place holders for now. Some day they + // may be be replaced by . +# define ACE_ALLOC_HOOK_DEFINE(CLASS) \ + void *CLASS::operator new (size_t bytes) { return ::new char[bytes]; } \ + void CLASS::operator delete (void *ptr) { delete [] ((char *) ptr); } +# else +# define ACE_ALLOC_HOOK_DECLARE struct __Ace {} /* Just need a dummy... */ +# define ACE_ALLOC_HOOK_DEFINE(CLASS) +# endif /* ACE_HAS_ALLOC_HOOKS */ + +// ============================================================================ +// ACE_OSCALL_* macros +// +// The following two macros ensure that system calls are properly +// restarted (if necessary) when interrupts occur. +// ============================================================================ + +#if defined (ACE_HAS_SIGNAL_SAFE_OS_CALLS) +# define ACE_OSCALL(OP,TYPE,FAILVALUE,RESULT) \ + do \ + RESULT = (TYPE) OP; \ + while (RESULT == FAILVALUE && errno == EINTR) +# define ACE_OSCALL_RETURN(OP,TYPE,FAILVALUE) \ + do { \ + TYPE ace_result_; \ + do \ + ace_result_ = (TYPE) OP; \ + while (ace_result_ == FAILVALUE && errno == EINTR); \ + return ace_result_; \ + } while (0) +# elif defined (ACE_WIN32) +# define ACE_OSCALL_RETURN(X,TYPE,FAILVALUE) \ + do \ + return (TYPE) X; \ + while (0) +# define ACE_OSCALL(X,TYPE,FAILVALUE,RESULT) \ + do \ + RESULT = (TYPE) X; \ + while (0) +# if defined (__BORLANDC__) && (__BORLANDC__ <= 0x550) +# define ACE_WIN32CALL_RETURN(X,TYPE,FAILVALUE) \ + do { \ + TYPE ace_result_; \ + TYPE ace_local_result_ = (TYPE) X; \ + ace_result_ = ace_local_result_; \ + if (ace_result_ == FAILVALUE) \ + ACE_OS::set_errno_to_last_error (); \ + return ace_result_; \ + } while (0) +# else +# define ACE_WIN32CALL_RETURN(X,TYPE,FAILVALUE) \ + do { \ + TYPE ace_result_; \ + ace_result_ = (TYPE) X; \ + if (ace_result_ == FAILVALUE) \ + ACE_OS::set_errno_to_last_error (); \ + return ace_result_; \ + } while (0) +# endif /* defined (__BORLANDC__) && (__BORLANDC__ <= 0x550) */ +# define ACE_WIN32CALL(X,TYPE,FAILVALUE,RESULT) \ + do { \ + RESULT = (TYPE) X; \ + if (RESULT == FAILVALUE) \ + ACE_OS::set_errno_to_last_error (); \ + } while (0) +#else /* ACE_HAS_SIGNAL_SAFE_OS_CALLS */ +# define ACE_OSCALL_RETURN(OP,TYPE,FAILVALUE) do { TYPE ace_result_ = FAILVALUE; ace_result_ = ace_result_; return OP; } while (0) +# define ACE_OSCALL(OP,TYPE,FAILVALUE,RESULT) do { RESULT = (TYPE) OP; } while (0) +#endif /* ACE_HAS_SIGNAL_SAFE_OS_CALLS */ + +// ============================================================================ +// at_exit declarations +// ============================================================================ + +// Marker for cleanup, used by ACE_Exit_Info. +extern int ace_exit_hook_marker; + +// For use by . +extern "C" +{ + typedef void (*ACE_EXIT_HOOK) (void); +} + +// ============================================================================ +// log_msg declarations +// ============================================================================ + +# if defined (ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS) +typedef int (*ACE_SEH_EXCEPT_HANDLER)(void *); +// Prototype of win32 structured exception handler functions. +// They are used to get the exception handling expression or +// as exception handlers. +# endif /* ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS */ + +class ACE_OS_Thread_Descriptor; +class ACE_OS_Log_Msg_Attributes; +typedef void (*ACE_INIT_LOG_MSG_HOOK) (ACE_OS_Log_Msg_Attributes &attr +# if defined (ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS) + , ACE_SEH_EXCEPT_HANDLER selector + , ACE_SEH_EXCEPT_HANDLER handler +# endif /* ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS */ + ); +typedef void (*ACE_INHERIT_LOG_MSG_HOOK) (ACE_OS_Thread_Descriptor*, + ACE_OS_Log_Msg_Attributes &); + +typedef void (*ACE_CLOSE_LOG_MSG_HOOK) (void); + +typedef void (*ACE_SYNC_LOG_MSG_HOOK) (const ACE_TCHAR *prog_name); + +typedef ACE_OS_Thread_Descriptor *(*ACE_THR_DESC_LOG_MSG_HOOK) (void); + +// ============================================================================ +// Fundamental types +// ============================================================================ + +#if defined (ACE_WIN32) + +typedef HANDLE ACE_HANDLE; +typedef SOCKET ACE_SOCKET; +# define ACE_INVALID_HANDLE INVALID_HANDLE_VALUE + +#else /* ! ACE_WIN32 */ + +typedef int ACE_HANDLE; +typedef ACE_HANDLE ACE_SOCKET; +# define ACE_INVALID_HANDLE -1 + +#endif /* ACE_WIN32 */ + +typedef void *(*ACE_THR_FUNC)(void *); + +# if defined (VXWORKS) +# if defined (ghs) + // GreenHills 1.8.8 needs the stdarg.h #include before the #include of + // vxWorks.h. + // Also, be sure that these #includes come _after_ the key_t typedef, and + // before the #include of time.h. +# include /**/ +# endif /* ghs */ + +# include /**/ +# endif /* VXWORKS */ + +extern "C" +{ +# if defined (VXWORKS) +typedef FUNCPTR ACE_THR_C_FUNC; // where typedef int (*FUNCPTR) (...) +# elif defined (ACE_PSOS) +// needed to handle task entry point type inconsistencies in pSOS+ +typedef void (*PSOS_TASK_ENTRY_POINT)(); +typedef void (*ACE_THR_C_FUNC)(void *); +# else +typedef void *(*ACE_THR_C_FUNC)(void *); +# endif /* VXWORKS */ +} + +// ============================================================================ +// PACE macros +// ============================================================================ +#if defined (ACE_HAS_PACE) && !defined (ACE_WIN32) +# define ACE_HAS_POSIX_SEM +#endif /* ACE_HAS_PACE */ + +// ============================================================================ +// Miscellaneous macros +// ============================================================================ + +// This is used to indicate that a platform doesn't support a +// particular feature. +#if defined ACE_HAS_VERBOSE_NOTSUP + // Print a console message with the file and line number of the + // unsupported function. +# if defined (ACE_HAS_STANDARD_CPP_LIBRARY) && (ACE_HAS_STANDARD_CPP_LIBRARY != 0) +# include /**/ +# else +# include /**/ // LynxOS requires this before stdio.h +# include /**/ +# endif +# define ACE_NOTSUP_RETURN(FAILVALUE) do { errno = ENOTSUP; fprintf (stderr, ACE_LIB_TEXT ("ACE_NOTSUP: %s, line %d\n"), __FILE__, __LINE__); return FAILVALUE; } while (0) +# define ACE_NOTSUP do { errno = ENOTSUP; fprintf (stderr, ACE_LIB_TEXT ("ACE_NOTSUP: %s, line %d\n"), __FILE__, __LINE__); return; } while (0) +#else /* ! ACE_HAS_VERBOSE_NOTSUP */ +# define ACE_NOTSUP_RETURN(FAILVALUE) do { errno = ENOTSUP ; return FAILVALUE; } while (0) +# define ACE_NOTSUP do { errno = ENOTSUP; return; } while (0) +#endif /* ! ACE_HAS_VERBOSE_NOTSUP */ + +#include "ace/post.h" +#endif /* ACE_CONFIG_ALL_H */ diff --git a/ace/config-chorus.h b/ace/config-chorus.h new file mode 100644 index 00000000000..827777a8a0f --- /dev/null +++ b/ace/config-chorus.h @@ -0,0 +1,159 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for Chorus +// platforms using one of these compilers: +// * GNU g++ +// * GreenHills +// It uses the Chorus POSIX threads interface. + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +// Define CHORUS to the correct version number +#ifdef CHORUS_4 +# define CHORUS 4.0 +#else +# define CHORUS 3.1b +#endif + +#if defined (linux) + // This shouldn't be necessary. +# undef linux +#endif /* linux */ + +// Compiler-specific configuration. + +#if defined (__GNUG__) +# include "ace/config-g++-common.h" +# undef ACE_HAS_ANSI_CASTS +# define ACE_LACKS_CHAR_STAR_RIGHT_SHIFTS +#elif defined (ghs) +# define ACE_CONFIG_INCLUDE_GHS_COMMON +# include "ace/config-ghs-common.h" + +# define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES +# define ACE_HAS_TANDEM_SIGNALS +# define ACE_HAS_TEMPLATE_SPECIALIZATION +# define ACE_LACKS_ACE_IOSTREAM /* MVME lacks signed and unsigned char */ +# define ACE_LACKS_FLOATING_POINT +#else /* ! __GNUG__ && ! ghs */ +# error unsupported compiler for ACE on Chorus +#endif /* ! __GNUG__ && ! ghs */ + +// OS-specific configuration + +// Chorus cannot grow shared memory, so this is the default size for a +// local name space +#define ACE_CHORUS_LOCAL_NAME_SPACE_T_SIZE 128000 +// Used in OS.i to map an actor id into a KnCap. +#define ACE_CHORUS_MAX_ACTORS 64 + +// This is not needed when compiling for PPC. It is necessary +// for certain methods in ACE.cpp. +#if defined(sparc) && !defined(__unix) +# define __unix +#endif + +#if defined(CHORUS_4) +# define ACE_CHORUS_DEFAULT_MIN_STACK_SIZE 0x8000 +# define ACE_HAS_4_4BSD_SENDMSG_RECVMSG +# define ACE_HAS_TIMEZONE_GETTIMEOFDAY +#else +# define ACE_CHORUS_DEFAULT_MIN_STACK_SIZE 0x2000 +# define ACE_LACKS_KEY_T +# define ACE_LACKS_ACCESS +# define ACE_LACKS_FSYNC +# define ACE_LACKS_GETSERVBYNAME +# define ACE_LACKS_MKFIFO +# define ACE_LACKS_READLINK +# define ACE_LACKS_TRUNCATE +# define ACE_LACKS_LONGLONG_T +#endif + +#define ACE_HAS_BROKEN_READV +#define ACE_HAS_CLOCK_GETTIME +#define ACE_HAS_CPLUSPLUS_HEADERS +#define ACE_HAS_DIRENT +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT +#define ACE_HAS_IP_MULTICAST +#define ACE_HAS_LONG_MAP_FAILED +#define ACE_HAS_MSG +#define ACE_HAS_NONCONST_SELECT_TIMEVAL +#define ACE_HAS_POSIX_SEM +#define ACE_HAS_POSIX_TIME +#define ACE_HAS_SIGWAIT +#define ACE_HAS_SSIZE_T +#define ACE_HAS_STRDUP_EMULATION +#define ACE_HAS_STRERROR +#define ACE_HAS_TSS_EMULATION +#define ACE_LACKS_CONDATTR_PSHARED +#define ACE_LACKS_FORK +#define ACE_LACKS_GETHOSTENT +#define ACE_LACKS_GETPGID +#define ACE_LACKS_SETPGID +#define ACE_LACKS_SETREGID +#define ACE_LACKS_SETREUID +#define ACE_LACKS_MADVISE +#define ACE_LACKS_MALLOC_H +#define ACE_LACKS_MEMORY_H +#define ACE_LACKS_MPROTECT +#define ACE_LACKS_MSYNC +#define ACE_LACKS_NAMED_POSIX_SEM +#define ACE_LACKS_PARAM_H +#define ACE_LACKS_READDIR_R +#define ACE_LACKS_READV +#define ACE_LACKS_RLIMIT +#define ACE_LACKS_RWLOCK_T +#define ACE_LACKS_SBRK +#define ACE_LACKS_SEMBUF_T +#define ACE_LACKS_SIGSET +#define ACE_LACKS_STRRECVFD +#define ACE_LACKS_SYSV_MSG_H +#define ACE_LACKS_SYSV_SHMEM +#define ACE_LACKS_UNIX_SIGNALS +#define ACE_LACKS_UTSNAME_T +#define ACE_LACKS_WRITEV +#define ACE_PAGE_SIZE 4096 + +// Chorus has syslog, but doesn't have setlogmask() +#define ACE_LACKS_SETLOGMASK + +// Yes, we do have threads. +#define ACE_HAS_THREADS +#define ACE_HAS_THREAD_SPECIFIC_STORAGE +#if !defined (ACE_MT_SAFE) +# define ACE_MT_SAFE 1 +#endif +// And they're even POSIX pthreads +#define ACE_HAS_PTHREADS +#define ACE_HAS_PTHREADS_STD +#define ACE_LACKS_PTHREAD_CANCEL +#define ACE_LACKS_PTHREAD_CLEANUP +#define ACE_LACKS_PTHREAD_SIGMASK +#define ACE_LACKS_PTHREAD_THR_SIGSETMASK +// Chorus 4.0 supports POSIX Threads 1003.1b/1003.1c +#if !defined(CHORUS_4) +# define ACE_HAS_PTHREAD_PROCESS_ENUM +#endif + + +#if !defined (__ACE_INLINE__) +# define __ACE_INLINE__ +#endif /* ! __ACE_INLINE__ */ + +#if !defined (ACE_NTRACE) +# define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +// By default, don't include RCS Id strings in object code. +#if !defined (ACE_USE_RCSID) +# define ACE_USE_RCSID 0 +#endif /* #if !defined (ACE_USE_RCSID) */ + +// Needed to wait for "processes" to exit. +#include + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-cray.h b/ace/config-cray.h new file mode 100644 index 00000000000..20d66fa333b --- /dev/null +++ b/ace/config-cray.h @@ -0,0 +1,242 @@ +/* -*- C++ -*- */ +// $Id$ + +#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 + is defined, for example, if you are running on a Cray T3E + 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 +*/ + +#if defined (_UNICOS) && !defined (MAXPATHLEN) +#define MAXPATHLEN 1023 +#endif /* _UNICOS */ + +// Turns off the tracing feature. +#if !defined (ACE_NTRACE) +#define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +#define ACE_DEFAULT_CLOSE_ALL_HANDLES 0 + +// Defines the page size of the system. +#define ACE_PAGE_SIZE 4096 + +#define ACE_HAS_CPLUSPLUS_HEADERS + +// using cray's autoinstantiation gives C++ prelinker: error: instantiation loop +#define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION + +#define ACE_HAS_TEMPLATE_SPECIALIZATION + +#define ACE_HAS_ANSI_CASTS + +#define ACE_HAS_USING_KEYWORD + +#define ACE_HAS_SSIZE_T + +#define ACE_HAS_SYSV_IPC + +#define ACE_MT_SAFE 1 + +#define ACE_HAS_THREADS + +#define ACE_HAS_PTHREADS + +// UNICOS 10 and UNICOS/mk implement a small subset of POSIX Threads, +// but the prototypes follow the POSIX.1c-1995 definitions. Earlier +// UNICOS versions sport Draft 7 threads. + +#if _UNICOS > 9 +# define ACE_HAS_PTHREADS_STD +#else +# define ACE_HAS_PTHREADS_DRAFT7 +# define ACE_LACKS_THREAD_STACK_SIZE +# define ACE_LACKS_THREAD_STACK_ADDR + // UNICOS 9 doesn't have this, nor sched.h +# define SCHED_OTHER 0 +# define SCHED_FIFO 1 +# define SCHED_RR 2 +#endif + +#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 + +#define ACE_HAS_TERM_IOCTLS + +#define ACE_HAS_DIRENT + +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT + +#define ACE_HAS_IP_MULTICAST + +#define ACE_HAS_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 +#define ACE_LACKS_SYSV_SHMEM +#define ACE_LACKS_MMAP +#define ACE_LACKS_CONST_TIMESPEC_PTR +#define ACE_LACKS_SYSCALL +#define ACE_LACKS_STRRECVFD +#define ACE_LACKS_MADVISE +#define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS +#define ACE_LACKS_LINEBUFFERED_STREAMBUF +#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 +#define ACE_LACKS_GETPGID +#define ACE_LACKS_SETPGID +#define ACE_LACKS_SETREGID +#define ACE_LACKS_SETREUID +#define ACE_LACKS_MPROTECT +#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 +# define ACE_SIZEOF_LONG 8 +# define ACE_SIZEOF_LONG_LONG 8 +# define ACE_SIZEOF_FLOAT 8 +# 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 +# define ACE_SIZEOF_LONG 8 +# define ACE_SIZEOF_LONG_LONG 8 +# define ACE_SIZEOF_FLOAT 4 +# 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 */ diff --git a/ace/config-cxx-common.h b/ace/config-cxx-common.h new file mode 100644 index 00000000000..88aa69a3f15 --- /dev/null +++ b/ace/config-cxx-common.h @@ -0,0 +1,88 @@ +// $Id$ + +#ifndef ACE_CXX_COMMON_H +#define ACE_CXX_COMMON_H +#include "ace/pre.h" + +#if !defined (ACE_CONFIG_INCLUDE_CXX_COMMON) +# error ace/config-cxx-common.h: ACE configuration error! Do not #include this file directly! +#endif + +#if defined (__DECCXX) +# if !defined (linux) +# define ACE_HAS_STRING_CLASS +# if (__DECCXX_VER >= 60090010) +# define ACE_HAS_STDCPP_STL_INCLUDES +# endif /* __DECCXX_VER < 60090010 */ +# endif /* ! linux */ + +# define DEC_CXX +# define ACE_HAS_WORKING_EXPLICIT_TEMPLATE_DESTRUCTOR +# define ACE_LACKS_LINEBUFFERED_STREAMBUF +# define ACE_LACKS_SIGNED_CHAR +# define ACE_HAS_CPLUSPLUS_HEADERS +# if (__DECCXX_VER >= 60090010) + // DEC CXX 6.0 supports exceptions, etc., by default. Exceptions + // are enabled by platform_osf1_4.x.GNU/wrapper_macros.GNU. +# if defined (ACE_HAS_EXCEPTIONS) +# define ACE_NEW_THROWS_EXCEPTIONS +# endif /* ACE_HAS_EXCEPTIONS */ +# define ACE_HAS_ANSI_CASTS +# if !defined (__RTTI) +# define ACE_LACKS_RTTI +# endif +# define ACE_HAS_STANDARD_CPP_LIBRARY 1 +# define ACE_HAS_TEMPLATE_SPECIALIZATION +# define ACE_HAS_TEMPLATE_TYPEDEFS +# define ACE_HAS_TYPENAME_KEYWORD +# define ACE_HAS_USING_KEYWORD + +# define ACE_ENDLESS_LOOP \ + unsigned int ace_endless_loop____ = 0; if (ace_endless_loop____) break; + +# if defined (__USE_STD_IOSTREAM) +# define ACE_LACKS_CHAR_RIGHT_SHIFTS +# define ACE_LACKS_IOSTREAM_FX +# define ACE_LACKS_UNBUFFERED_STREAMBUF +# define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1 +# else /* ! __USE_STD_IOSTREAM */ +# define ACE_USES_OLD_IOSTREAMS +# endif /* ! __USE_STD_IOSTREAM */ + +// 9: nested comment not allowed. (/usr/include/pdsc.h!) (nestcomment) +// 177: variable was declared but never referenced (declbutnotref) +// 193: zero used for undefined preprocessing identifier (undpreid) +// 236: controlling expression is constant (boolexprconst) +// 401: base_class_with_nonvirtual_dtor (basclsnondto) +// 1016: expected type is incompatible with declared type of int (incint) +// 1136: conversion to smaller size integer could lose data (intconlosbit) + +# pragma message disable basclsnondto +# pragma message disable boolexprconst +# pragma message disable undpreid + +# if (__DECCXX_VER >= 60190029) + // 6.1-029 and later support msg 1136. Disable it because it + // causes warnings from ACE and/or TAO. +# pragma message disable intconlosbit +# endif /* __DECCXX_VER >= 60190029 */ + +# if (__DECCXX_VER == 60190027) + // Seems that this version of cxx doesn't have reset +# define ACE_AUTO_PTR_LACKS_RESET +# endif /* __DECCXX_VER == 60190027 */ + +# if defined (DIGITAL_UNIX) && DIGITAL_UNIX >= 0x40D + // variable "PTHREAD_THIS_CATCH_NP" was declared but never referenced +# pragma message disable declbutnotref +# endif /* DIGITAL_UNIX >= 4.0f */ + +# else /* __DECCXX_VER < 60090010 */ +# define ACE_LACKS_PRAGMA_ONCE +# endif /* __DECCXX_VER < 60090010 */ +#else /* ! __DECCXX */ +# error ace/config-cxx-common.h can only be used with Compaq CXX! +#endif /* ! __DECCXX */ + +#include "ace/post.h" +#endif /* ACE_CXX_COMMON_H */ diff --git a/ace/config-cygwin32-common.h b/ace/config-cygwin32-common.h new file mode 100644 index 00000000000..8381b7b2ecf --- /dev/null +++ b/ace/config-cygwin32-common.h @@ -0,0 +1,141 @@ +/* -*- C++ -*- */ +// $Id$ + +// This configuration file is designed to be included by another, +// specific configuration file. It provides config information common +// to all CygWin platforms. It automatically determines the CPU +// architecture, compiler (g++ or egcs), and libc (libc5/glibc/newlib), +// and configures based on those. + +#ifndef ACE_CYGWIN32_COMMON_H +#define ACE_CYGWIN32_COMMON_H +#include "ace/pre.h" + +#define CYGWIN32 + +// We trust this file will get included before +#if !defined(FD_SETSIZE) +# define FD_SETSIZE 1024 +#endif + +#define ACE_LACKS_UNIX_DOMAIN_SOCKETS +#define ACE_LACKS_SYSV_MSG_H +#define ACE_HAS_SIG_MACROS +#define ACE_LACKS_SYSTIME_H +#define ACE_LACKS_TELLDIR +#define ACE_LACKS_SYSV_SHMEM + +#define ACE_LACKS_MMAP +#define ACE_LACKS_MPROTECT + +#define ACE_LACKS_SEMBUF_T +#define ACE_LACKS_NAMED_POSIX_SEM +#define ACE_LACKS_SENDMSG +#define ACE_LACKS_RECVMSG +#define ACE_LACKS_READDIR_R +#define ACE_LACKS_RLIMIT +#define ACE_LACKS_SOCKETPAIR +#define ACE_LACKS_SEEKDIR +#define ACE_LACKS_TEMPNAM +#define ACE_LACKS_MKTEMP +// #define ACE_HAS_BROKEN_SAP_ANY + +#if ! defined (__ACE_INLINE__) +# define __ACE_INLINE__ +#endif /* ! __ACE_INLINE__ */ + +// Needed to differentiate between libc 5 and libc 6 (aka glibc). +// It's there on all libc 5 systems I checked. +#include /**/ + + +// First the machine specific part +// #define ACE_HAS_CYGWIN32_SOCKET_H + +// Then the compiler specific parts + +// config-g++-common.h undef's ACE_HAS_STRING_CLASS with -frepo, so +// this must appear before its #include. +#define ACE_HAS_STRING_CLASS + +#if defined (__GNUG__) +# include "ace/config-g++-common.h" +#else +# error unsupported compiler in ace/config-cygwin32-common.h +#endif /* __GNUG__ */ + + +// Completely common part :-) + +// Platform/compiler has the sigwait(2) prototype +#define ACE_HAS_SIGWAIT +#define ACE_HAS_POSIX_TIME +#define ACE_LACKS_TIMESPEC_T +#define ACE_HAS_MSG +#define ACE_DEFAULT_BASE_ADDR ((char *) 0x80000000) +#define ACE_LACKS_SETREUID +#define ACE_LACKS_SETREGID +#define ACE_LACKS_GETHOSTENT +#define ACE_HAS_NONCONST_SELECT_TIMEVAL +#define ACE_LACKS_GETPGID_PROTOTYPE + +// Compiler/platform supports alloca(). +#define ACE_HAS_ALLOCA + +// Compiler/platform has the getrusage() system call. +#define ACE_HAS_GETRUSAGE +#define ACE_HAS_GETRUSAGE_PROTO + +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES + +// Optimize ACE_Handle_Set for select(). +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT + +#if !defined(ACE_HAS_IP_MULTICAST) +# define ACE_HAS_IP_MULTICAST +#endif /* #if ! defined(ACE_HAS_IP_MULTICAST) */ + +#define ACE_HAS_BIG_FD_SET + +#define ACE_HAS_TERM_IOCTLS + +#define ACE_DEFAULT_MAX_SOCKET_BUFSIZ 65535 + +#define ACE_DEFAULT_SELECT_REACTOR_SIZE 256 + +#define ACE_HAS_GETPAGESIZE 1 + +// Platform lacks POSIX prototypes for certain System V functions +// like shared memory and message queues. +#define ACE_LACKS_SOME_POSIX_PROTOTYPES + + +#define ACE_LACKS_STRRECVFD + +#define ACE_LACKS_MSYNC +#define ACE_LACKS_MADVISE + +#define ACE_HAS_SUNOS4_GETTIMEOFDAY + +// Compiler/platform supports strerror (). +#define ACE_HAS_STRERROR + +// Compiler supports the ssize_t typedef. +#define ACE_HAS_SSIZE_T + +// Compiler/platform defines the sig_atomic_t typedef. +#define ACE_HAS_SIG_ATOMIC_T + +#define ACE_HAS_GPERF + +#define ACE_HAS_DIRENT + +// Turns off the tracing feature. +#if !defined (ACE_NTRACE) +# define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +#define ACE_LACKS_MKFIFO + +#include "ace/post.h" +#endif /* ACE_CYGWIN32_COMMON_H */ diff --git a/ace/config-cygwin32.h b/ace/config-cygwin32.h new file mode 100644 index 00000000000..ec433dc1e17 --- /dev/null +++ b/ace/config-cygwin32.h @@ -0,0 +1,16 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for CygWin +// platforms using GNU C++. + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +#include "ace/config-cygwin32-common.h" + +#define ACE_HAS_AUTOMATIC_INIT_FINI + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-dgux-4.11-epc.h b/ace/config-dgux-4.11-epc.h new file mode 100644 index 00000000000..b19d56cf7f1 --- /dev/null +++ b/ace/config-dgux-4.11-epc.h @@ -0,0 +1,195 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for DG/UX +// 4.11 platforms using the EPC compiler. + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +#define ACE_DGUX + +// 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 + +// Compiler/platform contains the file. +// #define ACE_HAS_SYSCALL_H + +// 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 supports alloca() +// #define ACE_HAS_ALLOCA + +// Compiler/platform has +// #define ACE_HAS_ALLOCA_H + +// Platform contains . +#define ACE_HAS_POLL + +// Platform supports POSIX timers via timestruc_t. +#define ACE_HAS_POSIX_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 + +// Compiler/platform supports SVR4 gettimeofday() prototype. +// #define ACE_HAS_SVR4_GETTIMEOFDAY + +// 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 + +// Platform provides header. +// #define ACE_HAS_SYS_FILIO_H + +// Compiler/platform supports sys_siglist array. +#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 0 +#endif + +// Platform supports threads. +// #define ACE_HAS_THREADS + +// Platform supports POSIX pthreads *and* Solaris threads! +// #define ACE_HAS_STHREADS +// #define ACE_HAS_PTHREADS +#define ACE_HAS_SIGWAIT +// If ACE doesn't compile due to the lack of these methods, please +// send email to schmidt@cs.wustl.edu reporting this. +// #define ACE_LACKS_CONDATTR_PSHARED +// #define ACE_LACKS_MUTEXATTR_PSHARED + +// Compiler/platform has thread-specific storage +// +#define ACE_HAS_THREAD_SPECIFIC_STORAGE + +// Reactor detects deadlock +// #define ACE_REACTOR_HAS_DEADLOCK_DETECTION + +// 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 + +// 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 _USING_POSIX4A_DRAFT6 +#define _POSIX_SOURCE +#define _DGUX_SOURCE +// #define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION +#define ACE_HAS_UCONTEXT_T +#define ACE_LACKS_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_HAS_IDTYPE_T + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-dgux-4.x-ghs.h b/ace/config-dgux-4.x-ghs.h new file mode 100644 index 00000000000..b53126b59ed --- /dev/null +++ b/ace/config-dgux-4.x-ghs.h @@ -0,0 +1,214 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for DG/UX +// 4.x platforms using the Green Hills Multi C++ compiler. + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +#define ACE_DGUX + +# define ACE_CONFIG_INCLUDE_GHS_COMMON +# include "ace/config-ghs-common.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 + +// Green Hills doesn't give a preprocessor symbol for long double +#define ACE_SIZEOF_LONG_DOUBLE 8 + +// Platform contains . +#define ACE_HAS_POLL + +// Platform supports POSIX timers via timestruc_t. +#define ACE_HAS_POSIX_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 (which became +// (with editorial change only) 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_STD +#define _POSIX4_DRAFT_SOURCE +// Well, here are some from the standard they don't have... +#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 +#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 + +// 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_TEMPLATES_REQUIRE_SOURCE + +#define ACE_HAS_UCONTEXT_T +#define ACE_LACKS_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 + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-doxygen.h b/ace/config-doxygen.h new file mode 100644 index 00000000000..a372e684a56 --- /dev/null +++ b/ace/config-doxygen.h @@ -0,0 +1,74 @@ +/** + * This is a configuration file to define all the macros that Doxygen + * needs + * + * @file config-doxygen.h + * + * $Id$ + * + * @author Carlos O'Ryan + * @author Darrell Brunsch + * + */ +#ifndef ACE_CONFIG_DOXYGEN_H +#define ACE_CONFIG_DOXYGEN_H + +/// Make the wchar_t interfaces available. +#define ACE_HAS_WCHAR + +/// Make all the emulation versions of string operations visible +// #define ACE_LACKS_WCSTOK +#define ACE_LACKS_ITOW +#define ACE_LACKS_STRCASECMP +#define ACE_LACKS_STRCSPN +#define ACE_LACKS_STRCHR +#define ACE_LACKS_STRRCHR +#define ACE_LACKS_WCSCAT +#define ACE_LACKS_WCSCHR +#define ACE_LACKS_WCSCMP +#define ACE_LACKS_WCSCPY +#define ACE_LACKS_WCSICMP +#define ACE_LACKS_WCSLEN +#define ACE_LACKS_WCSNCAT +#define ACE_LACKS_WCSNCMP +#define ACE_LACKS_WCSNCPY +#define ACE_LACKS_WCSNICMP +#define ACE_LACKS_WCSPBRK +#define ACE_LACKS_WCSRCHR +#define ACE_LACKS_WCSCSPN +#define ACE_LACKS_WCSSPN +#define ACE_LACKS_WCSSTR + +/// Support for threads enables several important classes +#define ACE_HAS_THREADS + +/// Support for Win32 enables the WFMO_Reactor and several Async I/O +/// classes +#define ACE_WIN32 + +/// Enable support for POSIX Asynchronous I/O calls +#define ACE_HAS_AIO_CALLS + +/// Enable support for TLI interfaces +#define ACE_HAS_TLI + +/// Enable support for the SSL wrappers +#define ACE_HAS_SSL 1 + +/// Several GUI Reactors that are only enabled in some platforms. +#define ACE_HAS_XT +#define ACE_HAS_FL +#define ACE_HAS_QT +#define ACE_HAS_TK +#define ACE_HAS_GTK + +/// Enable exceptions +#define ACE_HAS_EXCEPTIONS + +/// TAO features that should be documented too +#define TAO_HAS_RT_CORBA 1 +#define TAO_HAS_MINIMUM_CORBA 0 +#define TAO_HAS_AMI 1 +#define TAO_HAS_INTERCEPTORS 1 + +#endif /* ACE_CONFIG_DOXYGEN_H */ diff --git a/ace/config-freebsd-pthread.h b/ace/config-freebsd-pthread.h new file mode 100644 index 00000000000..75919a148c5 --- /dev/null +++ b/ace/config-freebsd-pthread.h @@ -0,0 +1,218 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for FreeBSD +// platforms with GNU C++ and the POSIX (pthread) threads package. + +// Notice that the threaded version of ACE is only supported for -current. + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +#include +// Make sure we source in the OS version. + +#if ! defined (__ACE_INLINE__) +#define __ACE_INLINE__ +#endif /* ! __ACE_INLINE__ */ + +#if (__FreeBSD_version < 220000) +#error Threads are not supported. +#endif /* __FreeBSD_version < 220000 */ + +#define ACE_SIZEOF_LONG_DOUBLE 12 + +#if defined (__GNUG__) +# include "ace/config-g++-common.h" +#endif /* __GNUG__ */ + +#if defined (ACE_HAS_PENTIUM) +# undef ACE_HAS_PENTIUM +#endif /* ACE_HAS_PENTIUM */ + +// Platform specific directives +// gcc defines __FreeBSD__ automatically for us. +#if !defined (_THREAD_SAFE) +#define _THREAD_SAFE +#endif /* _THREAD_SAFE */ + +#define ACE_HAS_GPERF + +#if (__FreeBSD_version < 420000) +#define ACE_LACKS_GETPGID +#define ACE_LACKS_SETPGID +#define ACE_LACKS_SETREGID +#define ACE_LACKS_SETREUID +#endif /* __FreeBSD_version < 420000 */ + +#define ACE_HAS_ALT_CUSERID +#define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS +#define ACE_LACKS_RWLOCK_T +#define ACE_LACKS_READDIR_R +#define ACE_HAS_SIG_MACROS +// Optimize ACE_Handle_Set for select(). +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT +#define ACE_HAS_NONCONST_SELECT_TIMEVAL +#define ACE_HAS_CHARPTR_DL +//#define ACE_USES_ASM_SYMBOL_IN_DLSYM +#define ACE_LACKS_SIGSET +#define ACE_NEEDS_SCHED_H + +// Use of is deprecated. +#define ACE_LACKS_MALLOC_H + +// sched.h still not fully support on FreeBSD ? +// this is taken from /usr/src/lib/libc_r/uthread/pthread-private.h +enum schedparam_policy { + SCHED_RR, + SCHED_IO, + SCHED_FIFO, + SCHED_OTHER +}; + +// This won't be necessary after it is fixed in the system include headers. +extern "C" { char * cuserid (char *s); } + +// Platform supports POSIX timers via struct timespec. +#define ACE_HAS_POSIX_TIME +#define ACE_HAS_UALARM + +// Platform defines struct timespec but not timespec_t +#define ACE_LACKS_TIMESPEC_T + +#define ACE_LACKS_SYSTIME_H + +#define ACE_LACKS_STRRECVFD + +#define ACE_HAS_SIN_LEN + +// Platform supports System V IPC (most versions of UNIX, but not Win32) +#define ACE_HAS_SYSV_IPC + +// Compiler/platform contains the file. +#define ACE_HAS_SYSCALL_H + +#if (__FreeBSD_version >= 300000) +#define ACE_HAS_SIGINFO_T +#endif /* __FreeBSD_version >= 300000 */ + +#if (__FreeBSD_version >= 320000) +#define ACE_HAS_REENTRANT_FUNCTIONS +#define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS +#define ACE_LACKS_PWD_REENTRANT_FUNCTIONS +#define ACE_LACKS_RAND_REENTRANT_FUNCTIONS +#define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R +#endif /* __FreeBSD_version >= 320000 */ + +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES +#define ACE_LACKS_SIGINFO_H +#define ACE_LACKS_UCONTEXT_H +#define ACE_LACKS_SI_ADDR + +// Compiler/platform supports SVR4 signal typedef +#define ACE_HAS_SVR4_SIGNAL_T + +// Compiler/platform supports alloca(). +#define ACE_HAS_ALLOCA + +// Compiler/platform supports SVR4 dynamic linking semantics.. +#define ACE_HAS_SVR4_DYNAMIC_LINKING + +// Compiler/platform correctly calls init()/fini() for shared libraries. +#define ACE_HAS_AUTOMATIC_INIT_FINI + +// Explicit dynamic linking permits "lazy" symbol resolution +#define ACE_HAS_RTLD_LAZY_V + +// platform supports POSIX O_NONBLOCK semantics +#define ACE_HAS_POSIX_NONBLOCK + +// platform supports IP multicast +#define ACE_HAS_IP_MULTICAST + +// Compiler/platform has +//#define ACE_HAS_ALLOCA_H + +// Compiler/platform has the getrusage() system call. +#define ACE_HAS_GETRUSAGE + +// Compiler/platform defines the sig_atomic_t typedef. +#define ACE_HAS_SIG_ATOMIC_T + +// Compiler/platform supports sys_siglist array. +// *** This refers to (_sys_siglist) instead of (sys_siglist) +// #define ACE_HAS_SYS_SIGLIST + +// Compiler/platform defines a union semun for SysV shared memory. +#define ACE_HAS_SEMUN + +// Compiler supports the ssize_t typedef. +#define ACE_HAS_SSIZE_T + +// Compiler/platform supports strerror (). +#define ACE_HAS_STRERROR + +// Compiler/platform provides the sockio.h file. +#define ACE_HAS_SOCKIO_H + +// Defines the page size of the system. +#define ACE_PAGE_SIZE 4096 + +// Platform provides header. +#define ACE_HAS_SYS_FILIO_H + +// Compiler/platform supports SVR4 gettimeofday() prototype +#define ACE_HAS_SUNOS4_GETTIMEOFDAY +// #define ACE_HAS_TIMEZONE_GETTIMEOFDAY + +// Turns off the tracing feature. +#if !defined (ACE_NTRACE) +#define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +#define ACE_HAS_MSG +#define ACE_HAS_4_4BSD_SENDMSG_RECVMSG +#define ACE_HAS_NONCONST_MSGSND + +// Thread specific settings +// Yes, we do have threads. +#define ACE_HAS_THREADS +// And they're even POSIX pthreads +#if !defined (ACE_MT_SAFE) +# define ACE_MT_SAFE 1 +#endif /* ! ACE_MT_SAFE */ +#define ACE_HAS_PTHREADS +#define ACE_LACKS_SETSCHED +#define ACE_LACKS_PTHREAD_CANCEL +#define ACE_LACKS_THREAD_PROCESS_SCOPING +#define ACE_LACKS_PTHREAD_THR_SIGSETMASK +#define ACE_LACKS_CONDATTR_PSHARED +#define ACE_LACKS_MUTEXATTR_PSHARED +#define ACE_HAS_THREAD_SPECIFIC_STORAGE +#define ACE_HAS_DIRENT + +#define ACE_HAS_SIGWAIT + +#define ACE_HAS_TERM_IOCTLS +#define ACE_USES_NEW_TERMIOS_STRUCT +#define ACE_USES_HIGH_BAUD_RATES +#define TCGETS TIOCGETA +#define TCSETS TIOCSETA + +#if (__FreeBSD_version > 400000) +#undef ACE_LACKS_SETSCHED +#undef ACE_LACKS_SIGSET +#define ACE_HAS_UCONTEXT_T +#define ACE_HAS_SOCKLEN_T +#endif + +#if (__FreeBSD_version > 440000) +# define _P1003_1B_VISIBLE +# define ACE_HAS_AIO_CALLS +# define SIGRTMIN 32 +# define SIGRTMAX (_SIG_MAXSIG - 1) +#endif + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-freebsd.h b/ace/config-freebsd.h new file mode 100644 index 00000000000..401282de935 --- /dev/null +++ b/ace/config-freebsd.h @@ -0,0 +1,197 @@ +/* -*- C++ -*- */ +// $Id$ + +// ***** This configuration file is still under testing. ***** + +// The following configuration file is designed to work for FreeBSD +// platforms using GNU C++ but without the POSIX (pthread) threads package + +#ifndef ACE_CONFIG_FREEBSD_H +#define ACE_CONFIG_FREEBSD_H +#include "ace/pre.h" + +#include +// Make sure we source in the OS version. + +#if ! defined (__ACE_INLINE__) +#define __ACE_INLINE__ +#endif /* ! __ACE_INLINE__ */ + +#if (__FreeBSD_version < 220000) && defined (_THREAD_SAFE) +#error Threads are not supported. +#endif /* __FreeBSD_version < 220000 */ + +#define ACE_SIZEOF_LONG_DOUBLE 12 + +#if defined (__GNUG__) +# include "ace/config-g++-common.h" +#endif /* __GNUG__ */ + +#define ACE_HAS_GPERF + +// Platform specific directives +#define ACE_LACKS_GETPGID +#define ACE_LACKS_SETPGID +#define ACE_LACKS_SETREGID +#define ACE_LACKS_SETREUID +#define ACE_LACKS_RWLOCK_T +#define ACE_LACKS_READDIR_R +#define ACE_HAS_SIG_MACROS +#define ACE_HAS_CHARPTR_DL +#define ACE_HAS_DIRENT +#define ACE_USES_ASM_SYMBOL_IN_DLSYM +#define ACE_LACKS_SIGSET +#define ACE_LACKS_SIGINFO_H +#define ACE_LACKS_UCONTEXT_H +#define ACE_LACKS_SI_ADDR + +#if (__FreeBSD__ > 2) +#define ACE_HAS_SIGINFO_T +#endif /* __FreeBSD__ > 2 */ + +// Use of is deprecated. +#define ACE_LACKS_MALLOC_H + +// This is for 2.1.x only. By default, gcc defines __FreeBSD__ automatically +#if (__FreeBSD_version < 220000) + +#define ACE_HAS_CPLUSPLUS_HEADERS + +// This is to fix the nested struct if_data definition on FreeBSD 2.1.x +#include +#include +struct if_data { +/* generic interface information */ + u_char ifi_type; /* ethernet, tokenring, etc */ + u_char ifi_physical; /* e.g., AUI, Thinnet, 10base-T, etc */ + u_char ifi_addrlen; /* media address length */ + u_char ifi_hdrlen; /* media header length */ + u_long ifi_mtu; /* maximum transmission unit */ + u_long ifi_metric; /* routing metric (external only) */ + u_long ifi_baudrate; /* linespeed */ +/* volatile statistics */ + u_long ifi_ipackets; /* packets received on interface */ + u_long ifi_ierrors; /* input errors on interface */ + u_long ifi_opackets; /* packets sent on interface */ + u_long ifi_oerrors; /* output errors on interface */ + u_long ifi_collisions; /* collisions on csma interfaces */ + u_long ifi_ibytes; /* total number of octets received */ + u_long ifi_obytes; /* total number of octets sent */ + u_long ifi_imcasts; /* packets received via multicast */ + u_long ifi_omcasts; /* packets sent via multicast */ + u_long ifi_iqdrops; /* dropped on input, this interface */ + u_long ifi_noproto; /* destined for unsupported protocol */ + struct timeval ifi_lastchange;/* time of last administrative ch +ange */ +} ; + +// this is a hack, but since this only occured in FreeBSD 2.1.x, +// I guess it is ok. +#define ACE_HAS_BROKEN_TIMESPEC_MEMBERS + +#endif /* __FreeBSD_version < 220000 */ + +// Platform supports POSIX timers via struct timespec. +#define ACE_HAS_POSIX_TIME +#define ACE_HAS_UALARM + +// Platform defines struct timespec but not timespec_t +#define ACE_LACKS_TIMESPEC_T + +#define ACE_LACKS_SYSTIME_H + +#define ACE_LACKS_STRRECVFD + +#define ACE_HAS_SIN_LEN + +// Platform supports System V IPC (most versions of UNIX, but not Win32) +#define ACE_HAS_SYSV_IPC + +// Compiler/platform contains the file. +#define ACE_HAS_SYSCALL_H + +#if !defined(FreeBSD_2_1) +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES +#endif /* defined FreeBSD_2_1 */ + +// Compiler/platform supports SVR4 signal typedef +#define ACE_HAS_SVR4_SIGNAL_T + +// Compiler/platform supports alloca(). +#define ACE_HAS_ALLOCA + +// Compiler/platform supports SVR4 dynamic linking semantics.. +#define ACE_HAS_SVR4_DYNAMIC_LINKING + +// Compiler/platform correctly calls init()/fini() for shared libraries. +#define ACE_HAS_AUTOMATIC_INIT_FINI + +// Explicit dynamic linking permits "lazy" symbol resolution +#define ACE_HAS_RTLD_LAZY_V + +// platform supports POSIX O_NONBLOCK semantics +#define ACE_HAS_POSIX_NONBLOCK + +// platform supports IP multicast +#define ACE_HAS_IP_MULTICAST + +// Compiler/platform has +//#define ACE_HAS_ALLOCA_H + +// Compiler/platform has the getrusage() system call. +#define ACE_HAS_GETRUSAGE + +// Compiler/platform defines the sig_atomic_t typedef. +#define ACE_HAS_SIG_ATOMIC_T + +// Compiler/platform supports sys_siglist array. +// *** This refers to (_sys_siglist) instead of (sys_siglist) +// #define ACE_HAS_SYS_SIGLIST + +// Compiler/platform defines a union semun for SysV shared memory. +#define ACE_HAS_SEMUN + +// Compiler supports the ssize_t typedef. +#define ACE_HAS_SSIZE_T + +// Compiler/platform supports strerror (). +#define ACE_HAS_STRERROR + +// Compiler/platform provides the sockio.h file. +#define ACE_HAS_SOCKIO_H + +// Defines the page size of the system. +#define ACE_PAGE_SIZE 4096 + +// Platform provides header. +#define ACE_HAS_SYS_FILIO_H + +// Compiler/platform supports SVR4 gettimeofday() prototype +#define ACE_HAS_SUNOS4_GETTIMEOFDAY +// #define ACE_HAS_TIMEZONE_GETTIMEOFDAY + +// Turns off the tracing feature. +#if !defined (ACE_NTRACE) +#define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +#define ACE_HAS_MSG +#define ACE_HAS_4_4BSD_SENDMSG_RECVMSG +#define ACE_HAS_NONCONST_MSGSND + +#if (__FreeBSD_version >= 228000) +#define ACE_HAS_SIGWAIT +#endif /* __FreeBSD_version >= 22800 */ + +// Optimize ACE_Handle_Set for select(). +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT +#define ACE_HAS_NONCONST_SELECT_TIMEVAL + +#define ACE_HAS_TERM_IOCTLS +#define ACE_USES_NEW_TERMIOS_STRUCT +#define ACE_USES_HIGH_BAUD_RATES +#define TCGETS TIOCGETA +#define TCSETS TIOCSETA + +#include "ace/post.h" +#endif /* ACE_CONFIG_FREEBSD_H */ diff --git a/ace/config-fsu-pthread.h b/ace/config-fsu-pthread.h new file mode 100644 index 00000000000..4ce0c5fa4e3 --- /dev/null +++ b/ace/config-fsu-pthread.h @@ -0,0 +1,59 @@ +// $Id$ + +#ifndef ACE_CONFIG_FSU_PTHREAD_H +#define ACE_CONFIG_FSU_PTHREAD_H +#include "ace/pre.h" + +#define ACE_LACKS_CONST_TIMESPEC_PTR + +// Threads +#define ACE_HAS_THREADS +#if !defined(ACE_MT_SAFE) +#define ACE_MT_SAFE 1 +#endif + +/* +** FSU implements 1003.4a draft 6 threads - the ACE_HAS_FSU_PTHREADS def +** is needed for some peculiarities with this particular implementation. +*/ +#define ACE_HAS_PTHREADS +#define ACE_HAS_PTHREADS_DRAFT6 +#define ACE_HAS_FSU_PTHREADS +#define ACE_HAS_THREAD_SPECIFIC_STORAGE +#define ACE_HAS_SIGWAIT +#define ACE_HAS_PTHREAD_YIELD_VOID_PTR +#define ACE_HAS_PTHREAD_ATTR_INIT +#define ACE_HAS_PTHREAD_ATTR_DESTROY +#define ACE_LACKS_THREAD_STACK_ADDR +#define ACE_LACKS_PTHREAD_THR_SIGSETMASK +#define ACE_LACKS_CONDATTR_PSHARED +#define ACE_LACKS_MUTEXATTR_PSHARED +#define ACE_LACKS_RWLOCK_T +#define ACE_LACKS_SETSCHED +#if defined(M_UNIX) +#define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS +#endif + +#if !defined(ACE_HAS_POSIX_TIME) +#define ACE_HAS_POSIX_TIME +#define ACE_LACKS_TIMESPEC_T +#endif + +#include + +#if !defined(PTHREAD_STACK_MIN) +#define PTHREAD_STACK_MIN (1024*10) +#endif + +#define ACE_LACKS_THREAD_PROCESS_SCOPING + +#undef PTHREAD_INHERIT_SCHED + +struct sched_param +{ + int sched_priority; + int prio; +}; + +#include "ace/post.h" +#endif /* ACE_CONFIG_FSU_PTHREAD_H */ diff --git a/ace/config-g++-common.h b/ace/config-g++-common.h new file mode 100644 index 00000000000..5ae9686885b --- /dev/null +++ b/ace/config-g++-common.h @@ -0,0 +1,117 @@ +// -*- C++ -*- +// +// $Id$ + +// This configuration file is designed to be included by another, +// specific configuration file. It provides config information common +// to all g++ platforms, including egcs. + +#ifndef ACE_GNUG_COMMON_H +#define ACE_GNUG_COMMON_H +#include "ace/pre.h" + +#if __GNUC__ > 2 || ( __GNUC__ == 2 && __GNUC_MINOR__ >= 8) || \ + (defined (ACE_VXWORKS) && ACE_VXWORKS >= 0x540) + // egcs or g++ >= 2.8.0 + +# define ACE_HAS_ANSI_CASTS +# define ACE_HAS_CPLUSPLUS_HEADERS +# define ACE_HAS_EXPLICIT_KEYWORD +# define ACE_HAS_MUTABLE_KEYWORD +# define ACE_HAS_STDCPP_STL_INCLUDES +# define ACE_HAS_TEMPLATE_TYPEDEFS +# define ACE_HAS_TYPENAME_KEYWORD +# define ACE_HAS_STD_TEMPLATE_SPECIALIZATION +# define ACE_HAS_STANDARD_CPP_LIBRARY 1 +# define ACE_USES_OLD_IOSTREAMS + +#if (__GNUC__ == 2 && __GNUC_MINOR__ <= 91) +// EGCS (gcc 2.91) doesn't define this in its C++ standard library. +# define ACE_LACKS_AUTO_PTR +#endif + +# if __GNUC__ > 2 || ( __GNUC__ == 2 && __GNUC_MINOR__ >= 91 ) +# define ACE_HAS_USING_KEYWORD + // This is only needed with egcs 1.1 (egcs-2.91.57). It can't be + // used with older versions. +# define ACE_HAS_WORKING_EXPLICIT_TEMPLATE_DESTRUCTOR +# else /* This is for gcc 2.8.x */ +# define ACE_LACKS_PLACEMENT_OPERATOR_DELETE +# endif /* __GNUC__ >= 2.91 */ + +# if (defined (VXWORKS) && __GNUC__ == 2 && __GNUC_MINOR__ == 96) +// This is for inofficial(!) gcc2.96 shipped with Tornado2.1.0 for +// Hitachi SuperH platform. +# define ACE_LACKS_AUTO_PTR +# endif /* (defined (VXWORKS) && __GNUC__ == 2 && __GNUC_MINOR__ == 96) */ + +#if __GNUC__ > 2 || ( __GNUC__ == 2 && __GNUC_MINOR__ >= 97 ) + // gcc 2.97 and higher use libstdc++-v3 and require + // the use of the std namespace for using iostreams +# define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1 +# undef ACE_USES_OLD_IOSTREAMS +#endif /* __GNUC__ >= 2.97 */ + +# if __GNUC__ == 2 && __GNUC_MINOR__ != 9 && __GNUC_MINOR__ != 91 +# // g++ 2.9 and egcs 2.91 apparently have a bug with this . . . +# define ACE_HAS_TEMPLATE_SPECIALIZATION +# endif /* __GNUC__ != 2.9 && __GNUC__ != 2.91*/ + + // Some versions of egcs, e.g., egcs-2.90.27 980315 (egcs-1.0.2 release), + // have bugs with static data members in template classes. +# define ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES + + // __EXCEPTIONS is defined with -fexceptions, the egcs default. It + // is not defined with -fno-exceptions, the ACE default for g++. + // ACE_HAS_EXCEPTIONS is defined in + // include/makeinclude/wrapper_macros.GNU, so this really isn't + // necessary. Just in case . . . +# if defined (__EXCEPTIONS) && !defined (ACE_HAS_EXCEPTIONS) +# define ACE_HAS_EXCEPTIONS +# endif /* __EXCEPTIONS && ! ACE_HAS_EXCEPTIONS */ + +# if defined (ACE_HAS_EXCEPTIONS) +# define ACE_NEW_THROWS_EXCEPTIONS +# endif /* ACE_HAS_EXCEPTIONS */ + +#else /* ! egcs */ + // Plain old g++. +# define ACE_LACKS_PLACEMENT_OPERATOR_DELETE +# define ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES +# define ACE_HAS_GNUG_PRE_2_8 +# define ACE_HAS_TEMPLATE_SPECIALIZATION +# define ACE_LACKS_MIN_MAX_TEMPLATES +#endif /* ! egcs */ + +#if (defined (i386) || defined (__i386__)) && !defined (ACE_SIZEOF_LONG_DOUBLE) +# define ACE_SIZEOF_LONG_DOUBLE 12 +#endif /* i386 */ + +#if !defined (__MINGW32__) && (defined (i386) || defined (__i386__)) + // If running an Intel, assume that it's a Pentium so that + // ACE_OS::gethrtime () can use the RDTSC instruction. If running a + // 486 or lower, be sure to comment this out. (If not running an + // Intel CPU, this #define will not be seen because of the i386 + // protection, so it can be ignored.) +# define ACE_HAS_PENTIUM +#endif /* i386 */ + +#if !defined (ACE_LACKS_PRAGMA_ONCE) + // We define it with a -D with make depend. +# define ACE_LACKS_PRAGMA_ONCE +#endif /* ! ACE_LACKS_PRAGMA_ONCE */ + +#if defined (ACE_HAS_GNU_REPO) + // -frepo causes unresolved symbols of basic_string left- and + // right-shift operators with ACE_HAS_STRING_CLASS. +# if defined (ACE_HAS_STRING_CLASS) +# undef ACE_HAS_STRING_CLASS +# endif /* ACE_HAS_STRING_CLASS */ +#else /* ! ACE_HAS_GNU_REPO */ +# define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION +#endif /* ! ACE_HAS_GNU_REPO */ +#define ACE_HAS_GNUC_BROKEN_TEMPLATE_INLINE_FUNCTIONS +#define ACE_TEMPLATES_REQUIRE_SOURCE + +#include "ace/post.h" +#endif /* ACE_GNUG_COMMON_H */ diff --git a/ace/config-ghs-common.h b/ace/config-ghs-common.h new file mode 100644 index 00000000000..673a7c5ec15 --- /dev/null +++ b/ace/config-ghs-common.h @@ -0,0 +1,44 @@ +/* -*- C++ -*- */ +// $Id$ + +// This configuration file is designed to be included by another, +// specific configuration file. It provides config information common +// to all Green Hills platforms. + +#ifndef ACE_GHS_COMMON_H +#define ACE_GHS_COMMON_H +#include "ace/pre.h" + +#if !defined (ACE_CONFIG_INCLUDE_GHS_COMMON) +# error ace/config-ghs-common.h: ACE configuration error! Do not #include this file directly! +#endif + +#if defined (ghs) + +# if defined (sun) + // Need nonstatic Object_Manager on Solaris to prevent seg fault + // on startup. +# define ACE_HAS_NONSTATIC_OBJECT_MANAGER +# endif /* sun */ + +# if defined (__STANDARD_CXX) + // Green Hills 1.8.9, but not 1.8.8. +# define ACE_HAS_STANDARD_CPP_LIBRARY 1 +# define ACE_LACKS_AUTO_PTR +# define ACE_LACKS_CHAR_RIGHT_SHIFTS +# define ACE_LACKS_UNBUFFERED_STREAMBUF +# define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION +# else +# define ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA +# endif /* __STANDARD_CXX */ + +# define ACE_LACKS_LINEBUFFERED_STREAMBUF +# define ACE_LACKS_LONGLONG_T +# define ACE_LACKS_SIGNED_CHAR + +#else /* ! ghs */ +# error ace/config-ghs-common.h can only be used with Green Hills compilers! +#endif /* ! ghs */ + +#include "ace/post.h" +#endif /* ACE_GHS_COMMON_H */ diff --git a/ace/config-hpux-10.x-g++.h b/ace/config-hpux-10.x-g++.h new file mode 100644 index 00000000000..239e63e43a0 --- /dev/null +++ b/ace/config-hpux-10.x-g++.h @@ -0,0 +1,28 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for HP +// platforms running HP/UX 10.x using G++. + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +// config-g++-common.h undef's ACE_HAS_STRING_CLASS with -frepo, so +// this must appear before its #include. +#define ACE_HAS_STRING_CLASS + +#include "ace/config-g++-common.h" + +// These are apparantly some things which are special to g++ on HP? They are +// compiler-related settings, but not in config-g++-common.h + +#define ACE_HAS_BROKEN_CONVERSIONS +// Compiler supports the ssize_t typedef. +#define ACE_HAS_SSIZE_T +#define _CLOCKID_T + +#include "ace/config-hpux-10.x.h" + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-hpux-10.x-hpc++.h b/ace/config-hpux-10.x-hpc++.h new file mode 100644 index 00000000000..8b7970450b9 --- /dev/null +++ b/ace/config-hpux-10.x-hpc++.h @@ -0,0 +1,136 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for HP +// platforms running HP/UX 10.x with either of the HP C++ compilers. +// This file contains compiler-specific settings, and uses the common +// HP-UX file (config-hpux-10.x.h) for the platform information. + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +// There are 2 compiler-specific sections, plus a 3rd for common to both. +// First is the HP C++ section... +#if __cplusplus < 199707L + +// To use HP/C++ you need some patches, the following set +// +// PHSS_9855 +// PHSS_9096 +// PHSS_10261 +// PHSS_9062 +// PHSS_7505 +// PHSS_8490 +// +// worked for me (Carlos O'Ryan), but you should check by yourself. +// The most important one is PHSS_9855, but in depends on some of the +// others. + +# define ACE_HAS_BROKEN_HPUX_TEMPLATES + +// Compiler can't handle calls like foo->operator T *() +# define ACE_HAS_BROKEN_CONVERSIONS + +// Necessary with some compilers to pass ACE_TTY_IO as parameter to +// DEV_Connector. +# define ACE_NEEDS_DEV_IO_CONVERSION + +// Compiler's template mechanism must see source code (i.e., .C files). +# define ACE_TEMPLATES_REQUIRE_SOURCE + +// Compiler's template mechanism requires the use of explicit C++ +// specializations for all used templates. +# define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION + +// The HP/UX compiler doesn't support volatile!!!! +# define volatile + +#else // aC++ definitions + +// Parts of TAO (at least) use __HP_aCC to detect this compiler, but the +// macro is not set until A.01.18. If it's not set, set it - it won't be an +// HP-advertised value, but we don't check the value/version - just whether +// it's set or not. +# if !defined (__HP_aCC) +# define __HP_aCC +# endif /* __HP_aCC */ + +// Compiler doesn't support the operator placement delete. +# define ACE_LACKS_PLACEMENT_OPERATOR_DELETE + +// Precompiler needs extra flags to ignore "invalid #pragma directive" +# define ACE_CC_PREPROCESSOR_ARGS "-E +W 67" + +// Compiler supports to-be-ANSI casts +# define ACE_HAS_ANSI_CASTS + +// Compiler can't handle calls like foo->operator T *() +# define ACE_HAS_BROKEN_CONVERSIONS + +// Compiler supports C++ exception handling. However, the user can ask for this +// to be turned off. If so (using make exceptions=0) then this def is not set. +// By default, it is set in wrapper_macros.GNU. +// # define ACE_HAS_EXCEPTIONS 1 + +// Compiler enforces need for 'template<>" when specializing template +// classes. +# define ACE_HAS_STD_TEMPLATE_SPECIALIZATION + +// If the platform_macros.GNU file turned on ACE_HAS_STANDARD_CPP_LIBRARY +// then we're using the -AA option, so we have standard C++ library, +// including the standard iostreams. Else, we have the old iostreams. +# if defined (ACE_HAS_STANDARD_CPP_LIBRARY) +# define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1 +# else +# define ACE_USES_OLD_IOSTREAMS +# endif /* ACE_HAS_STANDARD_CPP_LIBRARY */ + +// Compiler enforces proper use of 'typename' +# define ACE_HAS_TYPENAME_KEYWORD + +// Compiler implements templates that support typedefs inside of classes +// used as formal arguments to a template class. +# define ACE_HAS_TEMPLATE_TYPEDEFS + +// Compiler supports the 'typename' qualifier. +# define ACE_HAS_TYPENAME_KEYWORD + +// This is legit for A.01.12 and probably at least as far back as A.01.07. +// Before that, not sure. But you shouldn't be there anyway ;-) +# define ACE_HAS_USING_KEYWORD + +// Platform lacks streambuf "linebuffered ()". +# define ACE_LACKS_LINEBUFFERED_STREAMBUF + +// Compiler's template mechanism must see source code (i.e., .C files). +# define ACE_TEMPLATES_REQUIRE_SOURCE + +// Compiler supports template specialization. +# define ACE_HAS_TEMPLATE_SPECIALIZATION + +// Compiler's runtime new throws bad_alloc on out-of-memory condition. +// If being compiled without exceptions though (+noeh), it doesn't. +# if defined (ACE_HAS_EXCEPTIONS) +# define ACE_NEW_THROWS_EXCEPTIONS +# define ACE_HAS_NEW_NOTHROW +# endif /* ACE_HAS_EXCEPTIONS */ + +#endif /* __cplusplus < 199707L */ + +// Compiler supports the ssize_t typedef. +#define ACE_HAS_SSIZE_T +#define ACE_HAS_UALARM + +#define ACE_HAS_GPERF + +// Optimize ACE_Handle_Set for select(). +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT + +// Compiler doesn't handle 'signed char' correctly (used in ace/IOStream.h) +#define ACE_LACKS_SIGNED_CHAR + +#include "ace/config-hpux-10.x.h" /* OS information */ + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-hpux-10.x.h b/ace/config-hpux-10.x.h new file mode 100644 index 00000000000..6970104f83f --- /dev/null +++ b/ace/config-hpux-10.x.h @@ -0,0 +1,252 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for HP +// platforms running HP/UX 10.x. It includes all of the ACE information +// needed for HP-UX 10.x itself. The compiler-specific information is in +// config-hpux-10.x-.h - they include this file. + +#ifndef ACE_CONFIG_H +#error "You need to use a compiler-specific .h file - they include this file" +#endif + +// Compiling for HPUX. +#if !defined (HPUX) +#define HPUX +#endif /* HPUX */ +#define HPUX_10 + +#ifndef _HPUX_SOURCE +#define _HPUX_SOURCE +#include "ace/pre.h" +#endif + +// Some things are different for 10.10 vs. 10.20 vs. 10.30 +// If the version number wasn't set up by the compiler command line, +// set up as if it was 10.20. +#if !defined (HPUX_VERS) +#define HPUX_VERS 1020 +#endif + +#if (HPUX_VERS < 1020) // 10.10 +# define ACE_HAS_BROKEN_MMAP_H +# define ACE_LACKS_T_ERRNO +# define ACE_LACKS_TIMESPEC_T +#elif (HPUX_VERS < 1030) // 10.20 + + // Platform supports reentrant functions (all the POSIX *_r functions). +# define ACE_HAS_REENTRANT_FUNCTIONS + // But this one is not like other platforms +# define ACE_CTIME_R_RETURNS_INT + // And _REENTRANT must be set, even if not using threads. +# if !defined (_REENTRANT) +# define _REENTRANT +# endif /* _REENTRANT */ + +#else // 10.30 +// Don't know yet... probably will be 10.20 but with some different thread +// settings. +#endif /* HPUX_VERS tests */ + +#include /**/ +#include /**/ /* pthread.h doesn't include this */ + +extern int h_errno; /* This isn't declared in a header file on HP-UX */ + + +//////////////////////////////////////////////////////////////////////////// +// +// General OS information - see README for more details on what they mean +// +/////////////////////////////////////////////////////////////////////////// + +// HP/UX needs to have these addresses in a special range. +#define ACE_DEFAULT_BASE_ADDR ((char *) 0x80000000) + +// Compiler/platform contains the file. +#define ACE_HAS_SYSCALL_H +// But doesn't have a prototype for syscall() +#define ACE_LACKS_SYSCALL + +// Platform supports POSIX 1.b clock_gettime () +#define ACE_HAS_CLOCK_GETTIME + +// Prototypes for both signal() and struct sigaction are consistent. +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES + +// Compiler/platform has correctly prototyped header files. +#define ACE_HAS_CPLUSPLUS_HEADERS + +// Compiler/platform has Dirent iterator functions. +#define ACE_HAS_DIRENT + +// Platform supports getpagesize() call +#define ACE_HAS_GETPAGESIZE +// But we define this just to be safe +#define ACE_PAGE_SIZE 4096 + +// Platform supports IP multicast +#define ACE_HAS_IP_MULTICAST + +// Platform supports recvmsg and sendmsg. +#define ACE_HAS_MSG + +// select's timeval arg is non-const +#define ACE_HAS_NONCONST_SELECT_TIMEVAL + +// Compiler/platform supports poll(). +#define ACE_HAS_POLL + +// Platform supports POSIX O_NONBLOCK semantics. +#define ACE_HAS_POSIX_NONBLOCK + +// Platform supports the POSIX struct timespec type +#define ACE_HAS_POSIX_TIME + +// Compiler/platform defines the sig_atomic_t typedef +#define ACE_HAS_SIG_ATOMIC_T + +// Platform supports SVR4 extended signals +#define ACE_HAS_SIGINFO_T + +// Platform doesn't detect a signal out of range unless it's way out of range. +#define ACE_HAS_SIGISMEMBER_BUG + +// Platform supports ucontext_t (which is used in the extended signal API). +#define ACE_HAS_UCONTEXT_T + +// Compiler/platform supports strerror (). +#define ACE_HAS_STRERROR + +// SunOS 4 style prototype for gettimeofday +#define ACE_HAS_SUNOS4_GETTIMEOFDAY + +// HP/UX has an undefined syscall for GETRUSAGE... +#define ACE_HAS_SYSCALL_GETRUSAGE +// Note, this only works if the flag is set above! +#define ACE_HAS_GETRUSAGE + +// Platform supports System V IPC (most versions of UNIX, but not Win32) +#define ACE_HAS_SYSV_IPC + +#define ACE_HAS_UALARM + +// Platform has XPG4 wide character support +#define ACE_HAS_XPG4_MULTIBYTE_CHAR + +// Platform lacks readers/writer locks. +#define ACE_LACKS_RWLOCK_T + +// Shared library path/search components +#define ACE_DLL_SUFFIX ".sl" +#define ACE_LD_SEARCH_PATH "SHLIB_PATH" + +////////////////////////////////////////////////////////////////////////// +// +// STREAMS information +// +////////////////////////////////////////////////////////////////////////// + +// Platform supports STREAMS +#define ACE_HAS_STREAMS +// Compiler/platform supports struct strbuf. +#define ACE_HAS_STRBUF_T +// But the putmsg signature doesn't have it as const... +#define ACE_LACKS_CONST_STRBUF_PTR + +// Platform supports STREAM pipes +// This is possible, but not by default - need to rebuild the kernel to +// get them enabled - see pipe(2) and "STREAMS/UX for the HP 9000" +// #define ACE_HAS_STREAM_PIPES + +///////////////////////////////////////////////////////////////////////// +// +// TLI information +// +//////////////////////////////////////////////////////////////////////// + +// Platform supports ACE_TLI, including SVR4 facilities. +#define ACE_HAS_TLI + +// t_error's arg is char *, not const char * +#define ACE_HAS_BROKEN_T_ERROR +// ACE_HAS_SVR4_TLI should work on HP-UX, but doesn't yet. Riverace +// problem ID P27. +//#define ACE_HAS_SVR4_TLI +// Platform supports ACE_TLI tiuser header. +#define ACE_HAS_TIUSER_H +// But it has _terrno() outside the extern "C" stuff. +#define ACE_HAS_TIUSER_H_BROKEN_EXTERN_C +// Platform provides ACE_TLI function prototypes. +#define ACE_HAS_TLI_PROTOTYPES +// Platform uses a TCP TLI device other than /dev/tcp. Uses XTI only. +#define ACE_TLI_TCP_DEVICE "/dev/inet_cots" + +///////////////////////////////////////////////////////////////////////// +// +// Threads information. +// Threads definitions are controlled by the threads setting in the +// include/makeinclude/platform_hpux_aCC.GNU file - see that for details. +// If you build with threads support, the DCE Core subset must be installed +// from the core OS CD. +// +//////////////////////////////////////////////////////////////////////// + +#ifdef ACE_HAS_THREADS +# if !defined (ACE_MT_SAFE) + #define ACE_MT_SAFE 1 +# endif + +# define ACE_HAS_PTHREADS +# define ACE_HAS_PTHREADS_DRAFT4 +// POSIX real-time semaphore definitions are in the header files, and it +// will compile and link with this in place, but will not run. HP says +// the functions are not implemented. +//# define ACE_HAS_POSIX_SEM + +# define ACE_HAS_THREAD_SPECIFIC_STORAGE + +// They forgot a const in the prototype of pthread_cond_timedwait +# define ACE_LACKS_CONST_TIMESPEC_PTR + +// Platform lacks pthread_thr_sigsetmask +# define ACE_LACKS_PTHREAD_THR_SIGSETMASK + +// Platform has no implementation of pthread_condattr_setpshared() +# define ACE_LACKS_CONDATTR_PSHARED + +// Platform lacks pthread_attr_setdetachstate() +# define ACE_LACKS_SETDETACH + +// Platform lacks pthread_attr_setscope +# define ACE_LACKS_THREAD_PROCESS_SCOPING + +// Platform lacks pthread_attr_setstackaddr +# define ACE_LACKS_THREAD_STACK_ADDR + +// If this is not turned on, the CMA wrappers will redefine a bunch of +// system calls with wrappers - one being select() and it only defines +// select with int arguments (not fd_set). So, as long as _CMA_NOWRAPPERS_ +// is set, the regular fd_set arg types are used for select(). +// Without threads being compiled in, the fd_set/int thing is not an issue. +# define _CMA_NOWRAPPERS_ + +#else +// If threading is disabled, then timespec_t does not get defined. +# ifndef ACE_LACKS_TIMESPEC_T +# define ACE_LACKS_TIMESPEC_T +# endif +#endif /* ACE_HAS_THREADS */ + +// Manually tweaking malloc paddings. +#define ACE_MALLOC_PADDING 16 +#define ACE_MALLOC_ALIGN 8 +#define ACE_CONTROL_BLOCK_ALIGN_LONGS 0 +#define ACE_PI_CONTROL_BLOCK_ALIGN_LONGS 2 + +// Turns off the tracing feature. +// To build with tracing enabled, make sure ACE_NTRACE is not defined +#if !defined (ACE_NTRACE) +#define ACE_NTRACE 1 +#include "ace/post.h" +#endif /* ACE_NTRACE */ diff --git a/ace/config-hpux-11.00.h b/ace/config-hpux-11.00.h new file mode 100644 index 00000000000..97cc1f29d18 --- /dev/null +++ b/ace/config-hpux-11.00.h @@ -0,0 +1,420 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for HP +// platforms running HP-UX 11.00 using aC++, CC, or gcc (2.95 and up). + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +#if defined (__GNUG__) + +// config-g++-common.h undef's ACE_HAS_STRING_CLASS with -frepo, so +// this must appear before its #include. +# define ACE_HAS_STRING_CLASS + +# include "ace/config-g++-common.h" + +// gcc 2.95.2 supplies the ssize_t typedef. +# define ACE_HAS_SSIZE_T + +// gcc 3.0 claims to have wide character stuff, but (at least the version +// built by HP) can't actually compile it. It refers to a wctype.h file +// that's only available with aC++. + +#else + +// The following configuration section is designed to work for HP +// platforms running HP/UX 11.x with either of the HP C++ compilers. +// There isn't a predefined macro for all cases of the compilers that +// can be used to tell them apart from other compilers (e.g. __KCC, etc.) +// only to tell C++ from aC++, using the value of __cplusplus. +// +// NOTE - HP advises people on 11.x to use aC++ since the older C++ doesn't +// support 64-bit or kernel threads. So, though this file has the C++ info +// in it, it's copied from the 10.x file and hasn't been verified. + +// There are 2 compiler-specific sections, plus a 3rd for common to both. +// First is the HP C++ section... +# if __cplusplus < 199707L + +# define ACE_HAS_BROKEN_HPUX_TEMPLATES + +// Compiler can't handle calls like foo->operator T *() +# define ACE_HAS_BROKEN_CONVERSIONS + +// Necessary with some compilers to pass ACE_TTY_IO as parameter to +// DEV_Connector. +# define ACE_NEEDS_DEV_IO_CONVERSION + +// Compiler's template mechanism must see source code (i.e., .C files). +# define ACE_TEMPLATES_REQUIRE_SOURCE + +// Compiler's template mechanism requires the use of explicit C++ +// specializations for all used templates. +# define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION + +// The HP/UX compiler doesn't support volatile!!!! +# define volatile + +# else // aC++ definitions + +// Parts of TAO (at least) use __HP_aCC to detect this compiler, but the +// macro is not set until A.03.13. If it's not set, set it - it won't be an +// HP-advertised value, but we don't check the value/version - just whether +// it's set or not. +# if !defined (__HP_aCC) +# define __HP_aCC +# endif /* __HP_aCC */ + +// Precompiler needs extra flags to ignore "invalid #pragma directive" +# define ACE_CC_PREPROCESSOR_ARGS "-E +W 67" + +// Compiler supports ANSI casts +# define ACE_HAS_ANSI_CASTS + +// Compiler can't handle calls like foo->operator T *() +# define ACE_HAS_BROKEN_CONVERSIONS + +// Compiler supports C++ exception handling. However, the user can ask for this +// to be turned off. If so (using make exceptions=0) then this def is not set. +// By default, it is set in wrapper_macros.GNU. +// # define ACE_HAS_EXCEPTIONS 1 + +// If the platform_macros.GNU file turned on ACE_HAS_STANDARD_CPP_LIBRARY +// then we're using the -AA option, so we have standard C++ library, +// including the standard iostreams. Else, we have the old iostreams. +# if defined (ACE_HAS_STANDARD_CPP_LIBRARY) +# define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1 +# else +# define ACE_USES_OLD_IOSTREAMS +# endif /* ACE_HAS_STANDARD_CPP_LIBRARY */ + +# define ACE_HAS_TYPENAME_KEYWORD + +// Compiler implements templates that support typedefs inside of classes +// used as formal arguments to a template class. +# define ACE_HAS_TEMPLATE_TYPEDEFS + +// This is legit for A.03.05 - not sure A.03.04, but it should be. +# define ACE_HAS_USING_KEYWORD + +// Platform lacks streambuf "linebuffered ()". +# define ACE_LACKS_LINEBUFFERED_STREAMBUF 1 + +// Lack of (and broken) support for placement operator delete is a known +// bug by HP, at least as of aC++ A.03.10. It may be fixed later, and if so +// this would change to be a #if against an appropriate value of __HP_aCC +# define ACE_LACKS_PLACEMENT_OPERATOR_DELETE + +// Compiler's 'new' throws exceptions on failure, regardless of whether or +// not exception handling is enabled in the compiler options. Fortunately, +// new(nothrow_t) is offered. +# define ACE_NEW_THROWS_EXCEPTIONS +# define ACE_HAS_NEW_NOTHROW + +// Compiler's template mechanism must see source code (i.e., .C files). +# define ACE_TEMPLATES_REQUIRE_SOURCE + +// Compiler supports template specialization. +# define ACE_HAS_TEMPLATE_SPECIALIZATION +// ... and uses the template<> syntax +# define ACE_HAS_STD_TEMPLATE_SPECIALIZATION +# define ACE_HAS_STD_TEMPLATE_METHOD_SPECIALIZATION + +// Preprocessor needs some help with data types +# if defined (__LP64__) +# define ACE_SIZEOF_LONG 8 +# else +# define ACE_SIZEOF_LONG 4 +# endif + +// Platform has XPG4 wide character support +# define ACE_HAS_XPG4_MULTIBYTE_CHAR +# define ACE_HAS_WCHAR + +# endif /* __cplusplus < 199707L */ + +// Compiler supports the ssize_t typedef. +# define ACE_HAS_SSIZE_T + +// Compiler doesn't handle 'signed char' correctly (used in ace/IOStream.h) +# define ACE_LACKS_SIGNED_CHAR + +#endif /* __GNUG__, HP */ + +// KCC Specific Section +#if defined(__KCC) +# include "ace/config-kcc-common.h" +# undef ACE_HAS_STD_TEMPLATE_METHOD_SPECIALIZATION +# undef ACE_CC_PREPROCESSOR_ARGS +#endif + +//********************************************************************* +// +// From here down is the compiler-INdependent OS settings. +// +//********************************************************************* + +// Compiling for HPUX. +#if !defined (HPUX) +#define HPUX +#endif /* HPUX */ +#define HPUX_11 + +#ifndef _HPUX_SOURCE +#define _HPUX_SOURCE +#endif + +#include /**/ + +//////////////////////////////////////////////////////////////////////////// +// +// General OS information - see README for more details on what they mean +// +/////////////////////////////////////////////////////////////////////////// + +// HP/UX needs to have these addresses in a special range. +// If this is on a 64-bit model, the default is to use 64-bit addressing. +// It can also be set so that the mapped region is shareable with 32-bit +// programs. To enable the 32/64 sharing, comment out the first definition +// of ACE_DEFAULT_BASE_ADDR and uncomment the two lines after it. +// Note - there's a compiler bug on aC++ A.03.04 in 64-bit mode which prevents +// these from working as-is. So, there's some hackery in Naming_Context.cpp +// and Memory_Pool.cpp which works around it. It requires the +// ACE_DEFAULT_BASE_ADDRL definition below - make sure it has the same +// value as what you use for ACE_DEFAULT_BASE_ADDR. This is allegedly fixed +// in A.03.10 on the June Applications CD. +#if defined (__LP64__) +# define ACE_DEFAULT_BASE_ADDR ((char *) 0x0000001100000000) +//# define ACE_DEFAULT_BASE_ADDR ((char *) 0x80000000) +//# define ACE_OS_EXTRA_MMAP_FLAGS MAP_ADDR32 + +# define ACE_DEFAULT_BASE_ADDRL (0x0000001100000000) +//# define ACE_DEFAULT_BASE_ADDRL (0x80000000) +#else +# define ACE_DEFAULT_BASE_ADDR ((char *) 0x80000000) +#endif /* __LP64__ */ + +// Platform can do async I/O (aio_*) +#define ACE_HAS_AIO_CALLS +// ... but seems to require this in order to keep from hanging. Needs some +// investigation, maybe with HP. John Mulhern determined this value +// empirically. YMMV. If it does vary, set it up in your own config.h which +// then includes the ACE-supplied config. +#if !defined (ACE_INFINITE) +# define ACE_INFINITE 10000000 +#endif + +// Manually tweak the malloc control block paddings to properly align +// things. +#define ACE_MALLOC_PADDING 16 +#define ACE_MALLOC_ALIGN 8 +#define ACE_PI_CONTROL_BLOCK_ALIGN_LONGS 3 + +// Compiler/platform contains the file. +#define ACE_HAS_SYSCALL_H +// But doesn't have a prototype for syscall() +#define ACE_LACKS_SYSCALL + +// Platform supports POSIX 1.b clock_gettime () +#define ACE_HAS_CLOCK_GETTIME + +// Prototypes for both signal() and struct sigaction are consistent. +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES + +// Compiler/platform has correctly prototyped header files. +#define ACE_HAS_CPLUSPLUS_HEADERS + +// Compiler/platform has Dirent iterator functions. +#define ACE_HAS_DIRENT + +// Platform supports getpagesize() call +#define ACE_HAS_GETPAGESIZE +// But we define this just to be safe +#define ACE_PAGE_SIZE 4096 + +// Can run gperf on this platform (needed for TAO) +# define ACE_HAS_GPERF + +// Optimize ACE_Handle_Set for select(). +# define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT + +// Platform supports IP multicast +#define ACE_HAS_IP_MULTICAST + +// Platform supports recvmsg and sendmsg. +#define ACE_HAS_MSG + +// Platform's select() has non-const timeval argument +#define ACE_HAS_NONCONST_SELECT_TIMEVAL + +// Compiler/platform supports poll(). +#define ACE_HAS_POLL + +// Platform supports POSIX O_NONBLOCK semantics. +#define ACE_HAS_POSIX_NONBLOCK + +// Platform supports the POSIX struct timespec type +#define ACE_HAS_POSIX_TIME + +// Platform supports reentrant functions (all the POSIX *_r functions). +#define ACE_HAS_REENTRANT_FUNCTIONS +// ctime_r and asctime_r conform to POSIX.1c (2 param version) +#define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R + +// HP-UX 11 has reentrant netdb functions. The catch is that the old +// functions (gethostbyname, etc.) are thread-safe and the _r versions are +// not used and will be removed at some point. So, define things so +// the _r versions are not used. This will slow things down a bit due to +// the extra mutex lock in the ACE_NETDBCALL_RETURN macro, and will be fixed +// in the future (problem ID P64). +#define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS + +// Platform has shm_open +#define ACE_HAS_SHM_OPEN + +// Compiler/platform defines the sig_atomic_t typedef +#define ACE_HAS_SIG_ATOMIC_T + +// Platform supports SVR4 extended signals +#define ACE_HAS_SIGINFO_T + +// Platform doesn't detect a signal out of range unless it's way out of range. +#define ACE_HAS_SIGISMEMBER_BUG + +#define ACE_HAS_UALARM + +// Platform supports ucontext_t (which is used in the extended signal API). +#define ACE_HAS_UCONTEXT_T + +// Compiler/platform supports strerror (). +#define ACE_HAS_STRERROR + +// SunOS 4 style prototype for gettimeofday +#define ACE_HAS_SUNOS4_GETTIMEOFDAY + +// Platform supports SVR4 dynamic linking semantics, in 64-bit mode only. +// When used, this requires -ldl on the ACE library link line. +#ifdef __LP64__ +#define ACE_HAS_SVR4_DYNAMIC_LINKING +#endif + +// HP/UX has an undefined syscall for GETRUSAGE... +#define ACE_HAS_SYSCALL_GETRUSAGE +// Note, this only works if the flag is set above! +#define ACE_HAS_GETRUSAGE + +// Platform has the sigwait function in a header file +#define ACE_HAS_SIGWAIT +#define ACE_HAS_SIGTIMEDWAIT + +// Platform supports System V IPC (most versions of UNIX, but not Win32) +#define ACE_HAS_SYSV_IPC + +// accept() is thread-safe +#define ACE_HAS_THREAD_SAFE_ACCEPT + +// Platform lacks a typedef for timespec_t, but has struct timespec +#define ACE_LACKS_TIMESPEC_T + +// dlopen() takes a char* instead of const char* +#define ACE_HAS_CHARPTR_DL + +// Shared library name/path components +#define ACE_DLL_SUFFIX ".sl" +#if defined (__LP64__) +# define ACE_LD_SEARCH_PATH "LD_LIBRARY_PATH" +#else +# define ACE_LD_SEARCH_PATH "SHLIB_PATH" +#endif /* __LP64__ */ + +////////////////////////////////////////////////////////////////////////// +// +// STREAMS information +// +////////////////////////////////////////////////////////////////////////// + +// Platform supports STREAMS +#define ACE_HAS_STREAMS +// Compiler/platform supports struct strbuf. +#define ACE_HAS_STRBUF_T +// But the putmsg signature doesn't have it as const... +// Well, it really does, but it depends on preprocessor defines. +#define ACE_LACKS_CONST_STRBUF_PTR + +// Platform supports STREAM pipes +// This is possible, but not by default - need to rebuild the kernel to +// get them enabled - see pipe(2) and "STREAMS/UX for the HP 9000" +// #define ACE_HAS_STREAM_PIPES + +///////////////////////////////////////////////////////////////////////// +// +// TLI/XTI information +// +//////////////////////////////////////////////////////////////////////// + +// Platform supports XTI (includes TLI), including SVR4 facilities. +#define ACE_HAS_TLI +// ACE_HAS_SVR4_TLI should work on HP-UX, but doesn't yet. Riverace +// problem ID P27. +//#define ACE_HAS_SVR4_TLI +// Platform uses , not tiuser.h +#define ACE_HAS_XTI +// But it has _terrno() outside the extern "C" stuff. +#define ACE_HAS_TIUSER_H_BROKEN_EXTERN_C +// Platform provides ACE_TLI function prototypes. +#define ACE_HAS_TLI_PROTOTYPES +// HP-UX 11.00 (at least at initial releases) has some busted macro defs +#define ACE_HAS_BROKEN_XTI_MACROS +// HP-UX 11 conforms to the XPG4 spec, which ACE calls broken for the +// errmsg not being const... +#define ACE_HAS_BROKEN_T_ERROR +// The definitions of TCP_NODELAY and TCP_MAXSEG conflict between +// sys/xti.h and netinet/tcp.h. +#define ACE_HAS_CONFLICTING_XTI_MACROS + +///////////////////////////////////////////////////////////////////////// +// +// Threads information. +// +// Use of threads is controlled by the 'threads' argument to make. See +// include/makeinclude/platform_hpux_aCC.GNU for details. If it's not set, +// the default is to enable it, since kernel threads are always available +// on HP-UX 11, as opposed to 10.x where it was optional software. +// +//////////////////////////////////////////////////////////////////////// + +#if defined (ACE_HAS_THREADS) +# if (ACE_HAS_THREADS == 0) +# undef ACE_HAS_THREADS +# endif /* ACE_HAS_THREADS == 0 */ +#else +# define ACE_HAS_THREADS +#endif /* ACE_HAS_THREADS */ + +#if defined (ACE_HAS_THREADS) + +# if !defined (ACE_MT_SAFE) +# define ACE_MT_SAFE 1 +# endif + +# define ACE_HAS_PTHREADS +# define ACE_HAS_PTHREADS_STD +# define ACE_HAS_PTHREADS_UNIX98_EXT + +# define ACE_HAS_THREAD_SPECIFIC_STORAGE +#endif /* ACE_HAS_THREADS */ + +#define ACE_HAS_POSIX_SEM +#define ACE_HAS_TERM_IOCTLS + +// Turns off the tracing feature. +// To build with tracing enabled, make sure ACE_NTRACE is not defined +#if !defined (ACE_NTRACE) +#define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-hpux11.h b/ace/config-hpux11.h new file mode 100644 index 00000000000..992b96d1eb5 --- /dev/null +++ b/ace/config-hpux11.h @@ -0,0 +1,250 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for HP +// platforms running HP/UX 11.x. It includes all of the ACE information +// needed for HP-UX 11.x itself. The compiler-specific information is in +// config-hpux-11.x-.h - they include this file. + +#ifndef ACE_CONFIG_H +#error "You need to use a compiler-specific .h file - they include this file" +#endif + +// Compiling for HPUX. +#if !defined (HPUX) +#define HPUX +#endif /* HPUX */ +#define HPUX_11 + +#ifndef _HPUX_SOURCE +#define _HPUX_SOURCE +#include "ace/pre.h" +#endif + +#include /**/ + +//////////////////////////////////////////////////////////////////////////// +// +// General OS information - see README for more details on what they mean +// +/////////////////////////////////////////////////////////////////////////// + +// HP/UX needs to have these addresses in a special range. +// If this is on a 64-bit model, the default is to use 64-bit addressing. +// It can also be set so that the mapped region is shareable with 32-bit +// programs. To enable the 32/64 sharing, comment out the first definition +// of ACE_DEFAULT_BASE_ADDR and uncomment the two lines after it. +// Note - there's a compiler bug on aC++ A.03.04 in 64-bit mode which prevents +// these from working as-is. So, there's some hackery in Naming_Context.cpp +// and Memory_Pool.cpp which works around it. It requires the +// ACE_DEFAULT_BASE_ADDRL definition below - make sure it has the same +// value as what you use for ACE_DEFAULT_BASE_ADDR. This is allegedly fixed +// in A.03.10 on the June Applications CD. +#if defined (__LP64__) +# define ACE_DEFAULT_BASE_ADDR ((char *) 0x0000001100000000) +//# define ACE_DEFAULT_BASE_ADDR ((char *) 0x80000000) +//# define ACE_OS_EXTRA_MMAP_FLAGS MAP_ADDR32 + +# define ACE_DEFAULT_BASE_ADDRL (0x0000001100000000) +//# define ACE_DEFAULT_BASE_ADDRL (0x80000000) +#else +# define ACE_DEFAULT_BASE_ADDR ((char *) 0x80000000) +#endif /* __LP64__ */ + +// Platform can do async I/O (aio_*) +#define ACE_HAS_AIO_CALLS +// ... but seems to require this in order to keep from hanging. Needs some +// investigation, maybe with HP. John Mulhern determined this value +// empirically. YMMV. If it does vary, set it up in your own config.h which +// then includes the ACE-supplied config. +#if !defined (ACE_INFINITE) +# define ACE_INFINITE 10000000 +#endif + +// Compiler/platform contains the file. +#define ACE_HAS_SYSCALL_H +// But doesn't have a prototype for syscall() +#define ACE_LACKS_SYSCALL + +// Platform supports POSIX 1.b clock_gettime () +#define ACE_HAS_CLOCK_GETTIME + +// Prototypes for both signal() and struct sigaction are consistent. +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES + +// Compiler/platform has correctly prototyped header files. +#define ACE_HAS_CPLUSPLUS_HEADERS + +// Compiler/platform has Dirent iterator functions. +#define ACE_HAS_DIRENT + +// Platform supports getpagesize() call +#define ACE_HAS_GETPAGESIZE +// But we define this just to be safe +#define ACE_PAGE_SIZE 4096 + +// Platform supports IP multicast +#define ACE_HAS_IP_MULTICAST + +// Platform supports recvmsg and sendmsg. +#define ACE_HAS_MSG + +// Platform's select() has non-const timeval argument +#define ACE_HAS_NONCONST_SELECT_TIMEVAL + +// Compiler/platform supports poll(). +#define ACE_HAS_POLL + +// Platform supports POSIX O_NONBLOCK semantics. +#define ACE_HAS_POSIX_NONBLOCK + +// Platform supports the POSIX struct timespec type +#define ACE_HAS_POSIX_TIME + +// Platform supports reentrant functions (all the POSIX *_r functions). +#define ACE_HAS_REENTRANT_FUNCTIONS + +// HP-UX 11 has reentrant netdb functions. The catch is that the old +// functions (gethostbyname, etc.) are thread-safe and the _r versions are +// not used and will be removed at some point. So, define things so +// the _r versions are not used. This will slow things down a bit due to +// the extra mutex lock in the ACE_NETDBCALL_RETURN macro, and will be fixed +// in the future (problem ID P64). +#define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS + +// Compiler/platform defines the sig_atomic_t typedef +#define ACE_HAS_SIG_ATOMIC_T + +// Platform supports SVR4 extended signals +#define ACE_HAS_SIGINFO_T + +// Platform doesn't detect a signal out of range unless it's way out of range. +#define ACE_HAS_SIGISMEMBER_BUG + +#define ACE_HAS_UALARM + +// Platform supports ucontext_t (which is used in the extended signal API). +#define ACE_HAS_UCONTEXT_T + +// Compiler/platform supports strerror (). +#define ACE_HAS_STRERROR + +// SunOS 4 style prototype for gettimeofday +#define ACE_HAS_SUNOS4_GETTIMEOFDAY + +// Platform supports SVR4 dynamic linking semantics, in 64-bit mode only. +// When used, this requires -ldl on the ACE library link line. +#ifdef __LP64__ +#define ACE_HAS_SVR4_DYNAMIC_LINKING +#endif + +// HP/UX has an undefined syscall for GETRUSAGE... +#define ACE_HAS_SYSCALL_GETRUSAGE +// Note, this only works if the flag is set above! +#define ACE_HAS_GETRUSAGE + +// Platform has the sigwait function in a header file +#define ACE_HAS_SIGWAIT + +// Platform supports System V IPC (most versions of UNIX, but not Win32) +#define ACE_HAS_SYSV_IPC + +// accept() is thread-safe +#define ACE_HAS_THREAD_SAFE_ACCEPT + +// Platform has XPG4 wide character support +#define ACE_HAS_XPG4_MULTIBYTE_CHAR + +// Platform lacks a typedef for timespec_t, but has struct timespec +#define ACE_LACKS_TIMESPEC_T + +// Shared library name/path components +#define ACE_DLL_SUFFIX ".sl" +#if defined (__LP64__) +# define ACE_LD_SEARCH_PATH "LD_LIBRARY_PATH" +#else +# define ACE_LD_SEARCH_PATH "SHLIB_PATH" +#endif /* __LP64__ */ + +////////////////////////////////////////////////////////////////////////// +// +// STREAMS information +// +////////////////////////////////////////////////////////////////////////// + +// Platform supports STREAMS +#define ACE_HAS_STREAMS +// Compiler/platform supports struct strbuf. +#define ACE_HAS_STRBUF_T +// But the putmsg signature doesn't have it as const... +// Well, it really does, but it depends on preprocessor defines. +#define ACE_LACKS_CONST_STRBUF_PTR + +// Platform supports STREAM pipes +// This is possible, but not by default - need to rebuild the kernel to +// get them enabled - see pipe(2) and "STREAMS/UX for the HP 9000" +// #define ACE_HAS_STREAM_PIPES + +///////////////////////////////////////////////////////////////////////// +// +// TLI/XTI information +// +//////////////////////////////////////////////////////////////////////// + +// Platform supports XTI (includes TLI), including SVR4 facilities. +#define ACE_HAS_TLI +// ACE_HAS_SVR4_TLI should work on HP-UX, but doesn't yet. Riverace +// problem ID P27. +//#define ACE_HAS_SVR4_TLI +// Platform uses , not tiuser.h +#define ACE_HAS_XTI +// But it has _terrno() outside the extern "C" stuff. +#define ACE_HAS_TIUSER_H_BROKEN_EXTERN_C +// Platform provides ACE_TLI function prototypes. +#define ACE_HAS_TLI_PROTOTYPES +// HP-UX 11.00 (at least at initial releases) has some busted macro defs +#define ACE_HAS_BROKEN_XTI_MACROS +// HP-UX 11 conforms to the XPG4 spec, which ACE calls broken for the +// errmsg not being const... +#define ACE_HAS_BROKEN_T_ERROR + +///////////////////////////////////////////////////////////////////////// +// +// Threads information. +// +// Use of threads is controlled by the 'threads' argument to make. See +// include/makeinclude/platform_hpux_aCC.GNU for details. If it's not set, +// the default is to enable it, since kernel threads are always available +// on HP-UX 11, as opposed to 10.x where it was optional software. +// +//////////////////////////////////////////////////////////////////////// + +#if defined (ACE_HAS_THREADS) +# if (ACE_HAS_THREADS == 0) +# undef ACE_HAS_THREADS +# endif /* ACE_HAS_THREADS == 0 */ +#else +# define ACE_HAS_THREADS +#endif /* ACE_HAS_THREADS */ + +#if defined (ACE_HAS_THREADS) + +# if !defined (ACE_MT_SAFE) +# define ACE_MT_SAFE 1 +# endif + +# define ACE_HAS_PTHREADS +# define ACE_HAS_PTHREADS_STD +# define ACE_HAS_PTHREADS_UNIX98_EXT + +# define ACE_HAS_THREAD_SPECIFIC_STORAGE +#endif /* ACE_HAS_THREADS */ + +#define ACE_HAS_POSIX_SEM + +// Turns off the tracing feature. +// To build with tracing enabled, make sure ACE_NTRACE is not defined +#if !defined (ACE_NTRACE) +#define ACE_NTRACE 1 +#include "ace/post.h" +#endif /* ACE_NTRACE */ diff --git a/ace/config-irix5.2.h b/ace/config-irix5.2.h new file mode 100644 index 00000000000..35098a8170c --- /dev/null +++ b/ace/config-irix5.2.h @@ -0,0 +1,69 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for the SGI +// Indigo2EX running Irix 5.2 platform using the gcc v2.6.x compiler +// and libg++ v2.6.x. + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +// 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 + +// Platform supports getpagesize() call. +#define ACE_HAS_GETPAGESIZE +// Optimize ACE_Handle_Set for select(). +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT + +#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 + +// Compiler/platform contains the file. +#define ACE_HAS_SYSCALL_H + +// Platform supports recvmsg and sendmsg. +#define ACE_HAS_MSG + +#define ACE_SIZEOF_LONG_DOUBLE 8 + +#define IRIX5 +#define ACE_HAS_ALLOCA +// Compiler/platform has +#define ACE_HAS_ALLOCA_H +#define ACE_HAS_BSTRING +#define ACE_HAS_GETRUSAGE +#define ACE_HAS_POSIX_NONBLOCK +#define ACE_HAS_POSIX_TIME +#define ACE_HAS_CPLUSPLUS_HEADERS +#define ACE_HAS_POLL +#define ACE_HAS_PROC_FS +#define ACE_HAS_SIG_ATOMIC_T +#define ACE_HAS_SIGINFO_T +#define ACE_HAS_UCONTEXT_T +#define ACE_HAS_STREAMS +#define ACE_HAS_SSIZE_T +#define ACE_HAS_STRERROR +#define ACE_HAS_STRBUF_T +#define ACE_HAS_SVR4_DYNAMIC_LINKING +#define ACE_HAS_SVR4_SIGNAL_T +#define ACE_HAS_SYS_SIGLIST +#define ACE_HAS_SYS_FILIO_H +#define ACE_HAS_SEMUN +#define ACE_NEEDS_DEV_IO_CONVERSION + +// Turns off the tracing feature. +#if !defined (ACE_NTRACE) +# define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-irix5.3-g++.h b/ace/config-irix5.3-g++.h new file mode 100644 index 00000000000..554167e9ec3 --- /dev/null +++ b/ace/config-irix5.3-g++.h @@ -0,0 +1,120 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for the SGI +// Indigo2EX running Irix 5.3 platform using the GNU C++ Compiler + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +// config-g++-common.h undef's ACE_HAS_STRING_CLASS with -frepo, so +// this must appear before its #include. +#define ACE_HAS_STRING_CLASS + +#include "ace/config-g++-common.h" + +#define ACE_SIZEOF_LONG_DOUBLE 8 + +#define ACE_LACKS_SYSTIME_H +// Platform supports getpagesize() call. +#define ACE_HAS_GETPAGESIZE +#define IRIX5 +#define ACE_HAS_SIGWAIT +#define ACE_HAS_DIRENT + +// 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 file. +#define ACE_HAS_SYSCALL_H + +// Compiler/platform supports alloca() +#define ACE_HAS_ALLOCA + +// Compiler/platform has +#define ACE_HAS_ALLOCA_H + +// IRIX5 needs to define bzero() in this odd file +#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 + +// Compiler/platform has correctly prototyped header files. +#define ACE_HAS_CPLUSPLUS_HEADERS + +// Platform contains . +#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 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 + +// Turns off the tracing feature. +#if !defined (ACE_NTRACE) +# define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-irix5.3-sgic++.h b/ace/config-irix5.3-sgic++.h new file mode 100644 index 00000000000..269bab43bb6 --- /dev/null +++ b/ace/config-irix5.3-sgic++.h @@ -0,0 +1,123 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work +// for the SGI Indigo2EX running Irix 5.3 platform using +// the SGI C++ Compiler. + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +#define IRIX5 + +#include +#define _BSD_TYPES + +#define ACE_SIZEOF_LONG_DOUBLE 8 + +#define ACE_LACKS_SYSTIME_H +// Optimize ACE_Handle_Set for select(). +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT + +// Platform supports getpagesize() call. +#define ACE_HAS_GETPAGESIZE + +#define ACE_LACKS_SYSTIME_H +#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 file. +#define ACE_HAS_SYSCALL_H + +// Compiler/platform supports alloca() +#define ACE_HAS_ALLOCA + +// Compiler/platform has +#define ACE_HAS_ALLOCA_H + +// IRIX5 needs to define bzero() in this odd file +#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 + +// Compiler/platform has correctly prototyped header files. +#define ACE_HAS_CPLUSPLUS_HEADERS + +// Platform contains . +#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 +#define ACE_LACKS_UCONTEXT_H + +// 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 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 + +#define ACE_NEEDS_DEV_IO_CONVERSION + +// Turns off the tracing feature. +#if !defined (ACE_NTRACE) +# define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-irix6.5.x-sgic++.h b/ace/config-irix6.5.x-sgic++.h new file mode 100644 index 00000000000..a2f0f328b0a --- /dev/null +++ b/ace/config-irix6.5.x-sgic++.h @@ -0,0 +1,18 @@ +// -*- C++ -*- +// $Id$ + +// Use this file for IRIX 6.5.x + +#ifndef ACE_CONFIG_IRIX65X_H +#define ACE_CONFIG_IRIX65X_H +#include "ace/pre.h" + +// Include IRIX 6.[234] configuration +#include "ace/config-irix6.x-sgic++.h" + +// Irix 6.5 man pages show that they exist +#undef ACE_LACKS_CONDATTR_PSHARED +#undef ACE_LACKS_MUTEXATTR_PSHARED + +#include "ace/post.h" +#endif /* ACE_CONFIG_IRIX65X_H */ diff --git a/ace/config-irix6.x-common.h b/ace/config-irix6.x-common.h new file mode 100644 index 00000000000..aa4e58d496f --- /dev/null +++ b/ace/config-irix6.x-common.h @@ -0,0 +1,169 @@ +/* -*- 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 for figuring it out. +#if defined (_MIPS_SIM) /* 6.X System */ +# include +# if defined (__GNUC__) /* GNU Compiler reports long doubles as 8 bytes */ +# define ACE_SIZEOF_LONG_DOUBLE 8 +# elif 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 (_MIPS_SIM_ABI64) && (_MIPS_SIM == _MIPS_SIM_ABI64) +# define ACE_SIZEOF_LONG_DOUBLE 16 +# 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 +#define ACE_HAS_SIGTIMEDWAIT +#define ACE_HAS_SIGSUSPEND + +// 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 file. +#define ACE_HAS_SYSCALL_H + +// Compiler/platform supports alloca() +#define ACE_HAS_ALLOCA + +// Compiler/platform has +#define ACE_HAS_ALLOCA_H + +// Irix needs to define bzero() in this odd file +#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 . +#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 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 + +#define ACE_HAS_STRPTIME + +//************************************************************** +// Not so sure how next lines should look like + +// Platform supports POSIX timers via timestruc_t. +#define ACE_HAS_POSIX_TIME +#define ACE_LACKS_SYSTIME_H + +//************************************************************** + +// IRIX 6.4 and below do not support reentrant netdb functions +// (getprotobyname_r, getprotobynumber_r, gethostbyaddr_r, +// gethostbyname_r, getservbyname_r). +#if ACE_IRIX_VERS <= 64 && !defined (ACE_HAS_NETDB_REENTRANT_FUNCTIONS) +#define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS +#endif /* ACE_HAS_NETDB_REENTRANT_FUNCTIONS */ + +#define ACE_HAS_DIRENT +// Unless the thread enabled version is used the readdir_r interface +// does not get defined in IRIX 6.2 +#define ACE_LACKS_READDIR_R +#define ACE_LACKS_RWLOCK_T + +#define ACE_HAS_GPERF + +#define ACE_HAS_NONCONST_SELECT_TIMEVAL +#define ACE_HAS_BROKEN_DGRAM_SENDV + +// Turns off the tracing feature. +#if !defined (ACE_NTRACE) +# define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +#define ACE_LACKS_PLACEMENT_OPERATOR_DELETE +#define ACE_PI_CONTROL_BLOCK_ALIGN_LONGS 2 + +// Enables use of POSIX termios struct +#define ACE_USES_NEW_TERMIOS + +#endif /* ACE_CONFIG_IRIX6X_COMMON_H */ diff --git a/ace/config-irix6.x-g++.h b/ace/config-irix6.x-g++.h new file mode 100644 index 00000000000..1317197244e --- /dev/null +++ b/ace/config-irix6.x-g++.h @@ -0,0 +1,54 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for the SGI +// Indigo2EX running Irix 6.2 platform using the GNU C++ Compiler + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +// config-g++-common.h undef's ACE_HAS_STRING_CLASS with -frepo, so +// this must appear before its #include. +#define ACE_HAS_STRING_CLASS + +#include "ace/config-g++-common.h" + +// Platform supports the very odd IRIX 6.2 threads... +#define ACE_HAS_THREADS +#if !defined (ACE_MT_SAFE) +# define ACE_MT_SAFE 1 +#endif /* !ACE_MT_SAFE */ +#define ACE_HAS_IRIX62_THREADS + +// IRIX 6.2 supports a variant of POSIX Pthreads, supposedly POSIX 1c +#define ACE_HAS_PTHREADS +#define ACE_HAS_PTHREADS_STD + +#include "ace/config-irix6.x-common.h" + +// Needed for the threading stuff? +#include /**/ +#include /**/ + +#define PTHREAD_MIN_PRIORITY PX_PRIO_MIN +#define PTHREAD_MAX_PRIORITY PX_PRIO_MAX + +// Compiler/platform has thread-specific storage +#define ACE_HAS_THREAD_SPECIFIC_STORAGE + +#define IRIX6 + +// Denotes that GNU has cstring.h as standard +// which redefines memchr() +#define ACE_HAS_GNU_CSTRING_H + +// Compiler/platform supports SVR4 signal typedef. +#define ACE_HAS_IRIX_53_SIGNALS + +// Compiler/platform supports sys_siglist array. +//#define ACE_HAS_SYS_SIGLIST + + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-irix6.x-kcc.h b/ace/config-irix6.x-kcc.h new file mode 100644 index 00000000000..5b1ba941c69 --- /dev/null +++ b/ace/config-irix6.x-kcc.h @@ -0,0 +1,68 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for the SGI +// Indigo2EX running Irix 6.5 platform using the KAI C++ compiler. + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +#include "ace/config-kcc-common.h" + + +// Platform supports the very odd IRIX 6.2 threads... +#define ACE_HAS_THREADS +#if !defined (ACE_MT_SAFE) +# define ACE_MT_SAFE 1 +#endif /* !ACE_MT_SAFE */ +#define ACE_HAS_IRIX62_THREADS + +// IRIX 6.2 supports a variant of POSIX Pthreads, supposedly POSIX 1c +#define ACE_HAS_PTHREADS +#define ACE_HAS_PTHREADS_STD + +#include "ace/config-irix6.x-common.h" + +// Needed for the threading stuff? +#include /**/ +#include /**/ + +#define PTHREAD_MIN_PRIORITY PX_PRIO_MIN +#define PTHREAD_MAX_PRIORITY PX_PRIO_MAX + +// Compiler/platform has thread-specific storage +#define ACE_HAS_THREAD_SPECIFIC_STORAGE + +// The pthread_cond_timedwait call does not reset the timer. +#define ACE_LACKS_COND_TIMEDWAIT_RESET 1 + +#define ACE_HAS_STRING_CLASS +#ifndef IRIX6 +# define IRIX6 +#endif + +// Denotes that GNU has cstring.h as standard +// which redefines memchr() +#define ACE_HAS_GNU_CSTRING_H + +// Compiler/platform supports SVR4 signal typedef. +#define ACE_HAS_IRIX_53_SIGNALS + +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES + +// Compiler/platform supports sys_siglist array. +//#define ACE_HAS_SYS_SIGLIST + +// This gets defined in config-irix6.x-common.h, but kcc does support this. +#undef ACE_LACKS_PLACEMENT_OPERATOR_DELETE + +// Shift this --- otherwise, it lands on top of libKCC. +#define ACE_DEFAULT_BASE_ADDR ((char*) 0x0500000) + +// kcc 4.0d miscompiles memchr_emulation on irix at +K3 optimization. +// So just use the library version instead. +#define ACE_HAS_MEMCHR + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-irix6.x-sgic++-nothreads.h b/ace/config-irix6.x-sgic++-nothreads.h new file mode 100644 index 00000000000..bc4740e96d4 --- /dev/null +++ b/ace/config-irix6.x-sgic++-nothreads.h @@ -0,0 +1,95 @@ +/* -*- C++ -*- */ +// $Id$ + +// This is the config file for IRIX 6.2, 6.4 and hopefully 6.3, using +// the SGI C++ compiler (7.1 or higher). + +// For IRIX 6.2 there are several patches that should be applied to +// get reliable operation with multi-threading and exceptions. +// Specifically you should get a reasonable current IRIX, Compiler +// and POSIX patch-sets. + +// For IRIX 6.[34] it's less critical, but it's still recommended +// that you apply the applicable patch-sets (IRIX and Compiler I believe). + +// These patches are updated frequently, so you should ask your support +// contact or search SGI's web site (http://www.sgi.com) for the latest +// version. + +// Since this files gets included from config-irix6.x-sgic++.h we +// cannot use ACE_CONFIG_H here. +#ifndef ACE_CONFIG_IRIX6X_NTHR_H +#define ACE_CONFIG_IRIX6X_NTHR_H +#include "ace/pre.h" + +// Include this file to set the _MIPS_SIM*ABI* macros. +#include /**/ +#include "ace/config-irix6.x-common.h" + +#define ACE_HAS_SGIDLADD +#define ACE_HAS_P_READ_WRITE +#define ACE_LACKS_LINEBUFFERED_STREAMBUF +#define ACE_HAS_SETOWN +#define ACE_HAS_SYSENT_H +#define ACE_HAS_SYSINFO +#define ACE_HAS_UALARM + +// Platform has support for multi-byte character support compliant +// with the XPG4 Worldwide Portability Interface wide-character +// classification. +#define ACE_HAS_XPG4_MULTIBYTE_CHAR + +// We need to setup a very high address or Naming_Test won't run. +#define ACE_DEFAULT_BASE_ADDR ((char *) (1024U * 1024 * 1024)) + +#define ACE_LACKS_SIGNED_CHAR + +// Platform supports reentrant functions (i.e., all the POSIX *_r +// functions). +#define ACE_HAS_REENTRANT_FUNCTIONS + +// Optimize ACE_Handle_Set for select(). +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT + +// Platform has terminal ioctl flags like TCGETS and TCSETS. +#define ACE_HAS_TERM_IOCTLS + +// Platform does not support reentrant password file accessor functiions. +#define ACE_LACKS_PWD_REENTRANT_FUNCTIONS + +// uses ctime_r & asctime_r with only two parameters vs. three +#define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R + +// Prototypes for both signal() and struct sigaction are consistent. +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES + + +// The following three should be enabled/disabled together. +#if _COMPILER_VERSION >= 720 +#define ACE_HAS_TEMPLATE_SPECIALIZATION +#define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION +#define ACE_HAS_USING_KEYWORD +# ifdef _STANDARD_C_PLUS_PLUS +# define ACE_HAS_STD_TEMPLATE_SPECIALIZATION +# define ACE_HAS_TYPENAME_KEYWORD +# endif /* _STANDARD_C_PLUS_PLUS */ +#else +#define ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA +#endif /* _COMPILER_VERSION >= 720 */ +#define ACE_TEMPLATES_REQUIRE_SOURCE +#define ACE_NEEDS_FUNC_DEFINITIONS + +// 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 + +#if defined (_COMPILER_VERSION) +# define ACE_CC_NAME "SGI/MIPSPro" +# define ACE_CC_MAJOR_VERSION (_COMPILER_VERSION / 100) +# define ACE_CC_MINOR_VERSION (_COMPILER_VERSION % 100) +# define ACE_CC_BETA_VERSION (0) +#endif /* _COMPILER_VERSION */ + +#include "ace/post.h" +#endif /* ACE_CONFIG_IRIX6X_NTHR_H */ diff --git a/ace/config-irix6.x-sgic++.h b/ace/config-irix6.x-sgic++.h new file mode 100644 index 00000000000..06001f1ca2f --- /dev/null +++ b/ace/config-irix6.x-sgic++.h @@ -0,0 +1,59 @@ +/* -*- C++ -*- */ +// $Id$ + +// Use this file for IRIX 6.[234] if you have the pthreads patches +// installed. + +#ifndef ACE_CONFIG_IRIX6X_H +#define ACE_CONFIG_IRIX6X_H +#include "ace/pre.h" + +// Include basic (non-threaded) configuration +#include "ace/config-irix6.x-sgic++-nothreads.h" + +#define ACE_HAS_UALARM + +// Scheduling functions are declared in +#define ACE_NEEDS_SCHED_H + +// Compile using multi-thread libraries by default +#if !defined (ACE_MT_SAFE) + #define ACE_MT_SAFE 1 +#endif /* ACE_MT_SAFE */ + +#if (ACE_MT_SAFE != 0) + +// Add threading support + +#define ACE_HAS_IRIX62_THREADS + +// Needed for the threading stuff? +#include /**/ +#define PTHREAD_MIN_PRIORITY PX_PRIO_MIN +#define PTHREAD_MAX_PRIORITY PX_PRIO_MAX + +// ACE supports threads. +#define ACE_HAS_THREADS + +// 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 + +// IRIX 6.2 supports a variant of POSIX Pthreads, supposedly POSIX 1c +#define ACE_HAS_PTHREADS +#define ACE_HAS_PTHREADS_STD + +// Compiler/platform has thread-specific storage +#define ACE_HAS_THREAD_SPECIFIC_STORAGE + +// The pthread_cond_timedwait call does not reset the timer. +#define ACE_LACKS_COND_TIMEDWAIT_RESET 1 + +// When threads are enabled READDIR_R is supported on IRIX. +#undef ACE_LACKS_READDIR_R + +#endif /* (ACE_MT_SAFE == 0) */ + +#include "ace/post.h" +#endif /* ACE_CONFIG_IRIX6X_H */ diff --git a/ace/config-kcc-common.h b/ace/config-kcc-common.h new file mode 100644 index 00000000000..3f0b9c6d00b --- /dev/null +++ b/ace/config-kcc-common.h @@ -0,0 +1,76 @@ +/* -*- C++ -*- */ +// $Id$ + +// This configuration file is designed to be included by another, +// specific configuration file. It provides config information common +// to all KAI C++ platforms (KCC version 3.3a). +// +// KAI C++ 3.2d for Linux had a known problem with being unable to call +// static object constructors and destructors within shared libraries. +// +// KAI C++ 3.3a requires glibc 2. This configuration was tested with +// egcs 1.0.2 and glibc-2.0.7-7. The KCC_BASE/bin/KCC script requires +// the following settings for i386-linux to work: +// +//case i386-linux: +// set common_na = "-Dlinux -Dunix -Di386" +// set cpp_defines = "-D__CPLUSPLUS -D__inline__=inline -D__inline=inline -D__signed__=signed" +// set c_defines = "-D__inline__= -D__inline= -D__signed__=signed" +// set knr_c_defines = "-D__inline__= -D__inline= -D__signed__=" +// set ansi_c_defines = "" +// breaksw +// + +#ifndef ACE_KCC_COMMON_H +#define ACE_KCC_COMMON_H +#include "ace/pre.h" + +#if (defined (i386) || defined (__i386__)) && !defined (ACE_SIZEOF_LONG_DOUBLE) +# define ACE_SIZEOF_LONG_DOUBLE 12 +#endif /* i386 */ + +#if defined (i386) || defined (__i386__) + // If running an Intel, assume that it's a Pentium so that + // ACE_OS::gethrtime () can use the RDTSC instruction. If + // running a 486 or lower, be sure to comment this out. + // (If not running an Intel CPU, this #define will not be seen + // because of the i386 protection, so it can be ignored.) +# define ACE_HAS_PENTIUM +#endif /* i386 */ + +// ****** Need to move this somewhere else +// #define TAO_YY_BREAK + +#define ACE_SIZEOF_LONG_LONG 8 +#define ACE_TEMPLATES_REQUIRE_SOURCE + +#define ACE_HAS_TEMPLATE_SPECIALIZATION +#define ACE_HAS_STD_TEMPLATE_SPECIALIZATION +#define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION + +// Compiler doesn't support static data member templates. +//#define ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES + +#define ACE_HAS_USING_KEYWORD + +// Define this if you want to use the standard C++ library +#define ACE_HAS_STANDARD_CPP_LIBRARY 1 +#define ACE_HAS_STRING_CLASS +#define ACE_HAS_STDCPP_STL_INCLUDES 1 +#define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1 +#define ACE_LACKS_IOSTREAM_FX 1 +#define ACE_LACKS_LINEBUFFERED_STREAMBUF 1 +#define ACE_LACKS_UNBUFFERED_STREAMBUF 1 +#define ACE_HAS_EXCEPTIONS 1 +#define ACE_HAS_CPLUSPLUS_HEADERS +#define ACE_NEW_THROWS_EXCEPTIONS + +// __KCC_VERSION is not defined before 3.4. +#if !defined (__KCC_VERSION) +#define ACE_AUTO_PTR_LACKS_RESET +#endif /* !__KCC_VERSION */ + +//#define ACE_HAS_NONSTATIC_OBJECT_MANAGER 1 + +#include "ace/post.h" +#endif /* ACE_KCC_COMMON_H */ diff --git a/ace/config-linux-common.h b/ace/config-linux-common.h new file mode 100644 index 00000000000..68f88090490 --- /dev/null +++ b/ace/config-linux-common.h @@ -0,0 +1,279 @@ +/* -*- C++ -*- */ +// $Id$ + +// Do not use this configuration file directly since it's designed to +// be included by another, specific configuration file, such as +// config-linux.h. It provides config information common to all Linux +// platforms. It automatically determines the CPU architecture, +// compiler (g++ or egcs), and libc (libc5 or glibc), and configures +// based on those. + +#ifndef ACE_LINUX_COMMON_H +#define ACE_LINUX_COMMON_H +#include "ace/pre.h" + +#define ACE_HAS_BYTESEX_H + +#if ! defined (__ACE_INLINE__) +#define __ACE_INLINE__ +#endif /* ! __ACE_INLINE__ */ + +// Needed to make some prototypes visible. +// #if ! defined (_GNU_SOURCE) +// #define _GNU_SOURCE +// #endif /* ! _GNU_SOURCE */ + +// Needed to differentiate between libc 5 and libc 6 (aka glibc). +// It's there on all libc 5 systems I checked. +#include + + +// First the machine specific part + +#if defined (__alpha) + // This is necessary on Alphas with glibc 2.0.7-13. +# define ACE_POLL_IS_BROKEN +#elif defined (__powerpc__) +# if !defined (ACE_DEFAULT_BASE_ADDR) +# define ACE_DEFAULT_BASE_ADDR ((char *) 0x40000000) +# endif /* ! ACE_DEFAULT_BASE_ADDR */ +#elif defined (__ia64) +# if !defined (ACE_DEFAULT_BASE_ADDR) +# define ACE_DEFAULT_BASE_ADDR ((char *) 0x8000000000000000) +# endif /* ! ACE_DEFAULT_BASE_ADDR */ +#endif /* ! __alpha && ! __powerpc__ && ! __ia64 */ + +// Then glibc/libc5 specific parts + +#if defined(__GLIBC__) +# define ACE_HAS_BROKEN_SETRLIMIT +# define ACE_HAS_RUSAGE_WHO_ENUM enum __rusage_who +# define ACE_HAS_RLIMIT_RESOURCE_ENUM enum __rlimit_resource +# define ACE_HAS_SOCKLEN_T +# define ACE_HAS_4_4BSD_SENDMSG_RECVMSG + + // To avoid the strangeness with Linux's ::select (), which modifies + // its timeout argument, use ::poll () instead. +# define ACE_HAS_POLL + +// Don't define _XOPEN_SOURCE and _XOPEN_SOURCE_EXTENDED in ACE to make +// getpgid() prototype visible. ACE shouldn't depend on feature test +// macros to make prototypes visible. +# define ACE_LACKS_GETPGID_PROTOTYPE + +// NOTE: the following defines are necessary with glibc 2.0 (0.961212-5) +// on Alpha. I assume that they're necessary on Intel as well, +// but that may depend on the version of glibc that is used. +//# define ACE_HAS_DLFCN_H_BROKEN_EXTERN_C +# define ACE_HAS_VOIDPTR_SOCKOPT +# define ACE_LACKS_SYSTIME_H + +// Don't define _POSIX_SOURCE in ACE to make strtok() prototype +// visible. ACE shouldn't depend on feature test macros to make +// prototypes visible. +# define ACE_LACKS_STRTOK_R_PROTOTYPE +// NOTE: end of glibc 2.0 (0.961212-5)-specific configuration. + +# if __GLIBC__ > 1 && __GLIBC_MINOR__ >= 1 + // These were suggested by Robert Hanzlik to get + // ACE to compile on Linux using glibc 2.1 and libg++/gcc 2.8. +# undef ACE_HAS_BYTESEX_H +# define ACE_HAS_SIGINFO_T +# define ACE_LACKS_SIGINFO_H +# define ACE_HAS_UCONTEXT_T + + // Pre-glibc (RedHat 5.2) doesn't have sigtimedwait. +# define ACE_HAS_SIGTIMEDWAIT +# endif /* __GLIBC__ 2.1+ */ +#else /* ! __GLIBC__ */ + // Fixes a problem with some non-glibc versions of Linux... +# define ACE_LACKS_MADVISE +# define ACE_LACKS_MSG_ACCRIGHTS +#endif /* ! __GLIBC__ */ + +// Don't define _LARGEFILE64_SOURCE in ACE to make llseek() or +// lseek64() prototype visible. ACE shouldn't depend on feature test +// macros to make prototypes visible. +#if __GLIBC__ > 1 +# if __GLIBC_MINOR__ == 0 +# define ACE_HAS_LLSEEK +# define ACE_LACKS_LLSEEK_PROTOTYPE +# else /* __GLIBC_MINOR__ > 0 */ +# define ACE_HAS_LSEEK64 +# define ACE_LACKS_LSEEK64_PROTOTYPE +# endif +#endif /* __GLIBC__ > 1 */ + +#if __GLIBC__ > 1 && __GLIBC_MINOR__ >= 1 +# define ACE_HAS_P_READ_WRITE +# define ACE_LACKS_PREAD_PROTOTYPE +// Use ACE's alternate cuserid() implementation since the use of the +// system cuserid() is discouraged. +# define ACE_HAS_ALT_CUSERID +#endif /* __GLIBC__ > 1 && __GLIBC_MINOR__ >= 0 */ + + +// Then the compiler specific parts + +#if defined (__GNUG__) + // config-g++-common.h undef's ACE_HAS_STRING_CLASS with -frepo, so + // this must appear before its #include. +# define ACE_HAS_STRING_CLASS +# include "ace/config-g++-common.h" +#elif defined (__KCC) +# define ACE_HAS_STRING_CLASS +# undef ACE_HAS_LLSEEK +# undef ACE_HAS_LSEEK64 +# undef ACE_LACKS_LLSEEK_PROTOTYPE +# undef ACE_LACKS_LSEEK64_PROTOTYPE +# include "ace/config-kcc-common.h" +#elif defined (__DECCXX) +# define ACE_CONFIG_INCLUDE_CXX_COMMON +# include "ace/config-cxx-common.h" +#else /* ! __GNUG__ && ! __KCC && !__DECCXX */ +# error unsupported compiler in ace/config-linux-common.h +#endif /* ! __GNUG__ && ! __KCC */ + +// Completely common part :-) + +// Platform/compiler has the sigwait(2) prototype +# define ACE_HAS_SIGWAIT + +# define ACE_HAS_SIGSUSPEND + +// However, sigqueue-ing things across threads does not work (at least +// prior to the 2.4 kernel) so unless the user has specifically requested +// the POSIX_SIG_PROACTOR, use the AIOCB version to avoid this problem. +# if !defined (ACE_POSIX_SIG_PROACTOR) +# define ACE_POSIX_AIOCB_PROACTOR +# endif /* ACE_POSIX_SIG_PROACTOR */ + +// Some misc wide character stuff +# define ACE_LACKS_WCSDUP_PROTOTYPE + +// Linux has wcstok, but not the kind we are looking for. +# define ACE_LACKS_WCSTOK + +#define ACE_LACKS_ITOW +#define ACE_LACKS_WCSICMP +#define ACE_LACKS_WCSNICMP + +#if !defined (ACE_DEFAULT_BASE_ADDR) +# define ACE_DEFAULT_BASE_ADDR ((char *) 0x80000000) +#endif /* ! ACE_DEFAULT_BASE_ADDR */ + +// Compiler/platform supports alloca(). +#define ACE_HAS_ALLOCA + +// Compiler/platform has +#define ACE_HAS_ALLOCA_H + +// Compiler/platform has the getrusage() system call. +#define ACE_HAS_GETRUSAGE +#define ACE_HAS_GETRUSAGE_PROTO + +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES + +// Optimize ACE_Handle_Set for select(). +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT + +// ONLY define this if you have config'd multicast into a 2.0.34 or +// prior kernel. It is enabled by default in 2.0.35 kernels. +#if !defined (ACE_HAS_IP_MULTICAST) +# define ACE_HAS_IP_MULTICAST +#endif /* ! ACE_HAS_IP_MULTICAST */ + +#define ACE_HAS_BIG_FD_SET + +// Linux defines struct msghdr in /usr/include/socket.h +#define ACE_HAS_MSG + +// Linux "improved" the interface to select() so that it modifies +// the struct timeval to reflect the amount of time not slept +// (see NOTES in Linux's select(2) man page). +#define ACE_HAS_NONCONST_SELECT_TIMEVAL + +#define ACE_HAS_TERM_IOCTLS + +#define ACE_DEFAULT_MAX_SOCKET_BUFSIZ 65535 + +#define ACE_HAS_GETPAGESIZE 1 + +#if (__GLIBC__ < 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 2) + // GLIBC 2.2 and higher doesn't need this macro any more. + // Platform lacks POSIX prototypes for certain System V functions + // like shared memory and message queues. +# define ACE_LACKS_SOME_POSIX_PROTOTYPES +#endif + +// glibc supports the mkstemp() function. +#define ACE_HAS_MKSTEMP + +// glibc requires _XOPEN_SOURCE_EXTENDED to make this prototype +// visible, so force ACE to declare one. Yuk! +#define ACE_LACKS_MKSTEMP_PROTOTYPE + +// Platform defines struct timespec but not timespec_t +#define ACE_LACKS_TIMESPEC_T + +#define ACE_LACKS_STRRECVFD + +//#define ACE_LACKS_MSYNC + +// A conflict appears when including both and +// with recent glibc headers. +//#define ACE_HAS_PROC_FS + +// Platform supports System V IPC (most versions of UNIX, but not Win32) +#define ACE_HAS_SYSV_IPC + +// Compiler/platform contains the file. +#define ACE_HAS_SYSCALL_H + +#define ACE_HAS_SUNOS4_GETTIMEOFDAY + +// Compiler/platform supports strerror (). +#define ACE_HAS_STRERROR + +#define ACE_HAS_STRPTIME +// Don't define _XOPEN_SOURCE in ACE to make strptime() prototype +// visible. ACE shouldn't depend on feature test macros to make +// prototypes visible. +#define ACE_LACKS_STRPTIME_PROTOTYPE + +// Compiler supports the ssize_t typedef. +#define ACE_HAS_SSIZE_T + +// Compiler/platform defines the sig_atomic_t typedef. +#define ACE_HAS_SIG_ATOMIC_T + +// Compiler/platform defines a union semun for SysV shared memory. +#define ACE_HAS_SEMUN + +#define ACE_HAS_POSIX_TIME + +#define ACE_HAS_GPERF + +#define ACE_HAS_DIRENT + +#if defined (__ia64) +// On 64 bit platforms, the "long" type is 64-bits. Override the +// default 32-bit platform-specific format specifiers appropriately. +# define ACE_UINT64_FORMAT_SPECIFIER ACE_LIB_TEXT ("%lu") +# define ACE_SSIZE_T_FORMAT_SPECIFIER ACE_LIB_TEXT ("%ld") +# define ACE_SIZE_T_FORMAT_SPECIFIER ACE_LIB_TEXT ("%lu") +#endif /* __ia64 */ + +// Turns off the tracing feature. +#if !defined (ACE_NTRACE) +# define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +#define ACE_SIZEOF_WCHAR 4 + +#include "ace/post.h" + +// Enables use of POSIX termios struct +#define ACE_USES_NEW_TERMIOS + +#endif /* ACE_LINUX_COMMON_H */ diff --git a/ace/config-linux.h b/ace/config-linux.h new file mode 100644 index 00000000000..ab769089e87 --- /dev/null +++ b/ace/config-linux.h @@ -0,0 +1,70 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for Linux +// platforms using GNU C++. + +#ifndef ACE_CONFIG_LINUX_H +#define ACE_CONFIG_LINUX_H +#include "ace/pre.h" + +#include "ace/config-linux-common.h" + +#define ACE_HAS_SVR4_DYNAMIC_LINKING +#define ACE_HAS_AUTOMATIC_INIT_FINI + +#if !defined (ACE_MT_SAFE) +#define ACE_MT_SAFE 1 // JCEJ 12/22/96 #1 +#endif + +#if ACE_MT_SAFE +// Yes, we do have threads. +#define ACE_HAS_THREADS +// And they're even POSIX pthreads (LinuxThreads implementation) +#define ACE_HAS_PTHREADS + +// ... and the final standard even! +#define ACE_HAS_PTHREADS_STD +#define ACE_HAS_THREAD_SPECIFIC_STORAGE // jcej 12/22/96 #2 + +#define ACE_LACKS_THREAD_STACK_ADDR // JCEJ 12/17/96 + +#define ACE_LACKS_RWLOCK_T // JCEJ 12/23/96 #1 +#define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS // JCEJ 1/7-8/96 + +#if defined(__GLIBC__) +// Platform supports reentrant functions (i.e., all the POSIX *_r +// functions). +#define ACE_HAS_REENTRANT_FUNCTIONS + +#if (__GLIBC__ < 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 1) + // Older versions of glibc lacked reentrant netdb functions +# define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS + + // glibc < 2.1 lacks pthread_attr_setstacksize() +# define ACE_LACKS_THREAD_STACK_SIZE +#endif /* (__GLIBC__ < 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 1) */ + +// uses ctime_r & asctime_r with only two parameters vs. three +#define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R +#endif + +#include /**/ + +#if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) + // glibc 2.2.x or better has pthread_mutex_timedlock() +# define ACE_HAS_MUTEX_TIMEOUTS +# if !defined (_XOPEN_SOURCE) \ + || (defined (_XOPEN_SOURCE) && (_XOPEN_SOURCE - 0) < 600) +// pthread_mutex_timedlock() prototype is not visible if _XOPEN_SOURCE +// is not >= 600 (i.e. for XPG6). +extern "C" int pthread_mutex_timedlock (pthread_mutex_t *mutex, + const struct timespec * abstime); +# endif /* _XOPEN_SOURCE && _XOPEN_SOURCE < 600 */ +#endif /* (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) */ + +#endif /* ACE_MT_SAFE */ + + +#include "ace/post.h" +#endif /* ACE_CONFIG_LINUX_H */ diff --git a/ace/config-lynxos.h b/ace/config-lynxos.h new file mode 100644 index 00000000000..e3282a40d59 --- /dev/null +++ b/ace/config-lynxos.h @@ -0,0 +1,183 @@ +// $Id$ + +// The following configuration file is designed to work for LynxOS, +// version 2.5.0 and later, using the GNU g++ compiler. + +// Note on why ACE_HAS_POSIX_SEM is not #defined: +// ACE_HAS_POSIX_SEM would cause native LynxOS mutexes and condition +// variables to be used. But, they don't appear to be intended to be +// used between processes. Without ACE_HAS_POSIX_SEM, ACE uses +// semaphores for all synchronization. Those can be used between +// processes + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +#if ! defined (__ACE_INLINE__) +# define __ACE_INLINE__ +#endif /* ! __ACE_INLINE__ */ + +#if defined (__GNUG__) +# if __GNUC_MINOR__ == 7 + +# include "ace/config-g++-common.h" + + // The g++ that's distributed with LynxOS 3.0.0 needs this. + // It won't hurt with 2.5.0. +# undef ACE_HAS_TEMPLATE_SPECIALIZATION +# elif __LYNXOS_SDK_VERSION <= 199603L + /* LynxOS <= 2.5.0 */ + // config-g++-common.h undef's ACE_HAS_STRING_CLASS with -frepo, so + // this must appear before its #include. + + // If ACE_HAS_STRING_CLASS is used with LynxOS 3.0.0, some + // executables, such as IOStream_Test, require linking with + // libg++. +# define ACE_HAS_STRING_CLASS + +# include "ace/config-g++-common.h" +# endif /* __GNUC_MINOR__ == 7 */ +#endif /* __GNUG__ */ + +#if defined (__x86__) + // PowerPC libraries don't seem to have alloca (), so only use with x86. +# define ACE_HAS_ALLOCA +# define ACE_HAS_ALLOCA_H +# define ACE_HAS_PENTIUM +#elif defined (__powerpc__) + // It looks like the default stack size is 15000. + // ACE's Recursive_Mutex_Test needs more. +# define ACE_NEEDS_HUGE_THREAD_STACKSIZE 65536 + // This doesn't work on LynxOS 3.0.0, because it resets the TimeBaseRegister. + // # define ACE_HAS_POWERPC_TIMER +#endif /* __x86__ || __powerpc__ */ + +#define ACE_DEFAULT_BASE_ADDR ((char *) 0) +#define ACE_HAS_4_4BSD_SENDMSG_RECVMSG +#define ACE_HAS_AUTOMATIC_INIT_FINI +#define ACE_HAS_BROKEN_READV +#define ACE_HAS_BROKEN_SETRLIMIT +#define ACE_HAS_BROKEN_WRITEV +#define ACE_HAS_CLOCK_GETTIME +#define ACE_HAS_CPLUSPLUS_HEADERS +#define ACE_HAS_DIRENT +#define ACE_HAS_GETRUSAGE +#define ACE_HAS_GNU_CSTRING_H +#define ACE_HAS_GPERF +#define ACE_HAS_IP_MULTICAST +#define ACE_HAS_LYNXOS_SIGNALS +#define ACE_HAS_MSG +#define ACE_HAS_NONCONST_GETBY +#define ACE_HAS_NONCONST_SELECT_TIMEVAL +#define ACE_HAS_POLL +#define ACE_HAS_POSIX_NONBLOCK +#define ACE_HAS_POSIX_TIME +#define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS +#define ACE_HAS_SEMUN +#define ACE_HAS_SHM_OPEN +#define ACE_HAS_SIGINFO_T +#define ACE_HAS_SIGWAIT +#define ACE_HAS_SIG_ATOMIC_T +#define ACE_HAS_SOCKIO_H +#define ACE_HAS_SSIZE_T +#define ACE_HAS_STRBUF_T +#define ACE_HAS_STREAMS +#define ACE_HAS_STRERROR +#define ACE_HAS_SYSV_IPC +#define ACE_HAS_SYS_SIGLIST +#define ACE_HAS_TIMEZONE_GETTIMEOFDAY +#define ACE_LACKS_CONST_TIMESPEC_PTR +#define ACE_LACKS_GETHOSTENT +#define ACE_LACKS_GETOPT_PROTO +#define ACE_LACKS_GETPGID +#define ACE_LACKS_SETPGID +#define ACE_LACKS_SETREGID +#define ACE_LACKS_SETREUID +#define ACE_LACKS_MADVISE +#define ACE_LACKS_MKTEMP +#define ACE_LACKS_RWLOCK_T +#define ACE_LACKS_SIGINFO_H +#define ACE_LACKS_SI_ADDR +#define ACE_LACKS_SOME_POSIX_PROTOTYPES +#define ACE_LACKS_STRCASECMP +#define ACE_LACKS_TIMESPEC_T +#define ACE_LACKS_UCONTEXT_H +#define ACE_LACKS_MKSTEMP +#define ACE_MALLOC_ALIGN 8 +#define ACE_HAS_TYPENAME_KEYWORD +// Don't use MAP_FIXED, at least for now. +#define ACE_MAP_FIXED 0 +// LynxOS, through 3.0.0, does not support MAP_PRIVATE, so map it to +// MAP_SHARED. +#define ACE_MAP_PRIVATE ACE_MAP_SHARED +#define ACE_PAGE_SIZE 4096 +#define ACE_POLL_IS_BROKEN + +// Compile using multi-thread libraries. +#if !defined (ACE_MT_SAFE) +# define ACE_MT_SAFE 1 +# define _REENTRANT +#endif + +#if ACE_MT_SAFE == 1 + // Platform supports threads. +# define ACE_HAS_PTHREADS +# include +# if _POSIX_VERSION >= 199506L + // LynxOS 3.1.0 or greater +# define ACE_HAS_PTHREADS_STD + // Though there's a pthread_sigmask man page, there isn't a + // declaration in a system header file. +# include + extern "C" int pthread_sigmask (int, const sigset_t *, sigset_t *); +# else /* LynxOS < 3.1.0 */ +# define ACE_HAS_PTHREADS_DRAFT4 +# define ACE_HAS_STDARG_THR_DEST + // Without TSS emulation, you'll only have 3 native TSS keys, on + // LynxOS 3.0.0/ppc. +# define ACE_HAS_TSS_EMULATION +# endif /* LynxOS < 3.1.0 */ +# define ACE_HAS_THREADS +# define ACE_HAS_THREAD_SPECIFIC_STORAGE +# define ACE_LACKS_NULL_PTHREAD_STATUS +# define ACE_LACKS_SETDETACH +# define ACE_LACKS_THREAD_PROCESS_SCOPING +# define ACE_LACKS_THREAD_STACK_ADDR + // This gets around Lynx broken macro calls resulting in "::0" +# define _POSIX_THREADS_CALLS +#endif /* ACE_MT_SAFE */ + +#define ACE_HAS_AIO_CALLS +#define ACE_POSIX_AIOCB_PROACTOR +// AIOCB Proactor works on Lynx. But it is not +// multi-threaded. +// Lynx OS 3.0.0 lacks POSIX call . So,we cannot use +// SIG Proactor also, with multiple threads. So, let us use the AIOCB +// Proactor. Once is available on Lynx, we can turn +// on SIG Proactor for this platform. +// #define ACE_POSIX_SIG_PROACTOR + +#define ACE_HAS_BROKEN_PREALLOCATED_OBJECTS_AFTER_FORK 1 + +// Turns off the tracing feature. +#if !defined (ACE_NTRACE) +# define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +// By default, don't include RCS Id strings in object code. +#if !defined (ACE_USE_RCSID) +# define ACE_USE_RCSID 0 +#endif /* ! ACE_USE_RCSID */ + +// System include files are not in sys/, this gets rid of warning. +#define __NO_INCLUDE_WARN__ + +extern "C" +{ + int getopt (int, char *const *, const char *); + int putenv (const char *); +} + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-m88k.h b/ace/config-m88k.h new file mode 100644 index 00000000000..19f5f30886c --- /dev/null +++ b/ace/config-m88k.h @@ -0,0 +1,227 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for Motorola +// 88k SVR4 platforms using pthreads from Florida State (ACE_HAS_FSU_PTHREADS). + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +#if ! defined (__ACE_INLINE__) +# define __ACE_INLINE__ +#endif /* ! __ACE_INLINE__ */ + +#if defined (__GNUG__) +# include "ace/config-g++-common.h" + // This config file has not been tested with ACE_HAS_TEMPLATE_SPECIALIZATION. + // Maybe it will work? +# undef ACE_HAS_TEMPLATE_SPECIALIZATION +#endif /* __GNUG__ */ + +#if !defined (m88k) +#define m88k +#endif + +extern "C" void pthread_init(); + +#define PTHREAD_STACK_MIN 1024 + +// Optimize ACE_Handle_Set for select(). +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT + +#if !defined (IP_ADD_MEMBERSHIP) +#define IP_ADD_MEMBERSHIP 0x13 +#endif /* m88k */ + +#if !defined (IP_DROP_MEMBERSHIP) +#define IP_DROP_MEMBERSHIP 0x14 +#endif /* m88k */ + +struct sched_param +{ + int sched_priority; + int prio; +}; + +// This seems to be necessary for m88k. +struct ip_mreq +{ + struct in_addr imr_multiaddr; // IP multicast address of the group + struct in_addr imr_interface; // local IP address of the interface +}; + +#if !defined (ACE_HAS_FSU_PTHREADS) +# define ACE_HAS_FSU_PTHREADS +#endif +#if !defined (ACE_HAS_PTHREADS_DRAFT6) +# define ACE_HAS_PTHREADS_DRAFT6 +#endif + +// Added for compilation on the m88k +#if defined (m88k) +# define ACE_LACKS_T_ERRNO +# define ACE_LACKS_MADVISE +# define ACE_HAS_GNU_CSTRING_H +#endif /* m88k */ + +// Platform supports System V IPC (most versions of UNIX, but not Win32) +#define ACE_HAS_SYSV_IPC + +// Sun has the wrong prototype for sendmsg. +#define ACE_HAS_BROKEN_SENDMSG + +// The SunOS 5.x version of rand_r is inconsistent with the header files... +#define ACE_HAS_BROKEN_RANDR + +// 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 + +// Compiler/platform contains the file. +#define ACE_HAS_SYSCALL_H + +#if !defined (ACE_HAS_FSU_PTHREADS) +// Platform supports reentrant functions (i.e., all the POSIX *_r functions). +#define ACE_HAS_REENTRANT_FUNCTIONS +#endif /* ACE_HAS_FSU_PTHREADS */ + +// 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 + +#if !defined (m88k) +// Compiler/platform supports SunOS high resolution timers. +# define ACE_HAS_HI_RES_TIMER +#endif /* m88k */ + +// Platform supports IP multicast +#define ACE_HAS_IP_MULTICAST + +// Compiler/platform supports alloca() +#define ACE_HAS_ALLOCA + +#if !defined (m88k) +// Compiler/platform has +#define ACE_HAS_ALLOCA_H +#endif /* m88k */ + +// Platform contains . +#define ACE_HAS_POLL + +// Platform supports POSIX timers via timestruc_t. +#define ACE_HAS_POSIX_TIME + +// Platform supports the /proc file system. +#define ACE_HAS_PROC_FS + +#if !defined (m88k) +// Platform supports the prusage_t struct. +#define ACE_HAS_PRUSAGE_T +#endif /* m88k */ + +// 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/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 + +// Compiler/platform supports SVR4 gettimeofday() prototype. +#define ACE_HAS_SVR4_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 + +// Platform provides header. +#define ACE_HAS_SYS_FILIO_H + +#if !defined (m88k) +// Compiler/platform supports sys_siglist array. +#define ACE_HAS_SYS_SIGLIST +#endif /* m88k */ + +/* Turn off the following five defines if you want to disable threading. */ +// Compile using multi-thread libraries. +#if !defined (ACE_MT_SAFE) +# define ACE_MT_SAFE 1 +#endif + +#define ACE_HAS_PTHREADS +#define ACE_LACKS_RWLOCK_T + +// Platform supports threads. +#define ACE_HAS_THREADS + +#if defined (ACE_HAS_FSU_PTHREADS) +#define ACE_LACKS_THREAD_STACK_ADDR +#endif /* ACE_HAS_FSU_PTHREADS */ + +// Compiler/platform has thread-specific storage +#define ACE_HAS_THREAD_SPECIFIC_STORAGE + +// Reactor detects deadlock +// #define ACE_REACTOR_HAS_DEADLOCK_DETECTION + +// 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 + +// 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 + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-macosx.h b/ace/config-macosx.h new file mode 100644 index 00000000000..19852858757 --- /dev/null +++ b/ace/config-macosx.h @@ -0,0 +1,173 @@ +/* -*- C++ -*- */ +// $Id$ + +// This configuration file is designed to work with the MacOS X operating system. + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H + +#if ! defined (__ACE_INLINE__) +#define __ACE_INLINE__ +#endif /* ! __ACE_INLINE__ */ + +#if defined (__GNUG__) +# include "ace/config-g++-common.h" +#endif /* __GNUG__ */ + +#undef ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION + +#define ACE_SIZE_T_FORMAT_SPECIFIER ACE_LIB_TEXT ("%lu") + +#if defined (ACE_HAS_PENTIUM) +# undef ACE_HAS_PENTIUM +#endif /* ACE_HAS_PENTIUM */ + +// Platform specific directives + +#define __MACOSX__ +#define ACE_HAS_MACOSX_DYLIB + +#if !defined (_THREAD_SAFE) +#define _THREAD_SAFE +#endif /* _THREAD_SAFE */ + +#define ACE_HAS_GPERF +//#define ACE_HAS_POSIX_SEM + +//#define ACE_HAS_SVR4_TLI + +#define ACE_HAS_MEMCHR + +// Compiler/platform defines the sig_atomic_t typedef. +#define ACE_HAS_SIG_ATOMIC_T + +// Compiler/platform supports SVR4 signal typedef +#define ACE_HAS_SVR4_SIGNAL_T + +//Platform/compiler has the sigwait(2) prototype +#define ACE_HAS_SIGWAIT + +//Platform supports sigsuspend() +#define ACE_HAS_SIGSUSPEND + +//Platform/compiler has macros for sig{empty,fill,add,del}set (e.g., SCO and FreeBSD) +#define ACE_HAS_SIG_MACROS + +//#define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS +#define ACE_LACKS_GETPGID +#define ACE_LACKS_RWLOCK_T + +// Optimize ACE_Handle_Set for select(). +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT + +#define ACE_HAS_NONCONST_SELECT_TIMEVAL + +//? +#define ACE_LACKS_SIGSET + +#define ACE_NEEDS_SCHED_H + +// Use of is deprecated. +#define ACE_LACKS_MALLOC_H + +#define ACE_HAS_ALT_CUSERID + +// Platform supports POSIX timers via struct timespec. +#define ACE_HAS_POSIX_TIME +#define ACE_HAS_UALARM + +// Platform defines struct timespec but not timespec_t +#define ACE_LACKS_TIMESPEC_T + +#define ACE_LACKS_STRRECVFD + +#define ACE_HAS_SIN_LEN + +#define ACE_HAS_ANSI_CASTS + +// Platform supports System V IPC (most versions of UNIX, but not Win32) +//#define ACE_HAS_SYSV_IPC + +// Compiler/platform contains the file. +#define ACE_HAS_SYSCALL_H + +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES + +// Compiler/platform supports alloca(). +#define ACE_HAS_ALLOCA + +// Compiler/platform correctly calls init()/fini() for shared libraries. +#define ACE_HAS_AUTOMATIC_INIT_FINI + +// Explicit dynamic linking permits "lazy" symbol resolution +//#define ACE_HAS_RTLD_LAZY_V + +// platform supports POSIX O_NONBLOCK semantics +#define ACE_HAS_POSIX_NONBLOCK + +// platform supports IP multicast +#define ACE_HAS_IP_MULTICAST + +// Compiler/platform has the getrusage() system call. +#define ACE_HAS_GETRUSAGE + +// Compiler/platform defines a union semun for SysV shared memory. +#define ACE_LACKS_SEMBUF_T + +// Compiler supports the ssize_t typedef. +#define ACE_HAS_SSIZE_T + +// Compiler/platform supports strerror (). +#define ACE_HAS_STRERROR + +// Compiler/platform provides the sockio.h file. +#define ACE_HAS_SOCKIO_H + +// Defines the page size of the system. +#define ACE_HAS_GETPAGESIZE + +// Platform provides header. +#define ACE_HAS_SYS_FILIO_H + +// Compiler/platform supports SVR4 gettimeofday() prototype +#define ACE_HAS_SUNOS4_GETTIMEOFDAY +#define ACE_HAS_TIMEZONE_GETTIMEOFDAY + +// Turns off the tracing feature. +#if !defined (ACE_NTRACE) +#define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +#define ACE_LACKS_SYSV_MSG_H +#define ACE_HAS_MSG +#define ACE_HAS_4_4BSD_SENDMSG_RECVMSG +#define ACE_HAS_NONCONST_MSGSND + +// Thread specific settings +// Yes, we do have threads. +#define ACE_HAS_THREADS +// And they're even POSIX pthreads +#if !defined (ACE_MT_SAFE) +# define ACE_MT_SAFE 1 +#endif /* ! ACE_MT_SAFE */ +#define ACE_HAS_PTHREADS +#define ACE_HAS_PTHREADS_STD +#define ACE_LACKS_PTHREAD_KILL +#define ACE_LACKS_PTHREAD_CANCEL +#define ACE_LACKS_PTHREAD_SIGMASK +#define ACE_LACKS_THREAD_PROCESS_SCOPING +#define ACE_LACKS_PTHREAD_THR_SIGSETMASK +#define ACE_LACKS_CONDATTR_PSHARED +#define ACE_LACKS_MUTEXATTR_PSHARED +#define ACE_HAS_THREAD_SPECIFIC_STORAGE +#define ACE_HAS_DIRENT + +#define ACE_LACKS_SETSCHED +//#define ACE_HAS_RECURSIVE_MUTEXES + +#define ACE_HAS_TERM_IOCTLS +#define ACE_USES_HIGH_BAUD_RATES +#define TCGETS TIOCGETA +#define TCSETS TIOCSETA + +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-minimal.h b/ace/config-minimal.h new file mode 100644 index 00000000000..11d66eb7b01 --- /dev/null +++ b/ace/config-minimal.h @@ -0,0 +1,39 @@ +/* -*- C++ -*- */ +// $Id$ + +// This configuration file is designed to build only the minimal +// ACE_OS adaptation layer. + +#ifndef ACE_CONFIG_MINIMAL_H +#define ACE_CONFIG_MINIMAL_H +#include "ace/pre.h" + +#define ACE_HAS_MINIMAL_ACE_OS + +// Only instantiate the ACE_OS_Object_Manager. +#define ACE_MAIN_OBJECT_MANAGER \ + ACE_OS_Object_Manager ace_os_object_manager; + +#if !defined(ACE_USE_THREAD_MANAGER_ADAPTER) + // To prevent use of ACE_Thread_Exit functions in + // ACE_Thread_Adapter::invoke (). +# define ACE_USE_THREAD_MANAGER_ADAPTER +#endif /* ! ACE_USE_THREAD_MANAGER_ADAPTER */ + +#if defined (ACE_ASSERT) +# undef ACE_ASSERT +#endif /* ACE_ASSERT */ +#define ACE_ASSERT(x) + +#if defined (ACE_DEBUG) +# undef ACE_DEBUG +#endif /* ACE_DEBUG */ +#define ACE_DEBUG(x) + +#if defined (ACE_ERROR) +# undef ACE_ERROR +#endif /* ACE_ERROR */ +#define ACE_ERROR(x) + +#include "ace/post.h" +#endif /* ACE_CONFIG_MINIMAL_H */ diff --git a/ace/config-mit-pthread.h b/ace/config-mit-pthread.h new file mode 100644 index 00000000000..03eda51c41b --- /dev/null +++ b/ace/config-mit-pthread.h @@ -0,0 +1,53 @@ +// $Id$ + +#ifndef ACE_CONFIG_MIT_PTHREAD_H +#define ACE_CONFIG_MIT_PTHREAD_H +#include "ace/pre.h" + +// Platform uses int for select() rather than fd_set. +#if !defined(ACE_HAS_SELECT_H) +#define ACE_HAS_SELECT_H +#endif + +// Threads +#define ACE_HAS_THREADS +#if !defined (ACE_MT_SAFE) + #define ACE_MT_SAFE 1 +#endif +#define ACE_HAS_THREAD_SPECIFIC_STORAGE +#define ACE_HAS_PTHREADS +#define ACE_HAS_PTHREADS_STD +#define ACE_LACKS_PTHREAD_CANCEL +#define ACE_HAS_PTHREAD_SIGMASK +#define ACE_HAS_SIGWAIT +//#define ACE_HAS_PTHREAD_YIELD_VOID_PTR +//#define ACE_HAS_PTHREAD_ATTR_INIT +//#define ACE_HAS_PTHREAD_ATTR_DESTROY +#define ACE_LACKS_THREAD_PROCESS_SCOPING +//#define ACE_LACKS_THREAD_STACK_ADDR +// If ACE doesn't compile due to the lack of these methods, please +// send email to schmidt@cs.wustl.edu reporting this. +// #define ACE_LACKS_CONDATTR_PSHARED +// #define ACE_LACKS_MUTEXATTR_PSHARED +#define ACE_LACKS_RWLOCK_T +#define ACE_LACKS_SETSCHED + +#include +#if defined(_M_UNIX) +#include +#endif + +#define ACE_LACKS_TIMEDWAIT_PROTOTYPES +#define ACE_HAS_RECV_TIMEDWAIT +#define ACE_HAS_RECVFROM_TIMEDWAIT +#define ACE_HAS_RECVMSG_TIMEDWAIT +#define ACE_HAS_SEND_TIMEDWAIT +#define ACE_HAS_SENDTO_TIMEDWAIT +#define ACE_HAS_SENDMSG_TIMEDWAIT +#define ACE_HAS_READ_TIMEDWAIT +#define ACE_HAS_READV_TIMEDWAIT +#define ACE_HAS_WRITE_TIMEDWAIT +#define ACE_HAS_WRITEV_TIMEDWAIT + +#include "ace/post.h" +#endif /* ACE_CONFIG_MIT_PTHREAD_H */ diff --git a/ace/config-mklinux.h b/ace/config-mklinux.h new file mode 100644 index 00000000000..31957b70be0 --- /dev/null +++ b/ace/config-mklinux.h @@ -0,0 +1,20 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for MkLinux +// platforms using GNU C++. + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +#include "ace/config-linux-common.h" + +#define ACE_HAS_SVR4_DYNAMIC_LINKING +#define ACE_HAS_AUTOMATIC_INIT_FINI + +#undef ACE_HAS_SOCKLEN_T +#define ACE_HAS_SIZET_SOCKET_LEN + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-mvs.h b/ace/config-mvs.h new file mode 100644 index 00000000000..51e8a86e843 --- /dev/null +++ b/ace/config-mvs.h @@ -0,0 +1,122 @@ +/* -*- C++ -*- */ +// $Id$ + +// Config file for MVS with OpenEdition + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +// The following #defines are hacks to get around things +// that seem to be missing or different in MVS land +#define MAXPATHLEN 1024 /* sys/param.h not on MVS */ +#define NSIG 44 /* missing from Signal.h */ +#define MAXHOSTNAMELEN 256 /* missing form netdb.h */ +#define howmany __howmany /* MVS uses different names than most others */ +#define fd_mask __fd_mask +#define MAXNAMLEN __DIR_NAME_MAX +#define ERRMAX __sys_nerr +#if defined (log) /* log is a macro in math.h */ +# undef log /* conflicts with log function in ACE */ +#endif /* log */ + +#define ACE_MVS + +// Preprocesor requires an extra argument +#define ACE_CC_PREPROCESSOR_ARGS "-+ -E" + +// See the README file in this directory +// for a description of the following ACE_ macros + +#if __COMPILER_VER__ >= 0x21020000 /* OS/390 r2 or higher */ +# define ACE_HAS_4_4BSD_SENDMSG_RECVMSG +# define ACE_HAS_UCONTEXT_T +#else /* __COMPILER_VER__ < 0x21020000 */ +# define ACE_LACKS_UCONTEXT_H +#endif /* __COMPILER_VER__ < 0x21020000 */ + +#if __COMPILER_VER__ < 0x22060000 /* before OS/390 r2.6 */ +# define ACE_LACKS_LONGLONG_T +#endif /* __COMPILER_VER__ < 0x22060000 */ + +#define ACE_HAS_BROKEN_CTIME +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES +#define ACE_HAS_CPLUSPLUS_HEADERS +#define ACE_HAS_DIRENT +#define ACE_HAS_EXCEPTIONS +#define ACE_HAS_GETPAGESIZE +#define ACE_HAS_GETRUSAGE +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT +#define ACE_HAS_LIMITED_RUSAGE_T +#define ACE_HAS_MSG +#define ACE_HAS_NONCONST_SELECT_TIMEVAL +#define ACE_HAS_NONSCALAR_THREAD_KEY_T +#define ACE_HAS_POLL +#define ACE_HAS_POSIX_NONBLOCK +#define ACE_HAS_POSIX_TIME +#define ACE_HAS_PTHREADS +#define ACE_HAS_PTHREADS_DRAFT6 +#define ACE_HAS_PTHREAD_CONDATTR_SETKIND_NP +#define ACE_HAS_PTHREAD_MUTEXATTR_SETKIND_NP +#define ACE_HAS_SIGINFO_T +#define ACE_HAS_SIGWAIT +#define ACE_HAS_SIG_ATOMIC_T +#define ACE_HAS_SIG_C_FUNC +#define ACE_HAS_SIN_LEN +#define ACE_HAS_SIZET_SOCKET_LEN +#define ACE_HAS_SSIZE_T +#define ACE_HAS_STRERROR +#define ACE_HAS_STRINGS +#define ACE_HAS_SYSV_IPC +#define ACE_HAS_TEMPLATE_SPECIALIZATION +#define ACE_HAS_THREADS +#define ACE_HAS_THREAD_SPECIFIC_STORAGE +#define ACE_HAS_THR_C_DEST +#define ACE_HAS_THR_C_FUNC +#define ACE_HAS_TIMEZONE_GETTIMEOFDAY +#define ACE_HAS_UALARM +#define ACE_HAS_UTIME +#define ACE_HAS_VOIDPTR_MMAP +#define ACE_HAS_VOIDPTR_SOCKOPT +#define ACE_HAS_XPG4_MULTIBYTE_CHAR + +#define ACE_LACKS_CONDATTR_PSHARED +#define ACE_LACKS_MUTEXATTR_PSHARED +#define ACE_LACKS_IOSTREAM_FX +#define ACE_LACKS_LINEBUFFERED_STREAMBUF +#define ACE_LACKS_MADVISE +#define ACE_LACKS_MALLOC_H +#define ACE_LACKS_MSGBUF_T +#define ACE_LACKS_PARAM_H +#define ACE_LACKS_PLACEMENT_OPERATOR_DELETE +#define ACE_LACKS_PTHREAD_THR_SIGSETMASK +#define ACE_LACKS_READDIR_R +#define ACE_LACKS_RWLOCK_T +#define ACE_LACKS_SETSCHED +#define ACE_LACKS_SIGINFO_H +#define ACE_LACKS_STRRECVFD +#define ACE_LACKS_SYSTIME_H +#define ACE_LACKS_SYS_NERR +#define ACE_LACKS_TCP_H +#define ACE_LACKS_THREAD_PROCESS_SCOPING +#define ACE_LACKS_THREAD_STACK_ADDR +#define ACE_LACKS_TIMESPEC_T + +#if !defined (ACE_MT_SAFE) +# define ACE_MT_SAFE 1 +#endif + +#define ACE_NEEDS_DEV_IO_CONVERSION + +#if !defined (ACE_NTRACE) +# define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +#define ACE_SIZEOF_FLOAT 4 +#define ACE_SIZEOF_DOUBLE 8 +#define ACE_SIZEOF_LONG_DOUBLE 16 + +#define ACE_TEMPLATES_REQUIRE_SOURCE + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-netbsd.h b/ace/config-netbsd.h new file mode 100644 index 00000000000..386ef450277 --- /dev/null +++ b/ace/config-netbsd.h @@ -0,0 +1,179 @@ +/* -*- C++ -*- */ +// $Id$ + +// ***** This configuration file is still under testing. ***** + +// The following configuration file is designed to work for NetBSD +// platforms using GNU g++. + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +#if ! defined (__ACE_INLINE__) +#define __ACE_INLINE__ +#endif /* ! __ACE_INLINE__ */ + +// ******************************************************** +// uncomment next line if you are using FreeBSD 2.1.x[R] +// #define FreeBSD_2_1 +// ******************************************************** +#define ACE_NETBSD + +#define ACE_SIZEOF_LONG_DOUBLE 12 + +#if defined (__GNUG__) +# include "ace/config-g++-common.h" +#endif /* __GNUG__ */ + +// #define ACE_HAS_BROKEN_NETBSD_MSYNC + +// Platform specific directives +#define ACE_LACKS_GETPGID +#define ACE_LACKS_SETPGID +#define ACE_LACKS_SETREGID +#define ACE_LACKS_SETREUID +#define ACE_LACKS_RWLOCK_T +#define ACE_HAS_SIG_MACROS +#define ACE_HAS_CHARPTR_DL +#define ACE_USES_ASM_SYMBOL_IN_DLSYM + +// NetBSD appears to have dirent support. +#define ACE_HAS_DIRENT + +// NetBSD appears to have a sigset_t type. +// #define ACE_LACKS_SIGSET + +// This is for 2.1.x only. By default, gcc defines __FreeBSD__ automatically +#if defined(FreeBSD_2_1) + +#define ACE_HAS_CPLUSPLUS_HEADERS + +// This is to fix the nested struct if_data definition on FreeBSD 2.1.x +#include +#include +struct if_data { +/* generic interface information */ + u_char ifi_type; /* ethernet, tokenring, etc */ + u_char ifi_physical; /* e.g., AUI, Thinnet, 10base-T, etc */ + u_char ifi_addrlen; /* media address length */ + u_char ifi_hdrlen; /* media header length */ + u_long ifi_mtu; /* maximum transmission unit */ + u_long ifi_metric; /* routing metric (external only) */ + u_long ifi_baudrate; /* linespeed */ +/* volatile statistics */ + u_long ifi_ipackets; /* packets received on interface */ + u_long ifi_ierrors; /* input errors on interface */ + u_long ifi_opackets; /* packets sent on interface */ + u_long ifi_oerrors; /* output errors on interface */ + u_long ifi_collisions; /* collisions on csma interfaces */ + u_long ifi_ibytes; /* total number of octets received */ + u_long ifi_obytes; /* total number of octets sent */ + u_long ifi_imcasts; /* packets received via multicast */ + u_long ifi_omcasts; /* packets sent via multicast */ + u_long ifi_iqdrops; /* dropped on input, this interface */ + u_long ifi_noproto; /* destined for unsupported protocol */ + struct timeval ifi_lastchange;/* time of last administrative ch +ange */ +} ; + +// this is a hack, but since this only occured in FreeBSD 2.1.x, +// I guess it is ok. +#define ACE_HAS_BROKEN_TIMESPEC_MEMBERS + +#endif /* defined FreeBSD_2_1 */ + +// Platform supports POSIX timers via struct timespec. +#define ACE_HAS_POSIX_TIME +#define ACE_HAS_UALARM + +// Platform defines struct timespec but not timespec_t +#define ACE_LACKS_TIMESPEC_T + +#define ACE_LACKS_SYSTIME_H + +#define ACE_LACKS_STRRECVFD + +#define ACE_HAS_SIN_LEN + +// Platform supports System V IPC (most versions of UNIX, but not Win32) +#define ACE_HAS_SYSV_IPC + +// Compiler/platform contains the file. +#define ACE_HAS_SYSCALL_H + +#if !defined(FreeBSD_2_1) +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES +#endif /* defined FreeBSD_2_1 */ + +// Compiler/platform supports SVR4 signal typedef +#define ACE_HAS_SVR4_SIGNAL_T + +// Compiler/platform supports alloca(). +#define ACE_HAS_ALLOCA + +// Compiler/platform supports SVR4 dynamic linking semantics.. +#define ACE_HAS_SVR4_DYNAMIC_LINKING + +// Compiler/platform correctly calls init()/fini() for shared libraries. +#define ACE_HAS_AUTOMATIC_INIT_FINI + +// Explicit dynamic linking permits "lazy" symbol resolution +#define ACE_HAS_RTLD_LAZY_V + +// platform supports POSIX O_NONBLOCK semantics +#define ACE_HAS_POSIX_NONBLOCK + +// platform supports IP multicast +#define ACE_HAS_IP_MULTICAST + +// Compiler/platform has +//#define ACE_HAS_ALLOCA_H + +// Compiler/platform has the getrusage() system call. +#define ACE_HAS_GETRUSAGE + +// Compiler/platform defines the sig_atomic_t typedef. +#define ACE_HAS_SIG_ATOMIC_T + +// Compiler/platform supports sys_siglist array. +// *** This refers to (_sys_siglist) instead of (sys_siglist) +// #define ACE_HAS_SYS_SIGLIST + +// Compiler/platform defines a union semun for SysV shared memory. +#define ACE_HAS_SEMUN + +// Compiler supports the ssize_t typedef. +#define ACE_HAS_SSIZE_T + +// Compiler/platform supports strerror (). +#define ACE_HAS_STRERROR + +// Compiler/platform provides the sockio.h file. +#define ACE_HAS_SOCKIO_H + +// Defines the page size of the system. +#define ACE_PAGE_SIZE 4096 + +// Platform provides header. +#define ACE_HAS_SYS_FILIO_H + +// Compiler/platform supports SVR4 gettimeofday() prototype +#define ACE_HAS_SUNOS4_GETTIMEOFDAY +// #define ACE_HAS_TIMEZONE_GETTIMEOFDAY + +// Turns off the tracing feature. +#if !defined (ACE_NTRACE) +#define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +#define ACE_HAS_MSG +#define ACE_HAS_4_4BSD_SENDMSG_RECVMSG + +// Optimize ACE_Handle_Set for select(). +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT + +#define ACE_LACKS_GETHOSTENT + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-osf1-3.2.h b/ace/config-osf1-3.2.h new file mode 100644 index 00000000000..6412896a0a3 --- /dev/null +++ b/ace/config-osf1-3.2.h @@ -0,0 +1,188 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for OSF1 3.2 +// platforms with the DEC 5.1 C++ compiler. + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +#define ACE_LACKS_SETSCHED +#define ACE_LACKS_RWLOCK_T +// DF: this platform uses Digital's CXX compiler +#define DEC_CXX + +// DF: DEC's CXX supports explicit template specialization. +#define ACE_HAS_TEMPLATE_SPECIALIZATION + +// DF: 3.2 has getpgid but no prototype defined anywhere. So we cheat +// and declare it here. +extern "C" pid_t getpgid (pid_t); + +// DF: ACE_HAS_STRING_CLASS seems the right thing to do... +#define ACE_HAS_STRING_CLASS + +// DF: Seems apropriate since this is a new compiler... +#if !defined (__ACE_INLINE__) +# define __ACE_INLINE__ +#endif /* ! __ACE_INLINE__ */ + +#define ACE_HAS_BROKEN_MSG_H +#define ACE_LACKS_SYSV_MSQ_PROTOS + +// Optimize ACE_Handle_Set for select(). +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT + +// Platform supports +#define ACE_HAS_PROC_FS + +#define ACE_HAS_UALARM + +// If ACE doesn't compile due to the lack of these methods, please +// send email to schmidt@cs.wustl.edu reporting this. +// #define ACE_LACKS_CONDATTR_PSHARED +// #define ACE_LACKS_MUTEXATTR_PSHARED + +// Platform lacks support for stack address information +#define ACE_LACKS_THREAD_STACK_ADDR + +// Platform lacks thread process scoping +#define ACE_LACKS_THREAD_PROCESS_SCOPING + +// Platform has non-POSIX setkind and other functions. +#define ACE_LACKS_PTHREAD_THR_SIGSETMASK +#define ACE_HAS_SETKIND_NP + +// Platform supports POSIX 1.b clock_gettime () +#define ACE_HAS_CLOCK_GETTIME + +// Platform defines MAP_FAILED as a long constant. +#define ACE_HAS_LONG_MAP_FAILED + +// Platform's implementation of sendmsg() has a non-const msgheader parameter. +#define ACE_HAS_BROKEN_SENDMSG + +// Platform's implementation of writev() has a non-const iovec parameter. +#define ACE_HAS_BROKEN_WRITEV + +// Platform's implementation of setlrmit() has a non-const rlimit parameter. +#define ACE_HAS_BROKEN_SETRLIMIT + +// 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 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 + +// 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_IP_MULTICAST + +// Platform contains . +#define ACE_HAS_POLL + +// Platform supports POSIX timers via timestruc_t. +#define ACE_HAS_POSIX_TIME + +// Platform defines struct timespec in +#define ACE_HAS_BROKEN_POSIX_TIME + +// Platform supports POSIX O_NONBLOCK semantics. +#define ACE_HAS_POSIX_NONBLOCK + +#define ACE_LACKS_PTHREAD_THR_SIGSETMASK + +// ACE supports POSIX Pthreads. OSF/1 3.2 has draft 4 +#define ACE_HAS_PTHREADS +#define ACE_HAS_PTHREADS_DRAFT4 +#define ACE_HAS_THREAD_SELF + +// Compiler/platform defines the sig_atomic_t typedef. +#define ACE_HAS_SIG_ATOMIC_T + +// Added 6/13/95, 1 line +#define ACE_HAS_SIGINFO_T +#define ACE_HAS_UCONTEXT_T + +// Compiler/platform has ssize_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_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_THREADS + +// Platform supports ACE_TLI tiuser header. +#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 + +// Compile using multi-thread libraries. +#if !defined (ACE_MT_SAFE) +# define ACE_MT_SAFE 1 +#endif + +#define ACE_NEEDS_DEV_IO_CONVERSION + +// 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 8192 +#define ACE_HAS_GETPAGESIZE + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-osf1-4.0.h b/ace/config-osf1-4.0.h new file mode 100644 index 00000000000..7666cf1b3c5 --- /dev/null +++ b/ace/config-osf1-4.0.h @@ -0,0 +1,183 @@ +/* -*- C++ -*- */ +// $Id$ + +// NOTE: if you are using Digital UNIX V4.0f or later, you must +// use config-tru64.h instead of directly using this config file. + +// The following configuration file is designed to work for the +// Digital UNIX V4.0a through V4.0d with either the GNU g++, DEC +// cxx 5.4 and later, Rational RCC (2.4.1) compilers, or KAI 3.3 +// 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. + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +#if !defined (__ACE_INLINE__) +# define __ACE_INLINE__ +#endif /* ! __ACE_INLINE__ */ + +// Compile using multi-thread libraries. +#if !defined (ACE_MT_SAFE) +# define ACE_MT_SAFE 1 +#endif /* ! ACE_MT_SAFE */ + +// Turns off the tracing feature. +#if !defined (ACE_NTRACE) +# define ACE_NTRACE 1 +#endif /* ! ACE_NTRACE */ + +// Include unistd.h to define _POSIX_C_SOURCE. +#include + +// Configuration-specific #defines: +// 1) g++ or cxx +// 2) pthreads or DCE threads +#if defined (__GNUG__) + // g++ with pthreads + + // config-g++-common.h undef's ACE_HAS_STRING_CLASS with -frepo, so + // this must appear before its #include. +# define ACE_HAS_STRING_CLASS + +# include "ace/config-g++-common.h" + +# define ACE_HAS_GNU_CSTRING_H +# define ACE_HAS_REENTRANT_FUNCTIONS +#elif defined (__DECCXX) + +# define ACE_CONFIG_INCLUDE_CXX_COMMON +# include "ace/config-cxx-common.h" + +#elif defined (__rational__) +# define ACE_HAS_REENTRANT_FUNCTIONS +# define ACE_HAS_STRING_CLASS +# define ACE_LACKS_LINEBUFFERED_STREAMBUF +# define ACE_LACKS_SIGNED_CHAR + + // Exceptions are enabled by platform_osf1_4.0_rcc.GNU. +# define ACE_HAS_ANSI_CASTS +# define ACE_HAS_STDCPP_STL_INCLUDES +# define ACE_HAS_TEMPLATE_SPECIALIZATION +# define ACE_HAS_TYPENAME_KEYWORD +# define ACE_HAS_USING_KEYWORD +#elif defined (__KCC) +# define ACE_HAS_STRING_CLASS +# include "ace/config-kcc-common.h" +#else +# error unsupported compiler on Digital Unix +#endif /* ! __GNUG__ && ! __DECCXX && ! __rational__ && !_KCC */ + +#if (DIGITAL_UNIX >= 0x400) && (DIGITAL_UNIX < 0x500) +#define ACE_LACKS_PREAD_PROTOTYPE +#endif // (DIGITAL_UNIX >= 0x400) && (DIGITAL_UNIX < 0x500) + +#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 +#if (ACE_MT_SAFE != 0) +# define ACE_HAS_PTHREADS +# define ACE_HAS_PTHREADS_STD +# define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS +#endif /* ACE_MT_SAFE != 0 */ +# define ACE_LACKS_T_ERRNO +# define ACE_POLL_IS_BROKEN +# if !defined (DIGITAL_UNIX) +# define DIGITAL_UNIX 0x400 +# endif /* ! 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 + //#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 +#if (ACE_MT_SAFE != 0) +# define ACE_HAS_PTHREADS +# define ACE_HAS_PTHREADS_DRAFT4 +# define ACE_HAS_THREAD_SELF +# define ACE_LACKS_THREAD_PROCESS_SCOPING +# define ACE_LACKS_PTHREAD_THR_SIGSETMASK +# define ACE_LACKS_PTHREAD_THR_SIGSETMASK +#endif +# define ACE_HAS_GETPAGESIZE +# define ACE_HAS_PROC_FS +# define ACE_HAS_SETKIND_NP +# define ACE_LACKS_CONST_TIMESPEC_PTR +# define ACE_LACKS_READDIR_R +# define ACE_LACKS_SETSCHED +# define ACE_LACKS_SIGNED_CHAR +# define ACE_LACKS_SYSV_MSQ_PROTOS +#endif /* _POSIX_C_SOURCE < 199506L */ + +#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_BROKEN_T_ERROR +#define ACE_HAS_BROKEN_WRITEV +#define ACE_HAS_CLOCK_GETTIME +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES +#define ACE_HAS_CPLUSPLUS_HEADERS +#define ACE_HAS_DIRENT +#define ACE_HAS_GETRUSAGE +#define ACE_HAS_GPERF +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT +#define ACE_HAS_IP_MULTICAST +#define ACE_HAS_LLSEEK +#define ACE_HAS_LONG_MAP_FAILED +#define ACE_HAS_MSG +#define ACE_HAS_NONCONST_SELECT_TIMEVAL +#define ACE_HAS_OSF1_GETTIMEOFDAY +#define ACE_HAS_OSF_TIMOD_H +#define ACE_HAS_POLL +#define ACE_HAS_POSIX_NONBLOCK +#define ACE_HAS_POSIX_TIME +#define ACE_HAS_PRIOCNTL +#define ACE_HAS_SIGINFO_T +#define ACE_HAS_SIG_ATOMIC_T +#define ACE_HAS_SSIZE_T +#define ACE_HAS_STRBUF_T +#define ACE_HAS_STREAMS +#define ACE_HAS_STRERROR +#define ACE_HAS_STRPTIME +#define ACE_HAS_SVR4_DYNAMIC_LINKING +#define ACE_HAS_SVR4_SIGNAL_T +#define ACE_HAS_SYSCALL_H +#define ACE_HAS_SYSV_IPC +#if (ACE_MT_SAFE != 0) +#define ACE_HAS_THREADS +#define ACE_HAS_THREAD_SPECIFIC_STORAGE +#define ACE_LACKS_THREAD_STACK_ADDR +#endif +#define ACE_HAS_TIUSER_H +#define ACE_HAS_TLI +#define ACE_HAS_TLI_PROTOTYPES +#define ACE_HAS_UALARM +#define ACE_HAS_UCONTEXT_T +#define ACE_LACKS_PRI_T +#define ACE_LACKS_RWLOCK_T +#define ACE_PAGE_SIZE 8192 +#define ACE_HAS_SIGTIMEDWAIT +#define ACE_HAS_SIGSUSPEND + +// 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_IDTYPE_T + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-pharlap.h b/ace/config-pharlap.h new file mode 100644 index 00000000000..51433b4fe77 --- /dev/null +++ b/ace/config-pharlap.h @@ -0,0 +1,60 @@ +/* -*- C++ -*- */ +// $Id$ + +// This configuration file is for use with the PharLap Realtime ETS Kernel. +// It has been tested with PharLap TNT Embedded ToolSuite version 9.1. + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +#define ACE_HAS_PHARLAP +// Some features are only available with the Realtime edition of ETS. +// Assume that if using ACE, the realtime version is also being used, but +// allow it to be turned off as well. +#ifndef ACE_HAS_PHARLAP_RT +# define ACE_HAS_PHARLAP_RT +#else +# if (ACE_HAS_PHARLAP_RT == 0) +# undef ACE_HAS_PHARLAP_RT +# endif +#endif + +// Fortunately, PharLap ETS offers much of the Win32 API. But it's still on +// WinNT 3.5, Winsock 1.1 +#define ACE_HAS_WINNT4 0 +#define ACE_HAS_WINSOCK2 0 + +// The TSS implementation doesn't pass muster on the TSS_Test, but it works +// well with ACE's TSS emulation. +#define ACE_HAS_TSS_EMULATION + +#define ACE_LACKS_MMAP +#define ACE_LACKS_MPROTECT +#define ACE_LACKS_MSYNC +#define ACE_LACKS_TCP_NODELAY +#define ACE_LACKS_MSG_WFMO + +// There's no host table, by default. So using "localhost" won't work. +// If your system does have the ability to use "localhost" and you want to, +// define it before including this file. +#if !defined (ACE_LOCALHOST) +# define ACE_LOCALHOST "127.0.0.1" +#endif /* ACE_LOCALHOST */ + +// Don't know how to get the page size at execution time. This is most likely +// the correct value. +#define ACE_PAGE_SIZE 4096 + +// Let the config-win32.h file do its thing +#undef ACE_CONFIG_H +#include "ace/config-win32.h" +#undef ACE_HAS_WCHAR + +#include /**/ +#if defined (ACE_HAS_PHARLAP_RT) +# include /**/ +#endif /* ACE_HAS_PHARLAP_RT */ + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-psos-diab-mips.h b/ace/config-psos-diab-mips.h new file mode 100644 index 00000000000..954dcd9e2f9 --- /dev/null +++ b/ace/config-psos-diab-mips.h @@ -0,0 +1,246 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for pSOSystem V2.2.1, +// using the Diab Data D-C++ 4.2 p3 compiler (or a later version) + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +// #if ! defined (__ACE_INLINE__) +// # define __ACE_INLINE__ +// #endif /* ! __ACE_INLINE__ */ +#if defined (__ACE_INLINE__) +# undef __ACE_INLINE__ +#endif /* __ACE_INLINE__ */ + +#define ACE_LACKS_ISATTY + +#define ACE_LACKS_DIFFTIME + +#define ACE_LACKS_INLINE_FUNCTIONS + +#define ACE_LACKS_TEMPLATE_AS_TEMPLATE_PARAMETER + +#if defined (__GNUG__) +# include "ace/config-g++-common.h" +#endif /* __GNUG__ */ + + +// Don't use RCSID +#if !defined (ACE_USE_RCSID) +#define ACE_USE_RCSID 0 +#endif /* #if !defined (ACE_USE_RCSID) */ + +#define ACE_LACKS_ASSERT_MACRO + +#define ACE_LACKS_SIGSET +#define ACE_LACKS_SIGACTION +#define ACE_LACKS_FCNTL +#define ACE_LACKS_FILELOCKS +#define ACE_LACKS_TRUNCATE +#define ACE_LACKS_PRAGMA_ONCE +#define ACE_NLOGGING +#define ACE_NDEBUG + +#define ACE_PSOS_LACKS_PREPC + +#define ACE_HAS_STRDUP_EMULATION + +#define ACE_HAS_IP_MULTICAST + +#define ACE_HAS_CPLUSPLUS_HEADERS + +#define ACE_HAS_BROKEN_CONDITIONAL_STRING_CASTS + +#define ACE_HAS_BROKEN_EXPLICIT_DESTRUCTOR + +# define ACE_HAS_BROKEN_NOOP_DTORS + +# define ACE_HAS_DIRENT +# define ACE_LACKS_READDIR_R +# define ACE_LACKS_TELLDIR +# define ACE_LACKS_SEEKDIR +# define ACE_LACKS_REWINDDIR + +# define ACE_THREADS_DONT_INHERIT_LOG_MSG + +// Template instantiation definitions +// #define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_FILE +#define ACE_TEMPLATES_REQUIRE_SOURCE +#define ACE_LACKS_METHOD_DEFINITIONS_IN_CLASS_TEMPLATE + +#define ACE_LACKS_HRTIME_T + +// #define ACE_LACKS_EVENT_T + +// #define ACE_HAS_VERBOSE_NOTSUP + +#define ACE_LACKS_MEMORY_H + +// #define ACE_LACKS_MALLOC_H + +#define ACE_LACKS_MMAP + +#define ACE_LACKS_UNIX_DOMAIN_SOCKETS + +#define ACE_HAS_NONSTATIC_OBJECT_MANAGER + +#define ACE_LACKS_SEMBUF_T + +#define ACE_LACKS_EXEC + +#define ACE_LACKS_FORK + +#define ACE_LACKS_WRITEV + +#define ACE_LACKS_READV + +// rename the main entry point +// #define ACE_MAIN extern "C" void root + +// All this was commented out for the single threaded port +/* +#define ACE_HAS_THREADS + +#if !defined (ACE_MT_SAFE) +# define ACE_MT_SAFE 1 +#endif + +#define ACE_HAS_TSS_EMULATION + +#define ACE_DEFAULT_THREAD_KEYS 256 + +#define ACE_LACKS_COND_T +// #define ACE_HAS_TSS_EMULATION + +*/ + +#define ACE_LACKS_PTHREAD_THR_SIGSETMASK + +/* #define ACE_HAS_BROKEN_SENDMSG */ + +/* #define ACE_HAS_BROKEN_WRITEV */ + +#define ACE_HAS_BROKEN_CONVERSIONS + +#define ACE_HAS_CHARPTR_SOCKOPT + +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES + +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT + +#define ACE_HAS_MSG + +#define ACE_HAS_POSIX_NONBLOCK + +#define ACE_HAS_SIGINFO_T +#define ACE_LACKS_SIGINFO_H +#define ACE_SIGINFO_IS_SIGINFO_T +#define ACE_LACKS_SIGSET_DEFINITIONS + +#define ACE_HAS_SIGWAIT + +//#define ACE_HAS_SIG_ATOMIC_T + +// #define ACE_HAS_STRERROR + +#define ACE_LACKS_ACCESS + +#define ACE_LACKS_GETHOSTENT + +#define ACE_LACKS_GETSERVBYNAME + +// IO Streams stuff +/* #define ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION */ +#define ACE_LACKS_IOSTREAM_TOTALLY +#define ACE_LACKS_ACE_IOSTREAM +#define ACE_LACKS_IOSTREAM_FX +#define ACE_DEFAULT_LOG_STREAM 0 +#define ostream FILE + +#define ACE_LACKS_IOSTREAM_FX + +#define ACE_LACKS_KEY_T + +#define ACE_LACKS_LINEBUFFERED_STREAMBUF + +#define ACE_LACKS_LONGLONG_T + +#define ACE_LACKS_MADVISE + +#define ACE_LACKS_MKTEMP + +#define ACE_LACKS_MPROTECT + +#define ACE_LACKS_MSYNC + +#define ACE_LACKS_PARAM_H + +#define ACE_LACKS_PWD_FUNCTIONS + +#define ACE_LACKS_RLIMIT + +#define ACE_LACKS_RPC_H + +#define ACE_LACKS_RWLOCK_T + +#define ACE_LACKS_SBRK + +#define ACE_LACKS_SIGNED_CHAR + +#define ACE_LACKS_SI_ADDR + +#define ACE_LACKS_SOCKETPAIR + +#define ACE_LACKS_STRCASECMP + +#define ACE_LACKS_STRRECVFD + +#define ACE_LACKS_SYSCALL + +#define ACE_LACKS_SYSV_MSG_H + +#define ACE_LACKS_SYSV_SHMEM + +// #define ACE_LACKS_SYS_NERR + +#define ACE_LACKS_SYS_TYPES_H + +#define ACE_LACKS_TIMESPEC_T + +#define ACE_LACKS_UCONTEXT_H + +#define ACE_LACKS_UNIX_SIGNALS + +// #define ACE_LACKS_SYSTIME_H + +#define ACE_PAGE_SIZE 4096 + +#if !defined (ACE_NTRACE) +# define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +#define ACE_PSOS_CANT_USE_SYS_TYPES + +// #define ACE_PSOS_SNARFS_HEADER_INFO + +#if !defined (ACE_PSOS) +#define ACE_PSOS +#endif /* ACE_PSOS */ + +#if !defined (ACE_PSOS_TBD) +#define ACE_PSOS_TBD +#endif /* ACE_PSOS_TBD */ + +#define ACE_LACKS_MKFIFO + +#define ACE_LACKS_MALLOC_H + +#define ACE_PSOS_DIAB + +#define ACE_PSOS_DIAB_MIPS +#define ACE_MALLOC_ALIGN 8 +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-psos-diab-ppc.h b/ace/config-psos-diab-ppc.h new file mode 100644 index 00000000000..9cbf2d63c7f --- /dev/null +++ b/ace/config-psos-diab-ppc.h @@ -0,0 +1,281 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for: +// a) pSOSystem V2.5.0 for PowerPC (pssppc.250) +// b) DiabData C++ compiler - dplus 4.2b +// *note pSOSystem V2.5.0 is contained in the PRISM+2.0.0 package + + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +// #if ! defined (__ACE_INLINE__) +// # define __ACE_INLINE__ +// #endif /* ! __ACE_INLINE__ */ +#if defined (__ACE_INLINE__) +# undef __ACE_INLINE__ +#endif /* __ACE_INLINE__ */ + +#define ACE_LACKS_ISATTY + +#define ACE_LACKS_DIFFTIME + +#define ACE_LACKS_FCNTL + +#define ACE_LACKS_FILELOCKS + +#define ACE_LACKS_FSYNC + +#define ACE_LACKS_INLINE_FUNCTIONS + +#define ACE_LACKS_TEMPLATE_AS_TEMPLATE_PARAMETER + +#if defined (__GNUG__) +# include "ace/config-g++-common.h" +#else +// At least true with newer Diab compiler... +# define ACE_LACKS_PRAGMA_ONCE +# define ACE_HAS_EXCEPTIONS +#endif /* __GNUG__ */ + +#define ACE_PSOS_LACKS_PREPC + +#define ACE_PSOS_HAS_TIME + +#define ACE_HAS_STRDUP_EMULATION + +#define ACE_HAS_IP_MULTICAST + +#define ACE_HAS_CPLUSPLUS_HEADERS + +#define ACE_HAS_BROKEN_EXPLICIT_TYPECAST_OPERATOR_INVOCATION + +#define ACE_HAS_BROKEN_CONDITIONAL_STRING_CASTS + +#define ACE_HAS_WORKING_EXPLICIT_TEMPLATE_DESTRUCTOR + +# define ACE_HAS_BROKEN_NOOP_DTORS + +# define ACE_HAS_DIRENT +# define ACE_LACKS_READDIR_R +# define ACE_LACKS_TELLDIR +# define ACE_LACKS_SEEKDIR +# define ACE_LACKS_REWINDDIR + +#define ACE_LACKS_TRUNCATE + +// Template instantiation definitions +// #define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_FILE +#define ACE_TEMPLATES_REQUIRE_SOURCE + +// IO Streams stuff +// #define ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION +//#define ACE_LACKS_IOSTREAM_TOTALLY +//#define ACE_LACKS_ACE_IOSTREAM +//#define ACE_LACKS_IOSTREAM_FX +//#define ACE_DEFAULT_LOG_STREAM 0 +//#define ostream FILE + +#define ACE_LACKS_HRTIME_T + +// #define ACE_LACKS_EVENT_T + +#define ACE_HAS_VERBOSE_NOTSUP + +#define ACE_LACKS_MEMORY_H + +// #define ACE_LACKS_MALLOC_H + +#define ACE_LACKS_MMAP + +#define ACE_LACKS_UNIX_DOMAIN_SOCKETS + +#define ACE_HAS_NONSTATIC_OBJECT_MANAGER + +#define ACE_HAS_NONCONST_SELECT_TIMEVAL + +#define ACE_LACKS_SEMBUF_T + +#define ACE_LACKS_EXEC + +#define ACE_LACKS_FORK + +#define ACE_LACKS_WRITEV + +#define ACE_LACKS_READV + +// rename the main entry point +#define ACE_MAIN extern "C" void root + +// All this was commented out for the single threaded port + +#define ACE_HAS_THREADS + +#if !defined (ACE_MT_SAFE) +# define ACE_MT_SAFE 1 +#endif + +// #define ACE_HAS_TSS_EMULATION +// #define ACE_DEFAULT_THREAD_KEYS 256 +#define ACE_HAS_THREAD_SPECIFIC_STORAGE +#define ACE_PSOS_HAS_TSS +#define ACE_DEFAULT_THREAD_KEYS KC_NTSD + +#define ACE_PSOS_HAS_MUTEX +#define ACE_PSOS_HAS_PRIO_MUTEX +#define ACE_PSOS_HAS_PRIO_INHERIT_MUTEX +#define ACE_HAS_RECURSIVE_MUTEXES + +// #define ACE_LACKS_COND_T +#define ACE_PSOS_HAS_COND_T + +#define ACE_LACKS_PTHREAD_THR_SIGSETMASK + +/* #define ACE_HAS_BROKEN_SENDMSG */ + +/* #define ACE_HAS_BROKEN_WRITEV */ + +#define ACE_HAS_BROKEN_CONVERSIONS + +#define ACE_HAS_CHARPTR_SOCKOPT + +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES + +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT + +#define ACE_HAS_MSG + +#define ACE_HAS_POSIX_NONBLOCK + +#define ACE_HAS_SIGINFO_T +#define ACE_LACKS_SIGINFO_H +#define ACE_SIGINFO_IS_SIGINFO_T +#define ACE_LACKS_SIGSET_DEFINITIONS +#define ACE_LACKS_SIGSET +#define ACE_LACKS_SIGACTION + +#define ACE_HAS_SIGWAIT + +//#define ACE_HAS_SIG_ATOMIC_T + +#define ACE_HAS_STRERROR + +#define ACE_LACKS_ACCESS + +#define ACE_LACKS_GETHOSTENT + +#define ACE_LACKS_GETSERVBYNAME + +#define ACE_LACKS_KEY_T + +#define ACE_LACKS_LINEBUFFERED_STREAMBUF + +#define ACE_LACKS_LONGLONG_T + +#define ACE_LACKS_LSTAT + +#define ACE_LACKS_MADVISE + +#define ACE_LACKS_MKTEMP + +#define ACE_LACKS_MPROTECT + +#define ACE_LACKS_MSYNC + +#define ACE_LACKS_PARAM_H + +#define ACE_LACKS_PWD_FUNCTIONS + +#define ACE_LACKS_READLINK + +#define ACE_LACKS_RLIMIT + +#define ACE_LACKS_RWLOCK_T + +#define ACE_LACKS_SBRK + +#define ACE_LACKS_SIGNED_CHAR + +#define ACE_LACKS_SI_ADDR + +#define ACE_LACKS_SOCKETPAIR + +#define ACE_LACKS_STRCASECMP + +#define ACE_LACKS_STRRECVFD + +#define ACE_LACKS_SYSCALL + +#define ACE_LACKS_SYSV_MSG_H + +#define ACE_LACKS_SYSV_SHMEM + +#define ACE_LACKS_SYS_NERR + +#define ACE_LACKS_SYS_TYPES_H + +#define ACE_LACKS_TIMESPEC_T + +#define ACE_LACKS_UCONTEXT_H + +#define ACE_LACKS_UNIX_SIGNALS + +#define ACE_THREADS_LACK_SHARED_SOCKETS + +// #define ACE_MALLOC_ALIGN 8 +// #define ACE_LACKS_SYSTIME_H + +#define ACE_PAGE_SIZE 4096 + +#if !defined (ACE_NTRACE) +# define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +#define ACE_PSOS_CANT_USE_SYS_TYPES + +// #define ACE_PSOS_LACKS_PHILE + +#define ACE_PSOS_HAS_C_LIBRARY + +#define ACE_PSOS_SNARFS_HEADER_INFO + +#define ACE_PSOS_LACKS_ARGC_ARGV + +#if !defined (ACE_PSOS) +#define ACE_PSOS +#endif /* ACE_PSOS */ + +#if !defined (ACE_PSOS_TBD) +#define ACE_PSOS_TBD +#endif /* ACE_PSOS_TBD */ + +#define ACE_LACKS_MKFIFO + +#define ACE_PSOS_DIAB + +#define ACE_PSOS_DIAB_PPC + +/* Defining PNANOREDEF will avoid the redefinition of close to pna_close in + * pna.h In OS.i we make sure that pna_close is called in place of close + * when a socket is closed. + */ +#define _PNANOREDEF_ + +/* needed for portability, due to non-standard ip_mreq + structure definition for pSOS Diab PPC */ +#define IMR_MULTIADDR imr_mcastaddr + +#define ACE_THREADS_DONT_INHERIT_LOG_MSG /* Stream sharing problem for tasks */ + +#define ACE_THREADS_MUST_EXPLICITLY_SHARE_SOCKETS /* Can't just share sockets */ + +#define ACE_PSOS_DEFAULT_STACK_SIZE 30720 /* Default task stack size to 30K */ + +#define ACE_DEFAULT_THREAD_PRIORITY 239 + +#define ACE_THREAD_MANAGER_LACKS_STATICS + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-psos-diab.h b/ace/config-psos-diab.h new file mode 100644 index 00000000000..7c439aa677d --- /dev/null +++ b/ace/config-psos-diab.h @@ -0,0 +1,237 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for pSOSystem V2.2.2, +// using the Diab Data D-C++ 4.2a compiler (or a later version) + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +// #if ! defined (__ACE_INLINE__) +// # define __ACE_INLINE__ +// #endif /* ! __ACE_INLINE__ */ +#if defined (__ACE_INLINE__) +# undef __ACE_INLINE__ +#endif /* __ACE_INLINE__ */ + +#define ACE_LACKS_ISATTY + +#define ACE_LACKS_DIFFTIME + +#define ACE_LACKS_FCNTL + +#define ACE_LACKS_FILELOCKS + +#define ACE_LACKS_FSYNC + +#define ACE_LACKS_INLINE_FUNCTIONS + +#define ACE_LACKS_TEMPLATE_AS_TEMPLATE_PARAMETER + +#if defined (__GNUG__) +# include "ace/config-g++-common.h" +#endif /* __GNUG__ */ + +#define ACE_PSOS_LACKS_PREPC + +#define ACE_PSOS_HAS_TIME + +#define ACE_HAS_STRDUP_EMULATION + +#define ACE_HAS_IP_MULTICAST + +#define ACE_HAS_CPLUSPLUS_HEADERS + +#define ACE_HAS_BROKEN_EXPLICIT_TYPECAST_OPERATOR_INVOCATION + +#define ACE_HAS_BROKEN_CONDITIONAL_STRING_CASTS + +#define ACE_HAS_WORKING_EXPLICIT_TEMPLATE_DESTRUCTOR + +# define ACE_HAS_BROKEN_NOOP_DTORS + +# define ACE_HAS_DIRENT +# define ACE_LACKS_READDIR_R +# define ACE_LACKS_TELLDIR +# define ACE_LACKS_SEEKDIR +# define ACE_LACKS_REWINDDIR + +#define ACE_LACKS_TRUNCATE + +// Template instantiation definitions +// #define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_FILE +#define ACE_TEMPLATES_REQUIRE_SOURCE + +// IO Streams stuff +// #define ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION +#define ACE_LACKS_IOSTREAM_TOTALLY +#define ACE_LACKS_ACE_IOSTREAM +#define ACE_LACKS_IOSTREAM_FX +#define ACE_DEFAULT_LOG_STREAM 0 +#define ostream FILE + +#define ACE_LACKS_HRTIME_T + +// #define ACE_LACKS_EVENT_T + +#define ACE_HAS_VERBOSE_NOTSUP + +#define ACE_LACKS_MEMORY_H + +// #define ACE_LACKS_MALLOC_H + +#define ACE_LACKS_MMAP + +#define ACE_LACKS_UNIX_DOMAIN_SOCKETS + +#define ACE_HAS_NONSTATIC_OBJECT_MANAGER + +#define ACE_LACKS_SEMBUF_T + +#define ACE_LACKS_EXEC + +#define ACE_LACKS_FORK + +#define ACE_LACKS_WRITEV + +#define ACE_LACKS_READV + +// rename the main entry point +#define ACE_MAIN extern "C" void root + +// All this was commented out for the single threaded port + +#define ACE_HAS_THREADS + +#if !defined (ACE_MT_SAFE) +# define ACE_MT_SAFE 1 +#endif + +#define ACE_HAS_TSS_EMULATION + +#define ACE_DEFAULT_THREAD_KEYS 256 + +#define ACE_LACKS_COND_T + +// #define ACE_HAS_TSS_EMULATION + +#define ACE_LACKS_PTHREAD_THR_SIGSETMASK + +/* #define ACE_HAS_BROKEN_SENDMSG */ + +/* #define ACE_HAS_BROKEN_WRITEV */ + +#define ACE_HAS_BROKEN_CONVERSIONS + +#define ACE_HAS_CHARPTR_SOCKOPT + +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES + +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT + +#define ACE_HAS_MSG + +#define ACE_HAS_POSIX_NONBLOCK + +#define ACE_HAS_SIGINFO_T +#define ACE_LACKS_SIGINFO_H +#define ACE_SIGINFO_IS_SIGINFO_T +#define ACE_LACKS_SIGSET_DEFINITIONS + +#define ACE_HAS_SIGWAIT + +#define ACE_HAS_SIG_ATOMIC_T + +#define ACE_HAS_STRERROR + +#define ACE_LACKS_ACCESS + +#define ACE_LACKS_GETHOSTENT + +#define ACE_LACKS_GETSERVBYNAME + +#define ACE_LACKS_KEY_T + +#define ACE_LACKS_LINEBUFFERED_STREAMBUF + +#define ACE_LACKS_LONGLONG_T + +#define ACE_LACKS_LSTAT + +#define ACE_LACKS_MADVISE + +#define ACE_LACKS_MKTEMP + +#define ACE_LACKS_MPROTECT + +#define ACE_LACKS_MSYNC + +#define ACE_LACKS_PARAM_H + +#define ACE_LACKS_PWD_FUNCTIONS + +#define ACE_LACKS_READLINK + +#define ACE_LACKS_RLIMIT + +#define ACE_LACKS_RWLOCK_T + +#define ACE_LACKS_SBRK + +#define ACE_LACKS_SIGNED_CHAR + +#define ACE_LACKS_SI_ADDR + +#define ACE_LACKS_SOCKETPAIR + +#define ACE_LACKS_STRCASECMP + +#define ACE_LACKS_STRRECVFD + +#define ACE_LACKS_SYSCALL + +#define ACE_LACKS_SYSV_MSG_H + +#define ACE_LACKS_SYSV_SHMEM + +#define ACE_LACKS_SYS_NERR + +#define ACE_LACKS_SYS_TYPES_H + +#define ACE_LACKS_TIMESPEC_T + +#define ACE_LACKS_UCONTEXT_H + +#define ACE_LACKS_UNIX_SIGNALS + +// #define ACE_LACKS_SYSTIME_H + +#define ACE_PAGE_SIZE 4096 + +#if !defined (ACE_NTRACE) +# define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +#define ACE_PSOS_CANT_USE_SYS_TYPES + +// #define ACE_PSOS_LACKS_PHILE + +#define ACE_PSOS_HAS_C_LIBRARY + +#define ACE_PSOS_SNARFS_HEADER_INFO + +#define ACE_PSOS_LACKS_ARGC_ARGV + +#if !defined (ACE_PSOS) +#define ACE_PSOS +#endif /* ACE_PSOS */ + +#define ACE_MALLOC_ALIGN 8 + +#if !defined (ACE_PSOS_DIAB) +#define ACE_PSOS_DIAB +#endif /* ACE_PSOS_DIAB */ +#define ACE_LACKS_MKFIFO +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-psos-tm.h b/ace/config-psos-tm.h new file mode 100644 index 00000000000..aa077e2bca6 --- /dev/null +++ b/ace/config-psos-tm.h @@ -0,0 +1,210 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for pSOSystem V2.2.1, +// using the Diab Data D-C++ 4.1a compiler + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +// #if ! defined (__ACE_INLINE__) +// # define __ACE_INLINE__ +// #endif /* ! __ACE_INLINE__ */ +#if defined (__ACE_INLINE__) +# undef __ACE_INLINE__ +#endif /* __ACE_INLINE__ */ + +#if defined (__GNUG__) +# include "ace/config-g++-common.h" +#endif /* __GNUG__ */ + +#define ACE_HAS_STRDUP_EMULATION + +#define ACE_HAS_IP_MULTICAST + +#define ACE_HAS_CPLUSPLUS_HEADERS + +#define ACE_HAS_WORKING_EXPLICIT_TEMPLATE_DESTRUCTOR + +// Template instantiation definitions +// #define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_FILE +#define ACE_TEMPLATES_REQUIRE_SOURCE + +#define ACE_DONT_INCLUDE_ACE_SIGNAL_H +# include //JINLU +#undef ACE_DONT_INCLUDE_ACE_SIGNAL_H +#include //JINLU +#define NSIG _NSIG //_NSIG = 32 defined in signal.h JINLU +#define TCP_NODELAY 1 // this will be defined later by pSOS/TM + +/* #define ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION */ + +#define ACE_LACKS_HRTIME_T + +// #define ACE_LACKS_EVENT_T + +#define ACE_HAS_VERBOSE_NOTSUP + +#define ACE_LACKS_MEMORY_H + +// #define ACE_LACKS_MALLOC_H + +#define ACE_LACKS_MMAP + +#define ACE_LACKS_UNIX_DOMAIN_SOCKETS + +#define ACE_HAS_NONSTATIC_OBJECT_MANAGER + +#define ACE_LACKS_SEMBUF_T + +#define ACE_LACKS_EXEC + +#define ACE_LACKS_FORK + +#define ACE_LACKS_WRITEV + +#define ACE_LACKS_READV + +// rename the main entry point +// #define ACE_MAIN extern "C" void root + +// All this was commented out for the single threaded port + +#define ACE_HAS_THREADS + +#if !defined (ACE_MT_SAFE) +# define ACE_MT_SAFE 1 +#endif + +#define ACE_HAS_TSS_EMULATION + +#define ACE_DEFAULT_THREAD_KEYS 256 + +#define ACE_LACKS_COND_T + +// #define ACE_HAS_TSS_EMULATION + +#define ACE_LACKS_PTHREAD_THR_SIGSETMASK + +/* #define ACE_HAS_BROKEN_SENDMSG */ + +/* #define ACE_HAS_BROKEN_WRITEV */ + +#define ACE_HAS_BROKEN_CONVERSIONS + +#define ACE_HAS_CHARPTR_SOCKOPT + +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES + +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT + +#define ACE_HAS_MSG + +#define ACE_HAS_POSIX_NONBLOCK + +#define ACE_HAS_SIGINFO_T +#define ACE_LACKS_SIGINFO_H +#define ACE_SIGINFO_IS_SIGINFO_T + +#define ACE_HAS_SIGWAIT + +#define ACE_HAS_SIG_ATOMIC_T + +#define ACE_HAS_STRERROR + +#define ACE_LACKS_ACCESS + +#define ACE_LACKS_GETHOSTENT + +#define ACE_LACKS_GETSERVBYNAME + +#define ACE_LACKS_IOSTREAM_FX + +#define ACE_LACKS_KEY_T + +#define ACE_LACKS_LINEBUFFERED_STREAMBUF + +#define ACE_LACKS_LONGLONG_T + +#define ACE_LACKS_LSTAT + +#define ACE_LACKS_MADVISE + +#define ACE_LACKS_MKTEMP + +#define ACE_LACKS_MPROTECT + +#define ACE_LACKS_MSYNC + +#define ACE_LACKS_PARAM_H + +#define ACE_LACKS_PWD_FUNCTIONS + +#define ACE_LACKS_READLINK + +#define ACE_LACKS_RLIMIT + +#define ACE_LACKS_RWLOCK_T + +#define ACE_LACKS_SBRK + +#define ACE_LACKS_SIGNED_CHAR + +#define ACE_LACKS_SI_ADDR + +#define ACE_LACKS_SOCKETPAIR + +#define ACE_LACKS_STRCASECMP + +#define ACE_LACKS_STRRECVFD + +#define ACE_LACKS_SYSCALL + +#define ACE_LACKS_SYSV_MSG_H + +#define ACE_LACKS_SYSV_SHMEM + +#define ACE_LACKS_SYS_NERR // psos/tm does not have sys_nerr + +#define ACE_LACKS_SYS_TYPES_H + +#define ACE_LACKS_TIMESPEC_T + +#define ACE_LACKS_UCONTEXT_H + +#define ACE_LACKS_UNIX_SIGNALS + +// #define ACE_LACKS_SYSTIME_H + +#define ACE_PAGE_SIZE 4096 + +#if !defined (ACE_NTRACE) +# define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +#define ACE_PSOS_TM +#define ACE_PSOS_PROVIDES_ERROR_SYMBOLS_TM +#define USER_INCLUDE_SYS_TIME_TM +#define ACE_LACKS_FILELOCKS +#define ACE_LACKS_SIGSET +#define ACE_LACKS_SIGACTION +#define ACE_LACKS_FCNTL +#define ACE_PSOS_LACKS_PHILE +#define ACE_PSOS_LACKS_PREPC +#define ACE_PSOS_CANT_USE_SYS_TYPES +#define ACE_PSOS_HAS_TIME + +//#define ACE_PSOS_SNARFS_HEADER_INFO + +#if !defined (ACE_PSOS) +#define ACE_PSOS +#endif /* ACE_PSOS */ + +#if !defined (ACE_PSOS_TBD) +#define ACE_PSOS_TBD +#endif /* ACE_PSOS_TBD */ +#define ACE_LACKS_MKFIFO +#define ACE_MALLOC_ALIGN 8 +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-psosim-g++.h b/ace/config-psosim-g++.h new file mode 100644 index 00000000000..f288b93f18e --- /dev/null +++ b/ace/config-psosim-g++.h @@ -0,0 +1,246 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for pSOSim on SunOS5 +// using the GNU/Cygnus g++ 2.7.2 compiler, without repo patch. + +/////////////////////////////////////////////////////////////////////////////// +// * IMPORTANT * IMPORTANT * IMPORTANT * IMPORTANT * IMPORTANT * IMPORTANT * // +// // +// Because pSOSim includes UNIX system header files in order to do // +// its emulation of pSOSystSem on Solaris, there are a number of // +// things that are "available" to ACE on pSOSim that are *not* // +// really available on pSOSystem. Every effort has been made to // +// avoid dependencies on these "features" in the ACE pSOSim port, // +// which has in turn necessarily required pSOSim specific definitions. // +// // +// To ease portability between pSOSim and pSOSystem, the definitions // +// in this file have been separated into three groups: those that // +// are known to be appropriate for both pSOSim and pSOSystem, those // +// known to be appropriate for pSOSim but (probably) not for pSOSystem, // +// and those that are (probably) appropriate for pSOSystem, but are // +// not appropriate for pSOSim. // +// // +// When porting from pSOSim to pSOSystem, it is (probably) a good // +// idea to leave the definitions in the first category alone, // +// comment out the definitions in the second category, and uncomment // +// the definitions in the third category. Additional definitions // +// may need to be added to the third category, as only those that // +// were encountered during the pSOSim port were added (that is, one // +// of the system files included by pSOSim could be compensating for // +// a definition pSOSystem really needs. // +// // +// * IMPORTANT * IMPORTANT * IMPORTANT * IMPORTANT * IMPORTANT * IMPORTANT * // +/////////////////////////////////////////////////////////////////////////////// + + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +//////////////////////////////////////////////////////////////// +// // +// Definitions appropriate for both pSOSim and pSOSystem // +// // +//////////////////////////////////////////////////////////////// + +#if ! defined (__ACE_INLINE__) +# define __ACE_INLINE__ +#endif /* ! __ACE_INLINE__ */ + +#if defined (__GNUG__) +# include "ace/config-g++-common.h" +#endif /* __GNUG__ */ + +#define ACE_HAS_IP_MULTICAST + +#define ACE_HAS_CPLUSPLUS_HEADERS + +/* #define ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION */ + +// #define ACE_LACKS_U_LONG_LONG + +#define ACE_LACKS_HRTIME_T + +// #define ACE_LACKS_EVENT_T + +#define ACE_HAS_VERBOSE_NOTSUP + +#define ACE_LACKS_MEMORY_H + +#define ACE_LACKS_MALLOC_H + +#define ACE_LACKS_MMAP + +#define ACE_LACKS_UNIX_DOMAIN_SOCKETS + +#define ACE_HAS_NONSTATIC_OBJECT_MANAGER + +#define ACE_LACKS_SEMBUF_T + +#define ACE_LACKS_EXEC + +#define ACE_LACKS_FORK + + +// rename the main entry point +#define ACE_MAIN extern "C" void root + +// All this is commented out for the single threaded port +/* + +#define ACE_HAS_THREADS + +#if !defined (ACE_MT_SAFE) +# define ACE_MT_SAFE 1 +#endif + +#define ACE_DEFAULT_THREAD_KEYS 256 + +#define ACE_LACKS_COND_T + + +*/ + +#define ACE_HAS_TSS_EMULATION + + +//////////////////////////////////////////////////////////////// +// // +// Definitions appropriate for pSOSim but not pSOSystem // +// // +//////////////////////////////////////////////////////////////// + +#define ACE_HAS_POSIX_TIME + +//////////////////////////////////////////////////////////////// +// // +// Definitions appropriate for pSOSystem but not pSOSim // +// // +//////////////////////////////////////////////////////////////// + + +//////////////////////////////////////////////////////////////// +// // +// Definitions that have not been categorized // +// // +//////////////////////////////////////////////////////////////// + + +#define ACE_LACKS_PTHREAD_THR_SIGSETMASK + +/* #define ACE_HAS_BROKEN_SENDMSG */ + +/* #define ACE_HAS_BROKEN_WRITEV */ + +#define ACE_HAS_CHARPTR_SOCKOPT + +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES + +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT + +#define ACE_HAS_MSG + +#define ACE_HAS_POSIX_NONBLOCK + +#define ACE_HAS_SIGINFO_T + +#define ACE_HAS_SIGWAIT + +#define ACE_HAS_SIG_ATOMIC_T + +#define ACE_HAS_STRERROR + +#define ACE_LACKS_ACCESS + +#define ACE_LACKS_GETHOSTENT + +#define ACE_LACKS_GETSERVBYNAME + +#define ACE_LACKS_IOSTREAM_FX + +#define ACE_LACKS_KEY_T + +#define ACE_LACKS_LINEBUFFERED_STREAMBUF + +#define ACE_LACKS_LONGLONG_T + +#define ACE_LACKS_LSTAT + +#define ACE_LACKS_MADVISE + +#define ACE_LACKS_MKTEMP + +#define ACE_LACKS_MPROTECT + +#define ACE_LACKS_MSYNC + +#define ACE_LACKS_PARAM_H + +#define ACE_LACKS_PWD_FUNCTIONS + +#define ACE_LACKS_READLINK + +#define ACE_LACKS_RLIMIT + +#define ACE_LACKS_RWLOCK_T + +#define ACE_LACKS_SBRK + +#define ACE_LACKS_SIGINFO_H + +#define ACE_LACKS_SIGNED_CHAR + +#define ACE_LACKS_SI_ADDR + +#define ACE_LACKS_SOCKETPAIR + +#define ACE_LACKS_STRCASECMP + +#define ACE_LACKS_STRRECVFD + +#define ACE_LACKS_SYSCALL + +#define ACE_LACKS_SYSV_MSG_H + +#define ACE_LACKS_SYSV_SHMEM + +#define ACE_LACKS_SYS_NERR + +#define ACE_LACKS_TIMESPEC_T + +#define ACE_LACKS_UCONTEXT_H + +#define ACE_LACKS_UNIX_SIGNALS + +#define ACE_LACKS_UTSNAME_T + +// #define ACE_LACKS_SYSTIME_H + +#define ACE_PAGE_SIZE 4096 + +#if !defined (ACE_NTRACE) +# define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +#if !defined (ACE_PSOS) +#define ACE_PSOS +#endif /* ACE_PSOS */ + +#if !defined (ACE_PSOSIM) +#define ACE_PSOSIM +#endif /* ACE_PSOSIM */ + +#if !defined (ACE_PSOS_TBD) +#define ACE_PSOS_TBD +#endif /* ACE_PSOS_TBD */ + +// By default, don't include RCS Id strings in object code. +#if !defined (ACE_USE_RCSID) +#define ACE_USE_RCSID 0 +#endif /* #if !defined (ACE_USE_RCSID) */ +#define ACE_LACKS_MKFIFO + +#define ACE_MALLOC_ALIGN 8 +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-qnx-neutrino.h b/ace/config-qnx-neutrino.h new file mode 100644 index 00000000000..560e00f175a --- /dev/null +++ b/ace/config-qnx-neutrino.h @@ -0,0 +1,148 @@ +// $Id$ + +// The following configuration file is designed to work for Neutrino +// 2.0 (Beta) with GNU C++ and the POSIX (pthread) threads package. + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +#define _POSIX_C_SOURCE 199506 +#define _QNX_SOURCE + +// These constants are in i386-nto/include/limits.h, but egcs +// picks up its own limits.h instead: +#define _POSIX_NAME_MAX 14 /* Max bytes in a filename */ +#define _POSIX_PATH_MAX 256 /* Num. bytes in pathname (excl. NULL) */ + +// gcc can do inline +#if __GNUC__ > 2 || ( __GNUC__ == 2 && __GNUC_MINOR__ >= 8) +# if !defined (__ACE_INLINE__) +# define __ACE_INLINE__ +# endif /* ! __ACE_INLINE__ */ +#endif + +#if defined(__OPTIMIZE__) +# if defined(__X86__) + // string.h can't be used by ACE with __OPTIMIZE__. +# undef __OPTIMIZE__ +# include +# define __OPTIMIZE__ +# endif /* __X86__ */ +#endif /* __OPTIMIZE__ */ + +#include "ace/config-g++-common.h" + +// The following defines the Neutrino compiler. +// gcc should know to call g++ as necessary +#ifdef __GNUC__ +# define ACE_CC_NAME "gcc" +#else +# define ACE_CC_NAME "NTO compiler ??" +#endif + +// /usr/nto/include/float.h defines +// FLT_MAX_EXP 127 +// DBL_MAX_EXP 1023 +// ace expects 128 & 1024 respectively +// to set the following macros in ace/Basic_Types.h +// These macros are: +// #define ACE_SIZEOF_DOUBLE 8 +// #define ACE_SIZEOF_FLOAT 4 + +#define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R +#define ACE_HAS_4_4BSD_SENDMSG_RECVMSG +#define ACE_HAS_ALLOCA +#define ACE_HAS_ALLOCA_H +#define ACE_HAS_AUTOMATIC_INIT_FINI +#define ACE_HAS_CLOCK_GETTIME +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES +#define ACE_HAS_DIRENT +#define ACE_HAS_GETPAGESIZE +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT +#define ACE_HAS_NONSTATIC_OBJECT_MANAGER +#define ACE_HAS_INLINED_OSCALLS +#define ACE_HAS_IP_MULTICAST +#define ACE_HAS_MSG +#define ACE_HAS_MT_SAFE_MKTIME +#define ACE_HAS_MUTEX_TIMEOUTS +#define ACE_HAS_NONCONST_SELECT_TIMEVAL +#define ACE_HAS_POSIX_SEM +#define ACE_HAS_POSIX_TIME +#define ACE_HAS_PTHREADS +#define ACE_HAS_PTHREADS_STD +#define ACE_HAS_PTHREAD_SIGMASK +#define ACE_HAS_P_READ_WRITE +#define ACE_HAS_REENTRANT_FUNCTIONS +#define ACE_HAS_SELECT_H +#define ACE_HAS_SIGINFO_T +#define ACE_HAS_SIGISMEMBER_BUG +#define ACE_HAS_SIGWAIT +#define ACE_HAS_SIG_ATOMIC_T +#define ACE_HAS_SIG_MACROS +#define ACE_HAS_SIN_LEN +#define ACE_HAS_SIZET_SOCKET_LEN +#define ACE_HAS_SSIZE_T +#define ACE_HAS_STRERROR +#define ACE_HAS_STRINGS +#define ACE_HAS_SVR4_GETTIMEOFDAY +#define ACE_HAS_TERM_IOCTLS +#define ACE_HAS_THREADS +#define ACE_HAS_THREAD_SPECIFIC_STORAGE +#define ACE_HAS_THR_C_DEST +#define ACE_HAS_THR_C_FUNC +#define ACE_HAS_TIMEZONE_GETTIMEOFDAY +#define ACE_HAS_UALARM +#define ACE_HAS_UCONTEXT_T +#define ACE_HAS_VOIDPTR_MMAP +#define ACE_HAS_VOIDPTR_SOCKOPT +#define ACE_LACKS_CMSG_DATA_MEMBER +#define ACE_LACKS_CONDATTR_PSHARED +#define ACE_LACKS_CONST_TIMESPEC_PTR +#define ACE_LACKS_FORK +#define ACE_LACKS_LINEBUFFERED_STREAMBUF +#define ACE_LACKS_MADVISE +#define ACE_LACKS_MSGBUF_T +#define ACE_LACKS_MUTEXATTR_PSHARED +#define ACE_LACKS_NAMED_POSIX_SEM +#define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS +#define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS +#define ACE_LACKS_PTHREAD_THR_SIGSETMASK +#define ACE_LACKS_RPC_H +#define ACE_LACKS_RTTI +#define ACE_LACKS_RWLOCK_T +#define ACE_LACKS_SBRK +#define ACE_LACKS_SEEKDIR +#define ACE_LACKS_SOCKET_BUFSIZ +#define ACE_LACKS_SOCKETPAIR +#define ACE_LACKS_SOME_POSIX_PROTOTYPES +#define ACE_LACKS_STREAM_MODULES +#define ACE_LACKS_STRRECVFD +#define ACE_LACKS_SYSCALL +#define ACE_LACKS_SYSTIME_H +#define ACE_LACKS_SYSV_MSG_H +#define ACE_LACKS_SYSV_SHMEM +#define ACE_LACKS_TCP_NODELAY +#define ACE_LACKS_TELLDIR +#define ACE_LACKS_TIMESPEC_T +#define ACE_LACKS_TRUNCATE +#define ACE_LACKS_T_ERRNO +#define ACE_LACKS_UALARM_PROTOTYPE +#define ACE_LACKS_UCONTEXT_H +#define ACE_LACKS_UNIX_DOMAIN_SOCKETS +#define ACE_LACKS_U_LONGLONG_T +#define ACE_MT_SAFE 1 +#define ACE_NEEDS_FUNC_DEFINITIONS +#define ACE_NEEDS_HUGE_THREAD_STACKSIZE 65536 +#define ACE_TEMPLATES_REQUIRE_SOURCE +#define ACE_THR_PRI_FIFO_DEF 10 +#define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1 +#define ACE_HAS_SIGTIMEDWAIT +#define ACE_HAS_SIGSUSPEND + +#if !defined (ACE_NTRACE) +# define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-qnx-rtp.h b/ace/config-qnx-rtp.h new file mode 100644 index 00000000000..e29d051c0a2 --- /dev/null +++ b/ace/config-qnx-rtp.h @@ -0,0 +1,195 @@ +// $Id$ + +// The following configuration file is designed to work for QNX RTP +// GNU C++ and the POSIX (pthread) threads package. You can get QNX +// RTP at http://get.qnx.com + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +#define _POSIX_C_SOURCE 199506 +#define _QNX_SOURCE + +// These constants are in i386-nto/include/limits.h, but egcs +// picks up its own limits.h instead: +#define _POSIX_NAME_MAX 14 /* Max bytes in a filename */ +#define _POSIX_PATH_MAX 256 /* Num. bytes in pathname (excl. NULL) */ + +// gcc can do inline +#if __GNUC__ > 2 || ( __GNUC__ == 2 && __GNUC_MINOR__ >= 8) +# if !defined (__ACE_INLINE__) +# define __ACE_INLINE__ +# endif /* ! __ACE_INLINE__ */ +#endif + +#if defined(__OPTIMIZE__) +# if defined(__X86__) + // string.h can't be used by ACE with __OPTIMIZE__. +# undef __OPTIMIZE__ +# include +# define __OPTIMIZE__ +# endif /* __X86__ */ +#endif /* __OPTIMIZE__ */ + +#include "ace/config-g++-common.h" + +// The following defines the Neutrino compiler. +// gcc should know to call g++ as necessary +#ifdef __GNUC__ +# define ACE_CC_NAME "gcc" +#else +# define ACE_CC_NAME "QNX-RTP compiler ??" +#endif + +// /usr/nto/include/float.h defines +// FLT_MAX_EXP 127 +// DBL_MAX_EXP 1023 +// ace expects 128 & 1024 respectively +// to set the following macros in ace/Basic_Types.h +// These macros are: +#define ACE_SIZEOF_DOUBLE 8 +#define ACE_SIZEOF_FLOAT 4 + +///////////////////////////////////////////////////////////////// +// Definition of the features that are available. +// +// ACE_HAS Section +///////////////////////////////////////////////////////////////// + +#define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R +#define ACE_HAS_4_4BSD_SENDMSG_RECVMSG +#define ACE_HAS_ALLOCA +#define ACE_HAS_ALLOCA_H +#define ACE_HAS_AUTOMATIC_INIT_FINI +#define ACE_HAS_CLOCK_GETTIME +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES +#define ACE_HAS_DIRENT +#define ACE_HAS_GETPAGESIZE +// Enable gperf, this is a hosted configuration. +#define ACE_HAS_GPERF +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT +//#define ACE_HAS_NONSTATIC_OBJECT_MANAGER +#define ACE_HAS_INLINED_OSCALLS +#define ACE_HAS_IP_MULTICAST +#define ACE_HAS_MSG +#define ACE_HAS_MT_SAFE_MKTIME +#define ACE_HAS_MUTEX_TIMEOUTS +#define ACE_HAS_NONCONST_SELECT_TIMEVAL +#define ACE_HAS_POSIX_SEM +#define ACE_HAS_POSIX_TIME +#define ACE_HAS_PTHREADS +#define ACE_HAS_PTHREADS_STD +#define ACE_HAS_PTHREAD_SIGMASK +#define ACE_HAS_P_READ_WRITE +#define ACE_HAS_REENTRANT_FUNCTIONS +#define ACE_HAS_SELECT_H +#define ACE_HAS_SIGINFO_T +#define ACE_HAS_SIGISMEMBER_BUG +#define ACE_HAS_SIGWAIT +#define ACE_HAS_SIG_ATOMIC_T +#define ACE_HAS_SIG_MACROS +#define ACE_HAS_SIN_LEN +#define ACE_HAS_SIZET_SOCKET_LEN +#define ACE_HAS_SSIZE_T +#define ACE_HAS_STRERROR +#define ACE_HAS_STRINGS +#define ACE_HAS_SVR4_GETTIMEOFDAY +#define ACE_HAS_TERM_IOCTLS +#define ACE_HAS_THREADS +#define ACE_HAS_THREAD_SPECIFIC_STORAGE +#define ACE_HAS_THR_C_DEST +#define ACE_HAS_THR_C_FUNC +#define ACE_HAS_TIMEZONE_GETTIMEOFDAY +#define ACE_HAS_UALARM +#define ACE_HAS_UCONTEXT_T +#define ACE_HAS_VOIDPTR_MMAP +#define ACE_HAS_VOIDPTR_SOCKOPT + +///////////////////////////////////////////////////////////////// +// Definition of the features that are not available. +// +// ACE_LACKS Section +///////////////////////////////////////////////////////////////// +#define ACE_LACKS_CMSG_DATA_MEMBER +#define ACE_LACKS_CONDATTR_PSHARED +#define ACE_LACKS_CONST_TIMESPEC_PTR +#define ACE_LACKS_LINEBUFFERED_STREAMBUF +#define ACE_LACKS_MADVISE +#define ACE_LACKS_MSGBUF_T +#define ACE_LACKS_MUTEXATTR_PSHARED +#define ACE_LACKS_NAMED_POSIX_SEM +#define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS +#define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS +#define ACE_LACKS_PTHREAD_THR_SIGSETMASK +#define ACE_LACKS_RPC_H +#define ACE_LACKS_RTTI +#define ACE_LACKS_RWLOCK_T +#define ACE_LACKS_SBRK +#define ACE_LACKS_SEEKDIR +#define ACE_LACKS_SOCKET_BUFSIZ +#define ACE_LACKS_SOCKETPAIR // Even if the QNX RTP docs says that socket pair are + // available, there is actually no implementation of + // soket-pairs. +#define ACE_LACKS_SOME_POSIX_PROTOTYPES +#define ACE_LACKS_STREAM_MODULES +#define ACE_LACKS_STRRECVFD +#define ACE_LACKS_SYSCALL +#define ACE_LACKS_SYSTIME_H +#define ACE_LACKS_SYSV_MSG_H +#define ACE_LACKS_SYSV_SHMEM +//#define ACE_LACKS_TCP_NODELAY // Based on the QNX RTP documentation, this option seems to + // to be supported. +#define ACE_LACKS_TELLDIR +#define ACE_LACKS_TIMESPEC_T +#define ACE_LACKS_TRUNCATE +#define ACE_LACKS_T_ERRNO +#define ACE_LACKS_UALARM_PROTOTYPE +#define ACE_LACKS_UCONTEXT_H +#define ACE_LACKS_UNIX_DOMAIN_SOCKETS +#define ACE_LACKS_U_LONGLONG_T + +#define ACE_LACKS_RLIMIT // QNX rlimit syscalls don't work properly with ACE. + +#define ACE_MT_SAFE 1 +#define ACE_NEEDS_FUNC_DEFINITIONS +#define ACE_NEEDS_HUGE_THREAD_STACKSIZE 64000 +#define ACE_TEMPLATES_REQUIRE_SOURCE +#define ACE_THR_PRI_FIFO_DEF 10 +#define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1 +#define ACE_HAS_SIGTIMEDWAIT +#define ACE_HAS_SIGSUSPEND + +#define ACE_HAS_BROKEN_PREALLOCATED_OBJECTS_AFTER_FORK 1 + +#define ACE_SIZEOF_WCHAR 4 + +// Not really, but the prototype returns wchar_t instead of wchar_t * +#define ACE_LACKS_WCSSTR + +// No prototypes +#define ACE_LACKS_ITOW +#define ACE_LACKS_WCSICMP +#define ACE_LACKS_WCSNICMP +#define ACE_LACKS_WCSDUP + +// And these have prototypes but no implementation +#define ACE_LACKS_WCSLEN +#define ACE_LACKS_WCSNCMP +#define ACE_LACKS_WCSCPY +#define ACE_LACKS_WCSNCPY +#define ACE_LACKS_TOWLOWER +#define ACE_LACKS_WCSCMP +#define ACE_LACKS_WCSCAT +#define ACE_LACKS_WCSNCAT +#define ACE_LACKS_WCSSPN +#define ACE_LACKS_WCSCHR +#define ACE_LACKS_WCSPBRK +#define ACE_LACKS_WCSRCHR + +#if !defined (ACE_NTRACE) +# define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-rtems.h b/ace/config-rtems.h new file mode 100644 index 00000000000..e0a1d102255 --- /dev/null +++ b/ace/config-rtems.h @@ -0,0 +1,164 @@ +/* -*- C -*- */ +// $Id$ + +/* The following configuration file is designed to work for RTEMS + platforms using GNU C. +*/ + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H + +// begin of linux-common.h + +/* #define ACE_HAS_BYTESEX_H */ + +#if ! defined (__ACE_INLINE__) +#define __ACE_INLINE__ +#endif /* ! __ACE_INLINE__ */ + +// Needed to make some prototypes visible. +// #if ! defined (_GNU_SOURCE) +// #define _GNU_SOURCE +// #endif /* ! _GNU_SOURCE */ + +// First the machine specific part +// There are no known port specific issues with the RTEMS port of ACE. +// XXX Pentium and PowerPC have high res timer support in ACE. + +// Then the compiler specific parts +#if defined (__GNUG__) + // config-g-common.h undef's ACE_HAS_STRING_CLASS with -frepo, so + // this must appear before its #include. +# define ACE_HAS_STRING_CLASS +# include "ace/config-g-common.h" +#elif defined (__KCC) +# define ACE_HAS_STRING_CLASS +# include "ace/config-kcc-common.h" +#elif defined (__DECCXX) +# define ACE_CONFIG_INCLUDE_CXX_COMMON +# include "ace/config-cxx-common.h" +#else /* ! __GNUG__ && ! __KCC && !__DECCXX */ +# error unsupported compiler in ace/config-linux-common.h +#endif /* ! __GNUG__ && ! __KCC */ + +// Completely common part :-) + +#define ACE_HAS_NONSTATIC_OBJECT_MANAGER +# if !defined (ACE_MAIN) +# define ACE_MAIN ace_main +# endif /* ! ACE_MAIN */ + +// Yes, we do have threads. +#define ACE_HAS_THREADS +// And they're even POSIX pthreads (MIT implementation) +#define ACE_HAS_PTHREADS +// ... and the final standard even! +#define ACE_HAS_PTHREADS_STD +#define ACE_HAS_THREAD_SPECIFIC_STORAGE + +// XXX thread defines go here +#define ACE_MT_SAFE 1 +#define ACE_PAGE_SIZE 4096 +#define ACE_HAS_ALT_CUSERID +#define ACE_HAS_4_4BSD_SENDMSG_RECVMSG +#define ACE_HAS_CLOCK_GETTIME +/* #define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES */ +#define ACE_HAS_DIRENT +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT +/* #define ACE_HAS_LLSEEK */ +#define ACE_HAS_MEMCHR +#define ACE_HAS_MSG +#define ACE_HAS_MT_SAFE_MKTIME +#define ACE_HAS_POSIX_SEM +#define ACE_HAS_POSIX_TIME +#define ACE_HAS_PROCESS_ENUM +#define ACE_HAS_REENTRANT_FUNCTIONS +#define ACE_HAS_SIGINFO_T +#define ACE_HAS_SIGSUSPEND +#define ACE_HAS_SSIZE_T +/* #define ACE_HAS_STANDARD_CPP_LIBRARY */ +#define ACE_HAS_STRERROR +#define ACE_HAS_SUNOS4_GETTIMEOFDAY +#define ACE_HAS_SYS_ERRLIST +#define ACE_HAS_SYS_FILIO_H +#define ACE_HAS_TIMEZONE_GETTIMEOFDAY +#define ACE_LACKS_DIFFTIME +#define ACE_LACKS_EXEC +#define ACE_LACKS_FILELOCKS +#define ACE_LACKS_FORK +#define ACE_LACKS_GETOPT_PROTO +#define ACE_LACKS_GETPGID +#define ACE_LACKS_TIMESPEC_T +#define ACE_LACKS_MADVISE +#define ACE_LACKS_MKFIFO +#define ACE_LACKS_MMAP +#define ACE_LACKS_MPROTECT +#define ACE_LACKS_MSYNC +#define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS +/* #define ACE_LACKS_POSIX_PROTOTYPES */ + // ... for System V functions like shared memory and message queues +#define ACE_LACKS_PTHREAD_THR_SIGSETMASK +#define ACE_LACKS_READDIR_R +#define ACE_LACKS_READLINK +#define ACE_HAS_BROKEN_READV +#define ACE_LACKS_READV +#define ACE_LACKS_RLIMIT +#define ACE_LACKS_RLIMIT_PROTOTYPE +#define ACE_LACKS_RWLOCK_T +#define ACE_LACKS_SBRK +#define ACE_LACKS_SEMBUF_T +#define ACE_LACKS_SETREUID +#define ACE_LACKS_SETREUID_PROTOTYPE +#define ACE_LACKS_SETREGID +#define ACE_LACKS_SETREGID_PROTOTYPE +#define ACE_LACKS_SOME_POSIX_PROTOTYPES + // ... for System V functions like shared memory and message queues +#define ACE_LACKS_NATIVE_STRPTIME +#define ACE_LACKS_STRRECVFD +#define ACE_LACKS_SI_ADDR +#define ACE_LACKS_SOCKETPAIR +#define ACE_LACKS_SYSV_MSG_H +#define ACE_LACKS_SYSV_SHMEM +#define ACE_LACKS_SYSCALL +#define ACE_LACKS_SYS_NERR +#define ACE_LACKS_UALARM_PROTOTYPE +#define ACE_LACKS_UCONTEXT_H +#define ACE_HAS_BROKEN_WRITEV +#define ACE_LACKS_WRITEV +#define ACE_NEEDS_HUGE_THREAD_STACKSIZE 65536 +#define ACE_NEEDS_SCHED_H +#define ACE_HAS_POSIX_NONBLOCK + +/* What should these be set to?. + +ACE_TLI_TCP_DEVICE +ACE_HAS_RECVFROM_TIMEDWAIT +ACE_HAS_SEND_TIMEDWAIT +ACE_HAS_SENDTO_TIMEDWAIT +ACE_HAS_IP_MULTICAST +ACE_HAS_NONCONST_SELECT_TIMEVAL +ACE_HAS_WCHAR_TYPEDEFS_CHAR +ACE_HAS_WCHAR_TYPEDEFS_USHORT +ACE_HAS_SIGNAL_SAFE_OS_CALLS +ACE_HAS_SIZET_SOCKET_LEN +ACE_HAS_SOCKADDR_MSG_NAME +ACE_HAS_SOCKLEN_T +ACE_HAS_STRBUF_T +ACE_HAS_SYS_SIGLIST +ACE_HAS_TERM_IOCTLS +ACE_HAS_THREAD_SAFE_ACCEPT +ACE_LACKS_COND_TIMEDWAIT_RESET +ACE_LACKS_MSG_ACCRIGHTS +ACE_LACKS_NETDB_REENTRANT_FUNCTIONS + +Why don't we have alloca.h? + */ + +#include /**/ + +extern "C" +{ + int getopt (int, char *const *, const char *); +} + +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-sco-4.2-nothread.h b/ace/config-sco-4.2-nothread.h new file mode 100644 index 00000000000..bb7df289328 --- /dev/null +++ b/ace/config-sco-4.2-nothread.h @@ -0,0 +1,116 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for SCO UNIX +// version 4.2 without threads. + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +#if defined (__GNUG__) +# include "ace/config-g++-common.h" + // This config file has not been tested with ACE_HAS_TEMPLATE_SPECIALIZATION. + // Maybe it will work? +# undef ACE_HAS_TEMPLATE_SPECIALIZATION +#endif /* __GNUG__ */ + +// Compiling for SCO. +#if !defined (SCO) +#define SCO +#endif /* SCO */ + +#if ! defined (__ACE_INLINE__) +#define __ACE_INLINE__ +#endif /* ! __ACE_INLINE__ */ + +// Optimize ACE_Handle_Set for select(). +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT +#define ACE_DEFAULT_CLOSE_ALL_HANDLES 0 + +#if defined (SCO) && !defined (MAXPATHLEN) +#define MAXPATHLEN 1023 +#endif /* SCO */ + +#define ACE_HAS_SIG_MACROS +#define ACE_LACKS_UNIX_DOMAIN_SOCKETS +#define ACE_LACKS_SYSCALL +#define ACE_LACKS_STRRECVFD +#define ACE_LACKS_MMAP +#define ACE_LACKS_SOCKETPAIR +#define ACE_HAS_SEMUN +#define ACE_LACKS_MSYNC +#define ACE_LACKS_MADVISE +#define ACE_LACKS_WRITEV +#define ACE_LACKS_READV +#define ACE_NEEDS_FTRUNCATE +#define ACE_LACKS_RLIMIT +#define ACE_LACKS_RECVMSG +#define ACE_LACKS_SENDMSG + +// 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 file. +//#define ACE_HAS_SYSCALL_H + +// Fixes a problem with HP/UX not wrapping the mmap(2) header files +// with extern "C". +//#define ACE_HAS_BROKEN_MMAP_H + +// Prototypes for both signal() and struct sigaction are consistent. +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES + +// Compiler/platform has correctly prototyped header files. +#define ACE_HAS_CPLUSPLUS_HEADERS + +// Header files lack t_errno for ACE_TLI. +//#define ACE_LACKS_T_ERRNO + +// Compiler/platform supports poll(). +#define ACE_HAS_POLL + +// Platform supports POSIX O_NONBLOCK semantics. +#define ACE_HAS_POSIX_NONBLOCK + +// Compiler/platform defines the sig_atomic_t typedef +#define ACE_HAS_SIG_ATOMIC_T + +// Compiler supports the ssize_t typedef. +//#define ACE_HAS_SSIZE_T + +// Defines the page size of the system. +#define ACE_PAGE_SIZE 4096 + +// Compiler/platform supports strerror (). +#define ACE_HAS_STRERROR + +// ??? +#define ACE_HAS_SUNOS4_GETTIMEOFDAY + +// HP/UX has an undefined syscall for GETRUSAGE... +//#define ACE_HAS_SYSCALL_GETRUSAGE + +// Note, this only works if the flag is set above! +//#define ACE_HAS_GETRUSAGE + +// Platform uses int for select() rather than fd_set. +#define ACE_SELECT_USES_INT + +// Platform has prototypes for ACE_TLI. +//#define ACE_HAS_TLI_PROTOTYPES +// Platform has the XLI version of ACE_TLI. +// #define ACE_HAS_XLI + +#define ACE_HAS_GNU_CSTRING_H + +// Turns off the tracing feature. +#if !defined (ACE_NTRACE) +#define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ +#define ACE_HAS_DIRENT +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-sco-5.0.0-fsu-pthread.h b/ace/config-sco-5.0.0-fsu-pthread.h new file mode 100644 index 00000000000..2c873f48c87 --- /dev/null +++ b/ace/config-sco-5.0.0-fsu-pthread.h @@ -0,0 +1,15 @@ +/* -*- C++ -*- */ +// $Id$ + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +#include "ace/config-g++-common.h" +#include "ace/config-sco-5.0.0.h" +#include "ace/config-fsu-pthread.h" + +#define ACE_HAS_GNU_CSTRING_H + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-sco-5.0.0-mit-pthread.h b/ace/config-sco-5.0.0-mit-pthread.h new file mode 100644 index 00000000000..70ce1167694 --- /dev/null +++ b/ace/config-sco-5.0.0-mit-pthread.h @@ -0,0 +1,178 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for SCO UNIX +// version 5.0 with MIT pthreads. + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +#if !defined (__ACE_INLINE__) +#define __ACE_INLINE__ +#endif /* ! __ACE_INLINE__ */ + +#if defined (__GNUG__) +# include "ace/config-g++-common.h" + // This config file has not been tested with ACE_HAS_TEMPLATE_SPECIALIZATION. + // Maybe it will work? +# undef ACE_HAS_TEMPLATE_SPECIALIZATION +#endif /* __GNUG__ */ + +// Compiling for SCO. +#if !defined (SCO) +#define SCO +#define _SVID3 +#endif /* SCO */ + +#define ACE_DEFAULT_CLOSE_ALL_HANDLES 0 +#define ACE_HAS_SIG_MACROS +// Optimize ACE_Handle_Set for select(). +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT + +#if defined (SCO) && !defined (MAXPATHLEN) +#define MAXPATHLEN 1023 +#endif /* SCO */ + +#define ACE_LACKS_PWD_FUNCTIONS +#define ACE_HAS_BIG_FD_SET + +//#define ACE_LACKS_SYSCALL +//#define ACE_LACKS_STRRECVFD +//#define ACE_NEEDS_FTRUNCATE +#define ACE_LACKS_RLIMIT +#define ACE_LACKS_MADVISE + +#define ACE_HAS_REENTRANT_FUNCTIONS + +// Platform supports System V IPC (most versions of UNIX, but not Win32) +#define ACE_HAS_SYSV_IPC +#define ACE_HAS_NONCONST_MSGSND +// #define ACE_LACKS_POSIX_PROTOTYPES +#define ACE_HAS_SVR4_DYNAMIC_LINKING +#define ACE_HAS_AUTOMATIC_INIT_FINI + +// Platform supports Term Ioctls +#define ACE_HAS_TERM_IOCTLS + +// Platform supports recvmsg and sendmsg. +#define ACE_HAS_MSG + +// Compiler/platform contains the file. +//#define ACE_HAS_SYSCALL_H + +// Fixes a problem with HP/UX not wrapping the mmap(2) header files +// with extern "C". +//#define ACE_HAS_BROKEN_MMAP_H + +// Prototypes for both signal() and struct sigaction are consistent. +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES + +// Compiler/platform has correctly prototyped header files. +#define ACE_HAS_CPLUSPLUS_HEADERS + +// Header files lack t_errno for ACE_TLI. +//#define ACE_LACKS_T_ERRNO + +// Compiler/platform supports poll(). +// #define ACE_HAS_POLL + +// Platform supports POSIX O_NONBLOCK semantics. +#define ACE_HAS_POSIX_NONBLOCK + +// Compiler/platform defines the sig_atomic_t typedef +#define ACE_HAS_SIG_ATOMIC_T + +// Compiler supports the ssize_t typedef. +//#define ACE_HAS_SSIZE_T + +// Defines the page size of the system. +#define ACE_PAGE_SIZE 4096 + +// Compiler/platform supports strerror (). +#define ACE_HAS_STRERROR + +// ??? +// #define ACE_HAS_SUNOS4_GETTIMEOFDAY +#define ACE_HAS_TIMEZONE_GETTIMEOFDAY + +// HP/UX has an undefined syscall for GETRUSAGE... +//#define ACE_HAS_SYSCALL_GETRUSAGE + +// Note, this only works if the flag is set above! +//#define ACE_HAS_GETRUSAGE + +// Platform uses int for select() rather than fd_set. +#define ACE_HAS_SELECT_H + +// Platform has prototypes for ACE_TLI. +#define ACE_HAS_TLI +//#define ACE_HAS_SVR4_TLI +#define ACE_HAS_T_OPMGMT +#define ACE_HAS_TLI_PROTOTYPES +#define ACE_HAS_TIMOD_H +#define ACE_HAS_TIUSER_H +#define ACE_LACKS_T_ERRNO + +// Platform has the XLI version of ACE_TLI. +// #define ACE_HAS_XLI + +#define ACE_HAS_GNU_CSTRING_H + +// Turns off the tracing feature. +#if !defined (ACE_NTRACE) +#define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +#define ACE_HAS_SIGINFO_T +#define ACE_HAS_UCONTEXT_T + +#define ACE_LACKS_SYSTIME_H +#define ACE_HAS_INLINED_OSCALLS + +#define ACE_HAS_STRBUF_T +#define ACE_HAS_STREAMS +//#define ACE_HAS_STREAM_PIPES +#define ACE_HAS_IP_MULTICAST + +// Threads +#define ACE_HAS_THREADS +#if !defined (ACE_MT_SAFE) +# define ACE_MT_SAFE 1 +#endif +#define ACE_HAS_THREAD_SPECIFIC_STORAGE +#define ACE_HAS_PTHREADS +#define ACE_HAS_PTHREADS_STD +#define ACE_LACKS_PTHREAD_CANCEL +#define ACE_HAS_SIGWAIT +//#define ACE_HAS_PTHREAD_YIELD_VOID_PTR +//#define ACE_HAS_PTHREAD_ATTR_INIT +//#define ACE_HAS_PTHREAD_ATTR_DESTROY +#define ACE_LACKS_THREAD_PROCESS_SCOPING +//#define ACE_LACKS_THREAD_STACK_ADDR +// If ACE doesn't compile due to the lack of these methods, please +// send email to schmidt@cs.wustl.edu reporting this. +// #define ACE_LACKS_CONDATTR_PSHARED +// #define ACE_LACKS_MUTEXATTR_PSHARED +#define ACE_LACKS_RWLOCK_T +#define ACE_LACKS_SETSCHED +#define ACE_HAS_POSIX_TIME + +#include +#include + +#define ACE_LACKS_TIMEDWAIT_PROTOTYPES +#define ACE_HAS_RECV_TIMEDWAIT +#define ACE_HAS_RECVFROM_TIMEDWAIT +#define ACE_HAS_RECVMSG_TIMEDWAIT +#define ACE_HAS_SEND_TIMEDWAIT +#define ACE_HAS_SENDTO_TIMEDWAIT +#define ACE_HAS_SENDMSG_TIMEDWAIT +#define ACE_HAS_READ_TIMEDWAIT +#define ACE_HAS_READV_TIMEDWAIT +#define ACE_HAS_WRITE_TIMEDWAIT +#define ACE_HAS_WRITEV_TIMEDWAIT +#define ACE_HAS_DIRENT + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-sco-5.0.0-nothread.h b/ace/config-sco-5.0.0-nothread.h new file mode 100644 index 00000000000..ca241adbd1d --- /dev/null +++ b/ace/config-sco-5.0.0-nothread.h @@ -0,0 +1,14 @@ +/* -*- C++ -*- */ +// $Id$ + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +#include "ace/config-g++-common.h" +#include "ace/config-sco-5.0.0.h" + +#define ACE_HAS_GNU_CSTRING_H + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-sco-5.0.0.h b/ace/config-sco-5.0.0.h new file mode 100644 index 00000000000..b8a2b738182 --- /dev/null +++ b/ace/config-sco-5.0.0.h @@ -0,0 +1,110 @@ +/* -*- C++ -*- */ +// $Id$ + +#ifndef ACE_CONFIG_SCO_5_0_0_H +#define ACE_CONFIG_SCO_5_0_0_H +#include "ace/pre.h" + +// Compiling for SCO. +#if !defined (SCO) +#define SCO +#endif /* SCO */ + +#if defined (SCO) && !defined (MAXPATHLEN) +#define MAXPATHLEN 1023 +#endif /* SCO */ + +#define ACE_HAS_NONCONST_SELECT_TIMEVAL +#define ACE_HAS_SIG_MACROS +#define ACE_LACKS_CONST_TIMESPEC_PTR +#define ACE_LACKS_SYSCALL +#define ACE_LACKS_STRRECVFD +#define ACE_NEEDS_FTRUNCATE +#define ACE_LACKS_MADVISE +#define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS + +#define ACE_DEFAULT_CLOSE_ALL_HANDLES 0 + +// Compiler doesn't support static data member templates. +//#define ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES + +// Platform supports System V IPC (most versions of UNIX, but not Win32) +#define ACE_HAS_SYSV_IPC +#define ACE_HAS_NONCONST_MSGSND +#define ACE_HAS_BIG_FD_SET +// #define ACE_LACKS_POSIX_PROTOTYPES +#define ACE_HAS_SVR4_DYNAMIC_LINKING +#define ACE_HAS_AUTOMATIC_INIT_FINI + +// Platform supports Term Ioctls +#define ACE_HAS_TERM_IOCTLS + +// Compiler/platform contains the file. +//#define ACE_HAS_SYSCALL_H + +// Fixes a problem with HP/UX not wrapping the mmap(2) header files +// with extern "C". +//#define ACE_HAS_BROKEN_MMAP_H + +// Prototypes for both signal() and struct sigaction are consistent. +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES + +// Compiler/platform has correctly prototyped header files. +#define ACE_HAS_CPLUSPLUS_HEADERS + +// Header files lack t_errno for ACE_TLI. +//#define ACE_LACKS_T_ERRNO + +// Compiler/platform supports poll(). +// #define ACE_HAS_POLL + +// Platform supports POSIX O_NONBLOCK semantics. +#define ACE_HAS_POSIX_NONBLOCK + +// Compiler/platform defines the sig_atomic_t typedef +#define ACE_HAS_SIG_ATOMIC_T + +// Compiler supports the ssize_t typedef. +//#define ACE_HAS_SSIZE_T + +// Defines the page size of the system. +#define ACE_PAGE_SIZE 4096 + +// Compiler/platform supports strerror (). +#define ACE_HAS_STRERROR + +#define ACE_HAS_TIMEZONE_GETTIMEOFDAY + +// HP/UX has an undefined syscall for GETRUSAGE... +//#define ACE_HAS_SYSCALL_GETRUSAGE + +// Note, this only works if the flag is set above! +//#define ACE_HAS_GETRUSAGE + +// Platform uses int for select() rather than fd_set. +#define ACE_HAS_SELECT_H + +// Platform has prototypes for ACE_TLI. +#define ACE_HAS_TLI_PROTOTYPES +// Platform has the XLI version of ACE_TLI. +// #define ACE_HAS_XLI + +// Turns off the tracing feature. +#if !defined (ACE_NTRACE) +#define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +#define ACE_HAS_SIGINFO_T +#define ACE_HAS_UCONTEXT_T + +#define ACE_LACKS_SYSTIME_H +#define ACE_LACKS_STRCASECMP + +// #define ACE_HAS_POSIX_TIME +#define ACE_HAS_IP_MULTICAST +#define ACE_HAS_DIRENT +#define ACE_LACKS_READDIR_R +#define ACE_HAS_GPERF + +#include "ace/post.h" +#endif /* ACE_CONFIG_SCO_5_0_0_H */ diff --git a/ace/config-sunos4-g++.h b/ace/config-sunos4-g++.h new file mode 100644 index 00000000000..b1d5f485e00 --- /dev/null +++ b/ace/config-sunos4-g++.h @@ -0,0 +1,105 @@ +/* -*- C++ -*- */ +// $Id$ + +// for SunOS4 platforms using the GNU g++ compiler + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +#if ! defined (__ACE_INLINE__) +#define __ACE_INLINE__ +#endif /* ! __ACE_INLINE__ */ + +// config-g++-common.h undef's ACE_HAS_STRING_CLASS with -frepo, so +// this must appear before its #include. +#define ACE_HAS_STRING_CLASS + +#include "ace/config-g++-common.h" +// This config file has not been tested with ACE_HAS_TEMPLATE_SPECIALIZATION. +// Maybe it will work? +#undef ACE_HAS_TEMPLATE_SPECIALIZATION + +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT + +#define ACE_LACKS_SYSTIME_H +#define ACE_LACKS_GETPGID +#define ACE_LACKS_SETPGID +#define ACE_LACKS_SETREGID +#define ACE_LACKS_SETREUID + +#define ACE_HAS_CHARPTR_SPRINTF +#define ACE_HAS_UNION_WAIT + +// 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 file. +#define ACE_HAS_SYSCALL_H + +// Compiler/platform has the getrusage() system call. +#define ACE_HAS_GETRUSAGE + +// Compiler/platform supports strerror (). +// #define ACE_HAS_STRERROR +#define ACE_HAS_SYS_ERRLIST + +// Header files lack t_errno for ACE_TLI. +// #define ACE_LACKS_T_ERRNO + +// Compiler/platform uses old malloc()/free() prototypes (ugh). +#define ACE_HAS_OLD_MALLOC + +// Defines the page size of the system. +#define ACE_PAGE_SIZE 4096 + +// Compiler/platform supports poll(). +#define ACE_HAS_POLL + +// Compiler/platform defines a union semun for SysV shared memory. +#define ACE_HAS_SEMUN + +// Compiler/platform provides the sockio.h file. +#define ACE_HAS_SOCKIO_H + +// Compiler/platform supports struct strbuf +#define ACE_HAS_STRBUF_T + +// Platform supports STREAMS. +#define ACE_HAS_STREAMS + +// Compiler/platform supports SVR4 dynamic linking semantics. +#define ACE_HAS_SVR4_DYNAMIC_LINKING + +// Platform provides header. +#define ACE_HAS_SYS_FILIO_H +// Platform supports ACE_TLI tiuser header. +// #define ACE_HAS_TIUSER_H + +// Platform has ACE_TLI. +// #define ACE_HAS_TLI + +#define ACE_LACKS_U_LONGLONG_T + +#define ACE_LACKS_DIFFTIME +#define ACE_HAS_DIRENT + +#define ACE_HAS_SUNOS4_SIGNAL_T +#define ACE_HAS_CPLUSPLUS_HEADERS +#if (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 6)) +#define ACE_HAS_SYSENT_H +#endif +#define ACE_HAS_ALLOCA +// Compiler/platform has +#define ACE_HAS_ALLOCA_H +#define ACE_HAS_SVR4_GETTIMEOFDAY +// Turns off the tracing feature. +#if !defined (ACE_NTRACE) +#define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-sunos4-lucid3.2.h b/ace/config-sunos4-lucid3.2.h new file mode 100644 index 00000000000..e0738e124a8 --- /dev/null +++ b/ace/config-sunos4-lucid3.2.h @@ -0,0 +1,95 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work +// for SunOS4 platforms using the Lucid 3.2 compiler. + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +#define ACE_LACKS_GETPGID +#define ACE_LACKS_SETPGID + +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT + +#define ACE_HAS_SYS_ERRLIST +#define ACE_HAS_CHARPTR_SPRINTF +#define ACE_HAS_UNION_WAIT + +// 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 file. +#define ACE_HAS_SYSCALL_H + +// Compiler/platform supports alloca() +#define ACE_HAS_ALLOCA + +// Compiler/platform has +#define ACE_HAS_ALLOCA_H + +// Compiler/platform has correctly prototyped header files. +#define ACE_HAS_CPLUSPLUS_HEADERS + +// Compiler/platform has the getrusage() system call. +#define ACE_HAS_GETRUSAGE + +// Header files lack t_errno for ACE_TLI. +// #define ACE_LACKS_T_ERRNO + +// Defines the page size of the system. +#define ACE_PAGE_SIZE 4096 + +// Compiler/platform supports poll(). +#define ACE_HAS_POLL + +// Compiler/platform defines a union semun for SysV shared memory. +#define ACE_HAS_SEMUN + +// Compiler/platform provides the sockio.h file. +#define ACE_HAS_SOCKIO_H + +// Compiler/platform supports struct strbuf +#define ACE_HAS_STRBUF_T + +// Platform supports STREAMS. +#define ACE_HAS_STREAMS + +// Compiler/platform supports strerror (). +// #define ACE_HAS_STRERROR + +// SunOS 4 style prototype. +#define ACE_HAS_SUNOS4_GETTIMEOFDAY + +// Compiler/platform supports SVR4 dynamic linking semantics. +#define ACE_HAS_SVR4_DYNAMIC_LINKING + +// Platform provides header. +#define ACE_HAS_SYSENT_H + +// Platform provides header. +#define ACE_HAS_SYS_FILIO_H + +// Platform supports ACE_TLI tiuser header. +// #define ACE_HAS_TIUSER_H + +// Platform has ACE_TLI. +// #define ACE_HAS_TLI + +#define ACE_NEEDS_DEV_IO_CONVERSION + +#define ACE_LACKS_U_LONGLONG_T + +#define ACE_LACKS_DIFFTIME + +// Turns off the tracing feature. +#if !defined (ACE_NTRACE) +#define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-sunos4-sun3.x.h b/ace/config-sunos4-sun3.x.h new file mode 100644 index 00000000000..88acc3e5ded --- /dev/null +++ b/ace/config-sunos4-sun3.x.h @@ -0,0 +1,87 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for SunOS4 +// platforms using the SunC++ 3.0.x compiler. + +#ifndef ACE_CONFIG_H + +#define ACE_LACKS_GETPGID +#define ACE_LACKS_SETPGID + +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT + +#define ACE_LACKS_POSIX_PROTOTYPES +#define ACE_HAS_UNION_WAIT +#define ACE_HAS_SPARCWORKS_401_SIGNALS + +#define ACE_CONFIG_H +#define ACE_HAS_CHARPTR_SPRINTF +#define ACE_HAS_SYS_ERRLIST + +// 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 file. +#define ACE_HAS_SYSCALL_H + +// Compiler/platform has the getrusage() system call. +#define ACE_HAS_GETRUSAGE + +// Header files lack t_errno for ACE_TLI. +// #define ACE_LACKS_T_ERRNO + +// Compiler/platform uses old malloc()/free() prototypes (ugh). +#define ACE_HAS_OLD_MALLOC + +// Defines the page size of the system. +#define ACE_PAGE_SIZE 4096 + +// Compiler/platform supports poll(). +#define ACE_HAS_POLL + +// Compiler/platform defines a union semun for SysV shared memory. +#define ACE_HAS_SEMUN + +// Compiler/platform provides the sockio.h file. +#define ACE_HAS_SOCKIO_H + +// Compiler/platform supports struct strbuf +#define ACE_HAS_STRBUF_T + +// Platform supports STREAMS. +#define ACE_HAS_STREAMS + +// SunOS 4 style prototype. +#define ACE_HAS_SUNOS4_GETTIMEOFDAY + +// Compiler/platform supports SVR4 dynamic linking semantics. +#define ACE_HAS_SVR4_DYNAMIC_LINKING + +// Platform provides header. +#define ACE_HAS_SYS_FILIO_H + +// Platform supports ACE_TLI tiuser header. +// #define ACE_HAS_TIUSER_H + +// Platform has ACE_TLI. +// #define ACE_HAS_TLI + +#define ACE_LACKS_LINEBUFFERED_STREAMBUF +#define ACE_LACKS_SIGNED_CHAR + +#define ACE_NEEDS_DEV_IO_CONVERSION + +#define ACE_LACKS_U_LONGLONG_T + +#define ACE_LACKS_DIFFTIME + +// 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-sunos4-sun4.1.4.h b/ace/config-sunos4-sun4.1.4.h new file mode 100644 index 00000000000..54ab33b2aa8 --- /dev/null +++ b/ace/config-sunos4-sun4.1.4.h @@ -0,0 +1,99 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for SunOS4.1.4 +// platforms using the SunC++ 4.x compiler. + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +#define ACE_LACKS_GETPGID +#define ACE_LACKS_SETPGID +#define ACE_LACKS_SETREGID +#define ACE_LACKS_SETREUID + +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT + +#define ACE_HAS_CHARPTR_SPRINTF +#define ACE_LACKS_SYSTIME_H +#define ACE_HAS_UNION_WAIT + +// Special addition to handle sunOS 4.1 which is unable to +// handle POSIX Prototypes ! +#define ACE_LACKS_POSIX_PROTOTYPES + +// 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 file. +#define ACE_HAS_SYSCALL_H + +// Compiler/platform has the getrusage() system call. +#define ACE_HAS_GETRUSAGE + +// Compiler/platform supports strerror (). +// #define ACE_HAS_STRERROR +#define ACE_HAS_SYS_ERRLIST + +// Header files lack t_errno for ACE_TLI. +// #define ACE_LACKS_T_ERRNO + +// Compiler/platform uses old malloc()/free() prototypes (ugh). +#define ACE_HAS_OLD_MALLOC + +// Defines the page size of the system. +#define ACE_PAGE_SIZE 4096 + +// Compiler/platform supports poll(). +#define ACE_HAS_POLL + +// Compiler/platform defines a union semun for SysV shared memory. +#define ACE_HAS_SEMUN + +// Compiler/platform provides the sockio.h file. +#define ACE_HAS_SOCKIO_H + +// Compiler has brain-damaged SPARCwork signal prototype... +#define ACE_HAS_SPARCWORKS_401_SIGNALS + +// Compiler/platform supports struct strbuf +#define ACE_HAS_STRBUF_T + +// Platform supports STREAMS. +#define ACE_HAS_STREAMS + +// SunOS 4 style prototype. +#define ACE_HAS_SUNOS4_GETTIMEOFDAY + +// Compiler/platform supports SVR4 dynamic linking semantics. +#define ACE_HAS_SVR4_DYNAMIC_LINKING + +// Platform provides header. +#define ACE_HAS_SYS_FILIO_H + +// Platform supports ACE_TLI tiuser header. +// #define ACE_HAS_TIUSER_H + +// Platform has ACE_TLI. +// #define ACE_HAS_TLI + +#define ACE_LACKS_LINEBUFFERED_STREAMBUF +#define ACE_LACKS_SIGNED_CHAR + +#define ACE_NEEDS_DEV_IO_CONVERSION + +#define ACE_LACKS_U_LONGLONG_T + +#define ACE_LACKS_DIFFTIME + +// Turns off the tracing feature. +#if !defined (ACE_NTRACE) +#define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-sunos4-sun4.x.h b/ace/config-sunos4-sun4.x.h new file mode 100644 index 00000000000..a5f1fd23063 --- /dev/null +++ b/ace/config-sunos4-sun4.x.h @@ -0,0 +1,106 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work +// for SunOS4 platforms using the SunC++ 4.x compiler. + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +#define ACE_LACKS_SYSTIME_H +#define ACE_LACKS_GETPGID +#define ACE_LACKS_SETPGID +#define ACE_LACKS_SETREGID +#define ACE_LACKS_SETREUID + +#define ACE_HAS_CHARPTR_SPRINTF +#define ACE_LACKS_POSIX_PROTOTYPES +// #define ACE_HAS_UNION_WAIT + +// Maximum compensation (10 ms) for early return from timed ::select (). +#if !defined (ACE_TIMER_SKEW) +# define ACE_TIMER_SKEW 10 * 1000 +#endif /* ACE_TIMER_SKEW */ + +#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 supports recvmsg and sendmsg. +#define ACE_HAS_MSG + +// Compiler/platform contains the file. +#define ACE_HAS_SYSCALL_H + +// Compiler/platform has the getrusage() system call. +#define ACE_HAS_GETRUSAGE + +// Compiler/platform supports strerror (). +// #define ACE_HAS_STRERROR +#define ACE_HAS_SYS_ERRLIST + +// Header files lack t_errno for ACE_TLI. +// #define ACE_LACKS_T_ERRNO + +// Compiler/platform uses old malloc()/free() prototypes (ugh). +#define ACE_HAS_OLD_MALLOC + +// Defines the page size of the system. +#define ACE_PAGE_SIZE 4096 + +// Compiler/platform supports poll(). +#define ACE_HAS_POLL + +// Compiler/platform defines a union semun for SysV shared memory. +#define ACE_HAS_SEMUN + +// Compiler/platform provides the sockio.h file. +#define ACE_HAS_SOCKIO_H + +// Compiler has brain-damaged SPARCwork signal prototype... +#define ACE_HAS_SPARCWORKS_401_SIGNALS + +// Compiler/platform supports struct strbuf +#define ACE_HAS_STRBUF_T + +// Platform supports STREAMS. +#define ACE_HAS_STREAMS + +// SunOS 4 style prototype. +#define ACE_HAS_SUNOS4_GETTIMEOFDAY + +// Compiler/platform supports SVR4 dynamic linking semantics. +#define ACE_HAS_SVR4_DYNAMIC_LINKING + +// Platform provides header. +#define ACE_HAS_SYS_FILIO_H + +// Platform supports ACE_TLI tiuser header. +// #define ACE_HAS_TIUSER_H + +// Platform has ACE_TLI. +// #define ACE_HAS_TLI + +#define ACE_LACKS_LINEBUFFERED_STREAMBUF +#define ACE_LACKS_SIGNED_CHAR + +#define ACE_NEEDS_DEV_IO_CONVERSION + +#define ACE_LACKS_U_LONGLONG_T + +#define ACE_LACKS_DIFFTIME + +// 10 millisecond fudge factor to account for Solaris timers... +#if !defined (ACE_TIMER_SKEW) +#define ACE_TIMER_SKEW 1000 * 10 +#endif /* ACE_TIMER_SKEW */ + +// Turns off the tracing feature. +#if !defined (ACE_NTRACE) +#define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-sunos5.4-centerline-2.x.h b/ace/config-sunos5.4-centerline-2.x.h new file mode 100644 index 00000000000..84a685f9153 --- /dev/null +++ b/ace/config-sunos5.4-centerline-2.x.h @@ -0,0 +1,162 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for SunOS 5.4 +// platforms using the Centerline 2.x C++ compiler. + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +#define ACE_HAS_TEMPLATE_SPECIALIZATION + +// Platform supports pread() and pwrite() +#define ACE_HAS_P_READ_WRITE + +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT + +#define ACE_HAS_XPG4_MULTIBYTE_CHAR + +// Platform supports System V IPC (most versions of UNIX, but not Win32) +#define ACE_HAS_SYSV_IPC + +// Sun has the wrong prototype for sendmsg. +#define ACE_HAS_BROKEN_SENDMSG + +// The SunOS 5.x version of rand_r is inconsistent with the header files... +#define ACE_HAS_BROKEN_RANDR + +// 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 + +// Compiler/platform contains the file. +#define ACE_HAS_SYSCALL_H + +// 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 + +// Platform contains . +#define ACE_HAS_POLL + +// Platform supports POSIX timers via timestruc_t. +#define ACE_HAS_POSIX_TIME + +// Platform supports the /proc file system. +#define ACE_HAS_PROC_FS + +// Platform supports the prusage_t struct. +#define ACE_HAS_PRUSAGE_T + +// 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/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 + +// Compiler/platform supports SVR4 signal typedef. +#define ACE_HAS_SVR4_SIGNAL_T + +// Platform lacks pthread_sigaction +#define ACE_LACKS_PTHREAD_THR_SIGSETMASK + +// Compiler/platform supports SVR4 ACE_TLI (in particular, T_GETNAME stuff)... +#define ACE_HAS_SVR4_TLI + +// Platform provides header. +#define ACE_HAS_SYS_FILIO_H + +// Compiler/platform supports sys_siglist array. +#define ACE_HAS_SYS_SIGLIST + +/* Turn off the following 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 + +// Platform supports Solaris threads. +#define ACE_HAS_STHREADS + +// Compiler/platform has thread-specific storage +#define ACE_HAS_THREAD_SPECIFIC_STORAGE + +// Platform supports reentrant functions (i.e., all the POSIX *_r functions). +#define ACE_HAS_REENTRANT_FUNCTIONS + +/* end threading defines */ + +#define ACE_HAS_PRIOCNTL +#define ACE_NEEDS_LWP_PRIO_SET + +// 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 + +#define ACE_NEEDS_DEV_IO_CONVERSION + +// 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_IDTYPE_T +#define ACE_HAS_DIRENT + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-sunos5.4-g++.h b/ace/config-sunos5.4-g++.h new file mode 100644 index 00000000000..3059e3c2aae --- /dev/null +++ b/ace/config-sunos5.4-g++.h @@ -0,0 +1,181 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for SunOS 5.4 +// platforms using the GNU g++ compiler. + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +#if ! defined (__ACE_INLINE__) +# define __ACE_INLINE__ +#endif /* ! __ACE_INLINE__ */ + +// config-g++-common.h undef's ACE_HAS_STRING_CLASS with -frepo, so +// this must appear before its #include. +#define ACE_HAS_STRING_CLASS + +#include "ace/config-g++-common.h" +#define ACE_HAS_GNU_CSTRING_H + +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT + +// Platform supports pread() and pwrite() +#define ACE_HAS_P_READ_WRITE + +#define ACE_HAS_XPG4_MULTIBYTE_CHAR + +#define ACE_HAS_TERM_IOCTLS + +// Platform supports System V IPC (most versions of UNIX, but not Win32) +#define ACE_HAS_SYSV_IPC + +// Sun has the wrong prototype for sendmsg. +#define ACE_HAS_BROKEN_SENDMSG + +// The SunOS 5.x version of rand_r is inconsistent with the header files... +#define ACE_HAS_BROKEN_RANDR + +// 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 + +// Compiler/platform contains the file. +#define ACE_HAS_SYSCALL_H + +// 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 supports alloca() +#define ACE_HAS_ALLOCA + +// Compiler/platform has +#define ACE_HAS_ALLOCA_H + +// Platform contains . +#define ACE_HAS_POLL + +// Platform supports POSIX timers via timestruc_t. +#define ACE_HAS_POSIX_TIME + +// Platform supports the /proc file system. +#define ACE_HAS_PROC_FS + +// Platform supports the prusage_t struct. +#define ACE_HAS_PRUSAGE_T + +// 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/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 + +// Compiler/platform supports SVR4 gettimeofday() prototype. +#define ACE_HAS_SVR4_GETTIMEOFDAY + +// Platform lacks pthread_sigaction +#define ACE_LACKS_PTHREAD_THR_SIGSETMASK + +// Compiler/platform supports SVR4 TLI (in particular, T_GETNAME stuff)... +#define ACE_HAS_SVR4_TLI + +// Platform provides header. +#define ACE_HAS_SYS_FILIO_H + +// Compiler/platform supports sys_siglist array. +#define ACE_HAS_SYS_SIGLIST + +/* Turn off the following defines if you want to disable threading. */ +// Compile using multi-thread libraries. +#if !defined (ACE_MT_SAFE) +# define ACE_MT_SAFE 1 +# if !defined (_REENTRANT) +# define _REENTRANT +# endif /* _REENTRANT */ +#endif /* !ACE_MT_SAFE */ + +// Platform supports Solaris threads. +#define ACE_HAS_STHREADS + +// Platform supports threads. +#define ACE_HAS_THREADS + +// Compiler/platform has thread-specific storage +#define ACE_HAS_THREAD_SPECIFIC_STORAGE + +// Platform supports reentrant functions (i.e., all the POSIX *_r functions). +#define ACE_HAS_REENTRANT_FUNCTIONS + +/* end threading defines */ + +#define ACE_HAS_PRIOCNTL +#define ACE_NEEDS_LWP_PRIO_SET + +// Platform supports TLI timod STREAMS module. +#define ACE_HAS_TIMOD_H + +// Platform supports TLI tiuser header. +#define ACE_HAS_TIUSER_H + +// Platform provides TLI function prototypes. +#define ACE_HAS_TLI_PROTOTYPES + +// Platform supports TLI. +#define ACE_HAS_TLI + +// 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_IDTYPE_T +#define ACE_HAS_GPERF +#define ACE_HAS_DIRENT + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-sunos5.4-sunc++-4.x.h b/ace/config-sunos5.4-sunc++-4.x.h new file mode 100644 index 00000000000..7e09eb292f3 --- /dev/null +++ b/ace/config-sunos5.4-sunc++-4.x.h @@ -0,0 +1,194 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for SunOS 5.4 +// platforms using the SunC++ 4.0.x compiler. + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +#if ! defined (__ACE_INLINE__) +# define __ACE_INLINE__ +#endif /* ! __ACE_INLINE__ */ + +#define ACE_HAS_TEMPLATE_SPECIALIZATION + +// Optimize ACE_Handle_Set for select(). +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT + +// Platform supports pread() and pwrite() +#define ACE_HAS_P_READ_WRITE + +#define ACE_HAS_XPG4_MULTIBYTE_CHAR + +// Platform supports System V IPC (most versions of UNIX, but not Win32) +#define ACE_HAS_SYSV_IPC + +// Sun has the wrong prototype for sendmsg. +#define ACE_HAS_BROKEN_SENDMSG + +// The SunOS 5.x version of rand_r is inconsistent with the header files... +#define ACE_HAS_BROKEN_RANDR + +// 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 + +// Compiler/platform contains the file. +#define ACE_HAS_SYSCALL_H + +// 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 supports alloca() +#define ACE_HAS_ALLOCA + +// Compiler/platform has +#define ACE_HAS_ALLOCA_H + +// Platform contains . +#define ACE_HAS_POLL + +// Platform supports POSIX timers via timestruc_t. +#define ACE_HAS_POSIX_TIME + +// Platform supports the /proc file system. +#define ACE_HAS_PROC_FS + +// Platform supports the prusage_t struct. +#define ACE_HAS_PRUSAGE_T + +// 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/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 + +// Compiler/platform supports SVR4 gettimeofday() prototype. +#define ACE_HAS_SVR4_GETTIMEOFDAY + +// Compiler/platform supports SVR4 signal typedef. +#define ACE_HAS_SVR4_SIGNAL_T + +// Platform lacks pthread_sigaction +#define ACE_LACKS_PTHREAD_THR_SIGSETMASK + +// Compiler/platform supports SVR4 ACE_TLI (in particular, T_GETNAME stuff)... +#define ACE_HAS_SVR4_TLI + +// Platform provides header. +#define ACE_HAS_SYS_FILIO_H + +// Compiler/platform supports sys_siglist array. +#define ACE_HAS_SYS_SIGLIST + +/* Turn off the following 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 Solaris threads. +#define ACE_HAS_STHREADS + +// Platform supports threads. +#define ACE_HAS_THREADS + +// Compiler/platform has thread-specific storage +#define ACE_HAS_THREAD_SPECIFIC_STORAGE + +// Platform supports reentrant functions (i.e., all the POSIX *_r functions). +#define ACE_HAS_REENTRANT_FUNCTIONS + +/* end threading defines */ + +#define ACE_HAS_PRIOCNTL +#define ACE_NEEDS_LWP_PRIO_SET + +// Reactor detects deadlock +// #define ACE_REACTOR_HAS_DEADLOCK_DETECTION + +// 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 + +#define ACE_LACKS_LINEBUFFERED_STREAMBUF +#define ACE_LACKS_SIGNED_CHAR + +// Use the poll() event demultiplexor rather than select(). +//#define ACE_USE_POLL + +#define ACE_NEEDS_DEV_IO_CONVERSION + +// Turns off the tracing feature. +// #define ACE_NTRACE 0 +#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_IDTYPE_T + +#define ACE_HAS_GPERF +#define ACE_HAS_DIRENT + +# if defined (ACE_HAS_EXCEPTIONS) + // If exceptions are enabled and we are using Sun/CC then + // throws an exception instead of returning 0. +# define ACE_NEW_THROWS_EXCEPTIONS +# endif /* ACE_HAS_EXCEPTIONS */ + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-sunos5.5.h b/ace/config-sunos5.5.h new file mode 100644 index 00000000000..21b6463f773 --- /dev/null +++ b/ace/config-sunos5.5.h @@ -0,0 +1,378 @@ +/* -*- C++ -*- */ +// $Id$ + +// This configuration file is designed to work for SunOS 5.5 platforms +// using the following compilers: +// * Sun C++ 4.2 and later (including 5.x), patched as noted below +// * g++ 2.7.2 and later, including egcs +// * Green Hills 1.8.8 and later + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +// Before we do anything, we should include to +// ensure that things are set up properly. +#include + +// Compiler version-specific settings: +#if defined (__SUNPRO_CC) +# if (__SUNPRO_CC < 0x410) + // The following might not be necessary, but I can't tell: my build + // with Sun C++ 4.0.1 never completes. +# define ACE_NEEDS_DEV_IO_CONVERSION +# elif (__SUNPRO_CC >= 0x420) +# define ACE_HAS_ANSI_CASTS +# if (__SUNPRO_CC >= 0x500) +// string.h and memory.h conflict for memchr definitions +# define ACE_LACKS_MEMORY_H +// Sun C++ 5.0 supports the `using' and `typename' keywords. +# define ACE_HAS_TYPENAME_KEYWORD + /* Explicit instantiation requires the -instances=explicit + CCFLAG. It seems to work for the most part, except for: + 1) Static data members get instantiated multiple times. + 2) In TAO, the TAO_Unbounded_Sequence vtbl can't be found. + With CC 5.0, those problems may be fixed. And, this is necessary + to work around problems with automatic template instantiation. */ +# define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION +# define ACE_TEMPLATES_REQUIRE_SOURCE + // If -compat=4 is turned on, the old 4.2 settings for iostreams are used, + // but the newer, explicit instantiation is used (above) +# if (__SUNPRO_CC_COMPAT >= 5) +# define ACE_HAS_USING_KEYWORD +# define ACE_HAS_STD_TEMPLATE_SPECIALIZATION +// Note that SunC++ 5.0 doesn't yet appear to support +// ACE_HAS_STD_TEMPLATE_METHOD_SPECIALIZATION... +# define ACE_HAS_STANDARD_CPP_LIBRARY 1 +# define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1 +# define ACE_HAS_THR_C_DEST +# endif +# if !defined (ACE_HAS_EXCEPTIONS) + // See /opt/SUNWspro_5.0/SC5.0/include/CC/stdcomp.h: +# define _RWSTD_NO_EXCEPTIONS 1 +# endif /* ! ACE_HAS_EXCEPTIONS */ +# elif (__SUNPRO_CC == 0x420) || (__SUNPRO_CC == 0x410) +# define ACE_LACKS_PLACEMENT_OPERATOR_DELETE +# endif /* __SUNPRO_CC >= 0x500 */ +# endif /* __SUNPRO_CC >= 0x420 */ + +# define ACE_CAST_CONST const +# define ACE_HAS_HI_RES_TIMER +# define ACE_HAS_SIG_C_FUNC /* Sun CC 5.0 needs this, 4.2 doesn't mind. */ +# define ACE_HAS_TEMPLATE_SPECIALIZATION +# define ACE_HAS_XPG4_MULTIBYTE_CHAR +# define ACE_LACKS_LINEBUFFERED_STREAMBUF +# define ACE_LACKS_SIGNED_CHAR + + // ACE_HAS_EXCEPTIONS precludes -noex in + // include/makeinclude/platform_macros.GNU. But beware, we have + // seen problems with exception handling on multiprocessor + // UltraSparcs: threaded executables core dump when threads exit. + // This problem does not seem to appear on single-processor UltraSparcs. + // And, it is solved with the application of patch + // 104631-02 "C++ 4.2: Jumbo Patch for C++ 4.2 on Solaris SPARC" + // to Sun C++ 4.2. + // To provide optimum performance, ACE_HAS_EXCEPTIONS is disabled by + // default. It can be enabled by adding "exceptions=1" to the "make" + // invocation. See include/makeinclude/platform_sunos5_sunc++.GNU + // for details. + +# if defined (ACE_HAS_EXCEPTIONS) + // If exceptions are enabled and we are using Sun/CC then + // throws an exception instead of returning 0. +# define ACE_NEW_THROWS_EXCEPTIONS +# endif /* ACE_HAS_EXCEPTIONS */ + + /* If you want to disable threading with Sun CC, remove -mt + from your CFLAGS, e.g., using make threads=0. */ + +#elif defined (__GNUG__) + // config-g++-common.h undef's ACE_HAS_STRING_CLASS with -frepo, so + // this must appear before its #include. +# define ACE_HAS_STRING_CLASS +# include "ace/config-g++-common.h" +# define ACE_HAS_HI_RES_TIMER + // Denotes that GNU has cstring.h as standard, to redefine memchr(). +# define ACE_HAS_GNU_CSTRING_H +# define ACE_HAS_XPG4_MULTIBYTE_CHAR + +# if !defined (ACE_MT_SAFE) || ACE_MT_SAFE != 0 + // ACE_MT_SAFE is #defined below, for all compilers. +# if !defined (_REENTRANT) + /* If you want to disable threading, comment out the following + line. Or, add -DACE_MT_SAFE=0 to your CFLAGS, e.g., using + make threads=0. */ +# define _REENTRANT +# endif /* _REENTRANT */ +# endif /* !ACE_MT_SAFE */ + +#elif defined (ghs) + +# if !defined (ACE_MT_SAFE) || ACE_MT_SAFE != 0 + // ACE_MT_SAFE is #defined below, for all compilers. +# if !defined (_REENTRANT) + /* If you want to disable threading, comment out the following + line. Or, add -DACE_MT_SAFE=0 to your CFLAGS, e.g., using + make threads=0. */ +# define _REENTRANT +# endif /* _REENTRANT */ +# endif /* !ACE_MT_SAFE */ + +# define ACE_CONFIG_INCLUDE_GHS_COMMON +# include "ace/config-ghs-common.h" + + // To avoid warning about inconsistent declaration between Sun's + // stdlib.h and Green Hills' ctype.h. +# include + + // IOStream_Test never halts with Green Hills 1.8.9. +# define ACE_LACKS_ACE_IOSTREAM + +#elif defined (__KCC) /* KAI compiler */ + +# define ACE_HAS_ANSI_CASTS +# include "ace/config-kcc-common.h" + +#else /* ! __SUNPRO_CC && ! __GNUG__ && ! ghs */ +# error unsupported compiler in ace/config-sunos5.5.h +#endif /* ! __SUNPRO_CC && ! __GNUG__ && ! ghs */ + +#if !defined (__ACE_INLINE__) +// NOTE: if you have link problems with undefined inline template +// functions with Sun C++, be sure that the #define of __ACE_INLINE__ +// below is not commented out. +# define __ACE_INLINE__ +#endif /* ! __ACE_INLINE__ */ + +// Platform supports the POSIX regular expression library. +// NOTE: please comment out the ACE_HAS_REGEX #define if you +// have link problems with g++ or egcs on SunOS 5.5. +#define ACE_HAS_REGEX + +// Optimize ACE_Handle_Set for select(). +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT + +// select()'s timeval arg is not declared as const and may be modified +#define ACE_HAS_NONCONST_SELECT_TIMEVAL + +// Platform supports pread() and pwrite() +#define ACE_HAS_P_READ_WRITE +#define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS +#define ACE_HAS_UALARM +#define ACE_LACKS_UALARM_PROTOTYPE + +// 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 recvmsg and sendmsg. +#define ACE_HAS_MSG + +// Compiler/platform contains the file. +#define ACE_HAS_SYSCALL_H + +// 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 + +// Platform supports IP multicast +#define ACE_HAS_IP_MULTICAST + +// Compiler/platform supports alloca() +#define ACE_HAS_ALLOCA + +// Compiler/platform has +#define ACE_HAS_ALLOCA_H + +// Platform contains . +#define ACE_HAS_POLL + +// Platform supports POSIX timers via timestruc_t. +#define ACE_HAS_POSIX_TIME + +// ACE_HAS_CLOCK_GETTIME requires linking with -lposix4. +#define ACE_HAS_CLOCK_GETTIME + +// Platform supports the /proc file system. +#define ACE_HAS_PROC_FS + +// Platform supports the prusage_t struct. +#define ACE_HAS_PRUSAGE_T + +// 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/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 + +// Compiler/platform supports SVR4 gettimeofday() prototype. +#define ACE_HAS_SVR4_GETTIMEOFDAY + +// Compiler/platform supports SVR4 ACE_TLI (in particular, T_GETNAME stuff)... +#define ACE_HAS_SVR4_TLI + +// Platform provides header. +#define ACE_HAS_SYS_FILIO_H + +// Compiler/platform supports sys_siglist array. +#define ACE_HAS_SYS_SIGLIST + +// SunOS 5.5.x does not support mkstemp +#define ACE_LACKS_MKSTEMP + +// Platform has posix getpwnam_r +#if (defined (_POSIX_C_SOURCE) && _POSIX_C_SOURCE - 0 >= 199506L) || \ + defined(_POSIX_PTHREAD_SEMANTICS) +# define ACE_HAS_POSIX_GETPWNAM_R +#endif /* _POSIX_C_SOURCE || _POSIX_PTHREAD_SEMANTICS */ + +#if defined (_REENTRANT) || \ + (defined (_POSIX_C_SOURCE) && (_POSIX_C_SOURCE - 0 >= 199506L)) || \ + defined (_POSIX_PTHREAD_SEMANTICS) + // Compile using multi-thread libraries. +# define ACE_HAS_THREADS + +# if !defined (ACE_MT_SAFE) +# define ACE_MT_SAFE 1 +# endif /* ACE_MT_SAFE */ + + // Platform supports POSIX pthreads *and* Solaris threads, by + // default! If you only want to use POSIX pthreads, add + // -D_POSIX_PTHREAD_SEMANTICS to your CFLAGS. Or, #define it right + // here. See the Intro (3) man page for information on + // -D_POSIX_PTHREAD_SEMANTICS. +# if defined (_POSIX_PTHREAD_SEMANTICS) +# define ACE_LACKS_RWLOCK_T +# else +# define ACE_HAS_STHREADS +# endif /* ! _POSIX_PTHREAD_SEMANTICS */ + +# define ACE_HAS_PTHREADS +# define ACE_HAS_PTHREADS_STD + // . . . but only supports SCHED_OTHER scheduling policy +# define ACE_HAS_ONLY_SCHED_OTHER +# define ACE_HAS_SIGWAIT +# define ACE_HAS_SIGTIMEDWAIT +# define ACE_HAS_SIGSUSPEND + + // Compiler/platform has thread-specific storage +# define ACE_HAS_THREAD_SPECIFIC_STORAGE + + // Platform supports reentrant functions (i.e., all the POSIX *_r functions). +# define ACE_HAS_REENTRANT_FUNCTIONS + +# define ACE_NEEDS_LWP_PRIO_SET +# define ACE_HAS_THR_YIELD +# define ACE_LACKS_PTHREAD_YIELD +#endif /* _REENTRANT || _POSIX_C_SOURCE >= 199506L || \ + _POSIX_PTHREAD_SEMANTICS */ + +# define ACE_HAS_PRIOCNTL + +// 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 has broken t_error() prototype. +#define ACE_HAS_BROKEN_T_ERROR + +// Platform supports ACE_TLI. +#define ACE_HAS_TLI + +#define ACE_HAS_STRPTIME + +// Turns off the tracing feature. +#if !defined (ACE_NTRACE) +# define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +#define ACE_HAS_GETPAGESIZE 1 + +#define ACE_HAS_STL_MAP_CONFLICT + +// Sieg - gcc 2.95.1 declares queue in stream.h. Might want to change +// the == to >= to allow for future versions +#if !( __GNUG__ && (__GNUC__ == 2) && (__GNUC_MINOR__ == 95) ) +#define ACE_HAS_STL_QUEUE_CONFLICT +#endif /* !( __GNUG__ && (__GNUC__ == 2) && (__GNUC_MINOR__ == 95) ) */ +#define ACE_HAS_IDTYPE_T + +#define ACE_HAS_GPERF +#define ACE_HAS_DIRENT +#define ACE_HAS_MEMCHR + +#if defined (__SUNPRO_CC) +# define ACE_CC_NAME "SunPro C++" +# define ACE_CC_MAJOR_VERSION (__SUNPRO_CC >> 8) +# define ACE_CC_MINOR_VERSION (__SUNPRO_CC & 0x00ff) +# define ACE_CC_BETA_VERSION (0) +#elif defined (__GNUG__) +# define ACE_CC_MAJOR_VERSION __GNUC__ +# define ACE_CC_MINOR_VERSION __GNUC_MINOR__ +# define ACE_CC_BETA_VERSION (0) +# if __GNUC_MINOR__ >= 90 +# define ACE_CC_NAME "egcs" +# else +# define ACE_CC_NAME "g++" +# endif /* __GNUC_MINOR__ */ +#endif /* __GNUG__ */ + +#if defined (i386) +# define ACE_HAS_X86_STAT_MACROS +#endif /* i386 */ + +#define ACE_MALLOC_ALIGN 8 +#define ACE_LACKS_SETREUID_PROTOTYPE +#define ACE_LACKS_SETREGID_PROTOTYPE + +// Solaris does indeed implement the inet_aton() function, but it is +// found in `libresolv.*'. It doesn't seem worth it to link another +// library just for that function. Just use the emulation in ACE that +// has been used for years. +#define ACE_LACKS_INET_ATON + +#if defined (_LARGEFILE_SOURCE) || (_FILE_OFFSET_BITS==64) +#undef ACE_HAS_PROC_FS +#undef ACE_HAS_PRUSAGE_T +#endif /* (_LARGEFILE_SOURCE) || (_FILE_OFFSET_BITS==64) */ +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-sunos5.6.h b/ace/config-sunos5.6.h new file mode 100644 index 00000000000..1e85f8f380e --- /dev/null +++ b/ace/config-sunos5.6.h @@ -0,0 +1,128 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for SunOS 5.6 +// platforms using the SunC++ 4.x or g++ compilers. + +#ifndef ACE_CONFIG_H + +// ACE_CONFIG_H is defined by one of the following #included headers. + +// #include the SunOS 5.5 config file, then add SunOS 5.6 updates below. + +#include "ace/config-sunos5.5.h" + +#if defined(__GNUC__) && __GNUC__ >= 2 && __GNUC_MINOR__ >= 95 +// gcc-2.95 fixes this problem for us! +#undef ACE_HAS_STL_QUEUE_CONFLICT +#endif /* __GNUC__ */ + +#if (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE > 2) || \ + defined (__EXTENSIONS__) +// The asctime_r/ctime_r parameters change at POSIX.1c-1995 +# if (defined (_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 199506L) +# define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R +# endif /* POSIX_C_SOURCE >= 199506L */ +# define ACE_HAS_SIGWAIT +// Hack 'cuz _POSIX_C_SOURCE > 2 and -DEXTENSIONS hides this. +# include + extern "C" int madvise(caddr_t, size_t, int); +#endif /* _POSIX_C_SOURCE > 2 || __EXTENSIONS__ */ + +// Support for the SunC++ 5.2 compiler. +#if defined (__SUNPRO_CC) && __SUNPRO_CC > 0x510 +#ifdef ACE_LACKS_ACE_IOSTREAM +#undef ACE_LACKS_ACE_IOSTREAM +#endif /* ACE_LACKS_ACE_IOSTREAM */ +#ifndef ACE_LACKS_UNBUFFERED_STREAMBUF +#define ACE_LACKS_UNBUFFERED_STREAMBUF 1 +#endif /* ACE_LACKS_UNBUFFERED_STREAMBUF */ +#ifndef ACE_TEMPLATES_REQUIRE_SOURCE +#define ACE_TEMPLATES_REQUIRE_SOURCE 1 +#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ +#ifndef ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION +#define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION 1 +#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ +#ifndef ACE_HAS_STD_TEMPLATE_SPECIALIZATION +#define ACE_HAS_STD_TEMPLATE_SPECIALIZATION 1 +#endif /* ACE_HAS_STD_TEMPLATE_SPECIALIZATION */ +#ifndef ACE_HAS_ANSI_CASTS +#define ACE_HAS_ANSI_CASTS 1 +#endif /* ACE_HAS_ANSI_CASTS */ +#ifndef ACE_HAS_TEMPLATE_TYPEDEFS +#define ACE_HAS_TEMPLATE_TYPEDEFS 1 +#endif /* ACE_HAS_TEMPLATE_TYPEDEFS */ +#ifndef ACE_HAS_TYPENAME_KEYWORD +#define ACE_HAS_TYPENAME_KEYWORD 1 +#endif /* ACE_HAS_TYPENAME_KEYWORD */ +#ifndef ACE_HAS_USING_KEYWORD +#define ACE_HAS_USING_KEYWORD 1 +#endif /* ACE_HAS_USING_KEYWORD */ +#ifndef ACE_HAS_THR_C_DEST +#define ACE_HAS_THR_C_DEST 1 +#endif /* ACE_HAS_THR_C_DEST */ +#ifndef ACE_HAS_THR_C_FUNC +#define ACE_HAS_THR_C_FUNC 1 +#endif /* ACE_HAS_THR_C_FUNC */ +#ifndef ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES 1 +#endif /* ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES */ +#ifndef ACE_HAS_SIG_C_FUNC +#define ACE_HAS_SIG_C_FUNC 1 +#endif /* ACE_HAS_SIG_C_FUNC */ +#ifndef ACE_HAS_STDCPP_STL_INCLUDES +#define ACE_HAS_STDCPP_STL_INCLUDES 1 +#endif /* ACE_HAS_STDCPP_STL_INCLUDES */ +#ifndef ACE_HAS_STRING_CLASS +#define ACE_HAS_STRING_CLASS 1 +#endif /* ACE_HAS_STRING_CLASS */ +#ifndef ACE_HAS_STANDARD_CPP_LIBRARY +#define ACE_HAS_STANDARD_CPP_LIBRARY 1 +#endif /* ACE_HAS_STANDARD_CPP_LIBRARY */ +#ifndef ACE_HAS_STDCPP_STL_INCLUDES +#define ACE_HAS_STDCPP_STL_INCLUDES 1 +#endif /* ACE_HAS_STDCPP_STL_INCLUDES */ +#ifndef ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB +#define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1 +#endif /* ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB */ +#ifndef ACE_HAS_TEMPLATE_SPECIALIZATION +#define ACE_HAS_TEMPLATE_SPECIALIZATION 1 +#endif /* ACE_HAS_TEMPLATE_SPECIALIZATION */ +#ifndef ACE_LACKS_IOSTREAM_FX +#define ACE_LACKS_IOSTREAM_FX 1 +#endif /* ACE_LACKS_IOSTREAM_FX */ +#ifndef ACE_LACKS_LINEBUFFERED_STREAMBUF +#define ACE_LACKS_LINEBUFFERED_STREAMBUF 1 +#endif /* ACE_LACKS_LINEBUFFERED_STREAMBUF */ + +#endif /* defined (__SUNPRO_CC) && __SUNPRO_CC > 0x510 */ + +// SunOS 5.6 and above support mkstemp +#undef ACE_LACKS_MKSTEMP + + +// SunOS 5.6 has AIO calls. +#if !defined (ACE_HAS_AIO_CALLS) +#define ACE_HAS_AIO_CALLS +#endif /* ACE_HAS_AIO_CALLS */ + +#define ACE_HAS_POSIX_SEM + +// Sunos 5.6's aio_* with RT signals is broken. +#define ACE_POSIX_AIOCB_PROACTOR + +// SunOS 5.6 has a buggy select +#define ACE_HAS_LIMITED_SELECT + +// SunOS 5.6 introduced shm_open, but need to turn on POSIX.1b or higher +// to pick it up. +#if defined (_POSIX_C_SOURCE) && (_POSIX_C_SOURCE > 2) +# define ACE_HAS_SHM_OPEN +#endif /* _POSIX_C_SOURCE > 2 */ + +// The struct msghdr is conditional on SunOS 5.6 based on _XPG4_2 +#if defined(_XPG4_2) +# define ACE_HAS_4_4BSD_SENDMSG_RECVMSG +#endif /* _XPG4_2 */ + +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-sunos5.7.h b/ace/config-sunos5.7.h new file mode 100644 index 00000000000..9fb6f36481f --- /dev/null +++ b/ace/config-sunos5.7.h @@ -0,0 +1,79 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for SunOS 5.7 +// (Solaris 7) platforms using the SunC++ 4.x, 5.x, or g++ compilers. + +#ifndef ACE_CONFIG_H + +// ACE_CONFIG_H is defined by one of the following #included headers. + +// #include the SunOS 5.6 config file, then add SunOS 5.7 updates below. + +#include "ace/config-sunos5.6.h" + +#if defined (__GNUG__) +# if __GNUC__ <= 2 && __GNUC_MINOR__ < 8 + // Assume that later g++ were built on SunOS 5.7, so they don't + // have these problems . . . + + // Disable the following, because g++ 2.7.2.3 can't handle it. + // Maybe later g++ versions can? +# undef ACE_HAS_XPG4_MULTIBYTE_CHAR + + // The Solaris86 g++ 2.7.2.3 sys/types.h doesn't have these . . . + typedef long t_scalar_t; /* historical versions */ + typedef unsigned long t_uscalar_t; + typedef void *timeout_id_t; +# endif /* __GNUC__ <= 2 && __GNUC_MINOR__ < 8 */ + +#elif defined (ghs) + // SunOS 5.7's /usr/include/sys/procfs_isa.h needs uint64_t, + // but /usr/include/sys/int_types.h doesn't #define it because + // _NO_LONGLONG is # +# undef ACE_HAS_PROC_FS +# undef ACE_HAS_PRUSAGE_T + +#elif defined (__KCC) +typedef unsigned long long uint64_t; +#endif /* __GNUG__ || ghs || __KCC */ + +// SunOS 5.7 supports SCHED_FIFO and SCHED_RR, as well as SCHED_OTHER. +#undef ACE_HAS_ONLY_SCHED_OTHER + +// SunOS 5.7 gets this right . . . +#undef ACE_HAS_BROKEN_T_ERROR + +// And doesn't need to set LWP priorities, as shown by +// performance-tests/Misc/preempt. +#undef ACE_NEEDS_LWP_PRIO_SET + +// SunOS 5.7 can support Real-Time Signals and POSIX4 AIO operations +// are supported. + +#if !defined (ACE_HAS_AIO_CALLS) +#define ACE_HAS_AIO_CALLS +#endif /* !ACE_HAS_AIO_CALLS */ + +#if defined (ACE_POSIX_AIOCB_PROACTOR) +#undef ACE_POSIX_AIOCB_PROACTOR +#endif /* ACE_POSIX_AIOCB_PROACTOR */ + +// This is anyway default. +#define ACE_POSIX_SIG_PROACTOR + +#ifdef ACE_HAS_LIMITED_SELECT +#undef ACE_HAS_LIMITED_SELECT +#endif /* ACE_HAS_LIMITED_SELECT */ + +// SunOS 5.7 has socklen_t +#define ACE_HAS_SOCKLEN_T + +#if defined (__sparcv9) +#define ERRMAX 256 /* Needed for following define */ +#define ACE_LACKS_SYS_NERR +#define _LP64 +#define ACE_SIZEOF_LONG 8 /* Needed to circumvent compiler bug #4294969 */ +#endif /* __sparcv9 */ + +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-sunos5.8.h b/ace/config-sunos5.8.h new file mode 100644 index 00000000000..de6803e9822 --- /dev/null +++ b/ace/config-sunos5.8.h @@ -0,0 +1,25 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for SunOS 5.8 +// (Solaris 8) platforms using the SunC++ 4.x, 5.x, 6.x, or g++ compilers. + +#ifndef ACE_CONFIG_H + +// ACE_CONFIG_H is defined by one of the following #included headers. + +// #include the SunOS 5.7 config, then add any SunOS 5.8 updates below. +#include "ace/config-sunos5.7.h" + +// The range of thread priorities for 5.8 differs from 5.7 in the +// minimum priority for the SCHED_OTHER policy (i.e., +// ACE_THR_PRI_OTHER_MIN) +# define ACE_THR_PRI_OTHER_MIN (long) -20 + +# if defined (_POSIX_PTHREAD_SEMANTICS) +# ifdef ACE_LACKS_RWLOCK_T +# undef ACE_LACKS_RWLOCK_T +# endif /* ACE_LACKS_RWLOCK_T */ +# endif /* _POSIX_PTHREAD_SEMANTICS */ + +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-tandem.h b/ace/config-tandem.h new file mode 100644 index 00000000000..47777c9f53d --- /dev/null +++ b/ace/config-tandem.h @@ -0,0 +1,445 @@ +/* -*- C++ -*- */ +// Testing TANDEM +// $Id$ + +// The following configuration file is designed to work for Tandems NonStop-UX +// 4.2MP platforms using the NCC 3.20 compiler. + +// Note this is a test version it might include several errors I +// have done a test and set/unset until I errors disappered. +// Some of the options that should be set aren't because of the simple fact +// that i haven't the time to check what is wrong. +// e.g. widecharacter are supported but a wcstok which only take 2 parameters +// are included by the compiler, to get the correct wcstok that takes 3 params +// we must set _XOPEN_SOURCE and we get ALOT of errors and warnings. +// So this config is done to get things to start to work it isn't finished. +// Janne (Jan.Perman@osd.Ericsson.se) + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +#if ! defined (__ACE_INLINE__) +# define __ACE_INLINE__ +#endif /* ! __ACE_INLINE__ */ + +#define ACE_HAS_IDTYPE_T +// Optimize ACE_Handle_Set for select(). +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT + +// Tandem doesn't include this although they are defined +// in sys/time.h and sys/resource.h +#define ACE_LACKS_RLIMIT_PROTOTYPE // jjpp +// Tandem has a function to set t_errno (set_t_errno) +#define ACE_HAS_SET_T_ERRNO // jjpp + +//Platform supports System V IPC (most versions of UNIX, but not Win32) +#define ACE_HAS_SYSV_IPC + +// OS/compiler omits the const from the sendmsg() prototype. +#define ACE_HAS_BROKEN_SENDMSG + +//OS/compiler's header files are inconsistent with libC definition of rand_r(). +//#define ACE_HAS_BROKEN_RANDR // Defines it the same way as sunos5.4 + +//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 + +//Compiler/platform contains the file. +#define ACE_HAS_SYSCALL_H + +//Platform provides header +#define ACE_HAS_SYSENT_H + +// Platform has terminal ioctl flags like TCGETS and TCSETS. +#define ACE_HAS_TERM_IOCTLS + +// ? ACE_HAS_AUTOMATIC_INIT_FINI Compiler/platform correctly calls +// init()/fini() for shared libraries + +//Platform supports POSIX O_NONBLOCK semantics +#define ACE_HAS_POSIX_NONBLOCK + +// Compiler/platform has correctly prototyped header files +#define ACE_HAS_CPLUSPLUS_HEADERS + +// Platform supports IP multicast +//#define ACE_HAS_IP_MULTICAST + +//Compiler/platform supports alloca() +#define ACE_HAS_ALLOCA +//Compiler/platform has +#define ACE_HAS_ALLOCA_H + +//Platform contains +#define ACE_HAS_POLL + +// Platform supports the POSIX struct timespec type +#define ACE_HAS_POSIX_TIME // As i understand it, but i'm in deep water +//Platform supports the SVR4 timestruc_t type + +//ACE_HAS_PROC_FS Platform supports the /proc file system + +//ACE_HAS_PRUSAGE_T Platform supports the prusage_t struct + + +// To get this to work a patch in sys/signal must be made +// typedef void SIG_FUNC_TYPE(int); +//#if defined (__cplusplus) +// void (*sa_handler)(int); +//#else +// ... +//#endif +//#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES +#define ACE_HAS_TANDEM_SIGNALS +//Compiler/platform defines the sig_atomic_t typedef +#define ACE_HAS_SIG_ATOMIC_T +//Platform supports SVR4 extended signals +#define ACE_HAS_SIGINFO_T +//Platform supports ucontext_t (which is used in the extended signal API). +#define ACE_HAS_UCONTEXT_T +//Compiler/platform supports SVR4 signal typedef +//#define ACE_HAS_SVR4_SIGNAL_T +//ACE_HAS_SVR4_SIGNAL_T + + +// Platform/compiler has the sigwait(2) prototype +#define ACE_HAS_SIGWAIT + +//Compiler/platform provides the sockio.h file +#define ACE_HAS_SOCKIO_H + +// Compiler supports the ssize_t typedef +#define ACE_HAS_SSIZE_T // Limits.h must be included + +//Platform supports STREAMS +#define ACE_HAS_STREAMS + +#define ACE_HAS_STREAM_PIPES +//Platform supports 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 gettimeofday() prototype +//#define ACE_HAS_SVR4_GETTIMEOFDAY // Defines it the same way as sunos5.4 + +//Compiler/platform supports SVR4 TLI (in particular, T_GETNAME stuff)... +#define ACE_HAS_SVR4_TLI + +//Platform provides header +#define ACE_HAS_SYS_FILIO_H + +//Platform supports TLI timod STREAMS module +#define ACE_HAS_TIMOD_H +//Platform supports TLI tiuser header +#define ACE_HAS_TIUSER_H + +//Platform supports TLI +#define ACE_HAS_TLI +//Platform provides TLI function prototypes +#define ACE_HAS_TLI_PROTOTYPES + +//Platform lacks streambuf "linebuffered ()". +#define ACE_LACKS_LINEBUFFERED_STREAMBUF + +// Platform lacks "signed char" type (broken!) +#define ACE_LACKS_SIGNED_CHAR + + +//? ACE_NEEDS_DEV_IO_CONVERSION Necessary with some compilers +//to pass ACE_TTY_IO as parameter to DEV_Connector. + +#define ACE_PAGE_SIZE 4096 +// Defines the page size of the system (not used on Win32 or +// with ACE_HAS_GETPAGESIZE). + +/****** THREAD SPECIFIC **********/ +/* If you want to remove threading then comment out the following four #defines .*/ +#if !defined (ACE_MT_SAFE) + #define ACE_MT_SAFE 1 //Compile using multi-thread libraries +#endif +#define ACE_HAS_THREADS //Platform supports threads +#define ACE_HAS_STHREADS //Platform supports Solaris threads + +// Compiler/platform has threadspecific storage +#define ACE_HAS_THREAD_SPECIFIC_STORAGE +//Platform supports thr_keydelete (e.g,. UNIXWARE) + +#define ACE_HAS_THR_MINSTACK // Tandem uses thr_minstack instead of thr_min_stack +#define ACE_LACKS_PRI_T // Tandem lacks pri_t +#define ACE_HAS_THR_KEYDELETE + +//ACE_HAS_REENTRANT_FUNCTIONS Platform supports reentrant +// functions (i.e., all the POSIX *_r functions). +//ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS Platform will recurse infinitely on +// thread exits from TSS cleanup routines (e.g., AIX). +//ACE_NEEDS_HUGE_THREAD_STACKSIZE Required by platforms with small +// default stacks. +//ACE_HAS_ONLY_SCHED_OTHER Platform, e.g., Solaris 2.5, only +// supports SCHED_OTHER POSIX scheduling policy. + + +//************************************* +//ACE_HAS_PTHREADS Platform supports POSIX Pthreads +//ACE_HAS_PTHREAD_CONDATTR_SETKIND_NP Platform has pthread_condattr_ +// setkind_np(). +//ACE_HAS_PTHREAD_MUTEXATTR_SETKIND_NP Platform has +// pthread_mutexattr_setkind_np(). +//ACE_HAS_THREAD_SELF Platform has thread_self() rather +// than pthread_self() (e.g., DCETHREADS and AIX) +//ACE_HAS_THR_C_DEST The pthread_keycreate() routine * +// must* take extern C functions. +//ACE_HAS_THR_C_FUNC The pthread_create() routine *must* +// take extern C functions. +//ACE_LACKS_CONDATTR_PSHARED Platform has no implementation of +// pthread_condattr_setpshared(), even though it supports pthreads! +//ACE_LACKS_PTHREAD_THR_SIGSETMASK Platform lacks pthread_thr_ +// sigsetmask (e.g., MVS, HP/UX, and OSF/1 3.2) +//ACE_LACKS_SETDETACH Platform lacks pthread_attr_ +// setdetachstate() (e.g., HP/UX 10.x) +//ACE_LACKS_SETSCHED Platform lacks pthread_attr_ +// setsched() (e.g. MVS) +//ACE_LACKS_THREAD_STACK_SIZE Platform lacks pthread_attr_ +// setstacksize() (e.g., Linux pthreads) + +//ACE_HAS_IRIX62_THREADS Platform supports the very odd IRIX +// 6.2 threads... + +/*********************************/ + +/******* SIGNAL STUFF *******/ +//ACE_HAS_SIGNAL_OBJECT_AND_WAIT Platform supports the Win32 +// SignalObjectAndWait() function (WinNT 4.0 and beyond). +//#define ACE_HAS_SIGNAL_SAFE_OS_CALLS +//Automatically restart OS system +// calls when EINTR occurs + + +// Platform supports the getrusage() system call. +//#define ACE_HAS_GETRUSAGE +//Platform uses non-const char * in calls to gethostbyaddr, gethostbyname, +// getservbyname +#define ACE_HAS_NONCONST_GETBY +// Platform's select() uses non-const timeval* (only found on Linux right now) +#define ACE_HAS_NONCONST_SELECT_TIMEVAL +// And on Tandem :-) +//Uses ctime_r & asctime_r with only two parameters vs. three. +#define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R +//Platform has special header for select(). +#define ACE_HAS_SELECT_H +// Platform/compiler supports Standard C++ Library +#define ACE_HAS_STANDARD_CPP_LIBRARY +//Platform/compiler supports _sys_errlist symbol +//#define ACE_HAS_SYS_ERRLIST +//Platform lacks madvise() (e.g., Linux) +#define ACE_LACKS_MADVISE +//Platform lacks the si_addr field of siginfo_t (e.g.,VxWorks and HP/UX 10.x) +//?#define ACE_LACKS_SI_ADDR +//Compiler/platform lacks strcasecmp() (e.g., DG/UX, UNIXWARE, VXWORKS) +#define ACE_LACKS_STRCASECMP +// doesn't automatically #include /**/ +#define ACE_LACKS_SYSTIME_H + +//ACE_HAS_AIX_BROKEN_SOCKET_HEADER Platform, such as AIX4, needs to wrap +// #include of sys/socket.h with #undef/#define of __cplusplus. +//ACE_HAS_AIX_HI_RES_TIMER Platform has AIX4 ::read_real_time () +// ? ACE_HAS_BROKEN_BITSHIFT Compiler has integer overflow +// problem with bit-shift operations. +// ? ACE_HAS_BROKEN_CONVERSIONS Compiler can't handle calls like +// foo->operator T *() +//ACE_HAS_BROKEN_CTIME Compiler/platform uses macro for ctime +// (e.g., MVS) +//ACE_HAS_BROKEN_HPUX_TEMPLATES Earlier versions of HP/UX C++ are +// damned... +//ACE_HAS_BROKEN_MSG_H Platform headers don't support +// prototypes +//ACE_HAS_BROKEN_MMAP_H HP/UX does not wrap the mmap(2) header +// files with extern "C". +//ACE_HAS_BROKEN_POSIX_TIME Platform defines struct timespec in +// +//ACE_HAS_BROKEN_SETRLIMIT OS/compiler omits the const from the +// rlimit parameter in the setrlimit() prototype. +//ACE_HAS_BROKEN_WRITEV OS/compiler omits the const from the +// iovec parameter in the writev() prototype. +// There is a bstring in the Tandem but where man bstring OK, find bstring NOK +// ? ACE_HAS_BSTRING Platform has (which contains bzero() prototype) +//ACE_HAS_CANCEL_IO Platform supports the Win32 CancelIO() +// function (WinNT 4.0 and beyond). +//ACE_HAS_CHARPTR_DL OS/platform uses char * for +// dlopen/dlsym args, rather than const char *. +// Yes in man, no in header file +//ACE_HAS_CHARPTR_SOCKOPT OS/platform uses char * for sockopt, +// rather than const char * +// sprintf() returns char * rather than int (e.g., SunOS 4.x) +//#define ACE_HAS_CHARPTR_SPRINTF +//ACE_HAS_CLOCK_GETTIME Platform supports POSIX 1.b +// clock_gettime () +//ACE_HAS_COMPLEX_LOCK Platform supports non-standard +// readers/writer locks... +//? ACE_HAS_EXCEPTIONS Compiler supports C++ exception +// handling +// Platform supports getpagesize() call (otherwise, ACE_PAGE_SIZE must be +// defined, except on Win32) +//#define ACE_HAS_GETPAGESIZE // Man getpagesize ok grep /usr/.. not +// found +//ACE_HAS_GNU_CSTRING_H Denotes that GNU has cstring.h as +// standard which redefines memchr() +//ACE_HAS_HI_RES_TIMER Compiler/platform supports SunOS +// high resolution timers +//ACE_HAS_INLINED_OSCALLS Inline all the static class OS +// methods to remove call overhead +//ACE_HAS_LIMITED_RUSAGE_T The rusage_t structure has only two +// fields. +//ACE_HAS_LONG_MAP_FAILED Platform defines MAP_FAILED as a +// long constant. +//? ACE_HAS_NONCONST_MSGSND Platform has a non-const parameter to +// msgsend() (e.g., SCO). +// Has it msgsend at all + +//ACE_HAS_OLD_MALLOC Compiler/platform uses old malloc()/ +// free() prototypes (ugh) +//? ACE_HAS_POSIX_SEM Platform supports POSIX real-time +//semaphores (e.g., VxWorks and Solaris) +//Compiler/platform defines a union semun for SysV shared memory +//#define ACE_HAS_SEMUN +//ACE_HAS_SIN_LEN Platform supports new BSD inet_addr +// len field. +//? ACE_HAS_SIZET_SOCKET_LEN OS/compiler uses size_t * rather +//than int * for socket lengths +//ACE_HAS_SOCKADDR_MSG_NAME Platform requires (struct sockaddr *) +//for msg_name field of struct msghdr. +//ACE_HAS_STRICT Use the STRICT compilation mode on Win32. +//? ACE_HAS_STRUCT_NETDB_DATA Compiler/platform has strange +// hostent API for socket *_r() calls +//ACE_HAS_SUNOS4_GETTIMEOFDAY SunOS 4 style prototype. +//? ACE_HAS_SYSCALL_GETRUSAGE HP/UX has an undefined syscall for +//GETRUSAGE... +//ACE_HAS_TEMPLATE_TYPEDEFS Compiler implements templates that +// support typedefs inside of classes used as formal arguments to a template +// class. +//Platform/compiler supports timezone * as second parameter to gettimeofday() +//#define ACE_HAS_TIMEZONE_GETTIMEOFDAY According to man we have but not +//when compiling +//ACE_HAS_UNION_WAIT The wait() system call takes a ( +// union wait *) rather than int * +//? ACE_HAS_USING_KEYWORD Compiler supports the new using +// keyword for C++ namespaces. +//ACE_HAS_VOIDPTR_MMAP Platform requires void * for mmap(). +//ACE_HAS_VOIDPTR_SOCKOPT OS/compiler uses void * arg 4 +// setsockopt() rather than const char * +//ACE_HAS_WIN32_TRYLOCK The Win32 platform support +//TryEnterCriticalSection() (WinNT 4.0 and beyond) +//ACE_HAS_WINSOCK2 The Win32 platform supports WinSock 2.0 +//ACE_HAS_XLI Platform has the XLI version of TLI +//ACE_HAS_XT Platform has Xt and Motif +//ACE_LACKS_CONST_TIMESPEC_PTR Platform forgot const in cond_timewait +// (e.g., HP/UX). +//ACE_LACKS_COND_T Platform lacks condition variables +// (e.g., Win32 and VxWorks) +//ACE_LACKS_EXEC Platform lacks the exec() family of +// system calls (e.g., Win32, VxWorks, Chorus) +//ACE_LACKS_FILELOCKS Platform lacks file locking mechanism +//ACE_LACKS_IOSTREAM_FX iostream header does not declare +// ipfx (), opfx (), etc. +//ACE_LACKS_MALLOC_H Platform lacks malloc.h +//ACE_LACKS_MEMORY_H Platform lacks memory.h +//(e.g., VxWorks and Chorus) +//ACE_LACKS_MKTEMP ACE has no mktemp() +//ACE_LACKS_MMAP The platform doesn't have mmap(2) +// (e.g., SCO UNIX). +//ACE_LACKS_MODE_MASKS Platform/compiler doesn't have +//open() mode masks. +//ACE_LACKS_MPROTECT The platform doesn't have mprotect(2) +//(e.g., EPLX real time OS from CDC (based on LYNX)) +//ACE_LACKS_MSGBUF_T Platform lacks struct msgbuf (e.g., +// NT and MSV). +//ACE_LACKS_MSYNC Platform lacks msync() (e.g., Linux) +//ACE_LACKS_NETDB_REENTRANT_FUNCTIONS Platform does not support reentrant +// netdb functions (getprotobyname_r, getprotobynumber_r, gethostbyaddr_r, +// gethostbyname_r, getservbyname_r). +//ACE_LACKS_PARAM_H Platform lacks (e.g., +//MVS) +//ACE_LACKS_POSIX_PROTOTYPES Platform lacks POSIX prototypes for +//certain System V functions like shared memory and message queues. +//ACE_LACKS_RECVMSG Platform lacks recvmsg() (e.g., Linux) +//ACE_LACKS_RWLOCK_T Platform lacks readers/writer locks. +//ACE_LACKS_SBRK Platform lacks a working sbrk() +// (e.g., Win32 and VxWorks) +//ACE_LACKS_SEMBUF_T Platform lacks struct sembuf +//(e.g., Win32 and VxWorks) +//ACE_LACKS_SIGACTION Platform lacks struct sigaction +// (e.g., Win32 and Chorus) +//? ACE_LACKS_SYS_NERR Platforms/compiler lacks the sys_nerr +// variable (e.g., VxWorks and MVS). +//ACE_LACKS_SYSV_MSG_H Platform lacks sys/msg.h +//(e.g., Chorus and VxWorks) +//ACE_LACKS_KEY_T Platform lacks key_t +//(e.g., Chorus, VxWorks, Win32) +//ACE_LACKS_SENDMSG Platform lacks sendmsg() +// (e.g., Linux) +//ACE_LACKS_SYSV_SHMEM Platform lacks System V shared +// memory (e.g., Win32 and VxWorks) +//ACE_LACKS_SIGINFO_H Platform lacks the siginfo.h include +// file (e.g., MVS) +//ACE_LACKS_SOCKETPAIR Platform lacks the socketpair() +// call (e.g., SCO UNIX) +//? ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES Compiler doesn't support +// static data member templates +//ACE_LACKS_STRRECVFD Platform doesn't define struct +//strrecvfd. +//ACE_LACKS_SYSCALL Platform doesn't have syscall() +// prototype +//ACE_LACKS_SYSV_MSQ_PROTOS Platform doesn't have prototypes for +//Sys V msg()* queues. +//ACE_LACKS_T_ERRNO Header files lack t_errno for TLI +//ACE_LACKS_TCP_H Platform doesn't have netinet/tcp.h +//ACE_LACKS_UCONTEXT_H Platform lacks the ucontext.h file +//ACE_LACKS_UNIX_DOMAIN_SOCKETS ACE platform has no UNIX domain sockets +//ACE_LACKS_UTSNAME_T Platform lacks struct utsname +// (e.g., Win32 and VxWorks) +//ACE_NDEBUG Turns off debugging features +//ACE_LACKS_READV Platform doesn't define readv, so +// use our own +//ACE_LACKS_WRITEV Platform doesn't define writev, so +//use our own +//ACE_NLOGGING Turns off the LM_DEBUG and LM_ERROR +//logging macros... +//ACE_NTRACE Turns off the tracing feature. +//ACE_REDEFINES_XTI_FUNCTIONS Platform redefines the t_... names +//(UnixWare) +//ACE_SELECT_USES_INT Platform uses int for select() +//rather than fd_set +//? ACE_TEMPLATES_REQUIRE_PRAGMA Compiler's template mechanism must +// use a pragma This is used for AIX's C++ compiler. +//? ACE_TEMPLATES_REQUIRE_SOURCE Compiler's template mechanim must +// see source code (i.e., .cpp files). This is used for GNU G++. +//? ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION Compiler's template mechanism +//requires the use of explicit C++ specializations for all used +//templates. This is also used for GNU G++ if you don't use the "repo" +//patches. +//ACE_USE_POLL Use the poll() event demultiplexor +//rather than select(). + +// Turns off the tracing feature. +// #define ACE_NTRACE 0 +#if !defined (ACE_NTRACE) +# define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +// Defines the page size of the system. +#define ACE_PAGE_SIZE 4096 + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-tru64.h b/ace/config-tru64.h new file mode 100644 index 00000000000..313d93d9fb0 --- /dev/null +++ b/ace/config-tru64.h @@ -0,0 +1,23 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for the +// Digital UNIX V4.0a and later platforms. It relies on +// config-osf1-4.0.h, and adds deltas for newer platforms. + +#ifndef ACE_CONFIG_TRU64_H +#define ACE_CONFIG_TRU64_H +#include "ace/pre.h" + +#if defined (DIGITAL_UNIX) +# include "ace/config-osf1-4.0.h" +# define ACE_HAS_NONSTATIC_OBJECT_MANAGER +# if DIGITAL_UNIX >= 0x40D +# define ACE_LACKS_SYSTIME_H +# endif /* DIGITAL_UNIX >= 0x40D */ +#else /* ! DIGITAL_UNIX */ +# include "ace/config-osf1-3.2.h" +#endif /* ! DIGITAL_UNIX */ + +#include "ace/post.h" +#endif /* ACE_CONFIG_TRU64_H */ diff --git a/ace/config-unixware-2.01-g++.h b/ace/config-unixware-2.01-g++.h new file mode 100644 index 00000000000..92fe9d4c58a --- /dev/null +++ b/ace/config-unixware-2.01-g++.h @@ -0,0 +1,113 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work +// for Unixware platforms running UnixWare 2.01. +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +// See README for what the ACE_HAS... and ACE_LACKS... macros mean + +#if ! defined (__ACE_INLINE__) +# define __ACE_INLINE__ +#endif /* ! __ACE_INLINE__ */ + +// config-g++-common.h undef's ACE_HAS_STRING_CLASS with -frepo, so +// this must appear before its #include. +#define ACE_HAS_STRING_CLASS + +#if defined (__GNUG__) +# include "ace/config-g++-common.h" +#endif /* __GNUG__ */ + +// Optimize ACE_Handle_Set for select(). +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT + +#define ACE_HAS_IDTYPE_T +#define ACE_LACKS_STRCASECMP +#define ACE_HAS_SIZET_SOCKET_LEN +#define ACE_HAS_AUTOMATIC_INIT_FINI +#define ACE_HAS_CPLUSPLUS_HEADERS +#define ACE_HAS_GNU_CSTRING_H +#define ACE_HAS_MSG +#define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R +// Not yet sure about threads +#define ACE_HAS_NONCONST_GETBY +#define ACE_HAS_OSF1_GETTIMEOFDAY +#define ACE_HAS_POLL +#define ACE_HAS_POSIX_NONBLOCK +#define ACE_HAS_POSIX_TIME +#define ACE_HAS_REENTRANT_FUNCTIONS +#define ACE_HAS_REGEX +#define ACE_HAS_LAZY_V +#define ACE_HAS_SELECT_H +#define ACE_HAS_SIGINFO_T +#define ACE_HAS_UCONTEXT_T +#define ACE_HAS_SIGWAIT +#define ACE_HAS_SIG_ATOMIC_T +#define ACE_HAS_SOCKIO_H +#define ACE_HAS_SSIZE_T +#define ACE_HAS_STHREADS +#define ACE_HAS_THR_KEYDELETE +#define ACE_HAS_STRBUF_T +#define ACE_HAS_STREAMS +#define ACE_HAS_STREAM_PIPES +#define ACE_HAS_STRERROR +#define ACE_HAS_SVR4_DYNAMIC_LINKING +#define ACE_HAS_SYSCALL_H +#define ACE_HAS_SYSINFO +#define ACE_HAS_SYSV_IPC +#define ACE_HAS_SYS_FILIO_H +#define ACE_HAS_SYS_SIGLIST +#define ACE_HAS_TERM_IOCTLS +#define ACE_HAS_THREADS +#define ACE_HAS_THREAD_SPECIFIC_STORAGE +#define ACE_HAS_THREAD_T +#define ACE_HAS_TIMOD_H +#define ACE_HAS_TIUSER_H +#define ACE_HAS_TLI +#define ACE_HAS_TLI_PROTOTYPES +#define ACE_HAS_UNIXWARE_SVR4_SIGNAL_T +#define ACE_HAS_VOIDPTR_SOCKOPT + +#define ACE_LACKS_MADVISE +#define ACE_LACKS_SYSCALL + +#if !defined (ACE_MT_SAFE) +# define ACE_MT_SAFE 1 +#endif + +#define ACE_PAGE_SIZE 4096 +#define ACE_REDEFINES_XTI_FUNCTIONS + +// Compiling for UNIXWARE +#if !defined (UNIXWARE) +# define UNIXWARE +# define UNIXARE_2_0 +#endif /* UNIXWARE */ + +// These seem to be missing... Process_Manager uses them +// +//typedef int Process_t; +//typedef int hProcess_t; +//typedef int hpid_t; + + +// Compiler/platform supports OSF/1 gettimeofday() prototype. +//#define ACE_HAS_OSF1_GETTIMEOFDAY + +// Compiler/platform supports SVR4 TLI (in particular, T_GETNAME stuff)... +//#define ACE_HAS_SVR4_TLI + + +// Platform doesn't have getby... char *arg defined as const +//#define ACE_GET_BLAH_BY_NO_CONST + +// Turns off the tracing feature. +#if !defined (ACE_NTRACE) +# define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-unixware-2.1.2-g++.h b/ace/config-unixware-2.1.2-g++.h new file mode 100644 index 00000000000..fced5901150 --- /dev/null +++ b/ace/config-unixware-2.1.2-g++.h @@ -0,0 +1,102 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work +// for Unixware platforms running UnixWare 2.1.2 and gcc version 2.7.2.2 + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +// See README for what the ACE_HAS... and ACE_LACKS... macros mean + +#if ! defined (__ACE_INLINE__) +# define __ACE_INLINE__ +#endif /* ! __ACE_INLINE__ */ + +// config-g++-common.h undef's ACE_HAS_STRING_CLASS with -frepo, so +// this must appear before its #include. +#define ACE_HAS_STRING_CLASS + +#if defined (__GNUG__) +# include "ace/config-g++-common.h" +#endif /* __GNUG__ */ + +// Optimize ACE_Handle_Set for select(). +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT + +#define ACE_LACKS_SYSTIME_H +// ualarm is only in BSD compatibility lib, but no header is provided +// #define ACE_HAS_UALARM +#define ACE_HAS_SIZET_SOCKET_LEN +#define ACE_HAS_AUTOMATIC_INIT_FINI +#define ACE_HAS_CPLUSPLUS_HEADERS +#define ACE_HAS_GNU_CSTRING_H +#define ACE_HAS_MSG +#define ACE_HAS_SVR4_GETTIMEOFDAY +#define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R +#define ACE_HAS_NONCONST_GETBY +#define ACE_HAS_POLL +#define ACE_HAS_POSIX_NONBLOCK +#define ACE_HAS_POSIX_TIME +#define ACE_LACKS_TIMESPEC_T +#define ACE_HAS_REENTRANT_FUNCTIONS +#define ACE_HAS_REGEX +#define ACE_HAS_LAZY_V +#define ACE_HAS_SELECT_H +#define ACE_HAS_SIGINFO_T +#define ACE_HAS_UCONTEXT_T +#define ACE_HAS_SIGWAIT +#define ACE_HAS_SIG_ATOMIC_T +#define ACE_HAS_SOCKIO_H +#define ACE_HAS_SSIZE_T +#define ACE_HAS_STHREADS +#define ACE_HAS_THR_KEYDELETE +#define ACE_HAS_STRBUF_T +#define ACE_HAS_STREAMS +#define ACE_HAS_STREAM_PIPES +#define ACE_HAS_STRERROR +#define ACE_HAS_SVR4_DYNAMIC_LINKING +#define ACE_HAS_SYSCALL_H +#define ACE_HAS_SYSINFO +#define ACE_HAS_SYSV_IPC +#define ACE_HAS_SYS_FILIO_H +#define ACE_HAS_TERM_IOCTLS +#define ACE_HAS_THREADS +#define ACE_HAS_THREAD_SPECIFIC_STORAGE +#define ACE_HAS_THREAD_T +#define ACE_HAS_TIMOD_H +#define ACE_HAS_TIUSER_H +#define ACE_HAS_TLI +#define ACE_HAS_TLI_PROTOTYPES +#define ACE_HAS_UNIXWARE_SVR4_SIGNAL_T +#define ACE_HAS_VOIDPTR_SOCKOPT +#define ACE_HAS_THR_MINSTACK + +#define ACE_LACKS_MADVISE +#define ACE_LACKS_STRCASECMP +#define ACE_LACKS_PRI_T +#define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS +#define ACE_LACKS_PWD_REENTRANT_FUNCTIONS + +#if !defined (ACE_MT_SAFE) +# define ACE_MT_SAFE 1 +#endif + +#define ACE_PAGE_SIZE 4096 +#define ACE_REDEFINES_XTI_FUNCTIONS + +#if !defined (UNIXWARE) +# define UNIXWARE +# define UNIXWARE_2_1 +#endif /* ! UNIXWARE */ + +// Turns off the tracing feature. +#if !defined (ACE_NTRACE) +# define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +#define ACE_HAS_IDTYPE_T + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-unixware-7.1.0.h b/ace/config-unixware-7.1.0.h new file mode 100644 index 00000000000..b5a228d1a81 --- /dev/null +++ b/ace/config-unixware-7.1.0.h @@ -0,0 +1,447 @@ +/* -*- C++ -*- */ +// $Id$ + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H + +/* ACE configuration header file */ + +/* Include the commong gnu config file */ +#include "config-g++-common.h" + +/* For unixware 7.1 && g++ 2.91.57, see if this fixes my problem */ +#ifndef UNIXWARE_7_1 +#define UNIXWARE_7_1 +#endif + +/* Define if you have alloca, as a function or macro. */ +#define HAVE_ALLOCA 1 + +/* Define if you have the strftime function. */ +#define HAVE_STRFTIME 1 + +/* Define if you have that is POSIX.1 compatible. */ +#define HAVE_SYS_WAIT_H 1 + +/* Define if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if lex declares yytext as a char * by default, not a char[]. */ +#define YYTEXT_POINTER 1 + +/* Define _REENTRANT if reentrant functions should be used. */ +#ifndef _REENTRANT +# define _REENTRANT 1 +#endif + +#define ACE_HAS_NEW_NO_H 1 +#define ACE_HAS_STDEXCEPT_NO_H 1 +#define ACE_HAS_IOMANIP_NO_H 1 + +/* Platform provides header */ +#define ACE_HAS_SYS_IOCTL_H 1 + +#define ACE_THREAD_MIN_PRIORITY 0 +#if defined (ACE_THREAD_MIN_PRIORITY) +# define PTHREAD_MIN_PRIORITY ACE_THREAD_MIN_PRIORITY +#endif /* #if defined (ACE_THREAD_MIN_PRIORITY) */ + +#define ACE_THREAD_MAX_PRIORITY 99 +#if defined (ACE_THREAD_MAX_PRIORITY) +# define PTHREAD_MAX_PRIORITY ACE_THREAD_MAX_PRIORITY +#endif /* #if defined (ACE_THREAD_MAX_PRIORITY) */ + +/* Specify sizes of given built-in types. If a size isn't defined here, + then ace/Basic_Types.h will attempt to deduce the size. */ +/* #undef ACE_SIZEOF_CHAR */ +#define ACE_SIZEOF_SHORT 2 +#define ACE_SIZEOF_INT 4 +#define ACE_SIZEOF_LONG 4 +#define ACE_SIZEOF_LONG_LONG 8 +#define ACE_SIZEOF_VOID_P 4 +#define ACE_SIZEOF_FLOAT 4 +#define ACE_SIZEOF_DOUBLE 8 +#define ACE_SIZEOF_LONG_DOUBLE 12 + +/* typedef for ACE_UINT64 */ +/* + We only make the typedef if ACE_UINT64_TYPEDEF is defined. Otherwise, + let ace/Basic_Types.h do the work for us. +*/ +#define ACE_UINT64_TYPEDEF unsigned long long +#if defined(ACE_UINT64_TYPEDEF) + typedef ACE_UINT64_TYPEDEF ACE_UINT64; +#endif /* ACE_UINT64_TYPEDEF && !ACE_DISABLE_AUTOCONF_UINT64 */ + +/* Enable ACE inlining */ +#define __ACE_INLINE__ 1 + +/* OS has priocntl (2) */ +#define ACE_HAS_PRIOCNTL 1 + +/* Platform has pread() and pwrite() support */ +#define ACE_HAS_P_READ_WRITE 1 + +/* Compiler/platform supports alloca() */ +#define ACE_HAS_ALLOCA 1 + +/* Compiler/platform correctly calls init()/fini() for shared libraries */ +#define ACE_HAS_AUTOMATIC_INIT_FINI 1 + +/* Platform doesn't cast MAP_FAILED to a (void *). */ +/* #undef ACE_HAS_BROKEN_MAP_FAILED */ +/* Staller: oh yes, let's do this! */ +#define ACE_HAS_BROKEN_MAP_FAILED + +/* Prototypes for both signal() and struct sigaction are consistent. */ +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES 1 + +/* Platform supports operations on directories via struct dirent, + readdir_r, etc. */ +#define ACE_HAS_DIRENT 1 + +/* Compiler supports C++ exception handling */ +// MM-Graz if ! defined inserted, to prevent warnings, because it is already +// defined in config-g++common.h +# if !defined (ACE_HAS_EXCEPTIONS) +#define ACE_HAS_EXCEPTIONS 1 +# endif + +/* Platform supports getpagesize() call (otherwise, ACE_PAGE_SIZE must be + defined, except on Win32) */ +#define ACE_HAS_GETPAGESIZE 1 + +/* Platform supports the getrusage() system call. */ +#define ACE_HAS_GETRUSAGE 1 + +/* Platform has a getrusage () prototype in sys/resource.h that differs from + the one in ace/OS.i. */ +#define ACE_HAS_GETRUSAGE_PROTO 1 + +/* Denotes that GNU has cstring.h as standard which redefines memchr() */ +#define ACE_HAS_GNU_CSTRING_H + +/* The GPERF utility is compiled for this platform */ +#define ACE_HAS_GPERF 1 + +/* Optimize ACE_Handle_Set::count_bits for select() operations (common case) */ +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT 1 + +/* Compiler/platform supports idtype_t. */ +#define ACE_HAS_IDTYPE_T 1 + +/* Platform supports IP multicast */ +#define ACE_HAS_IP_MULTICAST 1 + +/* Platform supports thr_keydelete (e.g,. UNIXWARE) */ +#define ACE_HAS_THR_KEYDELETE 1 + +/* Platform calls thr_minstack() rather than thr_min_stack() (e.g., Tandem). */ +#define ACE_HAS_THR_MINSTACK 1 + +/* Platform supports recvmsg and sendmsg */ +#define ACE_HAS_MSG 1 + +/* Platform's select() uses non-const timeval* (only found on Linux right + now) */ +#define ACE_HAS_NONCONST_SELECT_TIMEVAL 1 + +/* Uses ctime_r & asctime_r with only two parameters vs. three. */ +#define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R 1 + +/* Platform is an Intel Pentium microprocessor. */ +/* There is a problem with the gethrtime() because of (apparently) a problem + with the inline assembly instruction. Hopefully there is a way to resolve + that with an improvement to the assembler +*/ +#ifdef ACE_HAS_PENTIUM +#undef ACE_HAS_PENTIUM +#endif /* ACE_HAS_PENTIUM */ + + +/* Platform contains */ +#define ACE_HAS_POLL 1 + +/* Platform supports POSIX O_NONBLOCK semantics */ +#define ACE_HAS_POSIX_NONBLOCK 1 + +/* Platform supports the POSIX struct timespec type */ +#define ACE_HAS_POSIX_TIME 1 + +/* Platform supports the /proc file system and defines tid_t + in */ +#define ACE_HAS_PROC_FS 1 + +/* Platform supports POSIX Threads */ +#define ACE_HAS_PTHREADS 1 + +/* Platform supports POSIX.1c-1995 threads */ +#define ACE_HAS_PTHREADS_STD 1 + +/* pthread.h declares an enum with PTHREAD_PROCESS_PRIVATE and + PTHREAD_PROCESS_SHARED values */ +#define ACE_HAS_PTHREAD_PROCESS_ENUM 1 + +/* Platform has pthread_sigmask() defined. */ +#define ACE_HAS_PTHREAD_SIGMASK 1 + +/* Platform will recurse infinitely on thread exits from TSS cleanup routines + (e.g., AIX) */ +#define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS 1 + +/* Platform supports reentrant functions (i.e., all the POSIX *_r + functions). */ +#define ACE_HAS_REENTRANT_FUNCTIONS 1 + +/* Platform has support for multi-byte character support compliant with the + XPG4 Worldwide Portability Interface wide-character classification. */ +#define ACE_HAS_XPG4_MULTIBYTE_CHAR 1 + +/* Platform does not support reentrant netdb functions (getprotobyname_r, + getprotobynumber_r, gethostbyaddr_r, gethostbyname_r, getservbyname_r). */ +#define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS 1 + +/* Platform supports the POSIX regular expression library */ +#define ACE_HAS_REGEX 1 + +/* Platform has special header for select(). */ +#define ACE_HAS_SELECT_H 1 + +/* Platform has a function to set t_errno (e.g., Tandem). */ +#define ACE_HAS_SET_T_ERRNO 1 + +/* Platform supports SVR4 extended signals */ +#define ACE_HAS_SIGINFO_T 1 + +/* Platform/compiler has the sigwait(2) prototype */ +#define ACE_HAS_SIGWAIT 1 + +/* Compiler/platform defines the sig_atomic_t typedef */ +#define ACE_HAS_SIG_ATOMIC_T 1 + +/* Platform supports new BSD inet_addr len field. */ +#define ACE_HAS_SIN_LEN 1 + +/* OS/compiler uses size_t * rather than int * for socket lengths */ +#define ACE_HAS_SIZET_SOCKET_LEN 1 + +/* Compiler/platform provides the sys/sockio.h file */ +#define ACE_HAS_SOCKIO_H 1 + +/* Compiler supports the ssize_t typedef */ +#define ACE_HAS_SSIZE_T 1 + +/* Platform supports UNIX International Threads */ +#define ACE_HAS_STHREADS 1 + +/* Platform has thr_yield() */ +#define ACE_HAS_THR_YIELD 1 + +/* Compiler/platform supports struct strbuf */ +#define ACE_HAS_STRBUF_T 1 + +/* Platform supports STREAMS */ +#define ACE_HAS_STREAMS 1 + +/* Platform supports STREAM pipes */ +#define ACE_HAS_STREAM_PIPES 1 + +/* Compiler/platform supports strerror () */ +#define ACE_HAS_STRERROR 1 + +/* Platform/Compiler supports a String class (e.g., GNU or Win32). */ +#define ACE_HAS_STRING_CLASS 1 + +/* Platform has (which contains bzero() prototype) */ +#define ACE_HAS_STRINGS 1 + +/* Platform has void * as second parameter to gettimeofday and a has a + prototype */ +#define ACE_HAS_SUNOS4_GETTIMEOFDAY 1 + +/* Compiler/platform supports SVR4 dynamic linking semantics */ +#define ACE_HAS_SVR4_DYNAMIC_LINKING 1 + +/* Compiler/platform supports SVR4 TLI (in particular, T_GETNAME stuff)... */ +#define ACE_HAS_SVR4_TLI 1 + +/* Compiler/platform contains the file. */ +#define ACE_HAS_SYSCALL_H 1 + +/* Platform supports system configuration information */ +#define ACE_HAS_SYSINFO 1 + +/* Platform supports System V IPC (most versions of UNIX, but not Win32) */ +#define ACE_HAS_SYSV_IPC 1 + +/* Platform provides header */ +#define ACE_HAS_SYS_FILIO_H 1 + +/* Platform provides header */ +#define ACE_HAS_SYS_XTI_H 1 + +/* Platform has terminal ioctl flags like TCGETS and TCSETS. */ +#define ACE_HAS_TERM_IOCTLS 1 + +/* Platform supports threads */ +#define ACE_HAS_THREADS 1 + +/* Compiler/platform has thread-specific storage */ +#define ACE_HAS_THREAD_SPECIFIC_STORAGE 1 + +/* Platform supports TLI timod STREAMS module */ +#define ACE_HAS_TIMOD_H 1 + +/* Platform supports TLI tiuser header */ +#define ACE_HAS_TIUSER_H 1 + +/* Platform supports TLI. Also see ACE_TLI_TCP_DEVICE. */ +#define ACE_HAS_TLI 1 + +/* Platform provides TLI function prototypes */ +#define ACE_HAS_TLI_PROTOTYPES 1 + +/* Platform supports ualarm() */ +#define ACE_HAS_UALARM 1 + +/* Platform supports ucontext_t (which is used in the extended signal API). */ +#define ACE_HAS_UCONTEXT_T 1 + +/* Platform has header file */ +#define ACE_HAS_UTIME 1 + +/* Platform requires void * for mmap(). */ +#define ACE_HAS_VOIDPTR_MMAP 1 + +/* Platform has XTI (X/Open-standardized superset of TLI). Implies + ACE_HAS_TLI but uses a different header file. */ +#define ACE_HAS_XTI 1 + +/* Platform can not build ace/IOStream{,_T}.cpp. This does not necessarily + mean that the platform does not support iostreams. */ +#define ACE_LACKS_ACE_IOSTREAM 1 + +/* Platform does not have u_longlong_t typedef */ +#define ACE_LACKS_U_LONGLONG_T 1 + +/* Platform lacks madvise() (e.g., Linux) */ +#define ACE_LACKS_MADVISE 1 + +/* Platform lacks POSIX prototypes for certain System V functions like shared + memory and message queues. */ +#define ACE_LACKS_SOME_POSIX_PROTOTYPES 1 + +/* Platform lacks pri_t (e.g., Tandem NonStop UNIX). */ +#define ACE_LACKS_PRI_T 1 + +/* Platform lacks pthread_thr_sigsetmask (e.g., MVS, HP/UX, and OSF/1 3.2) */ +#define ACE_LACKS_PTHREAD_THR_SIGSETMASK 1 + +/* Platfrom lack pthread_yield() support. */ +#define ACE_LACKS_PTHREAD_YIELD 1 + +/* Platform lacks readers/writer locks. */ +#define ACE_LACKS_RWLOCK_T 1 + +/* MIT pthreads platform lacks the timedwait prototypes */ +#define ACE_LACKS_TIMEDWAIT_PROTOTYPES 1 + +/* Platform does not define timepec_t as a typedef for struct timespec. */ +#define ACE_LACKS_TIMESPEC_T 1 + +/* Compile using multi-thread libraries */ +#define ACE_MT_SAFE 1 + +/* Platform needs regexpr.h for regular expression support */ +#define ACE_NEEDS_REGEXPR_H 1 + +/* Platform needs to #include to get thread scheduling defs. */ +#define ACE_NEEDS_SCHED_H 1 + +/* doesn't automatically #include */ +#define ACE_LACKS_SYSTIME_H 1 + +/* Turns off the tracing feature. */ +#define ACE_NTRACE 1 + +/*********************************************************************/ +/* Compiler's template mechanim must see source code (i.e., .cpp files). This + is used for GNU G++. */ +/* Staller -> make 0 */ +// #undef ACE_TEMPLATES_REQUIRE_SOURCE + +/* Compiler's template instantiation mechanism supports the use of explicit + C++ specializations for all used templates. This is also used for GNU G++ + if you don't use the "repo" patches. */ +/* Staller -> make 0 */ +// #define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION 1 +/*********************************************************************/ + +/* The OS/platform supports the poll() event demultiplexor */ +#define ACE_USE_POLL 1 + +/* Platform has its standard c++ library in the namespace std. */ +#define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1 + +/* The number of bytes in a double. */ +#define SIZEOF_DOUBLE 8 + +/* The number of bytes in a float. */ +#define SIZEOF_FLOAT 4 + +/* The number of bytes in a int. */ +#define SIZEOF_INT 4 + +/* The number of bytes in a long. */ +#define SIZEOF_LONG 4 + +/* The number of bytes in a long double. */ +#define SIZEOF_LONG_DOUBLE 12 + +/* The number of bytes in a long long. */ +#define SIZEOF_LONG_LONG 8 + +/* The number of bytes in a short. */ +#define SIZEOF_SHORT 2 + +/* The number of bytes in a signed char. */ +#define SIZEOF_SIGNED_CHAR 1 + +/* The number of bytes in a void *. */ +#define SIZEOF_VOID_P 4 + +/* Define if you have the execv function. */ +#define HAVE_EXECV 1 + +/* Define if you have the execve function. */ +#define HAVE_EXECVE 1 + +/* Define if you have the execvp function. */ +#define HAVE_EXECVP 1 + +/* Define if you have the header file. */ +#define HAVE_DIRENT_H 1 + +/* Define if you have the header file. */ +#define HAVE_FSTREAM 1 + +/* Define if you have the header file. */ +#define HAVE_IOMANIP 1 + +/* Define if you have the header file. */ +#define HAVE_IOSTREAM 1 + +/* Define if you have the header file. */ +#define HAVE_PWD_H 1 + +/* Name of package */ +#define PACKAGE "ace" + +/* Added by Staller */ +#define ENUM_BOOLEAN // See file /usr/local/lib/gcc-lib/i486-pc-sysv5/egcs-2.91.60/include/sys/types.h +#define howmany(x, y) (((x)+((y)-1))/(y)) +#define ACE_HAS_BROKEN_T_ERROR // make a nasty warning disappear in OS.i +#define __USLC__ 1 +#define __IOCTL_VERSIONED__ // By Carlo! + +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-unixware-7.1.0.udk.h b/ace/config-unixware-7.1.0.udk.h new file mode 100644 index 00000000000..ecda2189807 --- /dev/null +++ b/ace/config-unixware-7.1.0.udk.h @@ -0,0 +1,529 @@ +/* -*- C++ -*- */ +#ifndef ACE_CONFIG_UNIXWARE_UDK_H +#define ACE_CONFIG_UNIXWARE_UDK_H + +// $Id$ + +// Configuration for the unixware UDK compiler. derived from the unixware/g++ config +// which was itself derived from an autoconfig run. + +/* ACE configuration header file */ + +#define ACE_HAS_STD_TEMPLATE_SPECIALIZATION +#define ACE_TEMPLATES_REQUIRE_SOURCE +#define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION +//#define ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA + +/* For unixware 7.1 && g++ 2.91.57, see if this fixes my problem */ +//#define ACE_HAS_BROKEN_NOOP_DTORS +#ifndef UNIXWARE_7_1 +#define UNIXWARE_7_1 +#endif + +#define ACE_LACKS_PLACEMENT_OPERATOR_DELETE + +/* Define if you have the strftime function. */ +#define HAVE_STRFTIME 1 + +/* Define if you have that is POSIX.1 compatible. */ +#define HAVE_SYS_WAIT_H 1 + +/* Define if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if lex declares yytext as a char * by default, not a char[]. */ +#define YYTEXT_POINTER 1 + +/* Define _REENTRANT if reentrant functions should be used. */ +#ifndef _REENTRANT +# define _REENTRANT 1 +#endif + +#define ACE_HAS_NEW_NO_H 1 +#define ACE_HAS_STDEXCEPT_NO_H 1 +#define ACE_HAS_IOMANIP_NO_H 1 + +/* Platform provides header */ +#define ACE_HAS_SYS_IOCTL_H 1 + +/* + * TODO: These two next #defines have an #undef before them, in + * case the variable being defined already had a value. + * The #undefs are being picked up by configure, and are commented out! + */ +#define ACE_THREAD_MIN_PRIORITY 0 +#if defined (ACE_THREAD_MIN_PRIORITY) +/* # undef PTHREAD_MIN_PRIORITY */ +# define PTHREAD_MIN_PRIORITY ACE_THREAD_MIN_PRIORITY +#endif /* #if defined (ACE_THREAD_MIN_PRIORITY) */ + +#define ACE_THREAD_MAX_PRIORITY 99 +#if defined (ACE_THREAD_MAX_PRIORITY) +/* # undef PTHREAD_MAX_PRIORITY */ +# define PTHREAD_MAX_PRIORITY ACE_THREAD_MAX_PRIORITY +#endif /* #if defined (ACE_THREAD_MAX_PRIORITY) */ + + + +/* UnixWare specific configuration parameters */ +/* #undef UNIXWARE */ +/* #undef UNIXWARE_2_0 */ +/* #undef UNIXWARE_2_1 */ + +/* Specify sizes of given built-in types. If a size isn't defined here, + then ace/Basic_Types.h will attempt to deduce the size. */ +/* #undef ACE_SIZEOF_CHAR */ +#define ACE_SIZEOF_SHORT 2 +#define ACE_SIZEOF_INT 4 +#define ACE_SIZEOF_LONG 4 +#define ACE_SIZEOF_LONG_LONG 8 +#define ACE_SIZEOF_VOID_P 4 +#define ACE_SIZEOF_FLOAT 4 +#define ACE_SIZEOF_DOUBLE 8 +#define ACE_SIZEOF_LONG_DOUBLE 12 + +/* typedef for ACE_UINT64 */ +/* + We only make the typedef if ACE_UINT64_TYPEDEF is defined. Otherwise, + let ace/Basic_Types.h do the work for us. +*/ +#define ACE_UINT64_TYPEDEF unsigned long long +#if defined(ACE_UINT64_TYPEDEF) + typedef ACE_UINT64_TYPEDEF ACE_UINT64; +#endif /* ACE_UINT64_TYPEDEF && !ACE_DISABLE_AUTOCONF_UINT64 */ + +/* Enable ACE inlining */ +#define __ACE_INLINE__ 1 + +/* Platform supports new C++ style casts (dynamic_cast, static_cast, + reinterpret_cast and const_cast) */ +#define ACE_HAS_ANSI_CASTS + +/* Platform supports Asynchronous IO calls */ +/* #define ACE_HAS_AIO_CALLS */ + +/* Specify this if you don't want threads to inherit parent thread's + ACE_Log_Msg properties. */ +/* #undef ACE_THREADS_DONT_INHERIT_LOG_MSG */ + +/* OS has priocntl (2) */ +#define ACE_HAS_PRIOCNTL 1 + +/* Platform has pread() and pwrite() support */ +#define ACE_HAS_P_READ_WRITE 1 + +/* Compiler/platform correctly calls init()/fini() for shared libraries */ +#define ACE_HAS_AUTOMATIC_INIT_FINI 1 + +/* Compiler handles explicit calling of template destructor correctly. + See "ace/OS.h" for details. */ +/* Staller: already defined by config-g++-common.h +#define ACE_HAS_WORKING_EXPLICIT_TEMPLATE_DESTRUCTOR 1 +*/ + +/* Platform doesn't cast MAP_FAILED to a (void *). */ +/* #undef ACE_HAS_BROKEN_MAP_FAILED */ +/* Staller: oh yes, let's do this! */ +#define ACE_HAS_BROKEN_MAP_FAILED + + +/* Prototypes for both signal() and struct sigaction are consistent. */ +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES 1 + +/* Compiler/platform has correctly prototyped header files */ +#define ACE_HAS_CPLUSPLUS_HEADERS + +/* Platform supports operations on directories via struct dirent, + readdir_r, etc. */ +#define ACE_HAS_DIRENT + +/* Compiler supports C++ exception handling */ +# if !defined (ACE_HAS_EXCEPTIONS) +#define ACE_HAS_EXCEPTIONS +# endif + +/* Platform supports getpagesize() call (otherwise, ACE_PAGE_SIZE must be + defined, except on Win32) */ +#define ACE_HAS_GETPAGESIZE + +/* Platform supports the getrusage() system call. */ +#define ACE_HAS_GETRUSAGE + +/* Platform has a getrusage () prototype in sys/resource.h that differs from + the one in ace/OS.i. */ +#define ACE_HAS_GETRUSAGE_PROTO + +/* The GPERF utility is compiled for this platform */ +#define ACE_HAS_GPERF + +/* Optimize ACE_Handle_Set::count_bits for select() operations (common case) */ +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT 1 + +/* Compiler/platform supports SunOS high resolution timers */ +/* #undef ACE_HAS_HI_RES_TIMER */ + +/* Compiler/platform supports idtype_t. */ +#define ACE_HAS_IDTYPE_T + +/* Inline all the static class OS methods to remove call overhead */ +/* Note: This gets defined by OS.h if __ACE_INLINE__ is defined */ +/* #undef ACE_HAS_INLINED_OSCALLS */ + +/* Platform supports IP multicast */ +#define ACE_HAS_IP_MULTICAST + +/* Platform supports thr_keydelete (e.g,. UNIXWARE) */ +#define ACE_HAS_THR_KEYDELETE + +/* Platform calls thr_minstack() rather than thr_min_stack() (e.g., Tandem). */ +#define ACE_HAS_THR_MINSTACK + +/* Some files, such as ace/streams.h, want to include new style C++ stream + headers. These headers are iomanip, ios, iostream, istream, ostream, + fstream and streambuf. If _all_ of these headers aren't available, then + assume that only iostream.h and fstream.h are available. */ +/* #define ACE_USES_OLD_IOSTREAMS */ + +/* Platform supports recvmsg and sendmsg */ +#define ACE_HAS_MSG + +/* Platform's select() uses non-const timeval* (only found on Linux right + now) */ +#define ACE_HAS_NONCONST_SELECT_TIMEVAL + +/* Uses ctime_r & asctime_r with only two parameters vs. three. */ +#define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R + + +/* Platform is an Intel Pentium microprocessor. */ +/* There is a problem with the gethrtime() because of (apparently) a problem + with the inline assembly instruction. Hopefully there is a way to resolve + that with an improvement to the assembler +*/ +#ifdef ACE_HAS_PENTIUM +//#undef ACE_HAS_PENTIUM +#endif /* ACE_HAS_PENTIUM */ + + +/* Platform contains */ +#define ACE_HAS_POLL + +/* Platform supports POSIX O_NONBLOCK semantics */ +#define ACE_HAS_POSIX_NONBLOCK + +/* Platform supports the POSIX struct timespec type */ +#define ACE_HAS_POSIX_TIME + +/* Platform supports the /proc file system and defines tid_t + in */ +#define ACE_HAS_PROC_FS + +/* Platform supports POSIX Threads */ +#define ACE_HAS_PTHREADS + +/* Platform supports POSIX Threads .4a Draft 4 */ +/* #undef ACE_HAS_PTHREADS_DRAFT4 */ + +/* Platform supports POSIX Threads .4a Draft 6 */ +/* #undef ACE_HAS_PTHREADS_DRAFT6 */ + +/* Platform supports POSIX Threads .1c Draft 7 */ +/* #undef ACE_HAS_PTHREADS_DRAFT7 */ + +/* Platform supports POSIX.1c-1995 threads */ +#define ACE_HAS_PTHREADS_STD + +/* Platform has pthread_condattr_setkind_np(). */ +/* #undef ACE_HAS_PTHREAD_CONDATTR_SETKIND_NP */ + +/* Platform has pthread_mutexattr_setkind_np(). */ +/* #undef ACE_HAS_PTHREAD_MUTEXATTR_SETKIND_NP */ + +/* pthread.h declares an enum with PTHREAD_PROCESS_PRIVATE and + PTHREAD_PROCESS_SHARED values */ +#define ACE_HAS_PTHREAD_PROCESS_ENUM + +/* Platform has pthread_sigmask() defined. */ +#define ACE_HAS_PTHREAD_SIGMASK + +/* Platform will recurse infinitely on thread exits from TSS cleanup routines + (e.g., AIX) */ +#define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS + +/* Platform supports reentrant functions (i.e., all the POSIX *_r + functions). */ +#define ACE_HAS_REENTRANT_FUNCTIONS + +/* Platform has support for multi-byte character support compliant with the + XPG4 Worldwide Portability Interface wide-character classification. */ +#define ACE_HAS_XPG4_MULTIBYTE_CHAR + +/* Platform does not support reentrant netdb functions (getprotobyname_r, + getprotobynumber_r, gethostbyaddr_r, gethostbyname_r, getservbyname_r). */ +#define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS + +/* Platform supports the POSIX regular expression library */ +#define ACE_HAS_REGEX + +/* Platform has special header for select(). */ +#define ACE_HAS_SELECT_H + +/* Platform has a function to set t_errno (e.g., Tandem). */ +#define ACE_HAS_SET_T_ERRNO + +/* Platform supports SVR4 extended signals */ +#define ACE_HAS_SIGINFO_T + +/* Platform/compiler has the sigwait(2) prototype */ +#define ACE_HAS_SIGWAIT + +/* Compiler/platform defines the sig_atomic_t typedef */ +#define ACE_HAS_SIG_ATOMIC_T + +/* Platform supports new BSD inet_addr len field. */ +#define ACE_HAS_SIN_LEN + +/* OS/compiler uses size_t * rather than int * for socket lengths */ +#define ACE_HAS_SIZET_SOCKET_LEN + +/* Compiler/platform provides the sys/sockio.h file */ +#define ACE_HAS_SOCKIO_H + +/* Compiler supports the ssize_t typedef */ +#define ACE_HAS_SSIZE_T + +/* Platform supports UNIX International Threads */ +#define ACE_HAS_STHREADS + +/* Platform has thr_yield() */ +#define ACE_HAS_THR_YIELD + +/* Platform/compiler supports Standard C++ Library */ +/* It seems that UDK provides std-like declarations for only portions + such as +*/ +#define ACE_HAS_STANDARD_CPP_LIBRARY 0 + +/* Compiler/platform supports struct strbuf */ +#define ACE_HAS_STRBUF_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 + +/* Platform/Compiler supports a String class (e.g., GNU or Win32). */ +#define ACE_HAS_STRING_CLASS + +/* Platform has (which contains bzero() prototype) */ +#define ACE_HAS_STRINGS + +/* Platform has void * as second parameter to gettimeofday and a has a + prototype */ +#define ACE_HAS_SUNOS4_GETTIMEOFDAY + +/* Compiler/platform supports SVR4 dynamic linking semantics */ +#define ACE_HAS_SVR4_DYNAMIC_LINKING + +/* Compiler/platform supports SVR4 TLI (in particular, T_GETNAME stuff)... */ +#define ACE_HAS_SVR4_TLI + +/* Compiler/platform contains the file. */ +#define ACE_HAS_SYSCALL_H + +/* Platform supports system configuration information */ +#define ACE_HAS_SYSINFO 1 + +/* Platform supports System V IPC (most versions of UNIX, but not Win32) */ +#define ACE_HAS_SYSV_IPC 1 + +/* Platform provides header */ +#define ACE_HAS_SYS_FILIO_H 1 + +/* Platform provides header */ +#define ACE_HAS_SYS_XTI_H 1 + +/* Compiler implements template specialization */ +#define ACE_HAS_TEMPLATE_SPECIALIZATION 1 + +/* Compiler implements templates that support typedefs inside of classes used + as formal arguments to a template class. */ +#define ACE_HAS_TEMPLATE_TYPEDEFS 1 + +/* Platform has terminal ioctl flags like TCGETS and TCSETS. */ +#define ACE_HAS_TERM_IOCTLS 1 + +/* Platform supports threads */ +#define ACE_HAS_THREADS 1 + +/* Compiler/platform has thread-specific storage */ +#define ACE_HAS_THREAD_SPECIFIC_STORAGE 1 + +/* Platform supports TLI timod STREAMS module */ +#define ACE_HAS_TIMOD_H 1 + +/* Platform supports TLI tiuser header */ +#define ACE_HAS_TIUSER_H 1 + +/* Platform supports TLI. Also see ACE_TLI_TCP_DEVICE. */ +#define ACE_HAS_TLI 1 + +/* Platform provides TLI function prototypes */ +#define ACE_HAS_TLI_PROTOTYPES 1 + +/* Platform supports ualarm() */ +#define ACE_HAS_UALARM 1 + +/* Platform supports ucontext_t (which is used in the extended signal API). */ +#define ACE_HAS_UCONTEXT_T 1 + +/* Platform has header file */ +#define ACE_HAS_UTIME 1 + +/* Compiler supports the C++ typename keyword */ +#define ACE_HAS_TYPENAME_KEYWORD 1 + +/* Compiler supports the new using keyword for C++ namespaces. */ +#define ACE_HAS_USING_KEYWORD 1 + +/* Prints out console message in ACE_NOTSUP. Useful for tracking down origin + of ACE_NOTSUP. */ +/* #undef ACE_HAS_VERBOSE_NOTSUP */ + +/* Platform requires void * for mmap(). */ +#define ACE_HAS_VOIDPTR_MMAP 1 + +/* Platform has XTI (X/Open-standardized superset of TLI). Implies + ACE_HAS_TLI but uses a different header file. */ +#define ACE_HAS_XTI 1 + +/* Platform can not build ace/IOStream{,_T}.cpp. This does not necessarily + mean that the platform does not support iostreams. */ +#define ACE_LACKS_ACE_IOSTREAM 1 + +/* Platform does not have u_longlong_t typedef */ +#define ACE_LACKS_U_LONGLONG_T 1 + +/* Platform lacks madvise() (e.g., Linux) */ +#define ACE_LACKS_MADVISE 1 + +/* Platform lacks POSIX prototypes for certain System V functions like shared + memory and message queues. */ +#define ACE_LACKS_SOME_POSIX_PROTOTYPES 1 + +/* Platform lacks pri_t (e.g., Tandem NonStop UNIX). */ +#define ACE_LACKS_PRI_T 1 + +/* Platform lacks pthread_thr_sigsetmask (e.g., MVS, HP/UX, and OSF/1 3.2) */ +#define ACE_LACKS_PTHREAD_THR_SIGSETMASK 1 + +/* Platfrom lack pthread_yield() support. */ +#define ACE_LACKS_PTHREAD_YIELD 1 + +/* Platform lacks readers/writer locks. */ +#define ACE_LACKS_RWLOCK_T 1 + +/* MIT pthreads platform lacks the timedwait prototypes */ +#define ACE_LACKS_TIMEDWAIT_PROTOTYPES 1 + +/* Platform does not define timepec_t as a typedef for struct timespec. */ +#define ACE_LACKS_TIMESPEC_T 1 + +/* Compile using multi-thread libraries */ +#define ACE_MT_SAFE 1 + +/* Platform needs regexpr.h for regular expression support */ +#define ACE_NEEDS_REGEXPR_H 1 + +/* Platform needs to #include to get thread scheduling defs. */ +#define ACE_NEEDS_SCHED_H 1 + +/* doesn't automatically #include */ +#define ACE_LACKS_SYSTIME_H 1 + +/* Turns off the LM_DEBUG and LM_ERROR logging macros... */ +/* #undef ACE_NLOGGING */ + +/* Turns off the tracing feature. */ +#define ACE_NTRACE 1 + +/* The OS/platform supports the poll() event demultiplexor */ +#define ACE_USE_POLL 1 + +/* Platform has its standard c++ library in the namespace std. */ +#define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1 + +/* The number of bytes in a double. */ +#define SIZEOF_DOUBLE 8 + +/* The number of bytes in a float. */ +#define SIZEOF_FLOAT 4 + +/* The number of bytes in a int. */ +#define SIZEOF_INT 4 + +/* The number of bytes in a long. */ +#define SIZEOF_LONG 4 + +/* The number of bytes in a long double. */ +#define SIZEOF_LONG_DOUBLE 12 + +/* The number of bytes in a long long. */ +#define SIZEOF_LONG_LONG 8 + +/* The number of bytes in a short. */ +#define SIZEOF_SHORT 2 + +/* The number of bytes in a signed char. */ +#define SIZEOF_SIGNED_CHAR 1 + +/* The number of bytes in a void *. */ +#define SIZEOF_VOID_P 4 + +/* Define if you have the execv function. */ +#define HAVE_EXECV 1 + +/* Define if you have the execve function. */ +#define HAVE_EXECVE 1 + +/* Define if you have the execvp function. */ +#define HAVE_EXECVP 1 + +/* Define if you have the header file. */ +#define HAVE_DIRENT_H 1 + +/* Define if you have the header file. */ +#define HAVE_FSTREAM 1 + +/* Define if you have the header file. */ +#define HAVE_IOMANIP 1 + +/* Define if you have the header file. */ +#define HAVE_IOSTREAM 1 + +/* Define if you have the header file. */ +#define HAVE_PWD_H 1 + +/* Name of package */ +#define PACKAGE "ace" + +/* Version number of package */ +#define VERSION "4.6.37" + +/* Added by Staller */ +#define ENUM_BOOLEAN // See file /usr/local/lib/gcc-lib/i486-pc-sysv5/egcs-2.91.60/include/sys/types.h +/* Hat nix gebracht +#define ACE_DEFAULT_SELECT_REACTOR_SIZE 256 // this is like in linux config fileto avoid another error +*/ +#define howmany(x, y) (((x)+((y)-1))/(y)) +#define ACE_HAS_BROKEN_T_ERROR // let disappear a nasty warning from OS.i +#if !defined (__USLC__) +# define __USLC__ 1 +#endif + +#define __IOCTL_VERSIONED__ // By Carlo! +#endif /* ACE_UNIXWARE_UDK_H */ diff --git a/ace/config-visualage.h b/ace/config-visualage.h new file mode 100644 index 00000000000..ccaaec9c776 --- /dev/null +++ b/ace/config-visualage.h @@ -0,0 +1,20 @@ +/* -*- C++ -*- */ +// $Id$ + +// This configuration file automatically includes the proper +// configurations for IBM's VisualAge C++ compiler on Win32 and AIX. + +#ifndef CONFIG_VISUALAGE_H +#define CONFIG_VISUALAGE_H +#include "ace/pre.h" + +#ifdef __TOS_WIN__ + #include "ace/config-win32.h" +#elif __TOS_AIX__ + #include "ace/config-aix-4.x.h" +#else + #include "PLATFORM NOT SPECIFIED" +#endif /* __TOS_WIN__ */ + +#include "ace/post.h" +#endif //CONFIG_VISUALAGE_H diff --git a/ace/config-vxworks5.x.h b/ace/config-vxworks5.x.h new file mode 100644 index 00000000000..240ed0692e2 --- /dev/null +++ b/ace/config-vxworks5.x.h @@ -0,0 +1,217 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for VxWorks +// 5.2/5.3 platforms using one of these compilers: +// 1) The GNU/Cygnus g++ compiler that is shipped with Tornado 1.0.1. +// 2) The Green Hills 1.8.8 (not 1.8.7!!!!) and 1.8.9 compilers. + +#ifndef ACE_CONFIG_H +#define ACE_CONFIG_H +#include "ace/pre.h" + +#if ! defined (VXWORKS) +# define VXWORKS +#endif /* ! VXWORKS */ + +#if ! defined (__ACE_INLINE__) +# define __ACE_INLINE__ +#endif /* ! __ACE_INLINE__ */ + +// Compiler-specific configuration. +#if defined (__GNUG__) +# include "ace/config-g++-common.h" +# undef ACE_HAS_TEMPLATE_SPECIALIZATION + +# define ACE_LACKS_IOSTREAM_FX +# if !defined (ACE_MAIN) +# define ACE_MAIN ace_main +# endif /* ! ACE_MAIN */ + + // Even though the documentation suggests that g++/VxWorks 5.3.1 + // (Tornado 1.0.1) supports long long, Wind River tech support says + // that it doesn't. It causes undefined symbols for math functions. +# define ACE_LACKS_LONGLONG_T + + // On g++/VxWorks, iostream.h defines a static instance (yes, instance) + // of the Iostream_init class. That causes all files that #include it + // to put in the global constructor/destructor hooks. For files that + // don't have any static instances of non-class (built-in) types, the + // hooks refer to the file name, e.g., "foo.cpp". That file name gets + // embedded in a variable name by munch. The output from munch won't + // compile, though, because of the period! So, let g++/VxWorks users + // include iostream.h only where they need it. +# define ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION + +# define ACE_LACKS_LINEBUFFERED_STREAMBUF +# define ACE_LACKS_SIGNED_CHAR + +#elif defined (ghs) + // Processor type, if necessary. Green Hills defines "ppc". +# if defined (ppc) +# define ACE_HAS_POWERPC_TIMER +# elif defined (i386) || defined (__i386__) + // If running an Intel, assume that it's a Pentium so that + // ACE_OS::gethrtime () can use the RDTSC instruction. If + // running a 486 or lower, be sure to comment this out. + // (If not running an Intel CPU, this #define will not be seen + // because of the i386 protection, so it can be ignored.) +# define ACE_HAS_PENTIUM +# endif /* ppc || i386 */ + +# define ACE_CONFIG_INCLUDE_GHS_COMMON +# include "ace/config-ghs-common.h" + +# define ACE_LACKS_UNISTD_H +# define ACE_LACKS_IOSTREAM_TOTALLY + +// Short-circuit the include of +// Green Hills has a problem with multiply defined functions +// with different parameters. +# define __INCineth + +#elif defined (__DCPLUSPLUS__) + // Diab 4.2a or later. +# if !defined (ACE_LACKS_PRAGMA_ONCE) + // We define it with a -D with make depend. +# define ACE_LACKS_PRAGMA_ONCE +# endif /* ! ACE_LACKS_PRAGMA_ONCE */ + + // Diab doesn't support VxWorks' iostream libraries. +# define ACE_LACKS_IOSTREAM_TOTALLY + + // #include causes strange compilation errors in + // the system header files. +# define ACE_LACKS_NEW_H + +#else /* ! __GNUG__ && ! ghs */ +# error unsupported compiler on VxWorks +#endif /* ! __GNUG__ && ! ghs */ + +// OS-specific configuration + +#define ACE_LACKS_UNIX_SYSLOG +#define ACE_HAS_MUTEX_TIMEOUTS +#define ACE_DEFAULT_MAX_SOCKET_BUFSIZ 32768 +#define ACE_DEFAULT_THREAD_KEYS 16 +#define ACE_HAS_BROKEN_ACCEPT_ADDR +#define ACE_HAS_BROKEN_SENDMSG +#define ACE_HAS_BROKEN_WRITEV +#define ACE_HAS_CHARPTR_SOCKOPT +#define ACE_HAS_CLOCK_GETTIME +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES +#define ACE_HAS_CPLUSPLUS_HEADERS +#define ACE_HAS_DIRENT +#define ACE_HAS_DLL 0 +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT +#define ACE_HAS_MSG +#define ACE_HAS_NONCONST_SELECT_TIMEVAL +#define ACE_HAS_NONSTATIC_OBJECT_MANAGER +#define ACE_HAS_POSIX_NONBLOCK +#define ACE_HAS_POSIX_TIME +#define ACE_HAS_RECURSIVE_MUTEXES +#define ACE_HAS_SIGINFO_T +#define ACE_HAS_SIGWAIT +#define ACE_HAS_SIG_ATOMIC_T +#define ACE_HAS_STRDUP_EMULATION +#define ACE_HAS_STRERROR +#define ACE_HAS_THREADS +#define ACE_HAS_TSS_EMULATION +#define ACE_LACKS_ACCESS +#define ACE_LACKS_COND_T +#define ACE_LACKS_EXEC +#define ACE_LACKS_FCNTL +#define ACE_LACKS_FILELOCKS +#define ACE_LACKS_FORK +#define ACE_LACKS_FSYNC +#define ACE_LACKS_GETHOSTENT +#define ACE_LACKS_GETSERVBYNAME +#define ACE_LACKS_KEY_T +#define ACE_LACKS_LSTAT +#define ACE_LACKS_MADVISE +#define ACE_LACKS_MALLOC_H +#define ACE_LACKS_MEMORY_H +#define ACE_LACKS_MKFIFO +#define ACE_LACKS_MKTEMP +#define ACE_LACKS_MKSTEMP +#define ACE_LACKS_MMAP +#define ACE_LACKS_MPROTECT +#define ACE_LACKS_MSYNC +#define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS +#define ACE_LACKS_PARAM_H +#define ACE_LACKS_PWD_FUNCTIONS +#define ACE_LACKS_READDIR_R +#define ACE_LACKS_READLINK +#define ACE_LACKS_RLIMIT +#define ACE_LACKS_RWLOCK_T +#define ACE_LACKS_SBRK +#define ACE_LACKS_SEEKDIR +#define ACE_LACKS_SEMBUF_T +#define ACE_LACKS_SIGINFO_H +#define ACE_LACKS_SI_ADDR +#define ACE_LACKS_SOCKETPAIR +#define ACE_LACKS_STRCASECMP +#define ACE_LACKS_STRRECVFD +#define ACE_LACKS_SYSCALL +#define ACE_LACKS_SYSTIME_H +#define ACE_LACKS_SYSV_MSG_H +#define ACE_LACKS_SYSV_SHMEM +#define ACE_LACKS_SYS_NERR +#define ACE_LACKS_TELLDIR +#define ACE_LACKS_TIMESPEC_T +#define ACE_LACKS_TRUNCATE +#define ACE_LACKS_UCONTEXT_H +#define ACE_LACKS_UNIX_SIGNALS +#define ACE_LACKS_UTSNAME_T +#define ACE_PAGE_SIZE 4096 +#define ACE_THR_PRI_FIFO_DEF 101 +#define ACE_THR_PRI_OTHER_DEF ACE_THR_PRI_FIFO_DEF +#define ACE_HAS_SIGTIMEDWAIT +#define ACE_HAS_SIGSUSPEND +#if !defined (ACE_VXWORKS_SPARE) +# define ACE_VXWORKS_SPARE spare4 +#endif /* ! ACE_VXWORKS_SPARE */ + +// Some string things +#define ACE_LACKS_WCSCAT +#define ACE_LACKS_WCSCHR +#define ACE_LACKS_WCSCMP +#define ACE_LACKS_WCSCPY +#define ACE_LACKS_WCSCSPN +#define ACE_LACKS_WCSLEN +#define ACE_LACKS_WCSNCAT +#define ACE_LACKS_WCSNCMP +#define ACE_LACKS_WCSNCPY +#define ACE_LACKS_WCSPBRK +#define ACE_LACKS_WCSRCHR +#define ACE_LACKS_WCSSPN +#define ACE_LACKS_WCSSTR +#define ACE_LACKS_WCSTOK +#define ACE_LACKS_TOWLOWER +#define ACE_LACKS_ITOW +#define ACE_LACKS_WCSICMP +#define ACE_LACKS_WCSNICMP +#define ACE_LACKS_WCSTOD +#define ACE_LACKS_WCSTOL +#define ACE_LACKS_WCSTOUL +#define ACE_LACKS_WCSDUP + +#if !defined (ACE_MT_SAFE) +# define ACE_MT_SAFE 1 +#endif + +#if !defined (ACE_NEEDS_HUGE_THREAD_STACKSIZE) +# define ACE_NEEDS_HUGE_THREAD_STACKSIZE 65536 +#endif /* ACE_NEEDS_HUGE_THREAD_STACKSIZE */ + +#if !defined (ACE_NTRACE) +# define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +// By default, don't include RCS Id strings in object code. +#if !defined (ACE_USE_RCSID) +#define ACE_USE_RCSID 0 +#endif /* #if !defined (ACE_USE_RCSID) */ + +#include "ace/post.h" +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-win32-borland.h b/ace/config-win32-borland.h new file mode 100644 index 00000000000..7f49b3b2cec --- /dev/null +++ b/ace/config-win32-borland.h @@ -0,0 +1,111 @@ +// -*- C++ -*- +//$Id$ + +// The following configuration file contains defines for Borland compilers. + +#ifndef ACE_CONFIG_WIN32_BORLAND_H +#define ACE_CONFIG_WIN32_BORLAND_H +#include "ace/pre.h" + +#ifndef ACE_CONFIG_WIN32_H +#error Use config-win32.h in config.h instead of this header +#endif /* ACE_CONFIG_WIN32_H */ + +# if defined (ACE_HAS_PACE) +# ifndef PACE_HAS_ALL_POSIX_FUNCS +# define PACE_HAS_ALL_POSIX_FUNCS 1 +# endif /* PACE_HAS_ALL_POSIX_FUNCS */ +# endif /* ACE_HAS_PACE */ + +# if (__BORLANDC__ == 0x540) +// The linker in C++Builder 4 has trouble with the large number of DLL +// function exports created when you compile without inline functions. +// Therefore we will always use inline functions with this version of +// the compiler. +# if defined (__ACE_INLINE__) +# undef __ACE_INLINE__ +# endif /* __ACE_INLINE__ */ +# define __ACE_INLINE__ 1 +# else /* __BORLANDC__ == 0x540 */ +// In later versions of C++Builder we will prefer inline functions by +// default. The debug configuration of ACE is built with functions +// out-of-line, so when linking your application against a debug ACE +// build, you can choose to use the out-of-line functions by adding +// ACE_NO_INLINE=1 to your project settings. +# if !defined (__ACE_INLINE__) +# define __ACE_INLINE__ 1 +# endif /* __ACE_INLINE__ */ +# endif /* __BORLANDC__ == 0x540 */ + +// Automatically define WIN32 macro if the compiler tells us it is our +// target platform. +# if defined (__WIN32__) && !defined (WIN32) +# define WIN32 1 +# endif + +// When building a VCL application, the main VCL header file should be +// included before anything else. You can define ACE_HAS_VCL=1 in your +// project settings to have this file included for you automatically. +# if defined (ACE_HAS_VCL) && (ACE_HAS_VCL != 0) +# include /**/ +# endif + +# include "ace/config-win32-common.h" + +# define ACE_CC_NAME ACE_LIB_TEXT ("Borland C++ Builder") +# define ACE_CC_MAJOR_VERSION (__BORLANDC__ / 0x100) +# define ACE_CC_MINOR_VERSION (__BORLANDC__ % 0x100) +# define ACE_CC_BETA_VERSION (0) +# define ACE_CC_PREPROCESSOR "CPP32.EXE" +# define ACE_CC_PREPROCESSOR_ARGS "-q -P- -o%s" + +# define ACE_HAS_ITOA 1 +# define ACE_STRCASECMP_EQUIVALENT ::stricmp +# define ACE_STRNCASECMP_EQUIVALENT ::strnicmp +# define ACE_WCSDUP_EQUIVALENT ::_wcsdup + +# define ACE_EXPORT_NESTED_CLASSES 1 +# define ACE_HAS_ANSI_CASTS 1 +# define ACE_HAS_CPLUSPLUS_HEADERS 1 +# define ACE_HAS_EXCEPTIONS 1 +# define ACE_HAS_EXPLICIT_KEYWORD 1 +# define ACE_HAS_GNU_CSTRING_H 1 +# define ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION 1 +# define ACE_HAS_MUTABLE_KEYWORD 1 +# define ACE_HAS_NONCONST_SELECT_TIMEVAL 1 +# define ACE_HAS_SIG_ATOMIC_T 1 +# define ACE_HAS_STANDARD_CPP_LIBRARY 1 +# if (__BORLANDC__ <= 0x540) +# define ACE_HAS_STD_TEMPLATE_METHOD_SPECIALIZATION 1 +# endif +# define ACE_HAS_STD_TEMPLATE_SPECIALIZATION 1 +# define ACE_HAS_STDCPP_STL_INCLUDES 1 +# define ACE_HAS_STRERROR 1 +# define ACE_HAS_STRING_CLASS 1 +# define ACE_HAS_STRPTIME 1 +# define ACE_HAS_TEMPLATE_SPECIALIZATION 1 +# define ACE_HAS_TEMPLATE_TYPEDEFS 1 +# define ACE_HAS_TYPENAME_KEYWORD 1 +# define ACE_HAS_USER_MODE_MASKS 1 +# define ACE_HAS_USING_KEYWORD 1 +# define ACE_LACKS_ACE_IOSTREAM 1 +# define ACE_LACKS_INLINE_ASSEMBLY 1 +# define ACE_LACKS_LINEBUFFERED_STREAMBUF 1 +# define ACE_LACKS_MODE_MASKS 1 +# define ACE_LACKS_NATIVE_STRPTIME 1 +# define ACE_LACKS_PLACEMENT_OPERATOR_DELETE 1 +# define ACE_LACKS_PRAGMA_ONCE 1 +# define ACE_LACKS_STRRECVFD 1 +# define ACE_NEW_THROWS_EXCEPTIONS 1 +# define ACE_SIZEOF_LONG_DOUBLE 10 +# define ACE_TEMPLATES_REQUIRE_SOURCE 1 +# define ACE_UINT64_FORMAT_SPECIFIER ACE_LIB_TEXT ("%Lu") +# define ACE_INT64_FORMAT_SPECIFIER ACE_LIB_TEXT ("%Ld") +# define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1 +# define ACE_USES_STD_NAMESPACE_FOR_STDC_LIB 1 +# define ACE_WSTRING_HAS_USHORT_SUPPORT 1 + +# define ACE_ENDTHREADEX(STATUS) ::_endthreadex ((DWORD) STATUS) + +#include "ace/post.h" +#endif /* ACE_CONFIG_WIN32_BORLAND_H */ diff --git a/ace/config-win32-common.h b/ace/config-win32-common.h new file mode 100644 index 00000000000..d3d58dd84cd --- /dev/null +++ b/ace/config-win32-common.h @@ -0,0 +1,498 @@ +/* -*- C++ -*- */ +// $Id$ + +#ifndef ACE_CONFIG_WIN32_COMMON_H +#define ACE_CONFIG_WIN32_COMMON_H +#include "ace/pre.h" + +#ifndef ACE_CONFIG_WIN32_H +#error Use config-win32.h in config.h instead of this header +#endif /* ACE_CONFIG_WIN32_H */ + +// Complain if WIN32 is not already defined. +#if !defined (WIN32) && !defined (ACE_HAS_WINCE) +# error Please define WIN32 in your project settings. +#endif + +#define ACE_WIN32 + +// Define this if you're running NT >= 4.0 (Win2K == NT 5). +// Setting applies to : building ACE +// Runtime restrictions: System must be Windows NT => 4.0 +#if !defined (ACE_HAS_WINNT4) +# define ACE_HAS_WINNT4 1 /* assuming Win NT 4.0 or greater */ +#endif + +#if (defined (ACE_HAS_WINNT4) && ACE_HAS_WINNT4 != 0) +# if !defined (_WIN32_WINNT) +# define _WIN32_WINNT 0x0400 +# endif +#else +// On Win9X, a shared address SHOULD be between the 2nd and 3rd Gb. +// Note this will not work for NT: The addresses above 2Gb are +// reserved for the system, so this one will fail. +# define ACE_DEFAULT_BASE_ADDR ((char*) ((2048UL+512UL)*1024UL*1024UL)) +#endif + +// Define ACE_HAS_MFC to 1, if you want ACE to use CWinThread. This should +// be defined, if your application uses MFC. +// Setting applies to : building ACE +// Runtime restrictions: MFC DLLs must be installed +// Additonal notes : If both ACE_HAS_MFC and ACE_MT_SAFE are +// defined, the MFC DLL (not the static lib) +// will be used from ACE. +#if !defined (ACE_HAS_MFC) +# define ACE_HAS_MFC 0 +#endif + +// If the invoking procedure turned off debugging by setting NDEBUG, then +// also set ACE_NDEBUG, unless the user has already set it. +#if defined (NDEBUG) +# if !defined (ACE_NDEBUG) +# define ACE_NDEBUG +# endif /* ACE_NDEBUG */ +#endif /* NDEBUG */ + +// Define ACE_HAS_STRICT to 1 in your config.h file if you want to use +// STRICT type checking. It is disabled by default because it will +// break existing application code. +// Setting applies to : building ACE, linking with ACE +// Runtime restrictions: - +// Additonal notes : ACE_HAS_MFC implies ACE_HAS_STRICT +#if !defined (ACE_HAS_STRICT) +# define ACE_HAS_STRICT 0 +#endif + +// Turn off the following define if you want to disable threading. +// Compile using multi-thread libraries. +// Setting applies to : building ACE, linking with ACE +// Runtime restrictions: multithreaded runtime DLL must be installed +#if !defined (ACE_MT_SAFE) +# define ACE_MT_SAFE 1 +#endif + +// Build ACE services as DLLs. If you write a library and want it to +// use ACE_Svc_Export, this will cause those macros to build dlls. If +// you want your ACE service to be a static library, comment out this +// line. As far as I know, the only reason to have a library be an +// ACE "service" is to leverage the ACE_Svc_Export macros. It's just +// as easy to define your own export macros. +// #if !defined (ACE_SVC_HAS_DLL) +// # define ACE_SVC_HAS_DLL 1 +// #endif + +// Define the special export macros needed to export symbols outside a dll +#if !defined (__MINGW32__) +#define ACE_HAS_CUSTOM_EXPORT_MACROS +#define ACE_Proper_Export_Flag __declspec (dllexport) +#define ACE_Proper_Import_Flag __declspec (dllimport) +#define ACE_EXPORT_SINGLETON_DECLARATION(T) template class __declspec (dllexport) T +#define ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) template class __declspec (dllexport) SINGLETON_TYPE; +#if defined (__BORLANDC__) +#define ACE_IMPORT_SINGLETON_DECLARATION(T) template class __declspec (dllimport) T +#define ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) template class __declspec (dllimport) SINGLETON_TYPE ; +#else /* __BORLANDC__ */ +#define ACE_IMPORT_SINGLETON_DECLARATION(T) extern template class T +#define ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) extern template class SINGLETON_TYPE ; +#endif /* __BORLANDC__ */ +#endif /* !__MINGW32__ */ + +// Define ACE_HAS_WINSOCK2 to 0 in your config.h file if you do *not* +// want to compile with WinSock 2.0. +// Setting applies to : building ACE +// Runtime restrictions: winsock2 must be installed. +// #define ACE_HAS_WINSOCK2 0 + +// By default, we use non-static object manager on Win32. That is, +// the object manager is allocated in main's stack memory. If this +// does not suit your need, i.e., if your programs depend on the use +// of static object manager, you neet to disable the behavior by adding +// +// #undef ACE_HAS_NONSTATIC_OBJECT_MANAGER +// +// in the config.h after including config-win32.h +// +// MFC users: the main function is defined within a MFC library and +// therefore, ACE won't be able to meddle with main function and +// instantiate the non-static object manager for you. To solve the +// problem, you'll need to instantiate the ACE_Object_Manager by +// either: +// +// 1. Using static object manager (as described above), however, using +// the non-static object manager is prefered, therefore, +// 2. Instantiate the non-static object manager yourself by either 1) +// call ACE::init () at the beginning and ACE::fini () at the end, +// _or_ 2) instantiate the ACE_Object_Manager in your CWinApp +// derived class. +// +// Optionally, you can #define +// ACE_DOESNT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER in your +// ace/config.h and always take care of the business by yourself. +// ACE_DOESNT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER has no effect when +// using static object managers. +#if !defined (ACE_HAS_NONSTATIC_OBJECT_MANAGER) +# define ACE_HAS_NONSTATIC_OBJECT_MANAGER +#elif (ACE_HAS_NONSTATIC_OBJECT_MANAGER == 0) +# undef ACE_HAS_NONSTATIC_OBJECT_MANAGER +#endif /* ACE_HAS_NONSTATIC_OBJECT_MANAGER */ + +#define ACE_HAS_GPERF + +// By default, don't include RCS Id strings in object code. +#if !defined (ACE_USE_RCSID) +# define ACE_USE_RCSID 0 +#endif /* ! ACE_USE_RCSID */ + +// ---------------- platform features or lack of them ------------- + +// By default WIN32 has FD_SETSIZE of 64, which places the limit +// between 61 and 64 on the number of clients a server using the +// Select Reactor can support at the same time (i.e., 64 - standard in, +// out, error). Here we raise the limit to 1024. Adjust the definition +// below if you need to raise or lower it. + +#if defined (FD_SETSIZE) +#undef FD_SETSIZE +#endif /* FD_SETSIZE */ +#define FD_SETSIZE 1024 + +// Windows doesn't like 65536 ;-) If 65536 is specified, it is +// listenly ignored by the OS, i.e., setsockopt does not fail, and you +// get stuck with the default size of 8k. +#define ACE_DEFAULT_MAX_SOCKET_BUFSIZ 65535 + +// +// It seems like Win32 does not have a limit on the number of buffers +// that can be transferred by the scatter/gather type of I/O +// functions, e.g., WSASend and WSARecv. We are arbitrarily setting +// this to be 1k for now. The typically use case is to create an I/O +// vector array of size ACE_IOV_MAX on the stack and then filled in. Note +// that we probably don't want too big a value for ACE_IOV_MAX since it +// may mostly go to waste or the size of the activation record may +// become excessively large. +// +#if !defined (ACE_IOV_MAX) +# define ACE_IOV_MAX 1024 +#endif /* ACE_IOV_MAX */ + +#if !defined (ACE_HAS_WINCE) +// Platform supports pread() and pwrite() +# define ACE_HAS_P_READ_WRITE +# if !defined (__MINGW32__) +# define ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS +# endif /* __MINGW32__ */ +#endif /* ! ACE_HAS_WINCE */ + +#define ACE_DEFAULT_THREAD_PRIORITY 0 + +#define ACE_HAS_RECURSIVE_MUTEXES +#define ACE_HAS_MSG +#define ACE_HAS_DIRENT +#define ACE_HAS_SOCKADDR_MSG_NAME +#define ACE_LACKS_GETPGID +#define ACE_LACKS_GETPPID +#define ACE_LACKS_SETPGID +#define ACE_LACKS_SETREGID +#define ACE_LACKS_SETREUID +#define ACE_HAS_THREAD_SAFE_ACCEPT +#define ACE_LACKS_GETHOSTENT +#define ACE_LACKS_SIGACTION +#define ACE_LACKS_SIGSET +#define ACE_LACKS_FORK +#define ACE_LACKS_UNIX_SIGNALS +#define ACE_LACKS_SBRK +#define ACE_LACKS_UTSNAME_T +#define ACE_LACKS_SEMBUF_T +#define ACE_LACKS_MSGBUF_T +#define ACE_LACKS_SYSV_SHMEM +#define ACE_LACKS_UNISTD_H +#define ACE_LACKS_RLIMIT +#define ACE_LACKS_MKFIFO +#define ACE_LACKS_TELLDIR +#define ACE_LACKS_SEEKDIR +#define ACE_LACKS_REWINDDIR +#define ACE_LACKS_READDIR_R +#define ACE_LACKS_INET_ATON + +#define ACE_HAS_VSWPRINTF +#define ACE_HAS_VFWPRINTF + +#define ACE_SIZEOF_LONG_LONG 8 +// Green Hills Native x86 does not support __int64 keyword +// Neither does mingw32. +#if !defined (ACE_LACKS_LONGLONG_T) && !defined (__MINGW32__) +typedef unsigned __int64 ACE_UINT64; +#endif /* (ghs) */ + +#if defined (__MINGW32__) +typedef unsigned long long ACE_UINT64; +#endif + +// Optimize ACE_Handle_Set for select(). +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT + +// Win32 has wchar_t support +#define ACE_HAS_WCHAR + +// Compiler/platform correctly calls init()/fini() for shared +// libraries. - applied for DLLs ? +//define ACE_HAS_AUTOMATIC_INIT_FINI + +// Platform supports POSIX O_NONBLOCK semantics. +//define ACE_HAS_POSIX_NONBLOCK + +// Platform contains . +//define ACE_HAS_POLL + +// Platform supports the /proc file system. +//define ACE_HAS_PROC_FS + +#if (defined (ACE_HAS_WINNT4) && (ACE_HAS_WINNT4 != 0)) +// Platform supports the rusage struct. +#define ACE_HAS_GETRUSAGE +#endif /* (defined (ACE_HAS_WINNT4) && (ACE_HAS_WINNT4 != 0)) */ + +// Compiler/platform supports SVR4 signal typedef. +//define ACE_HAS_SVR4_SIGNAL_T + +// Platform provides header. +//define ACE_HAS_SYS_FILIO_H + +// Compiler/platform supports sys_siglist array. +//define ACE_HAS_SYS_SIGLIST + +// 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. +// For Win32, this is not really true, but saves a lot of hassle! +#define ACE_HAS_TLI_PROTOTYPES + +// Platform supports ACE_TLI. +//define ACE_HAS_TLI + +// I'm pretty sure NT lacks these +#define ACE_LACKS_UNIX_DOMAIN_SOCKETS + +// Windows NT needs readv() and writev() +#define ACE_LACKS_WRITEV +#define ACE_LACKS_READV + +#define ACE_LACKS_COND_T +#define ACE_LACKS_RWLOCK_T + +#define ACE_LACKS_KEY_T + +// No system support for replacing any previous mappings. +#define ACE_LACKS_AUTO_MMAP_REPLACEMENT + +// Turns off the tracing feature. +#if !defined (ACE_NTRACE) +# define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ +// #define ACE_NLOGGING + +// MFC itself defines STRICT. +#if defined( ACE_HAS_MFC ) && (ACE_HAS_MFC != 0) +# if !defined(ACE_HAS_STRICT) +# define ACE_HAS_STRICT 1 +# endif +# if (ACE_HAS_STRICT != 1) +# undef ACE_HAS_STRICT +# define ACE_HAS_STRICT 1 +# endif +#endif + +// If you want to use highres timers, ensure that +// Build.Settings.C++.CodeGeneration.Processor is +// set to Pentium ! +#if !defined(ACE_HAS_PENTIUM) && (_M_IX86 > 400) +# define ACE_HAS_PENTIUM +#endif + +#if defined(ACE_MT_SAFE) && (ACE_MT_SAFE != 0) +// Platform supports threads. +# define ACE_HAS_THREADS + +// Platform supports Windows32 threads. +# define ACE_HAS_WTHREADS + +// Compiler/platform has thread-specific storage +# define ACE_HAS_THREAD_SPECIFIC_STORAGE + +// Win32 doesn't have fcntl +#define ACE_LACKS_FCNTL + +// must have _MT defined to include multithreading +// features from win32 headers +# if !defined(_MT) && !defined (ACE_HAS_WINCE) +// *** DO NOT *** defeat this error message by defining _MT yourself. +// On MSVC, this is changed by selecting the Multithreaded +// DLL or Debug Multithreaded DLL in the Project Settings +// under C++ Code Generation. +# error You must link against multi-threaded libraries when using ACE (check your project settings) +# endif /* !_MT && !ACE_HAS_WINCE */ +#endif /* ACE_MT_SAFE && ACE_MT_SAFE != 0 */ + +// We are using STL's min and max (in algobase.h). Therefore the +// macros in window.h are extra +#if !defined (NOMINMAX) +# define NOMINMAX +#endif /* NOMINMAX */ + +#if !defined(_DEBUG) +// If we are making a release, and the user has not specified +// inline directives, we will default to inline +# if ! defined (__ACE_INLINE__) +# define __ACE_INLINE__ 1 +# endif /* __ACE_INLINE__ */ +#endif + +// If __ACE_INLINE__ is defined to be 0, we will undefine it +#if defined (__ACE_INLINE__) && (__ACE_INLINE__ == 0) +# undef __ACE_INLINE__ +#endif /* __ACE_INLINE__ */ + +// ACE_USES_STATIC_MFC always implies ACE_HAS_MFC +#if defined (ACE_USES_STATIC_MFC) +# if defined (ACE_HAS_MFC) +# undef ACE_HAS_MFC +# endif +# define ACE_HAS_MFC 1 +#endif /* ACE_USES_STATIC_MFC */ + +// We are build ACE and want to use MFC (multithreaded) +#if defined(ACE_HAS_MFC) && (ACE_HAS_MFC != 0) && defined (_MT) +# if (ACE_HAS_DLL != 0) && defined(ACE_BUILD_DLL) && !defined (_WINDLL) +// force multithreaded MFC DLL +# define _WINDLL +# endif /* _AFXDLL */ +# if !defined (_AFXDLL) && !defined (ACE_USES_STATIC_MFC) +# define _AFXDLL +# endif /* _AFXDLL */ +#endif + +// and MFC's are mutually +// incompatible. is brain-dead about MFC; it doesn't check +// to see whether MFC stuff is anticipated or already in progress +// before doing its thing. ACE needs (practically always) , +// and winsock in turn needs support either from windows.h or from +// afxwin.h. One or the other, not both. +// +// The MSVC++ V4.0 environment defines preprocessor macros that +// indicate the programmer has chosen something from the +// Build-->Settings-->General-->MFC combo-box. defines a +// macro itself to protect against double inclusion. We'll take +// advantage of all this to select the proper support for winsock. - +// trl 26-July-1996 + +// This is necessary since MFC users apparently can't #include +// directly. +#if defined (ACE_HAS_MFC) && (ACE_HAS_MFC != 0) +# include /**/ /* He is doing MFC */ +// Windows.h will be included via afxwin.h->afx.h->afx_ver_.h->afxv_w32.h +// #define _INC_WINDOWS // Prevent winsock.h from including windows.h +#elif defined (ACE_HAS_WINCE) +# include /**/ +# include /**/ +#endif + +#if !defined (_INC_WINDOWS) /* Already include windows.h ? */ +// Must define strict before including windows.h ! +# if defined (ACE_HAS_STRICT) && (ACE_HAS_STRICT != 0) && !defined (STRICT) +# define STRICT 1 +# endif /* ACE_HAS_STRICT */ + +# if !defined (WIN32_LEAN_AND_MEAN) && !defined (ACE_NO_WIN32_LEAN_AND_MEAN) +# define WIN32_LEAN_AND_MEAN +# endif /* WIN32_LEAN_AND_MEAN */ + +#endif /* !defined (_INC_WINDOWS) */ + +// Always use WS2 when available +#if !defined(ACE_HAS_WINSOCK2) +# define ACE_HAS_WINSOCK2 1 +#endif /* !defined(ACE_HAS_WINSOCK2) */ + + +#if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0) +# if !defined (_WINSOCK2API_) +// will also include windows.h, if not present +# include /**/ +# endif /* _WINSOCK2API */ + +# if defined (ACE_HAS_FORE_ATM_WS2) +# include /**/ +# endif /*ACE_HAS_FORE_ATM_WS2 */ + +# if !defined _MSWSOCK_ +# include /**/ +# endif /* _MSWSOCK_ */ + +# if defined (_MSC_VER) +# pragma comment(lib, "ws2_32.lib") +# pragma comment(lib, "mswsock.lib") +# endif /* _MSC_VER */ + +# define ACE_WSOCK_VERSION 2, 0 +#else +# if !defined (_WINSOCKAPI_) + // will also include windows.h, if not present +# include /**/ +# endif /* _WINSOCKAPI */ + +// PharLap ETS has its own winsock lib, so don't grab the one +// supplied with the OS. +# if defined (_MSC_VER) && !defined (UNDER_CE) && !defined (ACE_HAS_PHARLAP) +# pragma comment(lib, "wsock32.lib") +# endif /* _MSC_VER */ + +// We can't use recvmsg and sendmsg unless WinSock 2 is available +# define ACE_LACKS_RECVMSG +# define ACE_LACKS_SENDMSG + +// Version 1.1 of WinSock +# define ACE_WSOCK_VERSION 1, 1 +#endif /* ACE_HAS_WINSOCK2 */ + +// mingw32 doesn't define this (yet...) +#if defined(__MINGW32__) && !defined(MWMO_ALERTABLE) +# define MWMO_ALERTABLE 0x0002 +#endif + +// Platform supports IP multicast on Winsock 2 +#if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0) +# define ACE_HAS_IP_MULTICAST +#endif /* ACE_HAS_WINSOCK2 */ + +#if (defined (ACE_HAS_WINNT4) && (ACE_HAS_WINNT4 != 0)) && !defined (ACE_USES_WINCE_SEMA_SIMULATION) +# define ACE_HAS_INTERLOCKED_EXCHANGEADD +# define ACE_HAS_WIN32_TRYLOCK +# define ACE_HAS_SIGNAL_OBJECT_AND_WAIT + +// If CancelIO is undefined get the updated sp2-sdk from MS +# define ACE_HAS_CANCEL_IO +#endif /* (defined (ACE_HAS_WINNT4) && (ACE_HAS_WINNT4 != 0)) && !defined (ACE_USES_WINCE_SEMA_SIMULATION) */ + +#if !defined (ACE_SEH_DEFAULT_EXCEPTION_HANDLING_ACTION) +# define ACE_SEH_DEFAULT_EXCEPTION_HANDLING_ACTION EXCEPTION_CONTINUE_SEARCH +#endif /* ACE_SEH_DEFAULT_EXCEPTION_HANDLING_ACTION */ + +// Try to make a good guess whether we are compiling with the newer version +// of WinSock 2 that has GQOS support. +#if !defined (ACE_HAS_WINSOCK2_GQOS) +# if defined (WINSOCK_VERSION) +# define ACE_HAS_WINSOCK2_GQOS 1 +# endif /* WINSOCK_VERSION */ +#endif /* ACE_HAS_WINSOCK2_GQOS */ + +#define ACE_SIZEOF_WCHAR 2 +#define ACE_HAS_MUTEX_TIMEOUTS +#define ACE_LACKS_STRUCT_DIR +#define ACE_LACKS_MKSTEMP + +#include "ace/post.h" +#endif /* ACE_CONFIG_WIN32_COMMON_H */ diff --git a/ace/config-win32-ghs.h b/ace/config-win32-ghs.h new file mode 100644 index 00000000000..bebd8a53e70 --- /dev/null +++ b/ace/config-win32-ghs.h @@ -0,0 +1,110 @@ +// -*- C++ -*- +// $Id$ + +// The following configuration file contains defines for Green Hills compilers. + +#ifndef ACE_CONFIG_WIN32_GHS_H +#define ACE_CONFIG_WIN32_GHS_H +#include "ace/pre.h" + +#ifndef ACE_CONFIG_WIN32_H +#error Use config-win32.h in config.h instead of this header +#endif /* ACE_CONFIG_WIN32_H */ + +#ifndef WIN32 +# define WIN32 +#endif /* WIN32 */ + +#undef _M_IX86 +// This turns on ACE_HAS_PENTIUM +#define _M_IX86 500 +// GHS does not provide DLL support +#define ACE_HAS_DLL 0 +#define TAO_HAS_DLL 0 +#undef _DLL +#define ACE_OS_HAS_DLL 0 + +//Green Hills Native x86 does not support structural exceptions +# undef ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS +# undef ACE_HAS_WCHAR +# define ACE_CONFIG_INCLUDE_GHS_COMMON +# include "ace/config-ghs-common.h" + +// Changed ACE_TEXT to ACE_LIB_TEXT in the following line +# define ACE_CC_NAME ACE_LIB_TEXT ("Green Hills C++") +# define ACE_CC_MAJOR_VERSION (1) +# define ACE_CC_MINOR_VERSION (8) +# define ACE_CC_BETA_VERSION (9) +# define ACE_CC_PREPROCESSOR "GCX.EXE" +# define ACE_CC_PREPROCESSOR_ARGS "-E" + +// GHS uses Microsoft's standard cpp library, which has auto_ptr. +# undef ACE_LACKS_AUTO_PTR +// Microsoft's standard cpp library auto_ptr doesn't have reset (). +# define ACE_AUTO_PTR_LACKS_RESET + +#define ACE_ENDTHREADEX(STATUS) ::_endthreadex ((DWORD) STATUS) + +// This section below was extracted from config-win32-msvc +#define ACE_HAS_ITOA +#define ACE_ITOA_EQUIVALENT ::_itoa +#define ACE_STRCASECMP_EQUIVALENT ::_stricmp +#define ACE_STRNCASECMP_EQUIVALENT ::_strnicmp +#define ACE_WCSDUP_EQUIVALENT ::_wcsdup +// This section above was extracted from config-win32-msvc + +# define ACE_EXPORT_NESTED_CLASSES 1 +# define ACE_HAS_ANSI_CASTS 1 +# define ACE_HAS_CPLUSPLUS_HEADERS 1 +//# define ACE_HAS_EXCEPTIONS 1 +# define ACE_HAS_EXPLICIT_KEYWORD 1 +# define ACE_HAS_GNU_CSTRING_H 1 +# define ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION 1 +# define ACE_HAS_MUTABLE_KEYWORD 1 +# define ACE_HAS_NONCONST_SELECT_TIMEVAL 1 +# define ACE_HAS_SIG_ATOMIC_T 1 +# define ACE_HAS_STANDARD_CPP_LIBRARY 1 +//# if (__BORLANDC__ <= 0x540) +//# define ACE_HAS_STD_TEMPLATE_METHOD_SPECIALIZATION 1 +//# endif +# define ACE_HAS_STD_TEMPLATE_SPECIALIZATION 1 +# define ACE_HAS_STDCPP_STL_INCLUDES 1 +# define ACE_HAS_STRERROR 1 +# define ACE_HAS_STRING_CLASS 1 +# define ACE_HAS_STRPTIME 1 +# define ACE_HAS_TEMPLATE_SPECIALIZATION 1 +# define ACE_HAS_TEMPLATE_TYPEDEFS 1 +# define ACE_HAS_TYPENAME_KEYWORD 1 +//# define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION +# define ACE_HAS_USER_MODE_MASKS 1 +# define ACE_HAS_USING_KEYWORD 1 +# define ACE_LACKS_ACE_IOSTREAM 1 +//# define ACE_LACKS_LINEBUFFERED_STREAMBUF 1 +# define ACE_LACKS_MODE_MASKS 1 +# define ACE_LACKS_NATIVE_STRPTIME 1 +//# define ACE_LACKS_PLACEMENT_OPERATOR_DELETE 1 +//# define ACE_LACKS_PRAGMA_ONCE 1 +# define ACE_LACKS_STRRECVFD 1 +//# define ACE_NEW_THROWS_EXCEPTIONS 1 +# define ACE_SIZEOF_LONG_DOUBLE 10 +# define ACE_TEMPLATES_REQUIRE_SOURCE 1 +// Changed ACE_TEXT to ACE_LIB_TEXT in the following two lines +# define ACE_UINT64_FORMAT_SPECIFIER ACE_LIB_TEXT ("%I64u") +# define ACE_INT64_FORMAT_SPECIFIER ACE_LIB_TEXT ("%I64d") +# define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1 +// Set the following to zero to placate SString.h ACE_WString CTOR +# undef ACE_WSTRING_HAS_USHORT_SUPPORT + +// Green Hills Native x86 does not support __int64 keyword +# define ACE_LACKS_LONGLONG_T + +/* need to ensure these are included before */ +# include +# include + +# if !defined (ACE_LD_DECORATOR_STR) && defined (_DEBUG) +# define ACE_LD_DECORATOR_STR ACE_LIB_TEXT ("d") +# endif + +#include "ace/post.h" +#endif /* ACE_CONFIG_WIN32_GHS_H */ diff --git a/ace/config-win32-mingw.h b/ace/config-win32-mingw.h new file mode 100644 index 00000000000..e655efc3735 --- /dev/null +++ b/ace/config-win32-mingw.h @@ -0,0 +1,64 @@ +// -*- C++ -*- +// $Id$ + +// +// The following configuration file is designed to work for win32 +// platforms using gcc/g++ with mingw32 (http://www.mingw.org). +// + +#ifndef ACE_CONFIG_WIN32_MINGW_H +#define ACE_CONFIG_WIN32_MINGW_H +#include "ace/pre.h" + +#ifndef ACE_CONFIG_WIN32_H +#error Use config-win32.h in config.h instead of this header +#endif /* ACE_CONFIG_WIN32_H */ + +#define ACE_CC_NAME ACE_LIB_TEXT ("g++") +#define ACE_CC_PREPROCESSOR "cpp" +#define ACE_CC_PREPROCESOR_ARGS "" + +#define ACE_HAS_BROKEN_SAP_ANY + +// Why all this is not in config-g++-common.h? +#define ACE_CC_MAJOR_VERSION __GNUC__ +#define ACE_CC_MINOR_VERSION __GNUC_MINOR__ +#define ACE_CC_BETA_VERSION (0) + +#if !defined(__MINGW32__) +# error You do not seem to be using mingw32 +#endif + +#include "ace/config-g++-common.h" + +#include /**/ <_mingw.h> + +#define ACE_LACKS_MODE_MASKS +#define ACE_HAS_USER_MODE_MASKS + +#if (__MINGW32_MAJOR_VERSION == 0) && (__MINGW32_MINOR_VERSION < 5) +#error You need a newer version (>= 0.5) of mingw32/w32api +#endif + +#define ACE_LACKS_STRRECVFD +#define ACE_HAS_STRERROR + +// We trust the user: He must have used -mpentiumpro or -mpentium +// if that is what he wants. +#if defined(pentiumpro) || defined(pentium) +# define ACE_HAS_PENTIUM +#endif + +#if !defined (ACE_HAS_WINNT4) +# if (defined (WINNT) && WINNT == 1) \ + || (defined (__WINNT__) && __WINNT__ == 1) +# define ACE_HAS_WINNT4 1 +# else +# define ACE_HAS_WINNT4 0 +# endif +#endif + +#define ACE_ENDTHREADEX(STATUS) ::_endthreadex ((DWORD) (STATUS)) + +#include "ace/post.h" +#endif /* ACE_CONFIG_WIN32_MINGW_H */ diff --git a/ace/config-win32-msvc-5.h b/ace/config-win32-msvc-5.h new file mode 100644 index 00000000000..1d0c624a970 --- /dev/null +++ b/ace/config-win32-msvc-5.h @@ -0,0 +1,197 @@ +/* -*- C++ -*- */ +//============================================================================= +/** + * @file config-win32-msvc-5.h + * + * $Id$ + * + * @brief Microsoft Visual C++ 5.0 configuration file. + * + * This file is the ACE configuration file for Microsoft Visual C++ version 5. + * + * @note Do not include this file directly, include config-win32.h instead. + * + * @author Darrell Brunsch + */ +//============================================================================= + +#ifndef ACE_CONFIG_WIN32_MSVC_5_H +#define ACE_CONFIG_WIN32_MSVC_5_H +#include "ace/pre.h" + +#ifndef ACE_CONFIG_WIN32_H +#error Use config-win32.h in config.h instead of this header +#endif /* ACE_CONFIG_WIN32_H */ + +# if defined (ACE_HAS_PACE) +# ifndef PACE_HAS_ALL_POSIX_FUNCS +# define PACE_HAS_ALL_POSIX_FUNCS 1 +# endif /* PACE_HAS_ALL_POSIX_FUNCS */ +# endif /* ACE_HAS_PACE */ + +# if !defined (ACE_HAS_STANDARD_CPP_LIBRARY) +# define ACE_HAS_STANDARD_CPP_LIBRARY 0 +# endif + +// The STL that comes with ACE uses the std namespace. Note however, it is not +// part of the standard C++ library +# if !defined (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB) +# define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1 +# endif /* ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB */ + +# if !defined (ACE_HAS_BROKEN_NESTED_TEMPLATES) +# define ACE_HAS_BROKEN_NESTED_TEMPLATES +# endif /* ACE_HAS_BROKEN_NESTED_TEMPLATES */ + +// By default, we disable the C++ casting because +// it requires the RTTI support to be turned on which +// is not something we usually do. +# if !defined (ACE_HAS_ANSI_CASTS) +# define ACE_HAS_ANSI_CASTS 0 +# endif + +# define ACE_HAS_EXPLICIT_KEYWORD +# define ACE_HAS_MUTABLE_KEYWORD + +#define ACE_HAS_ITOA + +#define ACE_ITOA_EQUIVALENT ::_itoa +#define ACE_STRCASECMP_EQUIVALENT ::_stricmp +#define ACE_STRNCASECMP_EQUIVALENT ::_strnicmp +#define ACE_WCSDUP_EQUIVALENT ::_wcsdup + +// VC5 doesn't support operator placement delete +# if (_MSC_VER < 1200) +# define ACE_LACKS_PLACEMENT_OPERATOR_DELETE +# endif /* _MSC_VER < 1200 */ + +# if !defined (ACE_HAS_WINCE) +# define ACE_HAS_EXCEPTIONS +# endif /* ACE_HAS_WINCE */ +# define ACE_HAS_BROKEN_NAMESPACES +# define ACE_HAS_BROKEN_IMPLICIT_CONST_CAST +# define ACE_HAS_WORKING_EXPLICIT_TEMPLATE_DESTRUCTOR + +# if defined (ACE_HAS_ANSI_CASTS) && (ACE_HAS_ANSI_CASTS == 0) +# undef ACE_HAS_ANSI_CASTS +# endif /* ACE_HAS_ANSI_CASTS && ACE_HAS_ANSI_CASTS == 0 */ + +# if !defined (ACE_HAS_WINCE) +# define ACE_HAS_SIG_ATOMIC_T +# endif /* ACE_HAS_WINCE */ + +// Only >= MSVC 6.0 definitions +# if (_MSC_VER >= 1200) +# define ACE_HAS_TYPENAME_KEYWORD +# define ACE_HAS_STD_TEMPLATE_SPECIALIZATION +# endif /* _MSC_VER >= 1200 */ + +// Compiler doesn't support static data member templates. +# define ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES + +# define ACE_LACKS_MODE_MASKS +# define ACE_LACKS_STRRECVFD + +# if !defined (ACE_HAS_WINCE) +# define ACE_HAS_LLSEEK +# endif /* ACE_HAS_WINCE */ + +// Compiler/platform has correctly prototyped header files. +# define ACE_HAS_CPLUSPLUS_HEADERS + +// Platform supports POSIX timers via timestruc_t. +//define ACE_HAS_POSIX_TIME +# define ACE_HAS_STRPTIME +# define ACE_LACKS_NATIVE_STRPTIME + +// Compiler/platform supports strerror (). +# define ACE_HAS_STRERROR + +# define ACE_TEMPLATES_REQUIRE_SOURCE + +// Platform provides ACE_TLI function prototypes. +// For Win32, this is not really true, but saves a lot of hassle! +# define ACE_HAS_TLI_PROTOTYPES + +// Platform support linebuffered streaming is broken +# define ACE_LACKS_LINEBUFFERED_STREAMBUF + +// Template specialization is supported. +# define ACE_HAS_TEMPLATE_SPECIALIZATION + +// ----------------- "derived" defines and includes ----------- + +# if defined (ACE_HAS_STANDARD_CPP_LIBRARY) && (ACE_HAS_STANDARD_CPP_LIBRARY != 0) + +// Platform has its Standard C++ library in the namespace std +# if !defined (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB) +# define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1 +# endif /* ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB */ + +// Microsoft's auto_ptr in standard cpp library doesn't have reset (). +# define ACE_AUTO_PTR_LACKS_RESET + +// ace/iostream.h does not work with the standard cpp library (yet). +# if !defined (ACE_USES_OLD_IOSTREAMS) +# define ACE_LACKS_ACE_IOSTREAM +# endif /* ! ACE_USES_OLD_IOSTREAMS */ +# else +// iostream header lacks ipfx (), isfx (), etc., declarations +# define ACE_LACKS_IOSTREAM_FX +# endif + +// While digging the MSVC 4.0 include files, I found how to disable +// MSVC warnings: --Amos Shapira + +// "C4355: 'this' : used in base member initializer list" +# pragma warning(disable:4355) /* disable C4514 warning */ +// #pragma warning(default:4355) // use this to reenable, if desired + +# pragma warning(disable:4201) /* winnt.h uses nameless structs */ + +# pragma warning(disable:4231) +// Disable warning of using Microsoft Extension. + +// MSVC allows throw keyword but complains about it. +# pragma warning( disable : 4290 ) + +// Inheritance by dominance is A-OK by us +# pragma warning (disable:4250) + +// Compiler/Platform supports the "using" keyword. +#define ACE_HAS_USING_KEYWORD + +# if !defined(ACE_HAS_WINCE) +# if defined(ACE_HAS_DLL) && (ACE_HAS_DLL != 0) +# if !defined(_DLL) +// *** DO NOT *** DO NOT *** defeat this error message +// by defining _DLL yourself. RTFM and see who set _DLL. +# error You must link against (Debug) Multithreaded DLL run-time libraries. +# endif /* !_DLL */ +# endif /* ACE_HAS_DLL && ACE_HAS_DLL != 0 */ +# endif /* !ACE_HAS_WINCE */ + +# pragma warning(default: 4201) /* winnt.h uses nameless structs */ + +// At least for Win32 - MSVC compiler (ver. 5) +# define ACE_INT64_FORMAT_SPECIFIER ACE_LIB_TEXT ("%I64d") +# define ACE_UINT64_FORMAT_SPECIFIER ACE_LIB_TEXT ("%I64u") + +# if !defined (ACE_LD_DECORATOR_STR) +# if defined (_DEBUG) +# if ACE_HAS_MFC == 1 +# define ACE_LD_DECORATOR_STR ACE_LIB_TEXT ("mfcd") +# else +# define ACE_LD_DECORATOR_STR ACE_LIB_TEXT ("d") +# endif //ACE_HAS_MFC +# else // _NDEBUG +# if ACE_HAS_MFC == 1 +# define ACE_LD_DECORATOR_STR ACE_LIB_TEXT ("mfc") +# endif //ACE_HAS_MFC +# endif // _DEBUG +# endif + +# define ACE_ENDTHREADEX(STATUS) ::_endthreadex ((DWORD) STATUS) + +#include "ace/post.h" +#endif /* ACE_CONFIG_WIN32_MSVC_5_H */ diff --git a/ace/config-win32-msvc-6.h b/ace/config-win32-msvc-6.h new file mode 100644 index 00000000000..3b21f5a8852 --- /dev/null +++ b/ace/config-win32-msvc-6.h @@ -0,0 +1,194 @@ + +/* -*- C++ -*- */ +//============================================================================= +/** + * @file config-win32-msvc-6.h + * + * $Id$ + * + * @brief Microsoft Visual C++ 6.0 configuration file. + * + * This file is the ACE configuration file for Microsoft Visual C++ version 6. + * + * @note Do not include this file directly, include config-win32.h instead. + * + * @author Darrell Brunsch + */ +//============================================================================= + +#ifndef ACE_CONFIG_WIN32_MSVC_6_H +#define ACE_CONFIG_WIN32_MSVC_6_H +#include "ace/pre.h" + +#ifndef ACE_CONFIG_WIN32_H +#error Use config-win32.h in config.h instead of this header +#endif /* ACE_CONFIG_WIN32_H */ + +# if defined (ACE_HAS_PACE) +# ifndef PACE_HAS_ALL_POSIX_FUNCS +# define PACE_HAS_ALL_POSIX_FUNCS 1 +# endif /* PACE_HAS_ALL_POSIX_FUNCS */ +# endif /* ACE_HAS_PACE */ + +# if !defined (ACE_HAS_STANDARD_CPP_LIBRARY) +# define ACE_HAS_STANDARD_CPP_LIBRARY 0 +# endif + +// The STL that comes with ACE uses the std namespace. Note however, it is not +// part of the standard C++ library +# if !defined (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB) +# define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1 +# endif /* ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB */ + +# if !defined (ACE_HAS_BROKEN_NESTED_TEMPLATES) +# define ACE_HAS_BROKEN_NESTED_TEMPLATES +# endif /* ACE_HAS_BROKEN_NESTED_TEMPLATES */ + +// By default, we disable the C++ casting because +// it requires the RTTI support to be turned on which +// is not something we usually do. +# if !defined (ACE_HAS_ANSI_CASTS) +# define ACE_HAS_ANSI_CASTS 0 +# endif + +// Keywords + +# define ACE_HAS_EXPLICIT_KEYWORD +# define ACE_HAS_MUTABLE_KEYWORD +# define ACE_HAS_TYPENAME_KEYWORD +# define ACE_HAS_USING_KEYWORD + + + +#define ACE_HAS_ITOA + +#define ACE_ITOA_EQUIVALENT ::_itoa +#define ACE_STRCASECMP_EQUIVALENT ::_stricmp +#define ACE_STRNCASECMP_EQUIVALENT ::_strnicmp +#define ACE_WCSDUP_EQUIVALENT ::_wcsdup + +# if !defined (ACE_HAS_WINCE) +# define ACE_HAS_EXCEPTIONS +# endif /* ACE_HAS_WINCE */ + +# define ACE_HAS_BROKEN_NAMESPACES +# define ACE_HAS_BROKEN_IMPLICIT_CONST_CAST +# define ACE_HAS_WORKING_EXPLICIT_TEMPLATE_DESTRUCTOR +# define ACE_HAS_STD_TEMPLATE_SPECIALIZATION + +# if defined (ACE_HAS_ANSI_CASTS) && (ACE_HAS_ANSI_CASTS == 0) +# undef ACE_HAS_ANSI_CASTS +# endif /* ACE_HAS_ANSI_CASTS && ACE_HAS_ANSI_CASTS == 0 */ + +# if !defined (ACE_HAS_WINCE) +# define ACE_HAS_SIG_ATOMIC_T +# endif /* ACE_HAS_WINCE */ + + +// Compiler doesn't support static data member templates. +# define ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES + +# define ACE_LACKS_MODE_MASKS +# define ACE_LACKS_STRRECVFD + +# if !defined (ACE_HAS_WINCE) +# define ACE_HAS_LLSEEK +# endif /* ACE_HAS_WINCE */ + +// Compiler/platform has correctly prototyped header files. +# define ACE_HAS_CPLUSPLUS_HEADERS + +// Platform supports POSIX timers via timestruc_t. +# define ACE_HAS_STRPTIME +# define ACE_LACKS_NATIVE_STRPTIME + +// Compiler/platform supports strerror (). +# define ACE_HAS_STRERROR + +# define ACE_TEMPLATES_REQUIRE_SOURCE + +// Platform provides ACE_TLI function prototypes. +// For Win32, this is not really true, but saves a lot of hassle! +# define ACE_HAS_TLI_PROTOTYPES + +// Platform support linebuffered streaming is broken +# define ACE_LACKS_LINEBUFFERED_STREAMBUF + +// Template specialization is supported. +# define ACE_HAS_TEMPLATE_SPECIALIZATION + +// ----------------- "derived" defines and includes ----------- + +# if defined (ACE_HAS_STANDARD_CPP_LIBRARY) && (ACE_HAS_STANDARD_CPP_LIBRARY != 0) + +// Platform has its Standard C++ library in the namespace std +# if !defined (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB) +# define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1 +# endif /* ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB */ + +// Microsoft's auto_ptr in standard cpp library doesn't have reset (). +# define ACE_AUTO_PTR_LACKS_RESET + +// ace/iostream.h does not work with the standard cpp library (yet). +# if !defined (ACE_USES_OLD_IOSTREAMS) +# define ACE_LACKS_ACE_IOSTREAM +# endif /* ! ACE_USES_OLD_IOSTREAMS */ +# else +// iostream header lacks ipfx (), isfx (), etc., declarations +# define ACE_LACKS_IOSTREAM_FX +# endif + +// While digging the MSVC 4.0 include files, I found how to disable +// MSVC warnings: --Amos Shapira + +// "C4355: 'this' : used in base member initializer list" +# pragma warning(disable:4355) /* disable C4514 warning */ +// #pragma warning(default:4355) // use this to reenable, if desired + +# pragma warning(disable:4201) /* winnt.h uses nameless structs */ + +# pragma warning(disable:4231) +// Disable warning of using Microsoft Extension. + +// MSVC allows throw keyword but complains about it. +# pragma warning( disable : 4290 ) + +// Inheritance by dominance is A-OK by us +# pragma warning (disable:4250) + + +# if !defined(ACE_HAS_WINCE) +# if defined(ACE_HAS_DLL) && (ACE_HAS_DLL != 0) +# if !defined(_DLL) +// *** DO NOT *** DO NOT *** defeat this error message +// by defining _DLL yourself. RTFM and see who set _DLL. +# error You must link against (Debug) Multithreaded DLL run-time libraries. +# endif /* !_DLL */ +# endif /* ACE_HAS_DLL && ACE_HAS_DLL != 0 */ +# endif /* !ACE_HAS_WINCE */ + +# pragma warning(default: 4201) /* winnt.h uses nameless structs */ + +# define ACE_INT64_FORMAT_SPECIFIER ACE_LIB_TEXT ("%I64d") +# define ACE_UINT64_FORMAT_SPECIFIER ACE_LIB_TEXT ("%I64u") + +# if !defined (ACE_LD_DECORATOR_STR) +# if defined (_DEBUG) +# if ACE_HAS_MFC == 1 +# define ACE_LD_DECORATOR_STR ACE_LIB_TEXT ("mfcd") +# else +# define ACE_LD_DECORATOR_STR ACE_LIB_TEXT ("d") +# endif //ACE_HAS_MFC +# else // _NDEBUG +# if ACE_HAS_MFC == 1 +# define ACE_LD_DECORATOR_STR ACE_LIB_TEXT ("mfc") +# endif //ACE_HAS_MFC +# endif // _DEBUG +# endif + +# if !defined (ACE_ENDTHREADEX) +# define ACE_ENDTHREADEX(STATUS) ::_endthreadex ((DWORD) STATUS) +# endif + +#include "ace/post.h" +#endif /* ACE_CONFIG_WIN32_MSVC_6_H */ diff --git a/ace/config-win32-msvc-7.h b/ace/config-win32-msvc-7.h new file mode 100644 index 00000000000..14d7aaa2e43 --- /dev/null +++ b/ace/config-win32-msvc-7.h @@ -0,0 +1,119 @@ +/* -*- C++ -*- */ +//============================================================================= +/** + * @file config-win32-msvc-7.h + * + * $Id$ + * + * @brief Microsoft Visual C++ 7.0 configuration file. + * + * This file is the ACE configuration file for Microsoft Visual C++ version 7. + * + * @note Do not include this file directly, include config-win32.h instead. + * + * @author Darrell Brunsch + */ +//============================================================================= + +#ifndef ACE_CONFIG_WIN32_MSVC_7_H +#define ACE_CONFIG_WIN32_MSVC_7_H +#include "ace/pre.h" + +#ifndef ACE_CONFIG_WIN32_H +#error Use config-win32.h in config.h instead of this header +#endif /* ACE_CONFIG_WIN32_H */ + +// Visual C++ 7.0 (.NET) deprecated the old iostreams +#if !defined (ACE_HAS_STANDARD_CPP_LIBRARY) +#define ACE_HAS_STANDARD_CPP_LIBRARY 1 +#endif + +#if !defined (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB) +#define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1 +#endif + +#if !defined (ACE_HAS_BROKEN_NESTED_TEMPLATES) +#define ACE_HAS_BROKEN_NESTED_TEMPLATES +#endif + +// By default, we disable the C++ casting because +// it requires the RTTI support to be turned on which +// is not something we usually do. +#if !defined (ACE_HAS_ANSI_CASTS) +#define ACE_HAS_ANSI_CASTS 0 +#endif + +#define ACE_HAS_EXPLICIT_KEYWORD +#define ACE_HAS_MUTABLE_KEYWORD +#define ACE_HAS_TYPENAME_KEYWORD + +#define ACE_HAS_ITOA + +#define ACE_HAS_BROKEN_NAMESPACES +#define ACE_HAS_BROKEN_IMPLICIT_CONST_CAST +#define ACE_HAS_WORKING_EXPLICIT_TEMPLATE_DESTRUCTOR + +#define ACE_ITOA_EQUIVALENT ::_itoa +#define ACE_STRCASECMP_EQUIVALENT ::_stricmp +#define ACE_STRNCASECMP_EQUIVALENT ::_strnicmp +#define ACE_WCSDUP_EQUIVALENT ::_wcsdup + +#if !defined (ACE_HAS_WINCE) +#define ACE_HAS_EXCEPTIONS +#endif /* ACE_HAS_WINCE */ + +#if defined (ACE_HAS_ANSI_CASTS) && (ACE_HAS_ANSI_CASTS == 0) +#undef ACE_HAS_ANSI_CASTS +#endif /* ACE_HAS_ANSI_CASTS && ACE_HAS_ANSI_CASTS == 0 */ + +#define ACE_HAS_STRERROR +#define ACE_HAS_STRPTIME +#define ACE_LACKS_NATIVE_STRPTIME + +#define ACE_HAS_SIG_ATOMIC_T +#define ACE_HAS_STD_TEMPLATE_SPECIALIZATION +#define ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES +#define ACE_LACKS_MODE_MASKS +#define ACE_LACKS_STRRECVFD +#define ACE_HAS_CPLUSPLUS_HEADERS + +#define ACE_TEMPLATES_REQUIRE_SOURCE +#define ACE_HAS_TEMPLATE_SPECIALIZATION + +#define ACE_INT64_FORMAT_SPECIFIER ACE_LIB_TEXT ("%I64d") +#define ACE_UINT64_FORMAT_SPECIFIER ACE_LIB_TEXT ("%I64u") + +// Platform provides ACE_TLI function prototypes. +// For Win32, this is not really true, but saves a lot of hassle! +#define ACE_HAS_TLI_PROTOTYPES + +// Platform support linebuffered streaming is broken +#define ACE_LACKS_LINEBUFFERED_STREAMBUF + +#if defined (ACE_HAS_STANDARD_CPP_LIBRARY) && (ACE_HAS_STANDARD_CPP_LIBRARY != 0) + +// Platform has its Standard C++ library in the namespace std +# if !defined (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB) +# define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1 +# endif /* ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB */ + +// ace/iostream.h does not work with the standard cpp library (yet). +# if !defined (ACE_USES_OLD_IOSTREAMS) +# define ACE_LACKS_ACE_IOSTREAM +# endif /* ! ACE_USES_OLD_IOSTREAMS */ + +#else + +// iostream header lacks ipfx (), isfx (), etc., declarations +# define ACE_LACKS_IOSTREAM_FX + +#endif + +// There are too many instances of this warning to fix it right now. +// Maybe in the future. +#pragma warning(disable:4355) + +#define ACE_ENDTHREADEX(STATUS) ::_endthreadex ((DWORD) STATUS) + +#include "ace/post.h" +#endif /* ACE_CONFIG_WIN32_MSVC_7_H */ diff --git a/ace/config-win32-msvc.h b/ace/config-win32-msvc.h new file mode 100644 index 00000000000..2e162554194 --- /dev/null +++ b/ace/config-win32-msvc.h @@ -0,0 +1,43 @@ +//============================================================================= +/** + * @file config-win32-msvc.h + * + * $Id$ + * + * @brief Microsoft Visual C++ configuration file. + * + * This file is the ACE configuration file for Microsoft Visual C++ versions + * 5.0, 6.0, and 7.0 (.NET) + * + * @author Darrell Brunsch + */ +//============================================================================= + +#ifndef ACE_CONFIG_WIN32_MSVC_H +#define ACE_CONFIG_WIN32_MSVC_H +#include "ace/pre.h" + +#ifndef ACE_CONFIG_WIN32_H +#error Use config-win32.h in config.h instead of this header +#endif /* ACE_CONFIG_WIN32_H */ + +#define ACE_CC_NAME ACE_LIB_TEXT ("Visual C++") +#define ACE_CC_PREPROCESSOR "CL.EXE" +#define ACE_CC_PREPROCESSOR_ARGS "-nologo -E" + +#define ACE_CC_MAJOR_VERSION (_MSC_VER / 100 - 6) +#define ACE_CC_MINOR_VERSION (_MSC_VER % 100) +#define ACE_CC_BETA_VERSION (0) + +#if (_MSC_VER >= 1300) +# include "ace/config-win32-msvc-7.h" +#elif (_MSC_VER >= 1200) +# include "ace/config-win32-msvc-6.h" +#elif (_MSC_VER >= 1100) +# include "ace/config-win32-msvc-5.h" +#else +# error This version of Microsoft Visual C++ not supported. +#endif + +#include "ace/post.h" +#endif /* ACE_CONFIG_WIN32_MSVC_H */ diff --git a/ace/config-win32-visualage.h b/ace/config-win32-visualage.h new file mode 100644 index 00000000000..fab98161d8e --- /dev/null +++ b/ace/config-win32-visualage.h @@ -0,0 +1,101 @@ +//============================================================================= +/** + * @file config-win32-visualage.h + * + * $Id$ + * + * @brief Configuration file for VisualAge compilers + * + * @note Do not include this file directly, include config-win32.h instead. + * + * @author Darrell Brunsch + */ +//============================================================================= + +#ifndef ACE_CONFIG_WIN32_VISUALAGE_H +#define ACE_CONFIG_WIN32_VISUALAGE_H +#include "ace/pre.h" + +#ifndef ACE_CONFIG_WIN32_H +#error Use config-win32.h in config.h instead of this header +#endif /* ACE_CONFIG_WIN32_H */ + +#if defined (__IBMCPP__) && (__IBMCPP__ >= 400) + +#define ACE_CC_NAME ACE_LIB_TEXT ("IBM VisualAge C++") +#define ACE_CC_MAJOR_VERSION (__IBMCPP__ / 0x100) +#define ACE_CC_MINOR_VERSION (__IBMCPP__ % 0x100) +#define ACE_CC_BETA_VERSION (0) +#define ACE_CC_PREPROCESSOR "" +#define ACE_CC_PREPROCESSOR_ARGS "" + +// By default WIN32 has FD_SETSIZE of 64, which places the limit +// between 61 and 64 on the number of clients a server using the +// Select Reactor can support at the same time (i.e., 64 - standard in, +// out, error). He we raise the limit to 1024. Adjust the definition +// below if you need to raise or lower it. +// +#define FD_SETSIZE 1024 + +//These need to be defined for VisualAgeC++ +#define ERRMAX 256 /* Needed for following define */ +#define ACE_LACKS_SYS_NERR /* Needed for sys_nerr in Log_Msg.cpp */ +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES /* For signal handling */ +#define ACE_LACKS_MKTEMP +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES +#define NSIG 23 /* Maximum no. of signals + 1 */ +#define ACE_HAS_ANSI_CASTS 1 +#define ACE_HAS_BROKEN_NESTED_TEMPLATES 1 +#define ACE_HAS_CPLUSPLUS_HEADERS 1 +#define ACE_HAS_EXCEPTIONS 1 +#define ACE_HAS_EXPLICIT_KEYWORD 1 +#define ACE_HAS_GNU_CSTRING_H 1 +#define ACE_HAS_MUTABLE_KEYWORD 1 +#define ACE_HAS_NONCONST_SELECT_TIMEVAL 1 +#define ACE_HAS_SIG_ATOMIC_T 1 +#define ACE_HAS_STANDARD_CPP_LIBRARY 1 +#define ACE_HAS_STDCPP_STL_INCLUDES 1 +#define ACE_HAS_STRERROR 1 +#define ACE_HAS_STRING_CLASS 1 +#define ACE_HAS_STRPTIME 1 +#define ACE_HAS_TEMPLATE_SPECIALIZATION 1 +#define ACE_HAS_TEMPLATE_TYPEDEFS 1 +#define ACE_HAS_TYPENAME_KEYWORD 1 +#define ACE_HAS_USING_KEYWORD 1 +#define ACE_LACKS_ACE_IOSTREAM 1 +#define ACE_LACKS_LINEBUFFERED_STREAMBUF 1 +#define ACE_LACKS_MODE_MASKS 1 +#define ACE_LACKS_NATIVE_STRPTIME 1 +#define ACE_LACKS_PRAGMA_ONCE 1 +#define ACE_LACKS_STRRECVFD 1 +#define ACE_NEW_THROWS_EXCEPTIONS 1 +#define ACE_SIZEOF_LONG_DOUBLE 10 +#define ACE_TEMPLATES_REQUIRE_SOURCE 1 +#define ACE_UINT64_FORMAT_SPECIFIER ACE_LIB_TEXT ("%I64u") +#define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1 + +#undef WIFEXITED +#undef WEXITSTATUS + +#define _O_RDWR O_RDWR +#define _O_WRONLY O_WRONLY +#define _O_RDONLY O_RDONLY +#define _O_APPEND O_APPEND +#define _O_BINARY O_BINARY +#define _O_TEXT O_TEXT + +#define _endthreadex _endthread +#define _beginthreadex _beginthread + +//Error codes that are in MS Visual C++ +#define EFAULT 99 /* Error code (should be in errno.h) */ +#define ENODEV 19 +#define EPIPE 32 +#define ENAMETOOLONG 38 + +#define ACE_ENDTHREADEX(STATUS) ::_endthread () + +#endif /* defined(__IBMCPP__) */ + +#include "ace/post.h" +#endif /* ACE_CONFIG_WIN32_VISUALAGE_H */ diff --git a/ace/config-win32.h b/ace/config-win32.h new file mode 100644 index 00000000000..f193d5078bd --- /dev/null +++ b/ace/config-win32.h @@ -0,0 +1,58 @@ +/* -*- C++ -*- */ +//============================================================================= +/** + * @file config-win32.h + * + * $Id$ + * + * @brief Microsoft Windows configuration file. + * + * This file is the ACE configuration file for all of Microsoft Windows + * platforms that ACE runs on. Based on preprocessor definitions, it + * includes other more specific configuration files. + * + * @author Darrell Brunsch + */ +//============================================================================= + +#ifndef ACE_CONFIG_WIN32_H +#define ACE_CONFIG_WIN32_H +#include "ace/pre.h" + +// NOTE: Please do not add anything besides #include's here. Put other stuff +// (definitions, etc.) in the included headers + +// Include the platform specific config file (Windows CE is special) + +#if defined (_WIN32_WCE) +# include "ace/config-WinCE.h" +#endif /* _WIN32_WCE */ + +// We need to ensure that for Borland vcl.h can be included before +// windows.h. So we will not include config-win32-common.h from here, +// but instead let it be included at the appropriate place in +// config-win32-borland.h. +#if !defined (__BORLANDC__) +# include "ace/config-win32-common.h" +#endif /* !__BORLANDC__ */ + +// Include the config-win32-* file specific to the compiler + +#if defined (_MSC_VER) +# include "ace/config-win32-msvc.h" +#elif defined (__BORLANDC__) +# include "ace/config-win32-borland.h" +#elif defined (__IBMCPP__) +# include "ace/config-win32-visualage.h" +#elif defined (ghs) +# include "ace/config-win32-ghs.h" +#elif defined (__MINGW32__) +# include "ace/config-win32-mingw.h" +#elif defined (__CYGWIN32__) +# include "ace/config-cygwin32.h" +#else +# error Compiler is not supported +#endif + +#include "ace/post.h" +#endif /* ACE_CONFIG_WIN32_H */ -- cgit v1.2.1