summaryrefslogtreecommitdiff
path: root/ace/README
blob: 3f11e98b9568fe9854fffe035334927477f92d15 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
ACE Portability Macros

----------------------------------------

The following describes the meaning of the C++ compiler macros that
can be set in the config*.h file.  When you port ACE to a new platform
and/or C++ compiler, make sure that you check to see which of these
need to be defined.  It's helpful to check the various config*.h files
in this directory to see what's already been defined.  If you need to
add new macros, please send them to me and I'll add them to this file.

Eventually, most of this information should be auto-discovered via GNU
autoconf or Larry Wall's metaconfig...

Macro					Description
-----					-----------

ACE_HAS_ANSI_CASTS                      Platform supports new C++ style casts (dynamic_cast, static_cast, reinterpret_cast and const_cast)
ACE_DEFAULT_THREAD_KEYS                 Number of TSS keys, with ACE_HAS_TSS_EMULATION _only_.  Defaults to 64.
ACE_THREADS_DONT_INHERIT_LOG_MSG		Specify this if you don't want threads to inherit parent thread's ACE_Log_Msg properties.
ACE_HAS_RECV_TIMEDWAIT			Platform has the MIT pthreads APIs for
ACE_HAS_RECVFROM_TIMEDWAIT		timed send/recv operations
ACE_HAS_RECVMSG_TIMEDWAIT
ACE_HAS_RLIMIT_RESOURCE_ENUM            Platform has enum instead of int for first argument to ::{get,set}rlimit ().  The value of this macro is the enum definition, e.g., enum __rlimit_resource, for Linux glibc 2.0.
ACE_HAS_RUSAGE_WHO_ENUM                 Platform has enum instead of int for first argument to ::getrusage ().  The value of this macro is the enum definition, e.g., enum __rusage_who, for Linux glibc 2.0.
ACE_HAS_SEND_TIMEDWAIT
ACE_HAS_SENDTO_TIMEDWAIT
ACE_HAS_SENDMSG_TIMEDWAIT
ACE_HAS_STDARG_THR_DEST                 Platform has void (*)(...) prototype for pthread_key_create() destructor (e.g., LynxOS).
ACE_HAS_STL_MAP_CONFLICT		Used when users want to compile ACE with STL and STL map class conflicts with <net/if.h> map struct.
ACE_HAS_READ_TIMEDWAIT
ACE_HAS_READV_TIMEDWAIT
ACE_HAS_WRITE_TIMEDWAIT
ACE_HAS_WRITEV_TIMEDWAIT
ACE_HAS_4_4BSD_SENDMSG_RECVMSG		Platform has BSD 4.4 sendmsg()/recvmsg() APIs.
ACE_HAS_P_READ_WRITE			Platform has pread() and pwrite() support
ACE_HAS_64BIT_LONGS			Platform has 64bit longs and 32bit ints.  NOTE: this macro is deprecated.  Instead, use ACE_SIZEOF_LONG == 8.
ACE_HAS_AIX_BROKEN_SOCKET_HEADER	Platform, such as AIX4, needs to wrap #include of sys/socket.h with #undef/#define of __cplusplus.
ACE_HAS_AIX_HI_RES_TIMER		Platform has AIX4 ::read_real_time ()
ACE_HAS_ALLOCA				Compiler/platform supports alloca()
ACE_HAS_ALLOCA_H			Compiler/platform has <alloca.h>
ACE_HAS_AUTOMATIC_INIT_FINI 		Compiler/platform correctly calls init()/fini() for shared libraries
ACE_HAS_BROKEN_BITSHIFT                 Compiler has integer overflow problem with bit-shift operations.
ACE_HAS_BROKEN_CONVERSIONS		Compiler can't handle calls like foo->operator T *()
ACE_HAS_BROKEN_CTIME			Compiler/platform uses macro for ctime (e.g., MVS)
ACE_HAS_BROKEN_ENUMS			Compiler can't handle large enums (e.g., HP/UX C++)
ACE_HAS_BROKEN_HPUX_TEMPLATES		Earlier versions of HP/UX C++ are damned...
ACE_HAS_BROKEN_MSG_H			Platform headers don't support <msg.h> prototypes
ACE_HAS_BROKEN_MMAP_H			HP/UX does not wrap the mmap(2) header files with extern "C".
ACE_HAS_BROKEN_NESTED_TEMPLATES		MSVC has trouble with defining STL containers for nested structs and classes
ACE_HAS_BROKEN_NON_BLOCKING_CONNECTS	Platform has a bug with non-blocking connects (e.g., WinNT 4.0)
ACE_HAS_BROKEN_POSIX_TIME               Platform defines struct timespec in <sys/timers.h>
ACE_HAS_BROKEN_RANDR			OS/compiler's header files are inconsistent with libC definition of rand_r().
ACE_HAS_BROKEN_READV()			OS/Compiler's header files are not consistent with readv() definition.
ACE_HAS_BROKEN_SAP_ANY                  Compiler can't handle the static ACE_Addr::sap_any construct.
ACE_HAS_BROKEN_SENDMSG			OS/compiler omits the const from the sendmsg() prototype.
ACE_HAS_BROKEN_SETRLIMIT                OS/compiler omits the const from the rlimit parameter in the setrlimit() prototype.
ACE_HAS_BROKEN_TIMESPEC_MEMBERS		platform define struct timespec members as ts_sec and ts_nsec instead of tv_sec and tv_nsec.  This is highly non-portable.  Currently only FreeBSD 2.1.x uses it.
ACE_HAS_BROKEN_WRITEV                   OS/compiler omits the const from the iovec parameter in the writev() prototype.
ACE_HAS_BSTRING				Platform has <bstring.h> (which contains bzero() prototype)
ACE_HAS_BYTESEX_H                       Platform has <bytesex.h>.
ACE_HAS_CANCEL_IO			Platform supports the Win32 CancelIO() function (WinNT 4.0 and beyond).
ACE_HAS_CHARPTR_DL			OS/platform uses char * for dlopen/dlsym args, rather than const char *.
ACE_HAS_CHARPTR_SOCKOPT			OS/platform uses char * for sockopt, rather than const char *
ACE_HAS_CHARPTR_SPRINTF			sprintf() returns char * rather than int (e.g., SunOS 4.x)
ACE_HAS_CLOCK_GETTIME			Platform supports POSIX 1.b clock_gettime ()
ACE_HAS_COMPLEX_LOCK			Platform supports non-standard readers/writer locks...
ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES 	Prototypes for both signal() and struct sigaction are consistent.
ACE_HAS_CPLUSPLUS_HEADERS		Compiler/platform has correctly prototyped header files
ACE_HAS_DLFCN_H_BROKEN_EXTERN_C         For platforms, e.g., RedHat 4.2/Linux 2.0.30/Alpha, that don't declare dl* functions as extern "C" in dlfcn.h.
ACE_HAS_DLL				Build ACE using the frigging PC DLL nonsense...
ACE_HAS_EXCEPTIONS			Compiler supports C++ exception handling
ACE_HAS_GETPAGESIZE			Platform supports getpagesize() call (otherwise, ACE_PAGE_SIZE must be defined, except on Win32)
ACE_HAS_GETRUSAGE                       Platform supports the getrusage() system call.
ACE_HAS_GETRUSAGE_PROTO                 Platform has a getrusage () prototype in sys/resource.h that differs from the one in ace/OS.i.
ACE_HAS_GNU_CSTRING_H			Denotes that GNU has cstring.h as standard which redefines memchr()
ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT Optimize ACE_Handle_Set::count_bits for select() operations (common case)
ACE_HAS_HI_RES_TIMER			Compiler/platform supports SunOS high resolution timers
ACE_HAS_INLINED_OSCALLS			Inline all the static class OS methods to remove call overhead
ACE_HAS_IP_MULTICAST			Platform supports IP multicast
ACE_HAS_IRIX_GETTIMEOFDAY		Denotes that IRIX 5.3 has second argument to gettimeofday() which is variable ...
ACE_HAS_IRIX62_THREADS			Platform supports the very odd IRIX 6.2 threads...
ACE_HAS_NONSTATIC_OBJECT_MANAGER	Causes the ACE_Object_Manager instance to be created in main (int, char *[]), instead of as a static (global) instance.
ACE_HAS_THR_KEYDELETE			Platform supports thr_keydelete (e.g,. UNIXWARE)
ACE_HAS_THR_MINSTACK			Platform calls thr_minstack() rather than thr_min_stack() (e.g., Tandem).
ACE_HAS_LIMITED_RUSAGE_T		The rusage_t structure has only two fields.
ACE_HAS_LONG_FDMASK			Compiler/platform has typedef u_long fdmask (e.g., Linux).
ACE_HAS_LONG_MAP_FAILED                 Platform defines MAP_FAILED as a long constant.
ACE_HAS_MALLOC_STATS                    Enabled malloc statistics collection.
ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION	Avoid #including ace/streams.h in OS.h.  Users must include ace/streams.h, <iostream>, or <iostream.h> explicitly in their code.  Some platforms, such as g++/VxWorks, have trouble compiling templates and iostreams header because of static variables in the stream headers.  This flag will also avoid extra compilation and runtime overheads on some platforms.
ACE_HAS_MFC				Platform supports Microsoft Foundation Classes
ACE_HAS_MSG				Platform supports recvmsg and sendmsg
ACE_HAS_MT_SAFE_MKTIME			Platform supports MT safe mktime() call (do any of them?)
ACE_HAS_MT_SAFE_SOCKETS			Sockets may be called in multi-threaded programs
ACE_HAS_NONCONST_GETBY			Platform uses non-const char * in calls to gethostbyaddr, gethostbyname, getservbyname
ACE_HAS_NONCONST_MSGSND			Platform has a non-const parameter to msgsend() (e.g., SCO).
ACE_HAS_NONCONST_SELECT_TIMEVAL		Platform's select() uses non-const timeval* (only found on Linux right now)
ACE_HAS_OLD_MALLOC			Compiler/platform uses old malloc()/free() prototypes (ugh)
ACE_HAS_ONLY_TWO_PARAMS_FOR_ASCTIME_R_AND_CTIME_R	Uses ctime_r & asctime_r with only two parameters vs. three.
ACE_HAS_ONEARG_SIGWAIT			sigwait() takes only one argument.
ACE_HAS_ONLY_SCHED_OTHER                Platform, e.g., Solaris 2.5, only supports SCHED_OTHER POSIX scheduling policy.
ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R	Uses ctime_r & asctime_r with only two parameters vs. three.
ACE_HAS_OPTIMIZED_MESSAGE_QUEUE		Use the semaphore implementation of ACE_Message_Queue rather than the emulated condition variable (NT and VxWorks).
ACE_HAS_ORBIX				Platform has Orbix CORBA implementation
ACE_HAS_OSF_TIMOD_H			Platform supports the OSF TLI timod STREAMS module
ACE_HAS_PENTIUM				Platform is an Intel Pentium microprocessor.
ACE_HAS_POLL				Platform contains <poll.h>
ACE_HAS_POSIX_NONBLOCK			Platform supports POSIX O_NONBLOCK semantics
ACE_HAS_POSIX_SEM			Platform supports POSIX real-time semaphores (e.g., VxWorks and Solaris)
ACE_HAS_POSIX_TIME			Platform supports the POSIX struct timespec type
ACE_HAS_PROC_FS				Platform supports the /proc file system and defines tid_t in <sys/procfs.h>
ACE_HAS_POWERPC				Platform is a PowerPC microprocessor.
ACE_HAS_PRUSAGE_T			Platform supports the prusage_t struct
ACE_HAS_PTHREADS			Platform supports POSIX Pthreads
ACE_HAS_PTHREADS_1003_DOT_1C		Platform supports POSIX.1C threads
					(This should be synonomous with
					ACE_HAS_PTHREADS, but probably isn't
					in the sources)
