summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormbrudka <mbrudka@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-04-13 19:49:23 +0000
committermbrudka <mbrudka@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-04-13 19:49:23 +0000
commit0cd7b6445be4a22e1bd666a171ef6862b1af57d7 (patch)
treecd885b67b543f6e3cbf49b12e0d1158a0dfe1e88
parent93dfc77ea444afc6a76a4ecfbff44ef5ef36e09d (diff)
downloadATCD-0cd7b6445be4a22e1bd666a171ef6862b1af57d7.tar.gz
Patch for QNX neutrino v 6.2x
New files: - config-qnx-rtp* new configuration files for qnx nto that ensures (I hope) backward compatibility with qnx nto < 6.2.x Modifications: - ACE-Install.html documentation update in QNX section - Time_Value.cpp warning related with unsigned tv_sec@NTO removed - OS.h unnecessary semicolon removed from include directive - platform_qnx_rtp_gcc.GNU platform macros for qnx rto that tries to recognize nto version and defines adequate ACE_NTO_VERS value
-rw-r--r--ACE-INSTALL.html3
-rw-r--r--ace/OS.h2
-rw-r--r--ace/Time_Value.cpp3
-rw-r--r--ace/config-qnx-rtp-62x.h135
-rw-r--r--ace/config-qnx-rtp-common.h49
-rw-r--r--ace/config-qnx-rtp-pre62x.h156
-rw-r--r--ace/config-qnx-rtp.h203
-rw-r--r--include/makeinclude/platform_qnx_rtp_gcc.GNU26
8 files changed, 372 insertions, 205 deletions
diff --git a/ACE-INSTALL.html b/ACE-INSTALL.html
index 40646c5e607..dae1a6015ec 100644
--- a/ACE-INSTALL.html
+++ b/ACE-INSTALL.html
@@ -711,7 +711,7 @@ supported by the DOC group, Riverace, or OCI. <P>
fail. As the porting effort progresses, we hope to eliminate
these failures. If you know of fixes, please send them to
us.<p>
-<li><strong>QNX RTP</strong><p>
+ <li><strong>QNX RTP</strong><p>
ACE has been ported to <a
href="http://get.qnx.com/">QNX RTP
@@ -729,7 +729,6 @@ supported by the DOC group, Riverace, or OCI. <P>
Under the current version of QNX RTP ACE fails if compiled with
inline=0 . <p>
-
<li><strong>PharLap TNT Embedded ToolSuite (ETS)</strong><p>
ACE has been ported to <a
diff --git a/ace/OS.h b/ace/OS.h
index 33ec30e94b2..da4c165e0ee 100644
--- a/ace/OS.h
+++ b/ace/OS.h
@@ -254,7 +254,7 @@ class ACE_Timeout_Manager;
# elif defined (__QNX__)
# include "ace/os_include/sys/os_uio.h"
# include "ace/os_include/sys/os_ipc.h"
-# include "ace/os_include:sys/os_time.h"
+# include "ace/os_include/sys/os_time.h"
# include "ace/os_include/sys/os_wait.h"
# include "ace/os_include/sys/os_resource.h"
# include "ace/os_include/os_pwd.h"
diff --git a/ace/Time_Value.cpp b/ace/Time_Value.cpp
index 603fe34ea17..6f3515513b5 100644
--- a/ace/Time_Value.cpp
+++ b/ace/Time_Value.cpp
@@ -193,11 +193,14 @@ ACE_Time_Value::normalize (void)
this->tv_.tv_sec--;
this->tv_.tv_usec += ACE_ONE_SECOND_IN_USECS;
}
+// tv_sec in qnxnto is unsigned
+#if defined( __QNXNTO__)
else if (this->tv_.tv_sec < 0 && this->tv_.tv_usec > 0)
{
this->tv_.tv_sec++;
this->tv_.tv_usec -= ACE_ONE_SECOND_IN_USECS;
}
+#endif /* __QNXNTO__ */
}
/*****************************************************************************/
diff --git a/ace/config-qnx-rtp-62x.h b/ace/config-qnx-rtp-62x.h
new file mode 100644
index 00000000000..3f5da24a7df
--- /dev/null
+++ b/ace/config-qnx-rtp-62x.h
@@ -0,0 +1,135 @@
+// $Id$
+
+// The following configuration file is designed to work for QNX RTP 621
+// GNU C++ and the POSIX (pthread) threads package. You can get QNX
+// RTP at http://get.qnx.com
+#ifndef ACE_CONFIG_QNX_RTP_62x_H
+#define ACE_CONFIG_QNX_RTP_62x_H
+#include /**/ "ace/pre.h"
+#include /**/ "ace/config-qnx-rtp-common.h"
+
+/////////////////////////////////////////////////////////////////
+// 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
+// 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
+#define ACE_HAS_ALLOCA_H
+#define ACE_HAS_ANSI_CASTS
+#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_NONCONST_SWAB
+#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_SHM_OPEN
+#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_SNPRINTF
+#define ACE_HAS_SOCKLEN_T
+#define ACE_HAS_SSIZE_T
+#define ACE_HAS_STRERROR
+#define ACE_HAS_STRINGS
+#define ACE_HAS_SVR4_DYNAMIC_LINKING
+#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_CONST_TIMESPEC_PTR
+#define ACE_LACKS_LINEBUFFERED_STREAMBUF
+#define ACE_LACKS_MADVISE
+#define ACE_LACKS_MSGBUF_T
+// lacks mqueue mgr or speed-up named sem by shm emulation
+#define ACE_LACKS_NAMED_POSIX_SEM
+#define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS
+// Multicast_Tests reports for NTO 621 frames from unsubscribed groups
+#define ACE_LACKS_PERFECT_MULTICAST_FILTERING 1
+#define ACE_LACKS_POLL_H
+#define ACE_LACKS_PTHREAD_THR_SIGSETMASK
+#define ACE_LACKS_RPC_H
+#define ACE_LACKS_RWLOCK_T
+#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_STREAM_MODULES
+#define ACE_LACKS_STROPTS_H
+#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_SHM_H
+#define ACE_LACKS_TIMESPEC_T
+#define ACE_LACKS_T_ERRNO
+#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_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
+
+// No prototypes
+#define ACE_LACKS_ITOW
+#define ACE_LACKS_WCSICMP
+#define ACE_LACKS_WCSNICMP
+#define ACE_LACKS_WCSDUP
+
+// The default value of FD_SETSIZE is 32, but actually x86 NTO
+// supports at least 1024 descriptors in fd_set.
+#if defined( FD_SETSIZE )
+#undef FD_SETSIZE
+#endif
+#define FD_SETSIZE 1024
+#include /**/ "ace/post.h"
+#endif /* ACE_CONFIG_QNX_RTP_62x_H*/
diff --git a/ace/config-qnx-rtp-common.h b/ace/config-qnx-rtp-common.h
new file mode 100644
index 00000000000..72a38144f4d
--- /dev/null
+++ b/ace/config-qnx-rtp-common.h
@@ -0,0 +1,49 @@
+// $Id$
+// several macros common to various qnx neutrino version.
+#ifndef ACE_CONFIG_QNX_RTP_COMMON_H
+#define ACE_CONFIG_QNX_RTP_COMMON_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) */
+
+#if defined(__OPTIMIZE__)
+# if defined(__X86__)
+ // string.h can't be used by ACE with __OPTIMIZE__.
+# undef __OPTIMIZE__
+# include <string.h>
+# 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
+
+#if !defined (ACE_NTRACE)
+# define ACE_NTRACE 1
+#endif /* ACE_NTRACE */
+
+#include /**/ "ace/post.h"
+#endif /* ACE_CONFIG_QNX_RTP_COMMON_H */
+
diff --git a/ace/config-qnx-rtp-pre62x.h b/ace/config-qnx-rtp-pre62x.h
new file mode 100644
index 00000000000..05b1a610ae9
--- /dev/null
+++ b/ace/config-qnx-rtp-pre62x.h
@@ -0,0 +1,156 @@
+// $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"
+#include /**/ "ace/config-qnx-rtp-common.h"
+
+/////////////////////////////////////////////////////////////////
+// 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
+// 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
+#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_SOCKLEN_T
+#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
+// socket-pairs.
+#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
+
+#define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION
+#define ACE_LACKS_ACE_IOSTREAM
+
+#include /**/ "ace/post.h"
+#endif /* ACE_CONFIG_H */
diff --git a/ace/config-qnx-rtp.h b/ace/config-qnx-rtp.h
index 8bdeaf00db3..6220945950b 100644
--- a/ace/config-qnx-rtp.h
+++ b/ace/config-qnx-rtp.h
@@ -2,200 +2,19 @@
// 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
+// RTP at http://get.qnx.com.
+// This header is intended to switch between configuration for
+// various NTO versions.
+#ifndef ACE_CONFIG_QNX_RTP_H
+#define ACE_CONFIG_QNX_RTP_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 <string.h>
-# 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"
+#if !defined(ACE_NTO_VERS)
+# error "Correct ACE_NTO_VERS in include/makeinclude/platform_qnx_rtp_gcc.GNU"
+#elif ACE_NTO_VERS < 620
+# include /**/ "ace/config-qnx-rtp-pre62x.h"
#else
-# define ACE_CC_NAME "QNX-RTP compiler ??"
+# include /**/ "ace/config-qnx-rtp-62x.h"
#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
-// 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
-#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_SOCKLEN_T
-#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_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 */
-
-#define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION
-#define ACE_LACKS_ACE_IOSTREAM
-
#include /**/ "ace/post.h"
-#endif /* ACE_CONFIG_H */
+#endif /* ACE_CONFIG_QNX_RTP_H */
diff --git a/include/makeinclude/platform_qnx_rtp_gcc.GNU b/include/makeinclude/platform_qnx_rtp_gcc.GNU
index 21790d9d6ec..ac46d492183 100644
--- a/include/makeinclude/platform_qnx_rtp_gcc.GNU
+++ b/include/makeinclude/platform_qnx_rtp_gcc.GNU
@@ -1,29 +1,35 @@
-# $Id$
+# platform_qnx_rtp_gcc.GNU,v 1.11 2003/08/09 04:43:51 dhinton Exp
# QNX/RTP hosted, using gcc-2.95.2
-
+nto_version := $(shell uname -a | awk '{ gsub("\\.","", $$3 ); print $$3;}')
+CCFLAGS += -DACE_NTO_VERS=$(nto_version)
+CFLAGS += -DACE_NTO_VERS=$(nto_version)
inline = 1
-debug = 1
-optimize = 1
-exceptions = 1
+debug ?= 1
+optimize ?= 1
+exceptions ?= 1
ifeq ($(exceptions),1)
CCFLAGS += -fexceptions
LDFLAGS += -fexceptions
else
- CCLAGS += -fno-exceptions
- LDLAGS += -fno-exceptions
+ CCFLAGS += -fno-exceptions
+ LDFLAGS += -fno-exceptions
endif # ! exceptions
-pipes ?= 1
+ifeq ($(inline),1)
+ CCFLAGS += -finline-functions
+else
+ CCFLAGS += -fno-inline
+endif # inline
CC = gcc
CXX = g++
-DCFLAGS += -gstabs
+DCFLAGS += -gdwarf-2
-CFLAGS += -W -Wall -Wpointer-arith
+CFLAGS += -pipe -W -Wall -Wpointer-arith
DLD = $(CXX)
LD = $(CXX)