2 // $Id: config-vxworks5.x.h 81850 2008-06-06 08:39:54Z vzykov $
4 // The following configuration file is designed to work for VxWorks
5 // 5.5.x platforms using one of these compilers:
6 // 1) The GNU g++ compiler that is shipped with Tornado 2.2 or newer.
7 // 2) The Green Hills 1.8.8 and newer 1.8.9 compilers (not tested
8 // already for a long time)
9 // 3) The WindRiver Compiler (formerly known as Diab)
13 #include /**/ "ace/pre.h"
15 #if ! defined (VXWORKS)
17 #endif /* ! VXWORKS */
19 #if ! defined (ACE_VXWORKS)
20 # define ACE_VXWORKS 0x551
21 #endif /* ! ACE_VXWORKS */
23 #if ! defined (__ACE_INLINE__)
24 # define __ACE_INLINE__
25 #endif /* ! __ACE_INLINE__ */
27 // Compiler-specific configuration.
28 #if defined (__GNUG__)
29 # include "ace/config-g++-common.h"
31 # define ACE_LACKS_IOSTREAM_FX
33 # if !defined (ACE_MAIN)
34 # define ACE_MAIN ace_main
35 # endif /* ! ACE_MAIN */
37 # define ACE_LACKS_LINEBUFFERED_STREAMBUF
40 # define ACE_CDR_IMPLEMENT_WITH_NATIVE_DOUBLE 1
43 # if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3))
44 // GNU 3.3+ toolchain supports long long types but fails to define this so STL
45 // skips some definitions
46 # if !defined (_GLIBCPP_USE_LONG_LONG)
47 # define _GLIBCPP_USE_LONG_LONG
49 # endif /* (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) */
52 // Processor type, if necessary. Green Hills defines "ppc".
54 # define ACE_HAS_POWERPC_TIMER
55 # define ACE_LACKS_CLEARERR
58 # define ACE_CONFIG_INCLUDE_GHS_COMMON
59 # include "ace/config-ghs-common.h"
61 # define ACE_LACKS_UNISTD_H
62 # define ACE_LACKS_IOSTREAM_TOTALLY
64 // Short-circuit the include of <arpa/inet.h>
65 // Green Hills has a problem with multiply defined functions
66 // with different parameters.
69 #elif defined (__DCPLUSPLUS__) || defined (__DCC__)
70 // Diab 4.2a or later.
71 # if !defined (ACE_LACKS_PRAGMA_ONCE)
72 // We define it with a -D with make depend.
73 # define ACE_LACKS_PRAGMA_ONCE
74 # endif /* ! ACE_LACKS_PRAGMA_ONCE */
76 // Diab doesn't support VxWorks' iostream libraries.
77 # define ACE_LACKS_IOSTREAM_TOTALLY
78 # define ACE_LACKS_ACE_IOSTREAM
80 # define ACE_HAS_STANDARD_CPP_LIBRARY 1
81 # define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 0
83 # define ACE_TEMPLATES_REQUIRE_SOURCE
85 #else /* ! __GNUG__ && ! ghs && !__DCC__ */
86 # ifdef __cplusplus /* Let it slide for C compilers. */
87 # error unsupported compiler on VxWorks
88 # endif /* __cplusplus */
89 #endif /* ! __GNUG__ && ! ghs */
91 // OS-specific configuration
92 #define ACE_HAS_4_4BSD_SENDMSG_RECVMSG
93 #define ACE_HAS_SIZET_PTR_ASCTIME_R_AND_CTIME_R
94 #define ACE_MKDIR_LACKS_MODE
95 #define ACE_HAS_NONCONST_GETBY
96 #define ACE_HAS_NONCONST_STAT
97 #define ACE_HAS_NONCONST_SWAB
98 #define ACE_HAS_NONCONST_READV
99 #define ACE_HAS_NONCONST_CHDIR
100 #define ACE_HAS_NONCONST_UNLINK
101 #define ACE_HAS_NONCONST_OPENDIR
102 #define ACE_LACKS_UNIX_SYSLOG
103 #define ACE_DEFAULT_MAX_SOCKET_BUFSIZ 32768
104 #define ACE_DEFAULT_THREAD_KEYS 16
105 #define ACE_HAS_BROKEN_ACCEPT_ADDR
106 #define ACE_HAS_NONCONST_SENDMSG
107 #define ACE_HAS_NONCONST_WRITEV
108 #define ACE_HAS_CHARPTR_DL
109 #define ACE_HAS_CHARPTR_SOCKOPT
110 #define ACE_HAS_CLOCK_GETTIME
111 #define ACE_HAS_CLOCK_SETTIME
112 #define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES
113 #define ACE_HAS_CPLUSPLUS_HEADERS
114 #define ACE_HAS_DIRENT
115 #define ACE_HAS_DLL 0
116 #define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT
117 #define ACE_HAS_IOCTL_INT_3_PARAM
119 #define ACE_HAS_NONCONST_READV
120 #define ACE_HAS_NONCONST_SELECT_TIMEVAL
121 #define ACE_HAS_NONSTATIC_OBJECT_MANAGER
122 #define ACE_HAS_POSIX_NONBLOCK
123 #define ACE_HAS_POSIX_TIME
124 #define ACE_HAS_REENTRANT_FUNCTIONS
125 #define ACE_HAS_SIGINFO_T
126 #define ACE_HAS_SIGWAIT
127 #define ACE_HAS_SIG_ATOMIC_T
128 #define ACE_HAS_SOCKADDR_IN_SIN_LEN
129 #define ACE_HAS_SOCKADDR_IN6_SIN6_LEN
130 #define ACE_HAS_STRDUP_EMULATION
131 #define ACE_HAS_STRERROR
132 #define ACE_HAS_THREADS
133 #define ACE_LACKS_ALPHASORT
134 #define ACE_LACKS_ACCESS
135 #define ACE_LACKS_EXEC
136 #define ACE_LACKS_FCNTL
137 #define ACE_LACKS_FILELOCKS
138 #define ACE_LACKS_FORK
139 #define ACE_LACKS_FSYNC
140 #define ACE_LACKS_GETHOSTENT
141 #define ACE_LACKS_GETOPT
142 #define ACE_LACKS_GETPID
143 #define ACE_LACKS_GETPPID
144 #define ACE_LACKS_GETSERVBYNAME
145 #define ACE_LACKS_KEY_T
146 #define ACE_LACKS_LSTAT
147 #define ACE_LACKS_MADVISE
148 #define ACE_LACKS_MALLOC_H
149 #define ACE_LACKS_MEMORY_H
150 #define ACE_LACKS_MKFIFO
151 #define ACE_LACKS_MKTEMP
152 #define ACE_LACKS_MKSTEMP
153 #define ACE_LACKS_MMAP
154 #define ACE_LACKS_MPROTECT
155 #define ACE_LACKS_MSYNC
156 #define ACE_LACKS_NUMERIC_LIMITS
157 #define ACE_LACKS_GETPROTOBYNAME
158 #define ACE_LACKS_GETPROTOBYNUMBER
159 #define ACE_LACKS_GETHOSTBYADDR
160 #define ACE_LACKS_GETHOSTBYNAME
161 #define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS
162 #define ACE_LACKS_SYS_PARAM_H
163 #define ACE_LACKS_PWD_FUNCTIONS
164 #define ACE_LACKS_RAND_REENTRANT_FUNCTIONS
165 #define ACE_LACKS_READDIR_R
166 #define ACE_LACKS_READLINK
167 #define ACE_LACKS_REALPATH
168 #define ACE_LACKS_RLIMIT
169 #define ACE_LACKS_RWLOCK_T
170 #define ACE_LACKS_SBRK
171 #define ACE_LACKS_SEEKDIR
172 #define ACE_LACKS_SEMBUF_T
173 #define ACE_LACKS_SIGINFO_H
174 #define ACE_LACKS_SI_ADDR
175 #define ACE_LACKS_SOCKETPAIR
176 #define ACE_LACKS_STRCASECMP
177 #define ACE_LACKS_STRRECVFD
178 #define ACE_LACKS_SYSCALL
179 #define ACE_LACKS_SYSCONF
180 #define ACE_LACKS_SYS_SYSCTL_H
181 #define ACE_LACKS_SYSV_SHMEM
182 #define ACE_LACKS_TELLDIR
183 #define ACE_LACKS_TEMPNAM
184 #define ACE_LACKS_TIMESPEC_T
185 #define ACE_LACKS_TRUNCATE
186 #define ACE_LACKS_UCONTEXT_H
187 #define ACE_LACKS_UMASK
188 #define ACE_LACKS_UTSNAME_T
189 #define ACE_LACKS_UNAME
190 #define ACE_LACKS_STRPTIME
191 #define ACE_LACKS_VSNPRINTF
192 #define ACE_LACKS_WAIT
193 #define ACE_LACKS_WAITPID
194 #define ACE_LACKS_DUP2
195 #define ACE_LACKS_DUP
196 #define ACE_LACKS_SUSECONDS_T
197 #define ACE_LACKS_USECONDS_T
198 #define ACE_LACKS_INTPTR_T
199 #define ACE_PAGE_SIZE 4096
200 #define ACE_THR_PRI_FIFO_DEF 101
201 #define ACE_THR_PRI_OTHER_DEF ACE_THR_PRI_FIFO_DEF
202 #define ACE_HAS_SIGTIMEDWAIT
203 #define ACE_HAS_SIGSUSPEND
204 #if !defined (ACE_VXWORKS_SPARE)
205 # define ACE_VXWORKS_SPARE spare4
206 #endif /* ! ACE_VXWORKS_SPARE */
208 #define ACE_LACKS_SETEGID
209 #define ACE_LACKS_SETPGID
210 #define ACE_LACKS_SETREGID
211 #define ACE_LACKS_SETREUID
212 #define ACE_LACKS_SETSID
213 #define ACE_LACKS_SETUID
214 #define ACE_LACKS_SETEUID
215 #define ACE_LACKS_GETEGID
216 #define ACE_LACKS_GETGID
217 #define ACE_LACKS_GETEUID
218 #define ACE_LACKS_GETUID
219 #define ACE_LACKS_SETGID
220 #define ACE_LACKS_GETPGID
222 #define ACE_LACKS_PIPE
223 #define ACE_LACKS_STDINT_H
224 #define ACE_LACKS_INTTYPES_H
225 #define ACE_LACKS_UNISTD_H
226 #define ACE_LACKS_SYS_SELECT_H
227 #define ACE_LACKS_SYS_TIME_H
228 #define ACE_LACKS_SYS_RESOURCE_H
229 #define ACE_LACKS_DLFCN_H
230 #define ACE_LACKS_SYS_UIO_H
231 #define ACE_LACKS_SYS_IPC_H
232 #define ACE_LACKS_SYS_SEM_H
233 #define ACE_LACKS_STROPTS_H
234 #define ACE_LACKS_SYS_MSG_H
235 #define ACE_LACKS_WCHAR_H
236 #define ACE_LACKS_PWD_H
237 #define ACE_LACKS_SEARCH_H
238 #define ACE_LACKS_SYS_SHM_H
239 #define ACE_LACKS_STRINGS_H
240 #define ACE_LACKS_TERMIOS_H
241 #define ACE_LACKS_POLL_H
242 #define ACE_LACKS_WCTYPE_H
244 // Not sure if these should always be defined.
245 #define ACE_LACKS_SYS_UN_H
247 // Some string things
248 #define ACE_LACKS_WCSCAT
249 #define ACE_LACKS_WCSCHR
250 #define ACE_LACKS_WCSCMP
251 #define ACE_LACKS_WCSCPY
252 #define ACE_LACKS_WCSCSPN
253 #define ACE_LACKS_WCSLEN
254 #define ACE_LACKS_WCSNCAT
255 #define ACE_LACKS_WCSNCMP
256 #define ACE_LACKS_WCSNCPY
257 #define ACE_LACKS_WCSPBRK
258 #define ACE_LACKS_WCSRCHR
259 #define ACE_LACKS_WCSSPN
260 #define ACE_LACKS_WCSSTR
261 #define ACE_LACKS_WCSTOK
262 #define ACE_LACKS_TOWLOWER
263 #define ACE_LACKS_TOWUPPER
264 #define ACE_LACKS_ITOW
265 #define ACE_LACKS_WCSICMP
266 #define ACE_LACKS_WCSNICMP
267 #define ACE_LACKS_WCSTOD
268 #define ACE_LACKS_WCSTOL
269 #define ACE_LACKS_WCSTOUL
270 #define ACE_LACKS_WCSDUP
271 #define ACE_LACKS_STRTOULL
272 #define ACE_LACKS_WCSTOULL
274 #define ACE_LACKS_SYMLINKS
275 #define ACE_LACKS_FGETWC
276 #define ACE_LACKS_FGETWS
277 #define ACE_LACKS_FPUTWS
279 #if defined (ACE_HAS_VXWORKS551_PID) || (ACE_HAS_VXWORKS551_PCD) || (ACE_HAS_VXWORKS551_PNE)
280 # define ACE_HAS_VXWORKS551_MEDUSA
283 #if defined (ACE_HAS_VXWORKS551_MEDUSA)
284 # define ACE_HAS_GETIFADDRS
287 // It is possible to enable pthread support with VxWorks, when the user decides
288 // to use this, we need some more defines
289 #if defined ACE_HAS_PTHREADS
290 # define ACE_LACKS_CONDATTR_PSHARED
291 # define ACE_LACKS_MUTEXATTR_PSHARED
292 # define ACE_HAS_THREAD_SPECIFIC_STORAGE
293 # define ACE_HAS_POSIX_SEM
294 // Include this file, the sys/stat.h file shipped with VxWorks has old types
295 // and without this include we get a lot of compile errors. A TSR has been filed
296 // so that hopefully in the future we can zap this include
297 #include "types/vxTypesOld.h"
299 # define ACE_HAS_VXTHREADS
300 # define ACE_LACKS_PTHREAD_H
301 # define ACE_LACKS_COND_T
302 // VxWorks has no recursive mutexes. This was set in the past but it doesn't
303 // work with the pthread support, so only set it for the time being when pthread
305 # define ACE_HAS_RECURSIVE_MUTEXES
306 // VxWorks does not have the pthread_mutex_timedlock operation, but there is
307 // an emulation for this when not using the pthread mapping
308 #define ACE_HAS_MUTEX_TIMEOUTS
309 #define ACE_HAS_TSS_EMULATION
312 #if !defined (ACE_MT_SAFE)
313 # define ACE_MT_SAFE 1
316 // Needed include to get all VxWorks CPU types
317 #include "types/vxCpu.h"
318 #if (CPU == PENTIUM || CPU == PENTIUM2 || CPU == PENTIUM3 || CPU == PENTIUM4)
319 // If running an Intel Pentium the
320 // ACE_OS::gethrtime () can use the RDTSC instruction.
321 # define ACE_HAS_PENTIUM
324 # if defined (TOOL) && (TOOL == gnu)
325 # if defined (CPU) && (CPU == PPC85XX || CPU == PPC604 || CPU == PPC603)
326 // These PPC's do lack log2
327 # define ACE_LACKS_LOG2
331 #if !defined (ACE_NEEDS_HUGE_THREAD_STACKSIZE)
332 # define ACE_NEEDS_HUGE_THREAD_STACKSIZE 65536
333 #endif /* ACE_NEEDS_HUGE_THREAD_STACKSIZE */
335 #if !defined (ACE_NTRACE)
336 # define ACE_NTRACE 1
337 #endif /* ACE_NTRACE */
339 // By default, don't include RCS Id strings in object code.
340 #if !defined (ACE_USE_RCSID)
341 #define ACE_USE_RCSID 0
342 #endif /* !ACE_USE_RCSID */
344 #include /**/ "ace/post.h"
345 #endif /* ACE_CONFIG_H */