ACE_HAS_PTHREAD_CONDATTR_SETKIND_NP     Platform has pthread_condattr_setkind_np().
ACE_HAS_PTHREAD_DSTATE_PTR		pthread_attr_setdetachstate() takes pointer to 2nd arg.
ACE_HAS_PTHREAD_EQUAL			Platform has pthread_equal().
ACE_HAS_PTHREAD_GETSPECIFIC_DATAPTR	pthread_getspecific() takes a data pointer for 2nd arg.
ACE_HAS_PTHREAD_MUTEXATTR_SETKIND_NP	Platform has pthread_mutexattr_setkind_np().
ACE_HAS_PTHREAD_SIGMASK			Platform has pthread_sigmask() defined.
ACE_HAS_PTHREAD_T			Platform has pthread_t defined.
ACE_HAS_PTHREAD_YIELD_VOIDPTR		pthread_yield() takes a void pointer arg.
ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS	Platform will recurse infinitely on thread exits from TSS cleanup routines (e.g., AIX).
ACE_HAS_REENTRANT_FUNCTIONS		Platform supports reentrant functions (i.e., all the POSIX *_r functions).
ACE_HAS_WCHAR_TYPEDEFS_CHAR             Compiler typedefs wchar with char.
ACE_HAS_XPG4_MULTIBYTE_CHAR		Platform has support for multi-byte
					character support compliant with the
					XPG4 Worldwide Portability
					Interface wide-character
					classification.
