diff options
author | Johnny Willemsen <jwillemsen@remedy.nl> | 2006-12-05 15:24:24 +0000 |
---|---|---|
committer | Johnny Willemsen <jwillemsen@remedy.nl> | 2006-12-05 15:24:24 +0000 |
commit | 47a1ba88fffd0ef4fb1e0ec71ad54bc817eba427 (patch) | |
tree | 7d397308f8855a71adc23419a21d6ff05991fee5 /ACE | |
parent | c14f8ccf1b9d90c8471ca420fa392915829135ea (diff) | |
download | ATCD-47a1ba88fffd0ef4fb1e0ec71ad54bc817eba427.tar.gz |
Tue Dec 5 15:08:43 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
Diffstat (limited to 'ACE')
-rw-r--r-- | ACE/ChangeLog | 26 | ||||
-rw-r--r-- | ACE/ace/ACE.cpp | 7 | ||||
-rw-r--r-- | ACE/ace/Log_Msg.cpp | 17 | ||||
-rw-r--r-- | ACE/ace/OS_NS_Thread.cpp | 13 | ||||
-rw-r--r-- | ACE/ace/OS_NS_sys_wait.inl | 4 | ||||
-rw-r--r-- | ACE/ace/config-aix-4.x.h | 347 | ||||
-rw-r--r-- | ACE/ace/config-aix-5.x.h | 280 | ||||
-rw-r--r-- | ACE/ace/os_include/sys/os_socket.h | 6 | ||||
-rw-r--r-- | ACE/include/makeinclude/platform_aix.GNU | 109 | ||||
-rw-r--r-- | ACE/include/makeinclude/platform_aix4.2.GNU | 3 | ||||
-rw-r--r-- | ACE/include/makeinclude/platform_aix4_cset++.GNU | 110 |
11 files changed, 414 insertions, 508 deletions
diff --git a/ACE/ChangeLog b/ACE/ChangeLog index 97c624a3767..29d45e38e7e 100644 --- a/ACE/ChangeLog +++ b/ACE/ChangeLog @@ -1,3 +1,29 @@ +Tue Dec 5 15:22:43 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl> + + * include/makeinclude/makeinclude/platform_aix4_cset++.GNU: + * include/makeinclude/makeinclude/platform_aix.GNU: + Moved contents of cset++ method into the aix one, the aix + file just included the first one + + * include/makeinclude/makeinclude/platform_aix4.2.GNU: + Removed, old + + * ace/config-aix-4.x.h: + * ace/config-aix-5.x.h: + Moved contents of 4.x.h file into the 5.x.h file. Removed a lot + of old checks for AIX 4 so that we can maintain things easier. + + * ace/ACE.cpp: + * ace/OS_NS_sys_wait.inl: + Removed ACE_HAS_UNION_WAIT, was only set for aix4 + + * ace/Log_Msg.cpp: + * ace/OS_NS_Thread.cpp: + Removed code for AIX 4.x to handle pthread_t + + * ace/os_include/sys/os_socket.h: + Removed ACE_HAS_AIX_BROKEN_SOCKET_HEADER, was only set for aix 4 + Tue Dec 5 15:08:43 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl> * ace/config-aix-4.1.x.h: diff --git a/ACE/ace/ACE.cpp b/ACE/ace/ACE.cpp index bfc8a867d6c..ea4d8a7bf46 100644 --- a/ACE/ace/ACE.cpp +++ b/ACE/ace/ACE.cpp @@ -2888,13 +2888,8 @@ ACE::fork (const ACE_TCHAR *program_name, } // Parent process waits for child to terminate. -#if defined (ACE_HAS_UNION_WAIT) - union wait status; - if (pid < 0 || ACE_OS::waitpid (pid, &(status.w_status), 0) < 0) -#else - ACE_exitcode status; + ACE_exitcode status; if (pid < 0 || ACE_OS::waitpid (pid, &status, 0) < 0) -#endif /* ACE_HAS_UNION_WAIT */ return -1; // child terminated by calling exit()? diff --git a/ACE/ace/Log_Msg.cpp b/ACE/ace/Log_Msg.cpp index 0d399caa9ab..41b6e0bb4fb 100644 --- a/ACE/ace/Log_Msg.cpp +++ b/ACE/ace/Log_Msg.cpp @@ -1599,23 +1599,6 @@ ACE_Log_Msg::log (const ACE_TCHAR *format_str, ACE_OS::sprintf (bp, format, static_cast <unsigned> (ACE_Thread::self ())); -#elif defined (ACE_AIX_VERS) && (ACE_AIX_VERS <= 402) - // AIX's pthread_t (ACE_hthread_t) is a pointer, and it's - // a little ugly to send that through a %u format. So, - // get the kernel thread ID (tid_t) via thread_self() and - // display that instead. - // This isn't conditionalized on ACE_HAS_THREAD_SELF because - // 1. AIX 4.2 doesn't have that def anymore (it messes up - // other things) - // 2. OSF/1 V3.2 has that def, and I'm not sure what affect - // this would have on that. - // -Steve Huston, 19-Aug-97 - ACE_OS::strcpy (fp, ACE_LIB_TEXT ("u")); - if (can_check) - this_len = ACE_OS::snprintf - (bp, bspace, format, thread_self()); - else - this_len = ACE_OS::sprintf (bp, format, thread_self()); #elif defined (DIGITAL_UNIX) ACE_OS::strcpy (fp, ACE_LIB_TEXT ("u")); { diff --git a/ACE/ace/OS_NS_Thread.cpp b/ACE/ace/OS_NS_Thread.cpp index e3a0e9cc806..a9254962a6d 100644 --- a/ACE/ace/OS_NS_Thread.cpp +++ b/ACE/ace/OS_NS_Thread.cpp @@ -102,19 +102,6 @@ ACE_Thread_ID::to_string (char *thr_string) const ACE_OS::sprintf (thr_string, format, static_cast <unsigned> (thread_id_)); -#elif defined (ACE_AIX_VERS) && (ACE_AIX_VERS <= 402) - // AIX's pthread_t (ACE_hthread_t) is a pointer, and it's - // a little ugly to send that through a %u format. So, - // get the kernel thread ID (tid_t) via thread_self() and - // display that instead. - // This isn't conditionalized on ACE_HAS_THREAD_SELF because - // 1. AIX 4.2 doesn't have that def anymore (it messes up - // other things) - // 2. OSF/1 V3.2 has that def, and I'm not sure what affect - // this would have on that. - // -Steve Huston, 19-Aug-97 - ACE_OS::strcpy (fp, "u"); - ACE_OS::sprintf (thr_string, format, thread_id_); #elif defined (DIGITAL_UNIX) ACE_OS::strcpy (fp, "u"); ACE_OS::sprintf (thr_string, format, diff --git a/ACE/ace/OS_NS_sys_wait.inl b/ACE/ace/OS_NS_sys_wait.inl index e273b5602d4..2503d509828 100644 --- a/ACE/ace/OS_NS_sys_wait.inl +++ b/ACE/ace/OS_NS_sys_wait.inl @@ -15,11 +15,7 @@ ACE_OS::wait (int *status) ACE_UNUSED_ARG (status); ACE_NOTSUP_RETURN (0); #else -# if defined (ACE_HAS_UNION_WAIT) - ACE_OSCALL_RETURN (::wait ((union wait *) status), pid_t, -1); -# else ACE_OSCALL_RETURN (::wait (status), pid_t, -1); -# endif /* ACE_HAS_UNION_WAIT */ #endif /* ACE_LACKS_WAIT */ } diff --git a/ACE/ace/config-aix-4.x.h b/ACE/ace/config-aix-4.x.h deleted file mode 100644 index d434ad61003..00000000000 --- a/ACE/ace/config-aix-4.x.h +++ /dev/null @@ -1,347 +0,0 @@ -/* -*- 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++. - -#ifndef ACE_CONFIG_H -#define ACE_CONFIG_H -#include /**/ "ace/pre.h" - -// Both IBM and g++ compilers set _THREAD_SAFE if compiler is asked to compile -// threaded code (xlC_r, as opposed to xlC; and g++ -pthread) -#if !defined (ACE_MT_SAFE) || (ACE_MT_SAFE != 0) -# if defined (ACE_HAS_THREADS) -# undef ACE_HAS_THREADS -# endif -# if defined (_THREAD_SAFE) -# define ACE_HAS_THREADS 1 -// # else -// # define ACE_HAS_THREADS 0 -# endif /* _THREAD_SAFE */ -#endif /* !ACE_MT_SAFE || (ACE_MT_SAFE != 0) */ - -#if defined (__xlC__) || defined (__IBMCPP__) - // AIX xlC, IBM C/C++, and Visual Age C++ compilers - //******************************************************************** - // - -// Compiler does this with a builtin - it's not in libc. -// Although ACE does have alloca() on this compiler/platform combination, it is -// disabled by default since it can be dangerous. Uncomment the following line -// if you ACE to use it. -//# define ACE_HAS_ALLOCA - -// 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 */ -# endif - - // These are for Visual Age C++ only -# if defined (__IBMCPP__) && (__IBMCPP__ >= 400) -# define ACE_EXPLICIT_TEMPLATE_DESTRUCTOR_TAKES_ARGS -# define ACE_HAS_TYPENAME_KEYWORD - // When using -qtempinc, we don't need to see template implementation - // source (though we do need a pragma to find the correct source file). - // However, without -qtempinc (either -qnotempinc or -qtemplateregistry) - // we do need to see the source. -# if defined (__TEMPINC__) -# if !defined ACE_TEMPLATES_REQUIRE_PRAGMA -# define ACE_TEMPLATES_REQUIRE_PRAGMA -# endif -# else -# if !defined (ACE_TEMPLATES_REQUIRE_SOURCE) -# define ACE_TEMPLATES_REQUIRE_SOURCE -# endif -# endif /* __TEMPINC__ */ - -# 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 */ - -# if (__IBMCPP__ >= 600) /* Visual Age 6 and XL C/C++ 7 and up */ -# define ACE_HAS_TEMPLATE_TYPEDEFS -# endif /* __IBMCPP__ >= 600 */ -# 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 (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ == 0)) -// We have to explicitly instantiate static template members prior to g++ 4.1 -# define ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION -#endif /* g++ prior to 4.1 */ - -# 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__ */ -# ifdef __cplusplus /* Let it slide for C compilers. */ -# error unsupported compiler in ace/config-aix-4.x.h -# endif /* __cplusplus */ -#endif /* ! __xlC__ && ! __GNUG__ */ - - -// Compiling for AIX. -#ifndef AIX -# define AIX -#endif /* AIX */ - -// Pick up all the detectable settings. -#include "ace/config-posix.h" - -#if defined (ACE_HAS_POSIX_SEM_TIMEOUT) -# undef ACE_HAS_POSIX_SEM_TIMEOUT -#endif /* ACE_HAS_POSIX_SEM_TIMEOUT */ - -// 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 */ - -#if (ACE_AIX_VERS >= 403) -// AIX has AIO, but the functions don't match those of other AIO-enabled -// platforms. If this is to work, it'll require some significant work, -// maybe moving the OS-abstraction stuff to an OS_AIO or some such thing. -//# define ACE_HAS_AIO_CALLS -#endif /* ACE_AIX_VERS >= 403 */ - -#define ACE_HAS_AIX_HI_RES_TIMER - -// 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_LACKS_STDINT_H -#define ACE_LACKS_SYS_SYSCTL_H - -#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT -#define ACE_HAS_NONCONST_SELECT_TIMEVAL -#define ACE_HAS_IP_MULTICAST - -// Lacks perfect filtering, must bind group address. -#if !defined ACE_LACKS_PERFECT_MULTICAST_FILTERING -# define ACE_LACKS_PERFECT_MULTICAST_FILTERING 1 -#endif /* ACE_LACKS_PERFECT_MULTICAST_FILTERING */ - -#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) -// 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 -#define ACE_HAS_SOCKADDR_IN_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_XTI -#define ACE_HAS_BROKEN_T_ERROR -#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. However, the size -// of wchar_t changes for 32- vs. 64-bit builds (unsigned short vs. unsigned -// int, respectively). -#define ACE_HAS_XPG4_MULTIBYTE_CHAR -#ifdef __64BIT__ -# define ACE_SIZEOF_WCHAR 4 -#else -# define ACE_SIZEOF_WCHAR 2 -#endif /* __64BIT__ */ - -#define ACE_LACKS_NETINET_TCP_H - -// AIX uses LIBPATH to search for libraries -#define ACE_LD_SEARCH_PATH "LIBPATH" - -// 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. - -#if defined (ACE_HAS_THREADS) -# 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 -# define ACE_HAS_PTHREAD_CONTINUE_NP -# define ACE_HAS_PTHREAD_SUSPEND_NP -# define ACE_HAS_RECURSIVE_MUTEXES -# 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 - -#if (defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) >= 500) && !defined(_UNIX95) -# define ACE_HAS_3_PARAM_WCSTOK -#endif /* (_XOPEN_SOURCE -0) >= 500 && !_UNIX95 */ - -#include /**/ "ace/post.h" -#endif /* ACE_CONFIG_H */ diff --git a/ACE/ace/config-aix-5.x.h b/ACE/ace/config-aix-5.x.h index 42cb40b96db..52aacd42404 100644 --- a/ACE/ace/config-aix-5.x.h +++ b/ACE/ace/config-aix-5.x.h @@ -26,7 +26,285 @@ #if !defined (ACE_HAS_AIO_CALLS) # define _ACE_DISABLE_AIO_CALLS_ #endif -#include "ace/config-aix-4.x.h" + +// Both IBM and g++ compilers set _THREAD_SAFE if compiler is asked to compile +// threaded code (xlC_r, as opposed to xlC; and g++ -pthread) +#if !defined (ACE_MT_SAFE) || (ACE_MT_SAFE != 0) +# if defined (ACE_HAS_THREADS) +# undef ACE_HAS_THREADS +# endif +# if defined (_THREAD_SAFE) +# define ACE_HAS_THREADS 1 +// # else +// # define ACE_HAS_THREADS 0 +# endif /* _THREAD_SAFE */ +#endif /* !ACE_MT_SAFE || (ACE_MT_SAFE != 0) */ + +#if defined (__xlC__) || defined (__IBMCPP__) + // AIX xlC, IBM C/C++, and Visual Age C++ compilers + //******************************************************************** + // + +// Compiler does this with a builtin - it's not in libc. +// Although ACE does have alloca() on this compiler/platform combination, it is +// disabled by default since it can be dangerous. Uncomment the following line +// if you ACE to use it. +//# define ACE_HAS_ALLOCA + +// 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 */ +# endif + + // These are for Visual Age C++ only +# if defined (__IBMCPP__) && (__IBMCPP__ >= 400) +# define ACE_EXPLICIT_TEMPLATE_DESTRUCTOR_TAKES_ARGS +# define ACE_HAS_TYPENAME_KEYWORD + // When using -qtempinc, we don't need to see template implementation + // source (though we do need a pragma to find the correct source file). + // However, without -qtempinc (either -qnotempinc or -qtemplateregistry) + // we do need to see the source. +# if defined (__TEMPINC__) +# if !defined ACE_TEMPLATES_REQUIRE_PRAGMA +# define ACE_TEMPLATES_REQUIRE_PRAGMA +# endif +# else +# if !defined (ACE_TEMPLATES_REQUIRE_SOURCE) +# define ACE_TEMPLATES_REQUIRE_SOURCE +# endif +# endif /* __TEMPINC__ */ + +# 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 */ + +# if (__IBMCPP__ >= 600) /* Visual Age 6 and XL C/C++ 7 and up */ +# define ACE_HAS_TEMPLATE_TYPEDEFS +# endif /* __IBMCPP__ >= 600 */ +# 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 (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ == 0)) +// We have to explicitly instantiate static template members prior to g++ 4.1 +# define ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION +#endif /* g++ prior to 4.1 */ + +# 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__ */ +# ifdef __cplusplus /* Let it slide for C compilers. */ +# error unsupported compiler in ace/config-aix-5.x.h +# endif /* __cplusplus */ +#endif /* ! __xlC__ && ! __GNUG__ */ + +// Compiling for AIX. +#ifndef AIX +# define AIX +#endif /* AIX */ + +// Pick up all the detectable settings. +#include "ace/config-posix.h" + +#if defined (ACE_HAS_POSIX_SEM_TIMEOUT) +# undef ACE_HAS_POSIX_SEM_TIMEOUT +#endif /* ACE_HAS_POSIX_SEM_TIMEOUT */ + +// 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" + +#define ACE_DEFAULT_BASE_ADDR ((char *) 0x80000000) + +#define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R + +#define ACE_HAS_SOCKLEN_T +#define ACE_HAS_4_4BSD_SENDMSG_RECVMSG + +// AIX has AIO, but the functions don't match those of other AIO-enabled +// platforms. If this is to work, it'll require some significant work, +// maybe moving the OS-abstraction stuff to an OS_AIO or some such thing. +//# define ACE_HAS_AIO_CALLS + +#define ACE_HAS_AIX_HI_RES_TIMER + +// Compiler/platform has correctly prototyped header files. +#define ACE_HAS_CPLUSPLUS_HEADERS + +// 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_LACKS_STDINT_H +#define ACE_LACKS_SYS_SYSCTL_H + +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT +#define ACE_HAS_NONCONST_SELECT_TIMEVAL +#define ACE_HAS_IP_MULTICAST + +// Lacks perfect filtering, must bind group address. +#if !defined ACE_LACKS_PERFECT_MULTICAST_FILTERING +# define ACE_LACKS_PERFECT_MULTICAST_FILTERING 1 +#endif /* ACE_LACKS_PERFECT_MULTICAST_FILTERING */ + +#define ACE_HAS_MSG + +// 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+ +# define ACE_HAS_BROKEN_POSIX_TIME +// ... 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 +#define ACE_HAS_SIGINFO_T +#define ACE_LACKS_SIGINFO_H +#define ACE_HAS_P_READ_WRITE + +#define ACE_HAS_SIGWAIT +#define ACE_HAS_SOCKADDR_IN_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_XTI +#define ACE_HAS_BROKEN_T_ERROR +#define ACE_TLI_TCP_DEVICE "/dev/xti/tcp" + +#define ACE_HAS_UALARM + +#define ACE_HAS_UCONTEXT_T + +#define ACE_HAS_UTIME + +// Platform has XPG4 wide character type and functions. However, the size +// of wchar_t changes for 32- vs. 64-bit builds (unsigned short vs. unsigned +// int, respectively). +#define ACE_HAS_XPG4_MULTIBYTE_CHAR +#ifdef __64BIT__ +# define ACE_SIZEOF_WCHAR 4 +#else +# define ACE_SIZEOF_WCHAR 2 +#endif /* __64BIT__ */ + +#define ACE_LACKS_NETINET_TCP_H + +// AIX uses LIBPATH to search for libraries +#define ACE_LD_SEARCH_PATH "LIBPATH" + +// 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. + +#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_PTHREAD_CONTINUE_NP +# define ACE_HAS_PTHREAD_SUSPEND_NP +# define ACE_HAS_RECURSIVE_MUTEXES +# 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 + +#if (defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) >= 500) && !defined(_UNIX95) +# define ACE_HAS_3_PARAM_WCSTOK +#endif /* (_XOPEN_SOURCE -0) >= 500 && !_UNIX95 */ + #if defined (_ACE_DISABLE_AIO_CALLS_) # if defined (ACE_HAS_AIO_CALLS) # undef ACE_HAS_AIO_CALLS diff --git a/ACE/ace/os_include/sys/os_socket.h b/ACE/ace/os_include/sys/os_socket.h index 7e4f5e72fd0..b5a73486f58 100644 --- a/ACE/ace/os_include/sys/os_socket.h +++ b/ACE/ace/os_include/sys/os_socket.h @@ -27,13 +27,7 @@ #include "ace/os_include/sys/os_uio.h" #if !defined (ACE_LACKS_SYS_SOCKET_H) -# if defined (ACE_HAS_AIX_BROKEN_SOCKET_HEADER) -# undef __cplusplus -# endif /* ACE_HAS_AIX_BROKEN_SOCKET_HEADER */ # include /**/ <sys/socket.h> -# if defined (ACE_HAS_AIX_BROKEN_SOCKET_HEADER) -# define __cplusplus -# endif /* ACE_HAS_AIX_BROKEN_SOCKET_HEADER */ #endif /* !ACE_LACKS_SYS_SOCKET_H */ #if defined (ACE_VXWORKS) && (ACE_VXWORKS < 0x620) diff --git a/ACE/include/makeinclude/platform_aix.GNU b/ACE/include/makeinclude/platform_aix.GNU index 675b1af991b..33e9c785263 100644 --- a/ACE/include/makeinclude/platform_aix.GNU +++ b/ACE/include/makeinclude/platform_aix.GNU @@ -1,3 +1,110 @@ # $Id$ -include $(ACE_ROOT)/include/makeinclude/platform_aix4_cset++.GNU +# AIX 5.x using the IBM C Set++ compiler. +# +# NOTE! IBM is no longer supporting AIX at any version earlier than 4.3, +# and Riverace is not testing or supporting ACE on them either. No steps +# have been taken to intentionally disable anything, but it is not being +# tested either. +# +# NOTE 2! This file is only for use with the older CSet++ compiler, which +# IBM doesn't sell or support any longer. Riverace doesn't support ACE +# with it either. This file is still here in case there is some site +# still using the old compiler, but it is completely unsupported. +# +# On 4.1, this file assumes that the user has installed the AIX patch +# containing the dl*() APIs. To use these APIs, IBM has created a +# separate product (free to AIX licensees) called shared library +# hookable symbols (or slhs/6000). If they don't have this patch, the +# sv* commands for compiling and linking will not be present on the +# system. +# +# On 4.2, the AIX fileset bos.rte.bind_cmds must be at version 4.2.0.2 or +# higher in order to build libACEshr.a, and at 4.2.0.4 or higher for dl*() +# routines to work properly. Best to apply the update available at: +# ftp://service.boulder.ibm.com/aix/fixes/v4/os/bos.rte.bind_cmds.4.2.0.4.bff +# or a successor. + +debug ?= 1 +distrib ?= 0 +exceptions ?= 1 +optimize ?= 0 +threads ?= 1 + +# There's no way to turn off exceptions with IBM C/C++ +ifeq (0,$(exceptions)) + exceptions = 1 +endif + +# In case anything here or in the config depends on OS version number, +# grab it here and pass it all to the compiler as well. +AIX_MAJOR_VERS := $(shell uname -v) +AIX_MINOR_VERS := $(shell uname -r) + +# aix_build turns on the funky shared library building code. +aix_build = 1 +# ibmcxx_build turns on the extra step for instantiating and compiling +# template instances. +ibmcxx_build = 1 + +ifeq ($(threads),1) +CC = xlc_r +CXX = xlC_r +DLD = makeC++SharedLib_r +else +CC = xlc +CXX = xlC +DLD = makeC++SharedLib +endif + +# -qextchk is handy, but produces false type mismatches when linking +# netsvcs with 3.1.4, so it's disabled. IBM reports this fixed in 3.6.4. +TEMPINCDIR = tempinc +CCFLAGS += $(CFLAGS) -qtempinc=$(TEMPINCDIR) -qinfo + +# IBM C/C++ compiler 3.6.x produces a bazillion warnings about 0-valued +# preprocessor defs. Since both 3.1 and 3.4 could be installed, don't ask +# lslpp for one or the other. Instead, compile a file and see which compiler +# the user has set up for use. This trick was submitted by Craig Rodrigues +# <rodrigc@mediaone.net>, originally from the vacpp compiler newsgroup. +# It relies on the preprocessor defining __xlC__ to the proper version +# number of the compiler. +XLCVERSION := $(shell echo "__xlC__" > ./testAIXCompilerVersion.cpp) +XLCVERSION := $(shell $(CXX) -E ./testAIXCompilerVersion.cpp | tail -1) +ACE_AIX_CLEAN := $(shell $(RM) ./testAIXCompilerVersion.cpp) +ifeq ($(XLCVERSION),0x0306) + CCFLAGS += -qflag=e:e +else + CCFLAGS += -qflag=w:w +endif +CPPFLAGS += -qlanglvl=ansi -DACE_AIX_MAJOR_VERS=$(AIX_MAJOR_VERS) -DACE_AIX_MINOR_VERS=$(AIX_MINOR_VERS) + +# -qinitauto seems useful, but when built with -qinitauto=5F, the +# Process_Strategy_Test went CPU bound in ostream, so I removed it (S. Huston) +DCFLAGS += -g -qcheck=nobounds:div:null + +ACELIB = -lACE +LD = $(CXX) + +ifeq ($(AIX_MINOR_VERS),1) +LLIBS = -lsvld -ltli_r $(ACELIB) +LIBS += $(filter-out $(SHLIBA:lib%.a=-l%), $(LLIBS)) +else +LIBS += -ltli_r -ldl +endif + +ARFLAGS = ruv +AR = ar +LDFLAGS += -bI:/lib/pse.exp +# Default OCCFLAGS builds common code for all RS/6000 architectures but +# this can be set to optimize for your particular computer. The commented +# out example optimizes for RS/6000 43P. +# OCCFLAGS is not used by default. To used it, set optimize=1 +# either in this file or on the command line. +#OCCFLAGS += -qarch=ppc -qtune=604 +OCCFLAGS += -O2 -qarch=com +RANLIB = ranlib +SOFLAGS = -p 0 + +SOVERSION = +SONAME = diff --git a/ACE/include/makeinclude/platform_aix4.2.GNU b/ACE/include/makeinclude/platform_aix4.2.GNU deleted file mode 100644 index 395f30adbcb..00000000000 --- a/ACE/include/makeinclude/platform_aix4.2.GNU +++ /dev/null @@ -1,3 +0,0 @@ -# $Id$ - -include $(ACE_ROOT)/include/makeinclude/platform_aix4_cset++.GNU
\ No newline at end of file diff --git a/ACE/include/makeinclude/platform_aix4_cset++.GNU b/ACE/include/makeinclude/platform_aix4_cset++.GNU deleted file mode 100644 index 8bc2b0b3929..00000000000 --- a/ACE/include/makeinclude/platform_aix4_cset++.GNU +++ /dev/null @@ -1,110 +0,0 @@ -# $Id$ - -# AIX 4.x using the IBM C Set++ compiler. -# -# NOTE! IBM is no longer supporting AIX at any version earlier than 4.3, -# and Riverace is not testing or supporting ACE on them either. No steps -# have been taken to intentionally disable anything, but it is not being -# tested either. -# -# NOTE 2! This file is only for use with the older CSet++ compiler, which -# IBM doesn't sell or support any longer. Riverace doesn't support ACE -# with it either. This file is still here in case there is some site -# still using the old compiler, but it is completely unsupported. -# -# On 4.1, this file assumes that the user has installed the AIX patch -# containing the dl*() APIs. To use these APIs, IBM has created a -# separate product (free to AIX licensees) called shared library -# hookable symbols (or slhs/6000). If they don't have this patch, the -# sv* commands for compiling and linking will not be present on the -# system. -# -# On 4.2, the AIX fileset bos.rte.bind_cmds must be at version 4.2.0.2 or -# higher in order to build libACEshr.a, and at 4.2.0.4 or higher for dl*() -# routines to work properly. Best to apply the update available at: -# ftp://service.boulder.ibm.com/aix/fixes/v4/os/bos.rte.bind_cmds.4.2.0.4.bff -# or a successor. - -debug ?= 1 -distrib ?= 0 -exceptions ?= 1 -optimize ?= 0 -threads ?= 1 - -# There's no way to turn off exceptions with IBM C/C++ -ifeq (0,$(exceptions)) - exceptions = 1 -endif - -# In case anything here or in the config depends on OS version number, -# grab it here and pass it all to the compiler as well. -AIX_MAJOR_VERS := $(shell uname -v) -AIX_MINOR_VERS := $(shell uname -r) - -# aix_build turns on the funky shared library building code. -aix_build = 1 -# ibmcxx_build turns on the extra step for instantiating and compiling -# template instances. -ibmcxx_build = 1 - -ifeq ($(threads),1) -CC = xlc_r -CXX = xlC_r -DLD = makeC++SharedLib_r -else -CC = xlc -CXX = xlC -DLD = makeC++SharedLib -endif - -# -qextchk is handy, but produces false type mismatches when linking -# netsvcs with 3.1.4, so it's disabled. IBM reports this fixed in 3.6.4. -TEMPINCDIR = tempinc -CCFLAGS += $(CFLAGS) -qtempinc=$(TEMPINCDIR) -qinfo - -# IBM C/C++ compiler 3.6.x produces a bazillion warnings about 0-valued -# preprocessor defs. Since both 3.1 and 3.4 could be installed, don't ask -# lslpp for one or the other. Instead, compile a file and see which compiler -# the user has set up for use. This trick was submitted by Craig Rodrigues -# <rodrigc@mediaone.net>, originally from the vacpp compiler newsgroup. -# It relies on the preprocessor defining __xlC__ to the proper version -# number of the compiler. -XLCVERSION := $(shell echo "__xlC__" > ./testAIXCompilerVersion.cpp) -XLCVERSION := $(shell $(CXX) -E ./testAIXCompilerVersion.cpp | tail -1) -ACE_AIX_CLEAN := $(shell $(RM) ./testAIXCompilerVersion.cpp) -ifeq ($(XLCVERSION),0x0306) - CCFLAGS += -qflag=e:e -else - CCFLAGS += -qflag=w:w -endif -CPPFLAGS += -qlanglvl=ansi -DACE_AIX_MAJOR_VERS=$(AIX_MAJOR_VERS) -DACE_AIX_MINOR_VERS=$(AIX_MINOR_VERS) - -# -qinitauto seems useful, but when built with -qinitauto=5F, the -# Process_Strategy_Test went CPU bound in ostream, so I removed it (S. Huston) -DCFLAGS += -g -qcheck=nobounds:div:null - -ACELIB = -lACE -LD = $(CXX) - -ifeq ($(AIX_MINOR_VERS),1) -LLIBS = -lsvld -ltli_r $(ACELIB) -LIBS += $(filter-out $(SHLIBA:lib%.a=-l%), $(LLIBS)) -else -LIBS += -ltli_r -ldl -endif - -ARFLAGS = ruv -AR = ar -LDFLAGS += -bI:/lib/pse.exp -# Default OCCFLAGS builds common code for all RS/6000 architectures but -# this can be set to optimize for your particular computer. The commented -# out example optimizes for RS/6000 43P. -# OCCFLAGS is not used by default. To used it, set optimize=1 -# either in this file or on the command line. -#OCCFLAGS += -qarch=ppc -qtune=604 -OCCFLAGS += -O2 -qarch=com -RANLIB = ranlib -SOFLAGS = -p 0 - -SOVERSION = -SONAME = |