Initial Patch of Auction House bot rev. 135
[auctionmangos.git] / dep / ACE_wrappers / m4 / config_h.m4
blobc3307fc3f0b594de0c0283bd94b277e20336a3b1
1 dnl -------------------------------------------------------------------------
2 dnl       $Id: config_h.m4 82833 2008-09-25 18:28:53Z jtc $
3 dnl
4 dnl       config_h.m4
5 dnl
6 dnl       ACE M4 include file which contains preprocessor constants
7 dnl       and other items to be place in the generated ace/config.h
8 dnl       header.
9 dnl
10 dnl       Please try to avoid adding new autoheader templates to this
11 dnl       file, as they get included in both ACE and TAO config.h.in
12 dnl       files, even though the cooresponding feature tests are only
13 dnl       included in the ACE configure script.  Put the autoheader
14 dnl       template in a AC_DEFUN used for the feature test, or use the
15 dnl       AC_DEFINE macro's third argument.
16 dnl
17 dnl -------------------------------------------------------------------------
19 dnl  Copyright (C) 2002, 2003  Ossama Othman
20 dnl
21 dnl  All Rights Reserved
22 dnl
23 dnl This library is free software; you can redistribute it and/or
24 dnl modify it under the current ACE distribution terms.
25 dnl
26 dnl This library is distributed in the hope that it will be useful,
27 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
28 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
30 dnl Prepare the ace/config.h.in template.
31 dnl
32 dnl Usage: ACE_PREP_CONFIG_HEADER
33 AC_DEFUN([ACE_PREP_CONFIG_HEADER],
35 dnl Text to be placed at the top of the `ace/config.h' header.
36 AH_TOP([
37 #ifndef ACE_CONFIG_H
38 #define ACE_CONFIG_H
40 // ACE configuration header file
45 dnl Text to be placed at the bottom of the `ace/config.h' header.
46 dnl
47 dnl @note Do not remove the "] [" between the words "Local Variables".
48 dnl       The generated Emacs "Local Variables" block will not contain
49 dnl       those characters.  They are merely interpreted by M4 as two
50 dnl       concatenated text blocks.  This is necessary to prevent
51 dnl       Emacs from inadvertently applying the "Local Variables"
52 dnl       block being placed in the generated "config.h" header to
53 dnl       this Autoconf/M4 file.
54 AH_BOTTOM([
57 #endif  /* ACE_CONFIG_H */
60 // Local] [Variables:
61 // mode:C++
62 // End:
67 dnl ACE currently doesn't use these; however the configure script does
68 AH_TEMPLATE([ACE_LACKS_UNBUFFERED_STREAMBUF],[])
69 AH_TEMPLATE([ACE_HAS_STDCPP_STL_INCLUDES],[])
71 AH_TEMPLATE([ACE_HAS_NEW_NO_H],[Platform provides new style C++ <new> header])
72 AH_TEMPLATE([ACE_HAS_STDEXCEPT_NO_H],[Platform provides C++ <stdexcept> header])
74 dnl Deprecated! (or soon to be?)
75 AH_TEMPLATE([ACE_HAS_OSF1_GETTIMEOFDAY],
76 [timezone* 2nd parameter & no prototype])
77 AH_TEMPLATE([ACE_HAS_LYNXOS_SIGNALS],[])
78 AH_TEMPLATE([ACE_HAS_TANDEM_SIGNALS],[])
80 AH_TEMPLATE([PTHREAD_STACK_MIN],[])
82 dnl ///////////////////// OSSAMA'S NEW STUFF ////////////////// */
83 dnl THIS STUFF WILL REPLACE THE ABOVE OLDER STUFF AND/OR WILL BE MERGED INTO IT
86 dnl /* results from checks for programs */
87 dnl /* results from checks for libraries */
88 dnl /* results from checks for header files */
89 dnl /* results from checks for typedefs */
90 dnl /* results from checks for structures */
91 dnl /* results from checks for variables */
92 dnl /* results from checks for compiler characteristics */
93 dnl /* results from checks for library functions */
94 dnl /* results from checks for system services */
96 dnl AIX specific configuration parameters
97 AH_TEMPLATE([AIX],[Configure for use on AIX])
99 dnl FreeBSD specific configuration parameters
100 dnl Nothing yet
102 dnl HP/UX specific configuration parameters
103 AH_TEMPLATE([HPUX],[Configure for use on HP-UX])
104 AH_TEMPLATE([HPUX_10],[Configure for use on HP-UX 10])
105 AH_TEMPLATE([HPUX_11],[Configure for use on HP-UX 11])
107 dnl Irix specific configuration parameters
108 AH_TEMPLATE([IRIX5],[Configure for use on Irix 5])
109 AH_TEMPLATE([IRIX6],[Configure for use on Irix 6])
110 AH_TEMPLATE([ACE_HAS_IRIX62_THREADS],
111 [Platform supports the very odd IRIX 6.2 threads...])
113 dnl Linux specific configuration parameters
114 dnl Nothing yet */
116 dnl LynxOS specific configuration parameters
117 AH_TEMPLATE([__NO_INCLUDE_WARN__],[])
119 dnl MVS specific configuration parameters
120 dnl Nothing yet
122 dnl NetBSD specific configuration parameters
123 dnl Nothing yet
125 dnl OSF/1 and Digital Unix specific configuration parameters
126 AH_TEMPLATE([DEC_CXX],[])
127 AH_TEMPLATE([DIGITAL_UNIX],[Configure for use on Digital Unix])
129 dnl SCO specific configuration parameters
130 AH_TEMPLATE([SCO],[])
132 dnl Tandem specific configuration parameters
133 dnl Nothing yet
135 dnl UnixWare specific configuration parameters
136 AH_TEMPLATE([UNIXWARE],[Configure for use on UnixWare])
137 AH_TEMPLATE([UNIXWARE_2_0],[])
138 AH_TEMPLATE([UNIXWARE_2_1],[])
139 AH_TEMPLATE([UNIXWARE_7_1],[])
140 AH_TEMPLATE([__IOCTL_VERSIONED__],[])
142 dnl VXWorks specific configuration parameters
143 AH_TEMPLATE([VXWORKS],[Configure for use on VxWorks])
145 dnl Win32 specific configuration parameters
146 AH_TEMPLATE([ACE_WIN32],[Configure for use on Win32])
148 AH_TEMPLATE([ACE_DISABLE_DEBUG_DLL_CHECK],
149 [Define this if you don't want debug version ACE search for debug version
150 DLLs first before looking for the DLL names specified.])
152 AH_TEMPLATE([ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS],
153 [Platform/compiler supports Win32 structural exceptions.])
155 AH_TEMPLATE([ACE_WSOCK_VERSION],
156 [A parameter list indicating the version of WinSock (e.g., "1, 1" is
157 version 1.1).])
159 AH_TEMPLATE([ACE_HAS_MFC],[Platform supports Microsoft Foundation Classes])
161 AH_TEMPLATE([ACE_USES_STATIC_MFC],
162 [When linking MFC as a static library is desired])
164 AH_TEMPLATE([ACE_HAS_CANCEL_IO],
165 [Platform supports the Win32 CancelIO() function. (WinNT 4.0 and beyond)])
167 AH_TEMPLATE([ACE_HAS_WIN32_TRYLOCK],
168 [The Win32 platform support TryEnterCriticalSection(). (WinNT 4.0 and
169 beyond)])
171 AH_TEMPLATE([ACE_HAS_WINSOCK2],[The Win32 platform supports WinSock 2.0.])
173 AH_TEMPLATE([ACE_USE_SELECT_REACTOR_FOR_REACTOR_IMPL],
174 [For Win32: Use Select_Reactor as default implementation of Reactor
175    instead of WFMO_Reactor.])
177 AH_TEMPLATE([ACE_HAS_DLL],[Build ACE using the frigging PC DLL nonsense...])
179 AH_TEMPLATE([ACE_HAS_STRICT],[Use the STRICT compilation mode on Win32.])
181 AH_TEMPLATE([CYGWIN32], [GNU Win32 environement])
184 dnl ACE internals
185 AH_TEMPLATE([ACE_DEFAULT_BASE_ADDR],[])
186 AH_TEMPLATE([ACE_DEFAULT_BASE_ADDRL],[])
187 AH_TEMPLATE([ACE_DEFAULT_CLOSE_ALL_HANDLES],[])
188 AH_TEMPLATE([ACE_DEFAULT_MAX_SOCKET_BUFSIZ],[])
189 AH_TEMPLATE([ACE_DEFAULT_SELECT_REACTOR_SIZE],[The default number of handles the select()-based reactor should handle])
190 AH_TEMPLATE([ACE_MALLOC_ALIGN],[])
191 AH_TEMPLATE([ACE_MAP_PRIVATE],[])
192 AH_TEMPLATE([ACE_THR_PRI_FIFO_DEF],[])
193 AH_TEMPLATE([ACE_TIMER_SKEW],[])
194 AH_TEMPLATE([IP_ADD_MEMBERSHIP],[])
195 AH_TEMPLATE([IP_DROP_MEMBERSHIP],[])
197 AH_TEMPLATE([ACE_LOFF_T_TYPEDEF],[typedef for ACE_LOFF_T])
199 AH_TEMPLATE([__ACE_INLINE__],[Enable ACE inlining])
201 AH_TEMPLATE([ACE_NO_INLINE],[Explicitly disable ACE inlining])
203 AH_TEMPLATE([ACE_COMPILE_TIMEPROBES],[Enable ACE_Timeprobes])
205 AH_TEMPLATE([ACE_HAS_GNU_REPO],
206 [Enable use of GNU template repositories.  GNU C++ w/repo patch
207 and EGCS only])
209 AH_TEMPLATE([ACE_HAS_AIO_CALLS],[Platform supports Asynchronous IO calls])
211 AH_TEMPLATE([ACE_HAS_ALT_CUSERID],
212 [Use ACE's alternate cuserid() implementation since a system
213 cuserid() may not exist, or it is not desirable to use it.  The
214 implementation requires ACE_LACKS_PWD_FUNCTIONS to be undefined and
215 that the geteuid() system call exists.])
217 AH_TEMPLATE([ACE_DEFAULT_THREAD_KEYS],
218 [Number of TSS keys, with ACE_HAS_TSS_EMULATION _only_.  Defaults to 64.])
220 AH_TEMPLATE([ACE_THREADS_DONT_INHERIT_LOG_MSG],
221 [Specify this if you don't want threads to inherit parent thread's
222 ACE_Log_Msg properties.])
224 AH_TEMPLATE([ACE_HAS_PRIOCNTL],[OS has priocntl (2)])
226 AH_TEMPLATE([ACE_HAS_RLIMIT_RESOURCE_ENUM],
227 [Platform has enum instead of int for first argument to ::{get,set}rlimit ().
228 The value of this macro is the enum definition, e.g.,
229 enum __rlimit_resource, for Linux glibc 2.0.])
231 AH_TEMPLATE([ACE_HAS_RUSAGE_WHO_ENUM],
232 [Platform has enum instead of int for first argument to ::getrusage ().  The
233 value of this macro is the enum definition, e.g., enum __rusage_who, for
234 Linux glibc 2.0.])
236 AH_TEMPLATE([ACE_HAS_STDARG_THR_DEST],
237 [Platform has void (*)(...) prototype for pthread_key_create()
238 destructor (e.g., LynxOS).])
240 AH_TEMPLATE([ACE_HAS_STL_MAP_CONFLICT],
241 [Used when users want to compile ACE with STL and STL map class
242 conflicts with <net/if.h> map struct.])
244 AH_TEMPLATE([ACE_HAS_STL_QUEUE_CONFLICT],
245 [Used when users want to compile ACE with STL and STL queue class
246 conflicts with <netinet/in.h> queue struct.])
248 AH_TEMPLATE([ACE_HAS_4_4BSD_SENDMSG_RECVMSG],
249 [Platform has BSD 4.4 sendmsg()/recvmsg() APIs.])
251 AH_TEMPLATE([ACE_HAS_P_READ_WRITE],
252 [Platform has pread() and pwrite() support.])
254 AH_TEMPLATE([ACE_HAS_AIX_HI_RES_TIMER],
255 [Platform has AIX4 ::read_real_time()])
257 AH_TEMPLATE([ACE_HAS_ALLOCA],[Compiler/platform supports alloca().])
259 AH_TEMPLATE([ACE_HAS_ALLOCA_H],[Compiler/platform has <alloca.h>])
261 AH_TEMPLATE([ACE_HAS_AUTOMATIC_INIT_FINI],
262 [Compiler/platform correctly calls init()/fini() for shared libraries.])
264 AH_TEMPLATE([ACE_HAS_WORKING_EXPLICIT_TEMPLATE_DESTRUCTOR],
265 [Compiler handles explicit calling of template destructor correctly.])
267 AH_TEMPLATE([ACE_EXPLICIT_TEMPLATE_DESTRUCTOR_TAKES_ARGS],
268 [Compiler requires template args when explicitly calling template destructor.])
270 AH_TEMPLATE([ACE_HAS_BROKEN_MAP_FAILED],
271 [Platform doesn't cast MAP_FAILED to a (void *).])
273 AH_TEMPLATE([ACE_HAS_BROKEN_CTIME],
274 [Compiler/platform uses macro for ctime (e.g., MVS)])
276 AH_TEMPLATE([ACE_HAS_BROKEN_DGRAM_SENDV],
277 [Platform sendv() does not work properly with datagrams, i.e. it
278 fails when the iovec size is IOV_MAX.])
280 AH_TEMPLATE([ACE_HAS_BROKEN_MSG_H],
281 [Platform headers don't support <msg.h> prototypes])
283 AH_TEMPLATE([ACE_HAS_BROKEN_MMAP_H],
284 [HP/UX does not wrap the mmap(2) header files with extern "C".])
286 AH_TEMPLATE([ACE_HAS_BROKEN_POSIX_TIME],
287 [Platform defines struct timespec in <sys/timers.h>])
289 AH_TEMPLATE([ACE_HAS_BROKEN_R_ROUTINES],
290 [Platform defines ctime_r, asctime_r, rand_r and getpwnam_r as macros])
292 AH_TEMPLATE([ACE_HAS_BROKEN_RANDR],
293 [OS/compiler's header files are inconsistent with libC definition of
294 rand_r().])
296 AH_TEMPLATE([ACE_HAS_BROKEN_T_ERROR],
297 [Compiler/platform has the wrong prototype for t_error(), i.e.,
298 t_error(char *) rather than t_error(const char *).])
300 AH_TEMPLATE([ACE_HAS_BSTRING],
301 [Platform has <bstring.h> (which contains bzero() prototype)])
303 AH_TEMPLATE([ACE_HAS_CHARPTR_DL],
304 [OS/platform uses char * for dlopen/dlsym args, rather than const char *.])
306 AH_TEMPLATE([ACE_HAS_CHARPTR_SOCKOPT],
307 [OS/platform uses char * for sockopt, rather than const char *])
309 AH_TEMPLATE([ACE_HAS_CONFLICTING_XTI_MACROS],
310 [OS header files have some problems with XTI (HP/UX 11).])
312 AH_TEMPLATE([ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES],
313 [Prototypes for both signal() and struct sigaction are consistent.])
315 AH_TEMPLATE([ACE_HAS_CONST_CHAR_SWAB],
316 [Platform has swab(const char*, char*, ssize_t) variant.])
318 AH_TEMPLATE([ACE_HAS_CPLUSPLUS_HEADERS],
319 [Compiler/platform has correctly prototyped header files.])
321 AH_TEMPLATE([ACE_HAS_DIRENT],
322 [Platform supports operations on directories via struct dirent,
323 readdir_r, etc.])
325 AH_TEMPLATE([ACE_HAS_EXCEPTIONS],[Compiler supports C++ exception handling.])
327 AH_TEMPLATE([ACE_HAS_FL],[Platform has Fast-Light (FL) toolkit installed.])
329 AH_TEMPLATE([ACE_HAS_GETPAGESIZE],
330 [Platform supports getpagesize() call (otherwise, ACE_PAGE_SIZE must
331 be defined, except on Win32).])
333 AH_TEMPLATE([ACE_HAS_GNU_CSTRING_H],
334 [Denotes that GNU has cstring.h as standard which redefines memchr()])
336 AH_TEMPLATE([ACE_HAS_INTRINSIC_INTERLOCKED],
337 [Platform supports the intrinsic interlocked optimizations.])
339 AH_TEMPLATE([ACE_HAS_GPERF],
340 [The GPERF utility is compiled for this platform])
342 AH_TEMPLATE([ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT],
343 [Optimize ACE_Handle_Set::count_bits for select() operations (common case)])
345 AH_TEMPLATE([ACE_HAS_INLINED_OSCALLS],[
346 Inline all the static class OS methods to remove call overhead
347 Note: This gets defined by OS.h if __ACE_INLINE__ is defined])
349 AH_TEMPLATE([ACE_HAS_IP_MULTICAST],[Platform supports IP multicast])
351 AH_TEMPLATE([ACE_HAS_IPV6],[Platform supports IPv6])
352 AH_TEMPLATE([ACE_USES_IPV4_IPV6_MIGRATION],
353 [Enable IPv6 support on platforms that don't have IPv6 turned on by default])
355 AH_TEMPLATE([ACE_HAS_NEW_NOTHROW],
356 [Compiler supports new (std::nothrow)])
358 AH_TEMPLATE([ACE_HAS_NONCONST_SWAB],
359 [Platform has swab(char*, char*, ssize_t) variant.])
361 AH_TEMPLATE([ACE_HAS_NONSTATIC_OBJECT_MANAGER],
362 [Causes the ACE_Object_Manager instance to be created in
363    main (int, char *[]), instead of as a static (global) instance.])
365 AH_TEMPLATE([ACE_HAS_THR_KEYDELETE],
366 [Platform supports thr_keydelete (e.g,. UNIXWARE)])
368 AH_TEMPLATE([ACE_HAS_THR_MINSTACK],
369 [Platform calls thr_minstack() rather than thr_min_stack() (e.g., Tandem).])
371 AH_TEMPLATE([ACE_HAS_LIMITED_RUSAGE_T],
372 [The rusage_t structure has only two fields.])
374 AH_TEMPLATE([ACE_HAS_BIG_FD_SET],
375 [Compiler/platform has "big" fd_set, i.e. large number of bits set
376    in fd_set passed back from select().])
378 AH_TEMPLATE([ACE_HAS_LONG_MAP_FAILED],
379 [Platform defines MAP_FAILED as a long constant.])
381 AH_TEMPLATE([ACE_HAS_MALLOC_STATS], [Enabled malloc statistics collection.])
383 AH_TEMPLATE([ACE_USES_OLD_IOSTREAMS],
384 [Some files, such as ace/streams.h, want to include new style C++
385    stream headers.  These headers are iomanip, ios, iostream, istream,
386    ostream, fstream and streambuf.  If _all_ of these headers aren't
387    available, then assume that only iostream.h and fstream.h are
388    available.])
390 AH_TEMPLATE([ACE_HAS_MSG],[Platform supports recvmsg and sendmsg])
392 AH_TEMPLATE([ACE_HAS_MT_SAFE_MKTIME],
393 [Platform supports MT safe mktime() call (do any of them?)])
395 AH_TEMPLATE([ACE_HAS_MT_SAFE_SOCKETS],
396 [Sockets may be called in multi-threaded programs])
398 AH_TEMPLATE([ACE_HAS_NONCONST_GETBY],
399 [Platform uses non-const char * in calls to gethostbyaddr,
400    gethostbyname, getservbyname])
402 AH_TEMPLATE([ACE_HAS_NONCONST_MSGSND],
403 [Platform has a non-const parameter to msgsnd() (e.g., SCO).])
405 AH_TEMPLATE([ACE_HAS_NONCONST_READV],
406 [Platform omits const qualifier from iovec parameter in readv() prototype.])
408 AH_TEMPLATE([ACE_HAS_NONCONST_SELECT_TIMEVAL],
409 [Platform's select() uses non-const timeval* (only found on Linux
410    right now)])
412 AH_TEMPLATE([ACE_HAS_NONCONST_SENDMSG],
413 [Platform omits const qualifier from msghdr parameter in sendmsg()
414  prototype.])
416 AH_TEMPLATE([ACE_HAS_NONCONST_SETRLIMIT],
417 [Platform omits const qualifier from rlimit parameter in setrlimit()
418  prototype.])
420 AH_TEMPLATE([ACE_HAS_NONCONST_WRITEV],
421 [Platform omits const qualifier from iovec parameter in writev() prototype.])
423 AH_TEMPLATE([ACE_HAS_OLD_MALLOC],
424 [Compiler/platform uses old malloc()/free() prototypes (ugh)])
426 AH_TEMPLATE([ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R],
427 [Uses ctime_r & asctime_r with only two parameters vs. three.])
429 AH_TEMPLATE([ACE_HAS_ONLY_SCHED_OTHER],
430 [Platform, e.g., Solaris 2.5, only supports SCHED_OTHER POSIX
431    scheduling policy.])
433 AH_TEMPLATE([ACE_HAS_OPTIMIZED_MESSAGE_QUEUE],
434 [Use the semaphore implementation of ACE_Message_Queue rather than
435    the emulated condition variable (NT and VxWorks).])
437 AH_TEMPLATE([ACE_HAS_OSF_TIMOD_H],
438 [Platform supports the OSF TLI timod STREAMS module])
440 AH_TEMPLATE([ACE_HAS_POLL],[Platform contains <poll.h>])
442 AH_TEMPLATE([ACE_HAS_POSITION_INDEPENDENT_POINTERS],
443 [Platform supports "position-independent" features provided by
444    ACE_Based_Pointer<>.])
446 AH_TEMPLATE([ACE_HAS_POSIX_GETPWNAM_R],
447 [Platform supports POSIX getpwnam_r() function])
449 AH_TEMPLATE([ACE_HAS_POSIX_NONBLOCK],
450 [Platform supports POSIX O_NONBLOCK semantics])
452 AH_TEMPLATE([ACE_HAS_POSIX_REALTIME_SIGNALS],
453 [Platform supports POSIX realtime signals])
455 AH_TEMPLATE([ACE_HAS_POSIX_SEM],
456 [Platform supports POSIX real-time semaphores (e.g., VxWorks and
457    Solaris)])
459 AH_TEMPLATE([ACE_HAS_POSIX_SEM_TIMEOUT],
460 [Platform supports timed POSIX semaphore acquisitions (sem_timedwait()).])
462 AH_TEMPLATE([ACE_DISABLE_POSIX_SEM_TIMEOUT_EMULATION],
463 [Do not include emulation for timed semaphore acquisitions.])
465 AH_TEMPLATE([ACE_HAS_POSIX_TIME],
466 [Platform supports the POSIX struct timespec type])
468 AH_TEMPLATE([ACE_HAS_PROC_FS],
469 [Platform supports the /proc file system and defines tid_t
470    in <sys/procfs.h>])
472 AH_TEMPLATE([ACE_HAS_PTHREADS_UNIX98_EXT],
473 [Platform has the UNIX98 extensions to Pthreads (rwlocks)])
475 AH_TEMPLATE([ACE_HAS_PTHREAD_PROCESS_ENUM],
476 [pthread.h declares an enum with PTHREAD_PROCESS_PRIVATE and
477    PTHREAD_PROCESS_SHARED values])
479 AH_TEMPLATE([ACE_HAS_PURIFY],[Purify'ing.  Defined on command line.])
481 AH_TEMPLATE([ACE_HAS_QUANTIFY],[Quantify'ing.  Defined on command line.])
483 AH_TEMPLATE([ACE_HAS_RECURSIVE_MUTEXES],
484 [Mutexes are inherently recursive (e.g., Win32) ])
486 AH_TEMPLATE([ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS],
487 [Platform will recurse infinitely on thread exits from TSS cleanup
488    routines (e.g., AIX)])
490 AH_TEMPLATE([ACE_HAS_SIGACTION_CONSTP2],
491 [Platform's sigaction() function takes const sigaction* as 2nd parameter])
493 AH_TEMPLATE([ACE_HAS_REENTRANT_FUNCTIONS],
494 [Platform supports reentrant functions (i.e., all the POSIX *_r
495    functions).])
497 AH_TEMPLATE([ACE_HAS_X86_STAT_MACROS],
498 [Solaris for intel uses macros for fstat() and stat(), these are
499    wrappers for _fxstat() and _xstat() uses of the macros.  Causes
500    compile and runtime problems.])
502 AH_TEMPLATE([ACE_HAS_XPG4_MULTIBYTE_CHAR],
503 [Platform has support for multi-byte character support compliant
504    with the XPG4 Worldwide Portability Interface wide-character
505    classification.])
507 AH_TEMPLATE([ACE_LACKS_AUTO_MMAP_REPLACEMENT],
508 [No system support for replacing any previous mappings.])
510 AH_TEMPLATE([ACE_LACKS_AUTO_PTR],
511 [Platform lacks support for the standard C++ auto_ptr class])
513 AH_TEMPLATE([ACE_AUTO_PTR_LACKS_RESET],
514 [Compiler/platform standard C++ auto_ptr implementation lacks
515    reset() method])
517 AH_TEMPLATE([ACE_LACKS_READDIR_R],[Platform lacks readdir_r()])
519 AH_TEMPLATE([ACE_LACKS_INLINE_FUNCTIONS],
520 [Platform can't handle "inline" keyword correctly.])
522 AH_TEMPLATE([ACE_LACKS_IOSTREAM_TOTALLY],
523 [iostreams are not supported adequately on the given platform.])
525 AH_TEMPLATE([ACE_LACKS_NETDB_REENTRANT_FUNCTIONS],
526 [Platform does not support reentrant netdb functions
527    (getprotobyname_r, getprotobynumber_r, gethostbyaddr_r,
528    gethostbyname_r, getservbyname_r).])
530 AH_TEMPLATE([ACE_HAS_REGEX],
531 [Platform supports the POSIX regular expression library])
533 AH_TEMPLATE([ACE_HAS_SEMUN],
534 [Compiler/platform defines a union semun for SysV shared memory ])
536 AH_TEMPLATE([ACE_HAS_SHM_OPEN],[Platform has shm_open()])
537 AH_TEMPLATE([ACE_SHM_OPEN_REQUIRES_ONE_SLASH],[shm_open() requires a leading slash in name])
539 AH_TEMPLATE([ACE_HAS_SIGISMEMBER_BUG],
540 [Platform has bug with sigismember() (HP/UX 11).])
542 AH_TEMPLATE([ACE_HAS_SIG_MACROS],
543 [Platform/compiler has macros for sig{empty,fill,add,del}set (e.g.,
544    SCO and FreeBSD)])
546 AH_TEMPLATE([ACE_HAS_SIGNAL_OBJECT_AND_WAIT],
547 [Platform supports the Win32 SignalObjectAndWait() function (WinNT
548    4.0 and beyond).])
550 AH_TEMPLATE([ACE_HAS_SIG_C_FUNC],
551 [Compiler requires extern "C" functions for signals.])
553 AH_TEMPLATE([ACE_HAS_SIZET_SOCKET_LEN],
554 [OS/compiler uses size_t * rather than int * for socket lengths])
556 AH_TEMPLATE([ACE_HAS_SOCKADDR_MSG_NAME],
557 [Platform requires (struct sockaddr *) for msg_name field of
558    struct msghdr.])
560 AH_TEMPLATE([ACE_HAS_THR_YIELD],[Platform has thr_yield()])
562 AH_TEMPLATE([ACE_HAS_STANDARD_CPP_LIBRARY],
563 [Platform/compiler supports Standard C++ Library])
565 AH_TEMPLATE([ACE_HAS_STREAMS],[Platform supports STREAMS])
567 AH_TEMPLATE([ACE_HAS_STREAM_PIPES],[Platform supports STREAM pipes])
569 AH_TEMPLATE([ACE_LACKS_STROPTS_H],[Platform lacks stropts.h])
571 AH_TEMPLATE([ACE_HAS_STRING_CLASS],
572 [Platform/Compiler supports a String class (e.g., GNU or Win32).])
574 AH_TEMPLATE([ACE_HAS_STRINGS],
575 [Platform has <strings.h> (which contains bzero() prototype)])
577 AH_TEMPLATE([ACE_HAS_STRUCT_NETDB_DATA],
578 [Compiler/platform has strange hostent API for socket *_r() calls])
580 AH_TEMPLATE([ACE_HAS_SVR4_DYNAMIC_LINKING],
581 [Compiler/platform supports SVR4 dynamic linking semantics])
583 AH_TEMPLATE([ACE_HAS_SVR4_GETTIMEOFDAY],
584 [Compiler/platform supports SVR4 gettimeofday() prototype but
585    doesn't have a prototype])
587 AH_TEMPLATE([ACE_HAS_SVR4_SIGNAL_T],
588 [Compiler/platform supports SVR4 signal typedef.])
590 AH_TEMPLATE([ACE_HAS_SVR4_TLI],
591 [Compiler/platform supports SVR4 TLI (in particular, T_GETNAME stuff).])
593 AH_TEMPLATE([ACE_HAS_SYSV_IPC],
594 [Platform supports System V IPC (most versions of UNIX, but not Win32)])
596 AH_TEMPLATE([ACE_HAS_SYS_ERRLIST],
597 [Platform/compiler supports _sys_errlist symbol])
599 AH_TEMPLATE([ACE_HAS_SYS_SIGLIST],
600 [Compiler/platform supports _sys_siglist array])
602 AH_TEMPLATE([ACE_HAS_SYS_XTI_H],[Platform provides <sys/xti.h> header])
604 AH_TEMPLATE([ACE_HAS_TEMPLATE_TYPEDEFS],
605 [Compiler implements templates that support typedefs inside of
606    classes used as formal arguments to a template class.])
608 AH_TEMPLATE([ACE_HAS_THREADS],[Platform supports threads.])
610 AH_TEMPLATE([ACE_HAS_THREAD_SAFE_ACCEPT],
611 [Platform allows multiple threads to call accept() on the same port
612    (e.g., WinNT).])
614 AH_TEMPLATE([ACE_HAS_THREAD_SELF],
615 [Platform has thread_self() rather than pthread_self() (e.g.,
616    DCETHREADS and AIX)])
618 AH_TEMPLATE([ACE_HAS_THREAD_SPECIFIC_STORAGE],
619 [Compiler/platform has thread-specific storage])
621 AH_TEMPLATE([ACE_HAS_THR_C_DEST],
622 [The pthread_keycreate() routine *must* take extern C functions.])
624 AH_TEMPLATE([ACE_HAS_THR_C_FUNC],
625 [The pthread_create() routine *must* take extern C functions.])
627 AH_TEMPLATE([ACE_HAS_TIMEZONE_GETTIMEOFDAY],
628 [Platform/compiler supports timezone * as second parameter to
629    gettimeofday() and has a prototype.])
631 AH_TEMPLATE([ACE_HAS_TIMOD_H],
632 [Platform supports TLI timod STREAMS module])
634 AH_TEMPLATE([ACE_HAS_TIUSER_H],[Platform supports TLI tiuser header])
636 AH_TEMPLATE([ACE_HAS_TIUSER_H_BROKEN_EXTERN_C],
637 [Platform does not protect <tiuser.h> with extern "C"])
639 AH_TEMPLATE([ACE_HAS_TLI],
640 [Platform supports TLI.  Also see ACE_TLI_TCP_DEVICE.])
642 AH_TEMPLATE([ACE_HAS_TLI_PROTOTYPES],
643 [Platform provides TLI function prototypes])
645 AH_TEMPLATE([ACE_HAS_TSS_EMULATION],
646 [ACE provides TSS emulation.  See also ACE_DEFAULT_THREAD_KEYS.])
648 AH_TEMPLATE([ACE_HAS_UCONTEXT_T],
649 [Platform supports ucontext_t (which is used in the extended signal API).])
651 AH_TEMPLATE([ACE_HAS_UNIXWARE_SVR4_SIGNAL_T],
652 [Has inconsistent SVR4 signal stuff, but not the same as the other
653    platforms])
655 AH_TEMPLATE([ACE_HAS_WCHAR],[Platform/compiler supports wchar_t])
656 AH_TEMPLATE([ACE_USES_WCHAR],[ACE is built to use wide characters internally])
658 AH_TEMPLATE([ACE_HAS_VERBOSE_NOTSUP],
659 [Prints out console message in ACE_NOTSUP.  Useful for tracking down
660    origin of ACE_NOTSUP.])
662 AH_TEMPLATE([ACE_HAS_VOIDPTR_GETTIMEOFDAY],
663 [Platform/compiler supports void * as second parameter to
664    gettimeofday() and has a prototype.])
666 AH_TEMPLATE([ACE_HAS_VOIDPTR_MMAP],[Platform requires void * for mmap().])
668 AH_TEMPLATE([ACE_HAS_VOIDPTR_SOCKOPT],
669 [OS/compiler uses void * arg 4 setsockopt() rather than const char *])
671 AH_TEMPLATE([ACE_HAS_XLI],[Platform has the XLI version of TLI])
673 AH_TEMPLATE([ACE_HAS_XT],[Platform has Xt Intrinsics Toolkit])
675 AH_TEMPLATE([ACE_LACKS_MOTIF],
676 [Platform does not have Motif X toolkit available])
678 AH_TEMPLATE([ACE_HAS_XTI],
679 [Platform has XTI (X/Open-standardized superset of TLI).  Implies
680    ACE_HAS_TLI but uses a different header file.])
682 AH_TEMPLATE([ACE_LACKS_ACE_IOSTREAM],
683 [Platform can not build ace/IOStream{,_T}.cpp.  This does not
684    necessarily mean that the platform does not support iostreams.])
686 AH_TEMPLATE([ACE_LACKS_ACE_CODECS],
687 [Do not compile support for the "Codecs" ACE features.])
689 AH_TEMPLATE([ACE_LACKS_ACE_OTHER],
690 [Do not compile support for the "other" ACE features, such as CORBA
691    handling, name services, and QoS.])
693 AH_TEMPLATE([ACE_LACKS_ACE_SVCCONF],
694 [Do not compile support for the ACE Service Configurator.])
696 AH_TEMPLATE([ACE_LACKS_ACE_TOKEN],
697 [Do not compile support for the ACE Token feature.])
699 AH_TEMPLATE([ACE_LACKS_ACE_UUID],
700 [Do not compile support for the ACE UUID feature.])
702 AH_TEMPLATE([ACE_LACKS_COND_T],
703 [Platform lacks condition variables (e.g., Win32 and VxWorks)])
705 AH_TEMPLATE([ACE_LACKS_COND_TIMEDWAIT_RESET],
706 [pthread_cond_timedwait does *not* reset the time argument when
707    the lock is acquired.])
709 AH_TEMPLATE([ACE_LACKS_CONST_STRBUF_PTR],
710 [Platform uses struct strbuf * rather than const struct strbuf *
711    (e.g., HP/UX 10.x)])
713 AH_TEMPLATE([ACE_LACKS_CONST_TIMESPEC_PTR],
714 [Platform forgot const in cond_timewait (e.g., HP/UX).])
716 AH_TEMPLATE([ACE_LACKS_EXEC],
717 [Platform lacks the exec() family of system calls (e.g., Win32,
718    VxWorks, Chorus)])
720 AH_TEMPLATE([ACE_LACKS_GETSERVBYNAME],
721 [Platforms lacks getservbyname() (e.g., VxWorks and Chorus).])
723 AH_TEMPLATE([ACE_LACKS_IOSTREAM_FX],
724 [iostream header does not declare ipfx (), opfx (), etc.])
726 AH_TEMPLATE([ACE_LACKS_LINEBUFFERED_STREAMBUF],
727 [Platform lacks streambuf "linebuffered ()".])
729 AH_TEMPLATE([ACE_LACKS_LONGLONG_T],
730 [Compiler/platform does not support the unsigned long long datatype.])
732 AH_TEMPLATE([ACE_LACKS_U_LONGLONG_T],
733 [Platform does not have u_longlong_t typedef])
735 AH_TEMPLATE([ACE_LACKS_MMAP],
736 [The platform doesn't have mmap(2) (e.g., SCO UNIX).])
738 AH_TEMPLATE([ACE_LACKS_MODE_MASKS],
739 [Platform/compiler doesn't have open() mode masks.])
741 AH_TEMPLATE([ACE_LACKS_MSG_ACCRIGHTS],
742 [Platform defines ACE_HAS_MSG, but lacks msg_accrights{len}.])
744 AH_TEMPLATE([ACE_LACKS_NULL_PTHREAD_STATUS],
745 [OS requires non-null status pointer for pthread_join ()])
747 AH_TEMPLATE([ACE_HAS_MUTEX_TIMEOUTS],
748 [Compiler supports timed mutex acquisitions (e.g. pthread_mutex_timedlock()).])
750 AH_TEMPLATE([ACE_LACKS_NAMED_POSIX_SEM],
751 [Platform lacks named POSIX semaphores (e.g., Chorus)])
753 AH_TEMPLATE([ACE_LACKS_RLIMIT],
754 [Platform/compiler lacks {get,set}rlimit() function (e.g., VxWorks,
755    Chorus, and SCO UNIX)])
757 AH_TEMPLATE([ACE_LACKS_PLACEMENT_OPERATOR_DELETE],
758 [Compiler doesn't support placement operator delete(void *, void *).])
760 AH_TEMPLATE([ACE_LACKS_PRAGMA_ONCE],
761 [Compiler complains about use of obsolete "pragma once"])
763 AH_TEMPLATE([ACE_LACKS_PTHREAD_CANCEL],[Platform lacks pthread_cancel()])
765 AH_TEMPLATE([ACE_LACKS_PWD_FUNCTIONS],
766 [Platform lacks, getpwnam(), etc.])
768 AH_TEMPLATE([ACE_LACKS_PWD_REENTRANT_FUNCTIONS],
769 [Platform lacks getpwnam_r() methods (e.g., SGI 6.2).])
771 AH_TEMPLATE([ACE_LACKS_SETDETACH],
772 [Platform lacks pthread_attr_setdetachstate() (e.g., HP/UX 10.x)])
774 AH_TEMPLATE([ACE_LACKS_SETSCHED],
775 [Platform lacks pthread_attr_setsched() (e.g. MVS)])
777 AH_TEMPLATE([ACE_LACKS_SIGNED_CHAR],
778 [Platform lacks "signed char" type (broken!)])
780 AH_TEMPLATE([ACE_LACKS_SYS_MSG_H],
781 [Platform lacks sys/msg.h (e.g., Chorus and VxWorks)])
783 AH_TEMPLATE([ACE_LACKS_SYSV_MSQ_PROTOS],
784 [Platform lacks SYSV message queue prototypes])
786 AH_TEMPLATE([ACE_LACKS_SYSV_SHMEM],
787 [Platform lacks System V shared memory (e.g., Win32 and VxWorks)])
789 AH_TEMPLATE([ACE_LACKS_SOCKET_BUFSIZ],
790 [Platform doesn't support SO_SNDBUF/SO_RCVBUF (used in TAO)])
792 AH_TEMPLATE([ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES],
793 [Compiler doesn't support static data member templates])
795 AH_TEMPLATE([ACE_LACKS_T_ERRNO],[Header files lack t_errno for TLI])
797 AH_TEMPLATE([ACE_LACKS_TCP_NODELAY],[OS does not support TCP_NODELAY])
799 AH_TEMPLATE([ACE_LACKS_THREAD_PROCESS_SCOPING],
800 [Platform lacks pthread_attr_setscope()])
802 AH_TEMPLATE([ACE_LACKS_TIMESPEC_T],
803 [Platform does not define timepec_t as a typedef for struct timespec.])
805 AH_TEMPLATE([ACE_LACKS_STRTOK_R_PROTOTYPE],
806 [Platform/compiler lacks the strtok_r() prototype])
808 AH_TEMPLATE([ACE_LACKS_PREAD_PROTOTYPE],
809 [Platform/compiler lacks the pread() and pwrite() prototypes])
811 AH_TEMPLATE([ACE_LACKS_CHAR_RIGHT_SHIFTS],
812 [Compiler does not have any istream operator>> for chars, u_chars, or
813    signed chars.])
815 AH_TEMPLATE([ACE_LACKS_CHAR_STAR_RIGHT_SHIFTS],
816 [Compiler does not have operator>> (istream &, u_char *) or
817    operator>> (istream &, signed char *)])
819 AH_TEMPLATE([ACE_LACKS_NUMERIC_LIMITS],[Platform lacks std::numeric_limits<>])
821 AH_TEMPLATE([ACE_LACKS_UNIX_DOMAIN_SOCKETS],
822 [ACE platform has no UNIX domain sockets])
824 AH_TEMPLATE([ACE_LACKS_UNIX_SIGNALS],
825 [Platform lacks full signal support (e.g., Win32 and Chorus).])
827 AH_TEMPLATE([ACE_MAIN],
828 [Renames "main (int, char *[])", for platforms such as g++/VxWorks
829    that don't allow main.  Requires the use of
830    ACE_HAS_NONSTATIC_OBJECT_MANAGER.])
832 AH_TEMPLATE([ACE_MT_SAFE],[Compile using multi-thread libraries])
834 AH_TEMPLATE([ACE_NDEBUG],[Turns off debugging features])
836 AH_TEMPLATE([ACE_NEEDS_DEV_IO_CONVERSION],
837 [Necessary with some compilers to pass ACE_TTY_IO as parameter to
838    DEV_Connector.])
840 AH_TEMPLATE([ACE_NEEDS_HUGE_THREAD_STACKSIZE],
841 [Required by platforms with small default stacks.])
843 AH_TEMPLATE([ACE_NEEDS_LWP_PRIO_SET],
844 [OS has LWPs, and when the priority of a bound thread is set, then
845    the LWP priority must be set also.])
847 AH_TEMPLATE([ACE_NEEDS_SCHED_H],
848 [Platform needs to #include <sched.h> to get thread scheduling defs.])
850 AH_TEMPLATE([ACE_NEW_THROWS_EXCEPTIONS],
851 [Compiler's 'new' throws exception on failure (ANSI C++ behavior).])
853 AH_TEMPLATE([ACE_NLOGGING],
854 [Turns off the LM_DEBUG and LM_ERROR logging macros...])
856 AH_TEMPLATE([ACE_NTRACE],[Turns off the tracing feature.])
858 AH_TEMPLATE([ACE_PAGE_SIZE],
859 [Defines the page size of the system (not used on Win32 or with
860    ACE_HAS_GETPAGESIZE).])
862 AH_TEMPLATE([ACE_REDEFINES_XTI_FUNCTIONS],
863 [Platform redefines the t_... names (UnixWare)])
865 AH_TEMPLATE([ACE_TEMPLATES_REQUIRE_PRAGMA],
866 [Compiler's template mechanism must use a pragma.  This is used for
867    AIX's C++ compiler.])
869 AH_TEMPLATE([ACE_TEMPLATES_REQUIRE_SOURCE],
870 [Compiler's template mechanim must see source code (i.e., .cpp
871    files).  This is used for GNU G++.])
873 AH_TEMPLATE([ACE_HAS_ICMP_SUPPORT],
874 [Defined to 1 if platform supports ICMP over raw sockets])
876 AH_TEMPLATE([ACE_NEEDS_FUNC_DEFINITIONS],
877 [Compiler requires a definition for a "hidden" function, e.g., a
878    private, unimplemented copy constructor or assignment operator.
879    The SGI C++ compiler needs this, in template classes, with
880    ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA.])
882 AH_TEMPLATE([ACE_TLI_TCP_DEVICE],
883 [Device the platform uses for TCP on TLI.  Only needed if not
884    /dev/tcp.])
886 AH_TEMPLATE([ACE_USE_POLL],
887 [The OS/platform supports the poll() event demultiplexor])
889 AH_TEMPLATE([ACE_HAS_EVENT_POLL],[Platform (Linux) supports event poll
890   interface.])
892 AH_TEMPLATE([ACE_HAS_DEV_POLL],[Platform supports /dev/poll character
893   device.])
895 AH_TEMPLATE([ACE_USES_ASM_SYMBOL_IN_DLSYM],
896 [Platform uses assembly symbols instead of C symbols in dlsym()])
898 AH_TEMPLATE([ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB],
899 [Platform has its standard C++ library in the namespace std.])
901 dnl DSO/DLL export macros.
902 AH_TEMPLATE([ACE_HAS_CUSTOM_EXPORT_MACROS],
903 [Platform defines custom DSO/DLL symbol export macros.])
905 AH_TEMPLATE([ACE_Proper_Export_Flag],
906 [Flag that denotes the symbol should be exported from the DSO/DLL.])
908 AH_TEMPLATE([ACE_Proper_Import_Flag],
909 [Flag that denotes the symbol should be imported from the DSO/DLL.])
911 dnl ACE_EXPORT_SINGLETON_DECLARATION(T)
912 dnl ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
913 dnl ACE_IMPORT_SINGLETON_DECLARATION(T)
914 dnl ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
916 ])  dnl End ACE_PREP_CONFIG_HEADER