ACE_LACKS_FCNTL                         Platform lacks POSIX-style fcntl ().
ACE_LACKS_FIFO				Platform lacks UNIX FIFOs (e.g., Win32)
ACE_LACKS_NETDB_REENTRANT_FUNCTIONS	Platform does not support reentrant netdb functions (getprotobyname_r, getprotobynumber_r, gethostbyaddr_r, gethostbyname_r, getservbyname_r).
ACE_HAS_REGEX				Platform supports the POSIX regular expression library
ACE_HAS_SELECT_H			Platform has special header for select().
ACE_USE_SELECT_REACTOR_FOR_REACTOR_IMPL For Win32: Use Select_Reactor as default implementation of Reactor instead of WFMO_Reactor.
ACE_HAS_SEMUN				Compiler/platform defines a union semun for SysV shared memory
ACE_HAS_SET_T_ERRNO			Platform has a function to set t_errno (e.g., Tandem).
ACE_HAS_SIGINFO_T			Platform supports SVR4 extended signals
ACE_HAS_SIG_MACROS			Platform/compiler has macros for sig{empty,fill,add,del}set (e.g., SCO and FreeBSD)
ACE_HAS_SIGNAL_OBJECT_AND_WAIT		Platform supports the Win32 SignalObjectAndWait() function (WinNT 4.0 and beyond).
ACE_HAS_SIGNAL_SAFE_OS_CALLS		Automatically restart OS system calls when EINTR occurs
ACE_HAS_SIGWAIT				Platform/compiler has the sigwait(2) prototype
ACE_HAS_SIG_ATOMIC_T			Compiler/platform defines the sig_atomic_t typedef
ACE_HAS_SIG_C_FUNC			Compiler requires extern "C" functions for signals.
ACE_HAS_SIN_LEN				Platform supports new BSD inet_addr len field.
ACE_HAS_SIZET_SOCKET_LEN		OS/compiler uses size_t * rather than int * for socket lengths
ACE_HAS_SOCKADDR_MSG_NAME		Platform requires (struct sockaddr *) for msg_name field of struct msghdr.
ACE_HAS_SOCKIO_H                	Compiler/platform provides the sockio.h file
ACE_HAS_SPARCWORKS_401_SIGNALS 		Compiler has brain-damaged SPARCwork SunOS 4.x signal prototype...
ACE_HAS_SSIZE_T				Compiler supports the ssize_t typedef
ACE_HAS_STHREADS			Platform supports Solaris threads
ACE_HAS_STANDARD_CPP_LIBRARY		Platform/compiler supports Standard C++ Library
ACE_HAS_STRBUF_T			Compiler/platform supports struct strbuf
ACE_HAS_STREAMS				Platform supports STREAMS
ACE_HAS_STREAM_PIPES			Platform supports STREAM pipes
ACE_HAS_STRERROR			Compiler/platform supports strerror ()
ACE_HAS_STRICT				Use the STRICT compilation mode on Win32.
ACE_HAS_STRING_CLASS			Platform/Compiler supports a String class (e.g., GNU or Win32).
ACE_HAS_STRUCT_NETDB_DATA		Compiler/platform has strange hostent API for socket *_r() calls
ACE_HAS_STRUCT_PROTOENT_DATA		Compiler/platform has strange protoent API for socket *_r() calls
ACE_HAS_SUNOS4_GETTIMEOFDAY		SunOS 4 style prototype.
ACE_HAS_SUNOS4_SIGNAL_T			Compiler has horrible SunOS 4.x signal handlers...
ACE_HAS_SVR4_DYNAMIC_LINKING		Compiler/platform supports SVR4 dynamic linking semantics
ACE_HAS_SVR4_GETTIMEOFDAY		Compiler/platform supports SVR4 gettimeofday() prototype
ACE_HAS_SVR4_SIGNAL_T			Compiler/platform supports SVR4 signal typedef
ACE_HAS_SVR4_TIME			Platform supports the SVR4 timestruc_t type. NOTE: This macro is obsolete, ACE only uses timespec_t.
ACE_LACKS_TIMESPEC_T			Platform does not define timepec_t as a typedef for struct timespec.
ACE_HAS_SVR4_TLI			Compiler/platform supports SVR4 TLI (in particular, T_GETNAME stuff)...
ACE_HAS_SYSCALL_GETRUSAGE		HP/UX has an undefined syscall for GETRUSAGE...
ACE_HAS_SYSCALL_H			Compiler/platform contains the <sys/syscall.h> file.
ACE_HAS_SYSENT_H			Platform provides <sysent.h> header
ACE_HAS_SYSINFO				Platform supports system configuration information
ACE_HAS_SYSV_IPC			Platform supports System V IPC (most versions of UNIX, but not Win32)
ACE_HAS_SYSV_SPRINTF			Platform/compiler support the System V sprintf().
ACE_HAS_SYS_ERRLIST			Platform/compiler supports _sys_errlist symbol
ACE_HAS_SYS_FILIO_H			Platform provides <sys/filio.h> header
ACE_HAS_SYS_SIGLIST			Compiler/platform supports _sys_siglist array
ACE_HAS_TEMPLATE_SPECIALIZATION		Compiler implements template specialization
ACE_HAS_TEMPLATE_TYPEDEFS		Compiler implements templates that support typedefs inside of classes used as formal arguments to a template class.
ACE_HAS_TERM_IOCTLS			Platform has terminal ioctl flags like TCGETS and TCSETS.
ACE_HAS_THREADS				Platform supports threads
ACE_HAS_THREAD_SAFE_ACCEPT		Platform allows multiple threads to call accept() on the same port (e.g., WinNT).
ACE_HAS_THREAD_SELF			Platform has thread_self() rather than pthread_self() (e.g., DCETHREADS and AIX)
ACE_HAS_THREAD_SPECIFIC_STORAGE 	Compiler/platform has thread-specific storage
ACE_HAS_THR_C_DEST			The pthread_keycreate() routine *must* take extern C functions.
ACE_HAS_THR_C_FUNC			The pthread_create() routine *must* take extern C functions.
ACE_HAS_TID_T				Platform supports the tid_t type (e.g., AIX)
ACE_HAS_TIMEZONE_GETTIMEOFDAY		Platform/compiler supports timezone * as second parameter to gettimeofday()
ACE_HAS_TIMOD_H				Platform supports TLI timod STREAMS module
ACE_HAS_TIUSER_H			Platform supports TLI tiuser header
ACE_HAS_TLI				Platform supports TLI.  Also see
					ACE_TLI_TCP_DEVICE.
