2 // The following configuration file is designed to work for QNX RTP
3 // GNU C++ and the POSIX (pthread) threads package. You can get QNX
4 // RTP at http://get.qnx.com.
5 // This header is intended to switch between configuration for
6 // various NTO versions.
7 #ifndef ACE_CONFIG_QNX_H
8 #define ACE_CONFIG_QNX_H
9 #include /**/ "ace/pre.h"
11 #include <sys/neutrino.h>
12 #if !defined(_NTO_VERSION)
13 # error "Could not detect QNX version from macro _NTO_VERSION"
16 // The following defines the Neutrino compiler.
17 // gcc should know to call g++ as necessary
19 # define ACE_CC_NAME ACE_TEXT ("gcc")
21 # define ACE_CC_NAME ACE_TEXT ("QNX-RTP compiler ??")
24 #include "ace/config-g++-common.h"
26 /////////////////////////////////////////////////////////////////
27 // Definition of the features that are available.
30 /////////////////////////////////////////////////////////////////
31 #define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R
32 #define ACE_HAS_3_PARAM_WCSTOK
33 #define ACE_HAS_4_4BSD_SENDMSG_RECVMSG
34 // Although ACE does have alloca() on this compiler/platform combination, it is
35 // disabled by default since it can be dangerous. Uncomment the following line
36 // if you ACE to use it.
37 //#define ACE_HAS_ALLOCA
38 #define ACE_HAS_ALLOCA_H
39 #define ACE_HAS_ALT_CUSERID
40 #define ACE_HAS_AUTOMATIC_INIT_FINI
41 #define ACE_HAS_CLOCK_GETTIME
42 #define ACE_HAS_CLOCK_SETTIME
43 #define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES
44 #define ACE_HAS_DIRENT
45 #define ACE_HAS_GETPAGESIZE
46 #define ACE_HAS_GETIFADDRS
48 #define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT
49 #define ACE_HAS_IP_MULTICAST
51 #define ACE_HAS_MT_SAFE_MKTIME
52 #define ACE_HAS_MUTEX_TIMEOUTS
53 #define ACE_HAS_NONCONST_SELECT_TIMEVAL
54 #define ACE_HAS_NONCONST_SWAB
55 #define ACE_HAS_POSIX_SEM
56 #define ACE_HAS_POSIX_TIME
57 #define ACE_HAS_P_READ_WRITE
58 #define ACE_HAS_REENTRANT_FUNCTIONS
59 #define ACE_HAS_SELECT_H
60 #define ACE_HAS_SHM_OPEN
61 #define ACE_HAS_SIGINFO_T
62 #define ACE_HAS_SIGISMEMBER_BUG
63 #define ACE_HAS_SIGWAIT
64 #define ACE_HAS_SIG_ATOMIC_T
65 #define ACE_HAS_SIOCGIFCONF
66 #define ACE_HAS_SOCKADDR_IN_SIN_LEN
67 #define ACE_HAS_SOCKLEN_T
68 #define ACE_HAS_SSIZE_T
69 #define ACE_HAS_STRINGS
70 #define ACE_HAS_SVR4_DYNAMIC_LINKING
71 #define ACE_HAS_SVR4_GETTIMEOFDAY
72 #define ACE_HAS_TERMIOS
73 #define ACE_HAS_THREAD_SPECIFIC_STORAGE
74 #define ACE_HAS_THR_C_DEST
75 #define ACE_HAS_THR_C_FUNC
76 #define ACE_HAS_TIMEZONE_GETTIMEOFDAY
77 #define ACE_HAS_UALARM
78 #define ACE_HAS_UCONTEXT_T
79 #define ACE_HAS_VOIDPTR_MMAP
80 #define ACE_HAS_VOIDPTR_SOCKOPT
81 #define ACE_HAS_NET_IF_DL_H
82 #define ACE_HAS_SYS_SIGINFO_H
83 #define ACE_HAS_GETTIMEOFDAY 1
84 #define ACE_HAS_GETRUSAGE 1
85 #define ACE_HAS_GETRUSAGE_PROTOTYPE 1
86 #define ACE_IOCTL_TYPE_ARG2 u_long
87 #define ACE_HAS_TIMEZONE 1
88 #define ACE_HAS_SOCKADDR_MSG_NAME 1
89 #define ACE_HAS_SIG_C_FUNC 1
90 #define ACE_HAS_SOCKADDR_IN6_SIN6_LEN 1
91 #define ACE_HAS_STRSIGNAL
92 #define ACE_HAS_POSITION_INDEPENDENT_POINTERS 1
93 #define ACE_HAS_POSIX_NONBLOCK 1
94 #define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS 1
96 /////////////////////////////////////////////////////////////////
97 // Definition of the features that are not available.
100 /////////////////////////////////////////////////////////////////
101 #define ACE_LACKS_LINEBUFFERED_STREAMBUF
102 #define ACE_LACKS_MADVISE
103 // Multicast_Tests reports for NTO 621 frames from unsubscribed groups
104 #define ACE_LACKS_PERFECT_MULTICAST_FILTERING 1
105 #define ACE_LACKS_STREAM_MODULES
106 #define ACE_LACKS_STROPTS_H
107 #define ACE_LACKS_STRRECVFD
108 #define ACE_LACKS_SYSV_SHMEM
109 #define ACE_LACKS_SYS_SHM_H
110 #define ACE_LACKS_TIMESPEC_T
111 #define ACE_LACKS_T_ERRNO
112 #define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS
113 #define ACE_HAS_SYS_SOCKIO_H 1
114 #define ACE_HAS_SYSCTL
115 #define ACE_HAS_SIGACTION_CONSTP2 1
116 #define ACE_LACKS_PTHREAD_SCOPE_PROCESS
117 #define ACE_HAS_POLL 1
118 #define ACE_HAS_WCHAR 1
119 #define ACE_HAS_XPG4_MULTIBYTE_CHAR 1
121 #if _NTO_VERSION < 710
122 # define ACE_LACKS_CONST_TIMESPEC_PTR
123 # define ACE_LACKS_RWLOCK_T
124 # define ACE_LACKS_SO_SNDBUF
125 # define ACE_LACKS_SO_RCVBUF
126 # define ACE_LACKS_SYSCALL
127 # define ACE_LACKS_ITOW
128 # define ACE_LACKS_WCSICMP
129 # define ACE_LACKS_WCSNICMP
130 # define ACE_LACKS_WCSDUP
131 # define ACE_LACKS_STD_WSTRING
132 // /usr/nto/include/float.h defines
135 // ace expects 128 & 1024 respectively
136 // to set the following macros in ace/Basic_Types.h
138 # define ACE_SIZEOF_DOUBLE 8
139 # define ACE_SIZEOF_FLOAT 4
140 # define _POSIX_C_SOURCE 199506
142 # define ACE_HAS_NONCONST_CMSG_SPACE
145 #define ACE_LACKS_ISCTYPE
147 #define ACE_LACKS_RLIMIT // QNX rlimit syscalls don't work properly with ACE.
149 #define ACE_MT_SAFE 1
150 #define ACE_NEEDS_HUGE_THREAD_STACKSIZE 64000
151 #define ACE_THR_PRI_FIFO_DEF 10
152 #define ACE_HAS_SIGTIMEDWAIT
153 #define ACE_HAS_SIGSUSPEND
155 #define ACE_HAS_BROKEN_PREALLOCATED_OBJECTS_AFTER_FORK 1
157 #define ACE_SIZEOF_WCHAR 4
159 #if defined(ACE_MT_SAFE) && (ACE_MT_SAFE != 0)
160 # define ACE_HAS_THREADS
161 # define ACE_HAS_PTHREADS
162 # define ACE_HAS_PTHREADS_UNIX98_EXT 1
163 # define ACE_LACKS_PTHREAD_THR_SIGSETMASK
164 # define ACE_HAS_PTHREAD_GETCONCURRENCY
165 #endif /* ACE_MT_SAFE */
167 // The default value of FD_SETSIZE is 32, but actually x86 NTO
168 // supports by default at least 1000 descriptors in fd_set.
169 #if defined( FD_SETSIZE )
172 #define FD_SETSIZE 1000
174 #define ACE_SSIZE_T_FORMAT_SPECIFIER_ASCII "%ld"
175 #define ACE_SIZE_T_FORMAT_SPECIFIER_ASCII "%lu"
177 #include /**/ "ace/post.h"
178 #endif /* ACE_CONFIG_QNX_H */