2 // The following configuration file is designed to work for VxWorks
3 // 6.4 platforms using one of these compilers:
4 // 1) The GNU g++ compiler that is shipped with VxWorks 6.4
5 // 2) The Diab compiler that is shipped with VxWorks 6.4
7 #ifndef ACE_CONFIG_VXWORKS_6_4_H
8 #define ACE_CONFIG_VXWORKS_6_4_H
9 #include /**/ "ace/pre.h"
11 #if ! defined (VXWORKS)
13 #endif /* ! VXWORKS */
15 #if ! defined (ACE_VXWORKS)
16 # define ACE_VXWORKS 0x640
17 #endif /* ! ACE_VXWORKS */
19 #ifndef ACE_LACKS_RAND_R
20 # define ACE_LACKS_RAND_R 1
24 # define ACE_LACKS_STD_WSTRING
27 #if !defined (__RTP__)
28 // Fix for wrong typedef of time_t in kernel mode
35 #if ! defined (__ACE_INLINE__)
36 # define __ACE_INLINE__
37 #endif /* ! __ACE_INLINE__ */
39 // Compiler-specific configuration.
40 #if defined (__GNUG__)
41 # include "ace/config-g++-common.h"
43 # define ACE_LACKS_IOSTREAM_FX
44 # define ACE_LACKS_LINEBUFFERED_STREAMBUF
46 # if defined (__RTP__) && !defined (_HAS_C9X)
47 // Workaround for the fact that under RTP the log2 method can't be used
48 // without this define set, see TSR560446
54 #elif defined (__DCC__)
55 # define ACE_HAS_STANDARD_CPP_LIBRARY 1
56 # define ACE_TEMPLATES_REQUIRE_SOURCE
57 #else /* ! __GNUG__ && !__DCC__ */
58 # ifdef __cplusplus /* Let it slide for C compilers. */
59 # error unsupported compiler on VxWorks
60 # endif /* __cplusplus */
61 #endif /* ! __GNUG__ && ! ghs */
63 // Needed include to get all VxWorks CPU types
64 #include "types/vxCpu.h"
66 #if defined (_VX_CPU) && (_VX_CPU == _VX_PENTIUM || _VX_CPU == _VX_PENTIUM2 || _VX_CPU == _VX_PENTIUM3 || _VX_CPU == _VX_PENTIUM4)
67 // If running an Intel Pentium the
68 // ACE_OS::gethrtime () can use the RDTSC instruction.
69 # define ACE_HAS_PENTIUM
72 #if defined (CPU) && (CPU == PENTIUM || CPU == PENTIUM2 || CPU == PENTIUM3 || CPU == PENTIUM4)
73 // If running an Intel Pentium the
74 // ACE_OS::gethrtime () can use the RDTSC instruction.
75 # define ACE_HAS_PENTIUM
80 # if defined (TOOL) && (TOOL == gnu)
81 # if defined (CPU) && (CPU == PPC85XX || CPU == PPC604 || CPU == PPC603 || CPU == PPC32)
82 // These PPC's do lack log2 in kernel mode
83 # define ACE_LACKS_LOG2
88 // OS-specific configuration
89 #define ACE_HAS_4_4BSD_SENDMSG_RECVMSG
90 #define ACE_HAS_3_PARAM_READDIR_R
91 #define ACE_HAS_NET_IF_DL_H
92 #define ACE_HAS_NONCONST_GETBY
93 #define ACE_HAS_NONCONST_INET_ADDR
94 #define ACE_HAS_NONCONST_SWAB
95 #define ACE_USES_INETLIB_H
96 #define ACE_USES_SELECTLIB_H
97 #define ACE_LACKS_UNIX_SYSLOG
98 #define ACE_DEFAULT_MAX_SOCKET_BUFSIZ 32768
99 #define ACE_DEFAULT_THREAD_KEYS 16
100 #define ACE_HAS_BROKEN_ACCEPT_ADDR
101 #define ACE_HAS_NONCONST_SENDMSG
102 #define ACE_HAS_NONCONST_WRITEV
103 #define ACE_HAS_CHARPTR_DL
104 #define ACE_HAS_CLOCK_GETTIME
105 #define ACE_HAS_CLOCK_SETTIME
106 #define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES
107 #define ACE_HAS_CPLUSPLUS_HEADERS
108 #define ACE_HAS_DIRENT
109 #define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT
111 #define ACE_HAS_NONCONST_READV
112 #define ACE_HAS_NONCONST_SELECT_TIMEVAL
113 #define ACE_HAS_NONSTATIC_OBJECT_MANAGER
114 #define ACE_HAS_POSIX_NONBLOCK
115 #define ACE_HAS_POSIX_TIME
116 #define ACE_HAS_REENTRANT_FUNCTIONS
117 #define ACE_HAS_SIGACTION_CONSTP2
118 #define ACE_HAS_SIGINFO_T
119 #define ACE_HAS_SIGWAIT
120 #define ACE_HAS_SIG_ATOMIC_T
121 #define ACE_HAS_SOCKADDR_IN_SIN_LEN
122 #define ACE_HAS_SOCKADDR_IN6_SIN6_LEN
123 #define ACE_HAS_THREADS
124 #define ACE_HAS_SYSCTL
125 #define ACE_LACKS_ALPHASORT
126 #define ACE_LACKS_EXEC
127 #define ACE_LACKS_RLIMIT
128 #define ACE_LACKS_FILELOCKS
129 #define ACE_LACKS_FORK
130 #define ACE_LACKS_GETHOSTENT
131 #define ACE_LACKS_GETSERVBYNAME
132 #define ACE_LACKS_GETPROTOBYNAME
133 #define ACE_LACKS_GETPROTOBYNUMBER
134 #define ACE_LACKS_GETIPNODEBYADDR
135 #define ACE_LACKS_GETIPNODEBYNAME_IPV6
136 #define ACE_LACKS_LSTAT
137 #define ACE_LACKS_MADVISE
138 #define ACE_LACKS_MALLOC_H
139 #define ACE_LACKS_MEMORY_H
140 #define ACE_LACKS_MKFIFO
141 #define ACE_LACKS_MKSTEMP
142 #define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS
143 #define ACE_LACKS_SYS_PARAM_H
144 #define ACE_LACKS_PWD_FUNCTIONS
145 #define ACE_LACKS_READLINK
146 #define ACE_LACKS_REALPATH
147 #define ACE_LACKS_PIPE
148 #define ACE_LACKS_RWLOCK_T
149 #define ACE_LACKS_SBRK
150 #define ACE_LACKS_SEEKDIR
151 #define ACE_LACKS_SEMBUF_T
152 #define ACE_LACKS_SIGINFO_H
153 #define ACE_LACKS_SI_ADDR
154 #define ACE_LACKS_SOCKETPAIR
155 #define ACE_LACKS_STRRECVFD
156 #define ACE_LACKS_SYSV_SHMEM
157 #define ACE_LACKS_TELLDIR
158 #define ACE_LACKS_TIMESPEC_T
159 #define ACE_LACKS_TRUNCATE
160 #define ACE_LACKS_UCONTEXT_H
161 #define ACE_LACKS_USECONDS_T
162 #define ACE_LACKS_UMASK
163 #define ACE_LACKS_STRPTIME
164 #define ACE_LACKS_MKTEMP
165 #define ACE_LACKS_TEMPNAM
166 #define ACE_PAGE_SIZE 4096
167 #define ACE_THR_PRI_FIFO_DEF 101
168 #define ACE_THR_PRI_OTHER_DEF ACE_THR_PRI_FIFO_DEF
169 #define ACE_HAS_SIGTIMEDWAIT
170 #define ACE_HAS_SIGSUSPEND
171 #define ACE_HAS_GETIFADDRS
173 #define ACE_LACKS_SETEGID
174 #define ACE_LACKS_SETPGID
175 #define ACE_LACKS_SETREGID
176 #define ACE_LACKS_SETREUID
177 #define ACE_LACKS_SETSID
178 #define ACE_LACKS_SETUID
179 #define ACE_LACKS_SETEUID
180 #define ACE_LACKS_GETEUID
181 #define ACE_LACKS_GETUID
182 #define ACE_LACKS_GETPGID
183 #define ACE_LACKS_GETEGID
184 #define ACE_LACKS_GETGID
185 #define ACE_LACKS_SETGID
187 #define ACE_LACKS_SYS_UIO_H
188 #define ACE_LACKS_SYS_IPC_H
189 #define ACE_LACKS_SYS_SEM_H
190 #define ACE_LACKS_STROPTS_H
191 #define ACE_LACKS_SYS_MSG_H
192 #define ACE_LACKS_PWD_H
193 #define ACE_LACKS_SYS_SHM_H
194 #define ACE_LACKS_TERMIOS_H
195 #define ACE_LACKS_POLL_H
196 #define ACE_LACKS_FCNTL
198 // Some string things
199 #define ACE_LACKS_ITOW
200 #define ACE_LACKS_WCSDUP
201 #define ACE_LACKS_WCSICMP
202 #define ACE_LACKS_WCSNICMP
203 #define ACE_LACKS_STRTOLL
204 #define ACE_LACKS_WCSTOLL
205 #define ACE_LACKS_STRTOULL
206 #define ACE_LACKS_WCSTOULL
208 #define ACE_HAS_CHARPTR_SOCKOPT
209 #define ACE_LACKS_SYMLINKS
210 #define ACE_LACKS_ISCTYPE
212 #define ACE_LACKS_PTHREAD_SCOPE_PROCESS
215 // We are building for RTP mode
216 #if !defined (ACE_AS_STATIC_LIBS)
217 # define ACE_HAS_SVR4_DYNAMIC_LINKING
219 #define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R
220 #define ACE_LACKS_REGEX_H
221 #if defined ACE_HAS_PENTIUM
222 // Bug to workaround VxWorks 6.4 x86
223 # define ACE_LACKS_PUTENV
225 #define ACE_HAS_SETENV
226 #define ACE_LACKS_STRCASECMP
227 #define ACE_HAS_3_PARAM_WCSTOK
228 #define ACE_HAS_WCHAR
229 #define ACE_HAS_VFWPRINTF
230 #define ACE_SIZEOF_WCHAR 2
231 #define ACE_HAS_SHM_OPEN
232 #if defined (ACE_AS_STATIC_LIBS)
233 # define ACE_HAS_AIO_CALLS
235 // VxWorks seems to either not define this or define as zero up till now
236 #if !defined (IOV_MAX) || (IOV_MAX == 0)
237 #define ACE_IOV_MAX 16
239 #define ACE_LACKS_ISASCII
241 // We are building for kernel mode
242 #define ACE_LACKS_SETENV
243 #define ACE_LACKS_UNSETENV
244 #define ACE_LACKS_SUSECONDS_T
245 #define ACE_LACKS_INTPTR_T
246 #define ACE_LACKS_INTTYPES_H
247 #define ACE_LACKS_STDINT_H
248 #define ACE_LACKS_UNAME
249 #define ACE_LACKS_UTSNAME_T
250 #define ACE_LACKS_DLFCN_H
251 #define ACE_LACKS_WAIT
252 #define ACE_LACKS_WAITPID
253 #define ACE_LACKS_SYS_TIME_H
254 #define ACE_LACKS_SYS_SELECT_H
255 #define ACE_MKDIR_LACKS_MODE
256 #define ACE_HAS_SIZET_PTR_ASCTIME_R_AND_CTIME_R
257 #define ACE_LACKS_SEARCH_H
258 #define ACE_LACKS_SYSCONF
259 #define ACE_LACKS_GETPPID
260 #define ACE_LACKS_WCHAR_H
261 #define ACE_LACKS_WCTYPE_H
262 #define ACE_LACKS_WCSCAT
263 #define ACE_LACKS_WCSCHR
264 #define ACE_LACKS_WCSCMP
265 #define ACE_LACKS_WCSCPY
266 #define ACE_LACKS_WCSCSPN
267 #define ACE_LACKS_WCSLEN
268 #define ACE_LACKS_WCSNCAT
269 #define ACE_LACKS_WCSNCMP
270 #define ACE_LACKS_WCSNCPY
271 #define ACE_LACKS_WCSPBRK
272 #define ACE_LACKS_WCSRCHR
273 #define ACE_LACKS_WCSRTOMBS
274 #define ACE_LACKS_WCSSPN
275 #define ACE_LACKS_WCSSTR
276 #define ACE_LACKS_WCSTOK
277 #define ACE_LACKS_TOWLOWER
278 #define ACE_LACKS_TOWUPPER
279 #define ACE_LACKS_WCSTOD
280 #define ACE_LACKS_WCSTOL
281 #define ACE_LACKS_WCSTOUL
282 #define ACE_LACKS_FGETWC
283 #define ACE_LACKS_FGETWS
284 #define ACE_LACKS_FPUTWS
285 #define ACE_HAS_IOCTL_INT_3_PARAM
286 #define ACE_LACKS_MMAP
287 #define ACE_LACKS_MSYNC
288 #define ACE_LACKS_MPROTECT
289 #if !defined (ACE_MAIN)
290 # define ACE_MAIN ace_main
291 #endif /* ! ACE_MAIN */
292 #define ACE_LACKS_TZSET
293 #define ACE_LACKS_ISWCTYPE
294 #define ACE_LACKS_ISBLANK
297 // It is possible to enable pthread support with VxWorks, when the user decides
298 // to use this, we need some more defines
299 #if defined ACE_HAS_PTHREADS
300 # define ACE_HAS_THREAD_SPECIFIC_STORAGE
301 # if !defined __RTP__
302 # define ACE_LACKS_PTHREAD_ATTR_SETSTACK
304 # define ACE_HAS_PTHREAD_ATTR_SETNAME
305 # define ACE_HAS_POSIX_SEM
306 # define ACE_LACKS_MUTEXATTR_PSHARED
307 # define ACE_LACKS_CONDATTR_PSHARED
308 // Include this file, the sys/stat.h file shipped with VxWorks has old types
309 // and without this include we get a lot of compile errors. A TSR has been filed
310 // so that hopefully in the future we can zap this include
311 #include "types/vxTypesOld.h"
313 # define ACE_LACKS_PTHREAD_H
314 # define ACE_HAS_VXTHREADS
315 # if !defined __RTP__
316 // Only when building for kernel mode we can use TSS emulation, in rtp mode
317 // we can't use the WIND_TCB struct anymore
318 # define ACE_HAS_TSS_EMULATION
319 # if !defined (ACE_VXWORKS_SPARE)
320 # define ACE_VXWORKS_SPARE spare4
321 # endif /* ! ACE_VXWORKS_SPARE */
323 // VxWorks has no recursive mutexes. This was set in the past but it doesn't
324 // work with the pthread support, so only set it for the time being when pthread
326 # define ACE_HAS_RECURSIVE_MUTEXES
327 # define ACE_LACKS_COND_T
328 # define ACE_HAS_MUTEX_TIMEOUTS
331 #if !defined (ACE_MT_SAFE)
332 # define ACE_MT_SAFE 1
335 // VxWorks defines the CPU define MAP, undef it to prevent problems with
341 #if !defined (ACE_NEEDS_HUGE_THREAD_STACKSIZE)
342 # define ACE_NEEDS_HUGE_THREAD_STACKSIZE 65536
343 #endif /* ACE_NEEDS_HUGE_THREAD_STACKSIZE */
345 #if !defined (ACE_NTRACE)
346 # define ACE_NTRACE 1
347 #endif /* ACE_NTRACE */
349 #if defined (ACE_HAS_IP_MULTICAST)
350 # define ACE_LACKS_PERFECT_MULTICAST_FILTERING 1
351 #endif /* ACE_HAS_IP_MULTICAST */
353 #include /**/ "ace/post.h"
354 #endif /* ACE_CONFIG_VXWORKS_6_4_H */