ACE_HAS_TLI_PROTOTYPES			Platform provides TLI function prototypes
ACE_HAS_TSS_EMULATION                   ACE provides TSS emulation.  See also ACE_DEFAULT_THREAD_KEYS.
ACE_HAS_UALARM				Platform supports ualarm()
ACE_HAS_UCONTEXT_T			Platform supports ucontext_t (which is used in the extended signal API).
ACE_HAS_UNION_WAIT			The wait() system call takes a (union wait *) rather than int *
ACE_HAS_UNIXWARE_SVR4_SIGNAL_T		Has inconsistent SVR4 signal stuff, but not the same as the other platforms
ACE_HAS_UNICODE				Platform/compiler supports UNICODE
ACE_HAS_USING_KEYWORD			Compiler supports the new using keyword for C++ namespaces.
ACE_HAS_VERBOSE_NOTSUP                  Prints out console message in ACE_NOTSUP.  Useful for tracking down origin of ACE_NOTSUP.
ACE_HAS_VOIDPTR_MMAP			Platform requires void * for mmap().
ACE_HAS_VOIDPTR_SOCKOPT			OS/compiler uses void * arg 4 setsockopt() rather than const char *
ACE_HAS_WIN32_TRYLOCK			The Win32 platform support TryEnterCriticalSection() (WinNT 4.0 and beyond)
ACE_HAS_WINSOCK2			The Win32 platform supports WinSock 2.0
ACE_HAS_XLI 				Platform has the XLI version of TLI
ACE_HAS_XT 				Platform has Xt and Motif
ACE_HAS_XTI				Platform has XTI (X/Open-standardized
					superset of TLI).  Implies ACE_HAS_TLI
					but uses a different header file.
ACE_HAS_YIELD_VOID_PTR			Platform requires pthread_yield() to take a NULL.
ACE_LACKS_ACCESS			Platform lacks access() (e.g., VxWorks and Chorus)
ACE_LACKS_ACE_IOSTREAM			Platform can not build ace/IOStream{,_T}.cpp.  This does not necessarily mean that the platform does not support iostreams.
ACE_LACKS_CONST_STRBUF_PTR		Platform uses struct strbuf * rather than const struct strbuf * (e.g., HP/UX 10.x)
ACE_LACKS_CONST_TIMESPEC_PTR		Platform forgot const in cond_timewait (e.g., HP/UX).
ACE_LACKS_COND_T			Platform lacks condition variables (e.g., Win32 and VxWorks)
ACE_LACKS_CONDATTR_PSHARED		Platform has no implementation of pthread_condattr_setpshared(), even though it supports pthreads!
ACE_LACKS_EXEC				Platform lacks the exec() family of system calls (e.g., Win32, VxWorks, Chorus)
ACE_LACKS_FILELOCKS			Platform lacks file locking mechanism
ACE_LACKS_GETOPT_PROTO                  Platform lacks the getopt() prototype (e.g., LynxOS)
ACE_LACKS_GETPGID			Platform lacks getpgid() call (e.g., Win32, Chorus, and FreeBSD).
ACE_LACKS_GETSERVBYNAME			Platforms lacks getservbyname() (e.g., VxWorks and Chorus).
ACE_LACKS_IOSTREAM_FX			iostream header does not declare ipfx (), opfx (), etc.
ACE_LACKS_LINEBUFFERED_STREAMBUF	Platform lacks streambuf "linebuffered ()".
ACE_LACKS_LONGLONG_T			Compiler/platform does no supports the unsigned long long datatype.
ACE_LACKS_MADVISE			Platform lacks madvise() (e.g., Linux)
ACE_LACKS_MALLOC_H			Platform lacks malloc.h
ACE_LACKS_MEMORY_H			Platform lacks memory.h (e.g., VxWorks and Chorus)
ACE_LACKS_MKTEMP			ACE has no mktemp()
ACE_LACKS_MMAP				The platform doesn't have mmap(2) (e.g., SCO UNIX).
ACE_LACKS_MODE_MASKS			Platform/compiler doesn't have open() mode masks.
ACE_LACKS_MPROTECT			The platform doesn't have mprotect(2) (e.g., EPLX real time OS from CDC (based on LYNX))
ACE_LACKS_MSGBUF_T			Platform lacks struct msgbuf (e.g., NT and MSV).
ACE_LACKS_MSYNC				Platform lacks msync() (e.g., Linux)
ACE_LACKS_NETDB_REENTRANT_FUNCTIONS	Platform does not support reentrant netdb functions
					(getprotobyname_r, getprotobynumber_r, gethostbyaddr_r,
					gethostbyname_r, getservbyname_r).
