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