ACE_LACKS_RPC_H				Platform lacks the ONC RPC header files.
ACE_LACKS_PARAM_H			Platform lacks <sys/param.h> (e.g., MVS)
ACE_LACKS_NAMED_POSIX_SEM		Platform lacks named POSIX semaphores (e.g., Chorus)
ACE_LACKS_RLIMIT        		Platform/compiler lacks {get,set}rlimit() function (e.g., VxWorks, Chorus, and SCO UNIX)
ACE_LACKS_RLIMIT_PROTOTYPE		Platform/compiler lacks {get,set}rlimit() prototypes (e.g., Tandem)
ACE_LACKS_POSIX_PROTOTYPES		Platform lacks POSIX prototypes for certain System V functions like shared memory and message queues.
ACE_LACKS_SOME_POSIX_PROTOTYPES		Platform lacks POSIX prototypes for certain System V functions like shared memory and message queues.
ACE_LACKS_PRI_T				Platform lacks pri_t (e.g., Tandem NonStop UNIX).
ACE_LACKS_PTHREAD_CANCEL		Platform lacks pthread_cancel().
ACE_LACKS_PTHREAD_THR_SIGSETMASK	Platform lacks pthread_thr_sigsetmask (e.g., MVS, HP/UX, and OSF/1 3.2)
ACE_LACKS_PWD_REENTRANT_FUNCTIONS	Platform lacks getpwnam_r() methods (e.g., SGI 6.2).
ACE_LACKS_RECVMSG			Platform lacks recvmsg() (e.g., Linux)
ACE_LACKS_RWLOCK_T			Platform lacks readers/writer locks.
ACE_LACKS_SBRK				Platform lacks a working sbrk() (e.g., Win32 and VxWorks)
ACE_LACKS_SEMBUF_T			Platform lacks struct sembuf (e.g., Win32 and VxWorks)
ACE_LACKS_SETDETACH			Platform lacks pthread_attr_setdetachstate() (e.g., HP/UX 10.x)
ACE_LACKS_SETSCHED			Platform lacks pthread_attr_setsched() (e.g. MVS)
ACE_LACKS_SIGACTION			Platform lacks struct sigaction (e.g., Win32 and Chorus)
ACE_LACKS_SIGNED_CHAR			Platform lacks "signed char" type (broken!)
ACE_LACKS_SIGSET			Platform lacks signal sets (e.g., Chorus and Win32)
ACE_LACKS_STREAM_MODULES		Compiler can't grok inclusion of ACE_Stream_Modules (i.e., HP/UX 10.x with aCC).
ACE_LACKS_STL_DEFAULT_TEMPLATE_PARAMETER		STL doesn't have default parameters  (e.g., MSVC 4.2)
ACE_LACKS_SYS_NERR			Platforms/compiler lacks the sys_nerr variable (e.g., VxWorks and MVS).
ACE_LACKS_SYSV_MSG_H			Platform lacks sys/msg.h (e.g., Chorus and VxWorks)
ACE_LACKS_KEYDELETE			Platform lacks TSS keydelete (e.g., HP/UX)
ACE_LACKS_KEY_T				Platform lacks key_t (e.g., Chorus, VxWorks, Win32)
ACE_LACKS_SENDMSG			Platform lacks sendmsg() (e.g., Linux)
ACE_LACKS_SI_ADDR			Platform lacks the si_addr field of siginfo_t (e.g., VxWorks and HP/UX 10.x)
ACE_LACKS_SYSV_SHMEM			Platform lacks System V shared memory (e.g., Win32 and VxWorks)
ACE_LACKS_SIGINFO_H			Platform lacks the siginfo.h include file (e.g., MVS)
ACE_LACKS_SOCKET_BUFSIZ                 Platform doesn't support SO_SNDBUF/SO_RCVBUF
ACE_LACKS_SOCKETPAIR			Platform lacks the socketpair() call (e.g., SCO UNIX)
ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES	Compiler doesn't support static data member templates
ACE_LACKS_STRCASECMP			Compiler/platform lacks strcasecmp() (e.g., DG/UX, UNIXWARE, VXWORKS)
ACE_LACKS_STRRECVFD			Platform doesn't define struct strrecvfd.
ACE_LACKS_SYSCALL			Platform doesn't have syscall() prototype
ACE_LACKS_T_ERRNO			Header files lack t_errno for TLI
ACE_LACKS_TCP_H				Platform doesn't have netinet/tcp.h
ACE_LACKS_THREAD_STACK_SIZE		Platform lacks pthread_attr_setstacksize() (e.g., Linux pthreads)
ACE_LACKS_TIMEDWAIT_PROTOTYPES		MIT pthreads platform lacks the timedwait prototypes
ACE_LACKS_UALARM_PROTOTYPE		Platform/compiler lacks the ualarm() prototype (e.g., Solaris)
ACE_LACKS_UCONTEXT_H			Platform lacks the ucontext.h file
ACE_LACKS_UNISTD_H                      Platform lacks the unistd.h file (e.g., VxWorks and Win32)
ACE_LACKS_UNIX_DOMAIN_SOCKETS		ACE platform has no UNIX domain sockets
ACE_LACKS_UNIX_SIGNALS			Platform lacks full signal support (e.g., Win32 and Chorus).
ACE_LACKS_UTSNAME_T			Platform lacks struct utsname (e.g., Win32 and VxWorks)
ACE_MAIN				Renames "main (int, char *[])" to ace_main (int, char *[]), for platforms such as g++/VxWorks that don't allow main.  Requires the use of ACE_HAS_NONSTATIC_OBJECT_MANAGER.
ACE_MT_SAFE				Compile using multi-thread libraries
ACE_NDEBUG				Turns off debugging features
ACE_NEEDS_DEV_IO_CONVERSION		Necessary with some compilers
 to pass ACE_TTY_IO as parameter to DEV_Connector.
ACE_NEEDS_HUGE_THREAD_STACKSIZE		Required by platforms with small default stacks.
ACE_NEEDS_READV				Platform doesn't define readv, so use our own
ACE_NEEDS_SYSTIME_H			<time.h> doesn't automatically #include /**/ <sys/time.h>
ACE_NEEDS_WRITEV			Platform doesn't define writev, so use our own
ACE_NEW_THROWS_EXCEPTIONS		Compiler's 'new' throws exception on
					failure (ANSI C++ behavior).
ACE_NLOGGING				Turns off the LM_DEBUG and LM_ERROR logging macros...
ACE_NTRACE				Turns off the tracing feature.
ACE_NO_THREAD_ADAPTER			Don't use the ACE_Thread_Adapter feature...
ACE_PAGE_SIZE				Defines the page size of the system (not used on Win32 or with ACE_HAS_GETPAGESIZE).
ACE_REDEFINES_XTI_FUNCTIONS		Platform redefines the t_... names (UnixWare)
ACE_SELECT_USES_INT			Platform uses int for select() rather than fd_set
ACE_TEMPLATES_REQUIRE_PRAGMA		Compiler's template mechanism must use a pragma This is used for AIX's C++ compiler.
ACE_TEMPLATES_REQUIRE_SOURCE		Compiler's template mechanim must see source code (i.e., .cpp files).  This is used for GNU G++.
ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION Compiler's template instantiation mechanism supports the use of explicit C++ specializations for all used templates. This is also used for GNU G++ if you don't use the "repo" patches.
ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA   Compiler's template instantiation mechanism supports the use of "#pragma instantiate".  Edison Design Group compilers, e.g., SGI C++ and Green Hills 1.8.8 and later, support this.
ACE_REQUIRES_FUNC_DEFINITIONS           Compiler requires a definition for a "hidden" function, e.g., a private, unimplemented copy constructor or assignment operator.  The SGI C++ compiler needs this, in template classes, with ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA.
ACE_TLI_TCP_DEVICE			Device the platform uses for TCP on
					TLI.  Only needed if not /dev/tcp.
ACE_USE_POLL				Use the poll() event demultiplexor rather than select().
ACE_USES_ASM_SYMBOL_IN_DLSYM		Platform uses assembly symbols instead of C symbols in dlsym()
ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB	Platform has its standard c++ library in the namespace std.
ACE_WSOCK_VERSION 			A parameter list indicating the version of WinSock (e.g., "1, 1" is version 1.1).
----------------------------------------

The following is a partial list of where some of these macros are used
in the code.  This list was originally compiled by Jam Hamidi
(jh1@core01.osi.com).  It is now hopelessly out of date.  I hope
someone will come along and update it.

ACE_HAS_ALLOCA:
---------------

  Used in:
     libsrc/IPC_SAP/SOCK_SAP/SOCK_Connect.C
        for allocation of iovp
     libsrc/IPC_SAP/SPIPE_SAP/SPIPE_Msg.C
        for alocation of iovp

  In solaris:
     alloca() allocates size bytes of space in the stack frame of
     the  caller,  and  returns a pointer to the allocated block.
     This temporary space is automatically freed when the  caller
     returns.  Note: if the allocated block is beyond the current
     stack limit, the resulting behavior is undefined.

  In HPUX:
     no equivalent.

  Notes:
     in HPUX it has to do new and delete. Affects performance.


ACE_HAS_AUTOMATIC_INIT_FINI:
----------------------------

  Used in:
     libsrc/Service_Configurator/Service_Repository.i
     libsrc/Service_Configurator/Parse_Node.i
     include/Parse_Node.i
     include/Service_Repository.i

  In solaris:
     _init() initializes a loadable module. It is  called  before
     any other routine in a loadable module.
     _info()  returns  information  about  a   loadable   module.
     _fini() should return the return value from mod_remove(9F).
     This flag if set, doesn't do anything.  If not set, forces
     _init() and _fini() to be executed as is:
       dlsym ((char *) handle, "_fini").

  In HPUX:
     don't set.
     Maybe have to look into shl_load( ), shl_definesym( ),
     shl_findsym( ), shl_gethandle( ), shl_getsymbols( ),
     shl_unload( ), shl_get( )(3X) - explicit load of shared libraries
     Means Service Configurator won't be available.
     TBA.


ACE_HAS_CPLUSPLUS_HEADERS:
--------------------------

  Used In:
     ace/OS.h

  HPUX:
     set it.

  Notes:
     If this is not defined, libc.h and osfcn.h get included.
     Only needed for older compiler/OS platforms that don't
     provide standard C++ header files in /usr/include.

ACE_HAS_HI_RES_TIMER:
---------------------

  Used In:
     libsrc/Misc/High_Res_Timer.h
     libsrc/Misc/High_Res_Timer.C
     include/High_Res_Timer.h

  In Solaris,
     C++ wrapper around gethrtime(), which returns a long long.
	 gethrtime() returns the current high-resolution  real  time.
     Time  is  expressed as nanoseconds since some arbitrary time
     in the past; it is not correlated in any way to the time  of
     day,  and  thus  is not subject to resetting, drifting, etc.

  In HPUX
     look into: getclock(), reltimer(), getitimer()
     maybe even vtimes structure vm_utime, vm_stime ?

  Notes:
     TBA


ACE_LACKS_T_ERRNO:
-------------------

  Used In:
     ace/OS.h

  HPUX:
     set it.

  Notes:
     if set, adds:
     extern int t_errno;


ACE_HAS_POSIX_NONBLOCK:
-----------------------

  Used in:
     ace/OS.h

  HPUX:
     set it.

  Notes:
     if defined, sets ACE_NONBLOCK and O_NONBLOCK
     O_NONBLOCK is used in libsrc/Misc/misc.C to do a
       fcntl (fd, F_SETFL, opt)
     ACE_NONBLOCK is used in libsrc/IPC_SAP/FIFO_SAP/FIFO_Recv.C in the
       disable member function and options passed to the open function
       in libsrc/IPC_SAP/FIFO_SAP/FIFO.C


ACE_HAS_PROC_FS:
----------------

  Used in:
     ace/OS.h
     libsrc/Misc/Profile_Timer.i

  Notes:
     if set, includes <sys/procfs.h>
     the PIOCUSAGE define is used in Profile_Timer.

  Solaris:
     procfs.h defines things for the prpsinfo structure (basically to
     do a "ps" from inside a program).

  HPUX:
     don't set: obviously a different mechanism.
     Look into /usr/include/sys/proc.h.  The structure is proc.  The
     pointer to the kernel's proc table may be obtained by
     extern  struct  proc *proc, *procNPROC;
     extern  int nproc;


ACE_HAS_PRUSAGE_T:
------------------

  Used in:
     libsrc/Misc/Profile_Timer.h
     libsrc/Misc/Profile_Timer.C

  Notes:
     If defined, declares the Profile_Timer class that does start(),
     stop() and basically gets real_time, user_time, system_time for
     an interval.
     This stuff is highly non-portable.

  HPUX:
     don't set


ACE_HAS_SEMUN:
--------------

  Used in:
     libsrc/Semaphores/Semaphore_Simple.h

  Notes:
     if not defined, defines semun as:
     union semun {
	   int		val;	/* value for SETVAL */
	   struct semid_ds	*buf;	/* buffer for IPC_STAT & IPC_SET */
	   ushort		*array;	/* array for GETALL & SETALL */
     };

  HPUX:
     don't set.
     in /usr/include/sem.h:
     /* The fourth argument to semctl() varies depending on the value of
       its first argument.  If desired, "union semun" can be declared
       by the user, but this is not necessary since the individual
       member can just be passed as the argument. */


ACE_HAS_SIG_ATOMIC_T:
---------------------

  Used in:
     ace/OS.h

  Notes:
     if not defined, does a:
     typedef int sig_atomic_t;
     This is used in the Reactor and service configurator.

  HPUX:
     set it.
     in /usr/include/sys/signal.h:
     typedef unsigned int sig_atomic_t;


ACE_HAS_SSIZE_T:
----------------

  Used in:
     ace/OS.h

  Notes:
     if not defined, does a
     typedef int ssize_t;
     used mostly in IPC_SAP.  (don't confuse with size_t).

  HPUX:
     set it.
     in /usr/include/sys/types.h


ACE_HAS_STRBUF_T:
-----------------

  Used in:
     include/Str_Buf.h

  Notes:
     if not defined, declares the strbuf structure as:
     struct strbuf
     {
       int	maxlen;			/* no. of bytes in buffer */
       int	len;			/* no. of bytes returned */
       void	*buf;			/* pointer to data */
     };

  Solaris:
     defined in /usr/include/sys/stropts.h
     Sys V.4 Streams.
     uses strbuf as parameter to putmsg, putpmsg:
     int putmsg(int fildes, const struct strbuf *ctlptr,
          const struct strbuf *dataptr, int flags);

  HPUX:
     don't set.
     no SYS V.4 streams.


ACE_HAS_STREAMS:
----------------

  Used In:
     ace/OS.h
     libsrc/IPC_SAP/SOCK_SAP/LSOCK.C

  Notes:
     if defined, includes <stropts.h>

  HPUX:
     don't set.
     no SYS V.4 streams.


ACE_HAS_STREAM_PIPES:
---------------------

  Used in:
     libsrc/IPC_SAP/SPIPE_SAP/SPIPE_Msg.h
     libsrc/IPC_SAP/SPIPE_SAP/SPIPE_Msg.C
     libsrc/IPC_SAP/SPIPE_SAP/SPIPE_Listener.h
     libsrc/IPC_SAP/SPIPE_SAP/SPIPE_Listener.C
     libsrc/IPC_SAP/SPIPE_SAP/SPIPE.h
     libsrc/IPC_SAP/SPIPE_SAP/SPIPE.C
     libsrc/IPC_SAP/FIFO_SAP/FIFO_Send_Msg.h
     libsrc/IPC_SAP/FIFO_SAP/FIFO_Send_Msg.C
     libsrc/IPC_SAP/FIFO_SAP/FIFO_Send_Msg.i
     libsrc/IPC_SAP/FIFO_SAP/FIFO_Recv_Msg.h
     libsrc/IPC_SAP/FIFO_SAP/FIFO_Recv_Msg.C
     libsrc/IPC_SAP/FIFO_SAP/FIFO_Recv_Msg.i

  Notes:
     if not set, won't be able to use the SPIPE class (IPC_SAP) with
     rendezvous handles.

  HPUX:
     don't set.
     No sysV.4 streams.


ACE_HAS_STRERROR:
-----------------

  Used in:
     ace/OS.h

  Notes:
     if not defined, does a:
     #define strerror(err) sys_errlist[err]

  Solaris:
     /usr/include/string.h

  HPUX:
     set it.
     in /usr/include/sys/errno.h and string.h
     extern char *strerror (int);


ACE_HAS_SVR4_DYNAMIC_LINKING:
-----------------------------

  Used in:
     ace/OS.h
     tests/Service_Configurator/CCM_App.C

  Notes:
     if defined, includes <dlfcn.h>
     with dlopen(), dlsym(), etc..

  HPUX:
     don't set.
     has its own:
     shl_findsym( ), shl_gethandle( ), shl_getsymbols( ),
     shl_unload( ), shl_get( )(3X) - explicit load of shared libraries


ACE_HAS_SVR4_GETTIMEOFDAY:
--------------------------

  Used in:
     ace/OS.h
     libsrc/Reactor/Timer_Queue.i

  Notes:
     has to do with gettimeofday ().

  Solaris:
     gettimeofday (struct timeval *tp)

  HPUX:
     don't set.
     it has gettimeofday (struct timeval *tp, struct timezone *tzp);
     most calls do a:
     #if defined (ACE_HAS_SVR4_GETTIMEOFDAY)
      ::gettimeofday (&cur_time);
     #else
      ::gettimeofday (&cur_time, 0);
     #endif /* ACE_HAS_SVR4_GETTIMEOFDAY */


ACE_HAS_POLL:
------------
  Used in:
     ace/OS.h

  Notes:
     #if defined (ACE_HAS_POLL)
     #include /**/ <poll.h>
     #endif /* ACE_HAS_POLL */

ACE_USE_POLL_IMPLEMENTATION:
------------------

  Used in:
     ace/OS.h

  Notes:
    Use the poll() event demultiplexor rather than select().

  HPUX:
     set it.


ACE_HAS_SVR4_SIGNAL_T:
----------------------

  Used in:
     ace/OS.h

  Notes:
     #if defined (ACE_HAS_SVR4_SIGNAL_T)
     typedef void (*SignalHandler)(int);
     typedef void (*SignalHandlerV)(void);
     #elif defined (ACE_HAS_SIGNALHANDLERV_INT_ARG)
     typedef void (*SignalHandler)(int);
     typedef void (*SignalHandlerV)(int);
     #else
     #define SignalHandler SIG_PF
     typedef void (*SignalHandlerV)(...);
     #endif /* ACE_HAS_SVR4_SIGNAL_T */

  HPUX:
     set it.


ACE_HAS_SVR4_TLI:
-----------------

  Used in:
     libsrc/IPC_SAP/TLI_SAP/TLI.C
     libsrc/IPC_SAP/TLI_SAP/TLI.h
     libsrc/IPC_SAP/TLI_SAP/TLI_Stream.C

  Notes:
     TLI is the transport layer calls as in: t_bind(), t_open(), t_unbind(),
     t_optmgmt(), ... in SunOS and Solaris.

  HPUX:
     don't set.
     Not supported.


ACE_HAS_SYS_FILIO_H:
--------------------

  Used in:
     ace/OS.h

  Notes:
     if not defined, includes <sys/filio.h>.
     didn't find any reference to anything in this file in the ACE code.

  Solaris:
     filio.h defines FIOCLEX, FIOASYNC, ... as _IO('f', 1), ..
     for FIOLFS,.. solaris has this to say:
     /*
      * ioctl's for Online: DiskSuite.
      * WARNING - the support for these ioctls may be withdrawn
      * in the future OS releases.
      */

  HPUX:
     <sys/ioctl.h> defines FIOASYNC and some other ones,
     <sgtty.h> defines some like FIOCLEX.
     some are never defined.
     use #ifdef HP-UX to modify sysincludes.h


ACE_HAS_SYS_SIGLIST:
--------------------

  Used in:
     ace/OS.h
     libsrc/Log_Msg/Log_Msg.C

  Notes:
     if not defined, does a:
     extern const char **_sys_siglist;

  Solaris:
     This is an array holding signal descriptions.

  HPUX:
     don't set.
     Some additional work is required.  In libsrc/Log_Msg/Log_Msg.C,
     sys_siglist is used regardless of ACE_HAS_SYS_SIGLIST.
     have to add #ifdefs to remove them.


ACE_HAS_TEMPLATE_TYPEDEFS:
--------------------------

  Used in:
     libsrc/ASX/*.[Chi]

  Notes:
     cfront-based C++ compilers don't implement templates that support
     classes with typedefs of other types as formal arguments.  This
     typedef uses the C++ preprocessor to work around this problem.

ACE_HAS_THREADS:
----------------

  Used in:
     libsrc/Service_Configurator/Service_Record.i
     libsrc/Service_Configurator/Svc_Conf.y.C
     libsrc/Service_Configurator/Thread_Spawn.i
     libsrc/Threads/Synch.C
     libsrc/Threads/Synch.i
     libsrc/Threads/Thr_Manager.i
     libsrc/ASX/STREAM.C
     libsrc/ASX/Queue.C
     libsrc/ASX/Module.C
     libsrc/ASX/Stream_Modules.C
     libsrc/ASX/Multiplexor.C
     libsrc/ASX/Message_List.C
     include/Message_List.h
     include/Module.h
     include/Multiplexor.h
     include/Queue.h
     include/STREAM.h
     include/Stream_Modules.h
     include/Service_Types.h
     include/Thread_Spawn.h
     include/Synch.h
     include/Thr_Manager.h

  Notes:
     We use Message_List.h even in a non-threaded environment.
     our XOMessageList.h does this by #ifdefs around Threaded things.

  HPUX:
     not until 10.0.


ACE_HAS_THREAD_T:
-----------------

  Used in:
     ace/OS.h

  Notes:
     #if !defined (ACE_HAS_THREAD_T)
     typedef int thread_t;
     #endif /* !ACE_HAS_THREAD_T */

  HPUX:
     don't set.


ACE_HAS_TIMOD_H:
----------------

  Used in:
     ace/OS.h

  Notes:
     if defined, include <sys/timod.h>

  Solaris:
     timod is a STREAMS module for use with the Transport  Inter-
     face  (TI)  functions  of the Network Services library.  The
     timod module converts a set of ioctl(2) calls  into  STREAMS
     messages  that  may be consumed by a transport protocol pro-
     vider that supports the Transport Interface.  This allows  a
     user to initiate certain TI functions as atomic operations.

  HPUX:
     don't set.


ACE_HAS_TIUSER_H:
-----------------

  Used in:
     ace/OS.h

  Notes:
     if set, includes <tiuser.h>

  Solaris:
     in conjunction with t_bind, t_accept, etc.. transport layer.

  HPUX:
     don't set.


ACE_USE_POLL_IMPLEMENTATION:
----------------------------

  Used in:
     libsrc/Reactor/Reactor.i
     include/Event_Handler.h
     ace/OS.h
     include/Reactor.h

  Notes:
     in the reactor, use poll instead of select.  In general,
     good thing to have set.