2 // $Id: config-macosx-tiger.h 82344 2008-07-19 20:04:18Z johnnyw $
4 // This configuration file is designed to work with the MacOS X operating system.
6 #ifndef ACE_CONFIG_MACOSX_TIGER_H
7 #define ACE_CONFIG_MACOSX_TIGER_H
9 #if ! defined (__ACE_INLINE__)
10 #define __ACE_INLINE__
11 #endif /* ! __ACE_INLINE__ */
13 #if !defined (ACE_SIZEOF_LONG_DOUBLE)
14 # if (__GNUC__ == 3 && __GNUC_MINOR__ == 3)
15 // Size of long double in GCC 3.3 is 8.
16 # define ACE_SIZEOF_LONG_DOUBLE 8
17 # else // Else, the compiler is GCC4
18 // For GCC4, the size is 16.
19 # define ACE_SIZEOF_LONG_DOUBLE 16
21 #endif // ACE_SIZEOF_LONG_DOUBLE
23 #if defined (__GNUG__)
24 # include "ace/config-g++-common.h"
27 #define ACE_HAS_WORKING_EXPLICIT_TEMPLATE_DESTRUCTOR
29 #define ACE_SIZE_T_FORMAT_SPECIFIER ACE_TEXT ("%lu")
31 #if !defined (__i386__)
32 # if defined (ACE_HAS_PENTIUM)
33 # undef ACE_HAS_PENTIUM
34 # endif /* ACE_HAS_PENTIUM */
36 # define ACE_HAS_PENTIUM
39 #if !defined (_THREAD_SAFE)
41 #endif /* _THREAD_SAFE */
44 #define ACE_HAS_POSIX_SEM
46 #define ACE_HAS_SUNOS4_GETTIMEOFDAY
48 #define ACE_LACKS_STROPTS_H
52 #define ACE_SIZEOF_WCHAR 4
55 #define ACE_HAS_3_PARAM_WCSTOK
56 #define ACE_LACKS_ITOW
57 #define ACE_LACKS_WCSICMP
58 #define ACE_LACKS_WCSNICMP
59 #define ACE_LACKS_WCSDUP
61 // Mac lacks the following pthread features
62 #define ACE_LACKS_MUTEXATTR_PSHARED
63 #define ACE_LACKS_CONDATTR_PSHARED
65 // Compiler/platform defines the sig_atomic_t typedef.
66 #define ACE_HAS_SIG_ATOMIC_T
68 // Compiler/platform supports SVR4 signal typedef
69 #define ACE_HAS_SVR4_SIGNAL_T
71 //Platform/compiler has the sigwait(2) prototype
72 #define ACE_HAS_SIGWAIT
74 #define ACE_HAS_AIO_CALLS
76 //Platform supports sigsuspend()
77 #define ACE_HAS_SIGSUSPEND
79 //Platform/compiler has macros for sig{empty,fill,add,del}set (e.g., SCO and FreeBSD)
80 #define ACE_HAS_SIG_MACROS
82 #define ACE_LACKS_GETPGID
83 #define ACE_LACKS_RWLOCK_T
85 // Optimize ACE_Handle_Set for select().
86 #define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT
88 #define ACE_HAS_NONCONST_SELECT_TIMEVAL
91 #define ACE_LACKS_SIGSET
93 #define ACE_NEEDS_SCHED_H
95 // Use of <malloc.h> is deprecated.
96 #define ACE_LACKS_MALLOC_H
98 #define ACE_HAS_ALT_CUSERID
100 // Platform supports POSIX timers via struct timespec.
101 #define ACE_HAS_POSIX_TIME
102 #define ACE_HAS_UALARM
104 // Platform defines struct timespec but not timespec_t
105 #define ACE_LACKS_TIMESPEC_T
107 #define ACE_LACKS_STRRECVFD
109 #define ACE_HAS_SOCKADDR_IN6_SIN6_LEN
111 // Platform supports System V IPC (most versions of UNIX, but not Win32)
112 #define ACE_HAS_SYSV_IPC
114 // Compiler/platform contains the <sys/syscall.h> file.
115 #define ACE_HAS_SYS_SYSCALL_H
117 #define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES
119 // Compiler/platform supports alloca().
120 // Although ACE does have alloca() on this compiler/platform combination, it is
121 // disabled by default since it can be dangerous. Uncomment the following line
122 // if you ACE to use it.
123 //#define ACE_HAS_ALLOCA
125 // Compiler/platform correctly calls init()/fini() for shared libraries.
126 #define ACE_HAS_AUTOMATIC_INIT_FINI
128 // platform supports POSIX O_NONBLOCK semantics
129 #define ACE_HAS_POSIX_NONBLOCK
131 // platform supports IP multicast
132 #define ACE_HAS_IP_MULTICAST
133 #define ACE_LACKS_PERFECT_MULTICAST_FILTERING 1
135 // Compiler/platform has the getrusage() system call.
136 #define ACE_HAS_GETRUSAGE
138 // Compiler supports the ssize_t typedef.
139 #define ACE_HAS_SSIZE_T
141 // Compiler/platform supports strerror ().
142 #define ACE_HAS_STRERROR
144 // Compiler/platform provides the sockio.h file.
145 #define ACE_HAS_SYS_SOCKIO_H
147 // Compiler/platform provides the socklen_t type.
148 #define ACE_HAS_SOCKLEN_T
150 // Defines the page size of the system.
151 #define ACE_HAS_GETPAGESIZE
153 // Platform provides <sys/filio.h> header.
154 #define ACE_HAS_SYS_FILIO_H
156 // Platform/compiler supports timezone * as second parameter to gettimeofday().
157 #define ACE_HAS_TIMEZONE_GETTIMEOFDAY
159 #define ACE_LACKS_SYS_MSG_H
160 #define ACE_LACKS_SYSV_MSQ_PROTOS
162 #define ACE_HAS_4_4BSD_SENDMSG_RECVMSG
163 #define ACE_HAS_NONCONST_MSGSND
165 #if !defined (ACE_MT_SAFE)
166 # define ACE_MT_SAFE 1
170 // Yes, we do have threads.
171 # define ACE_HAS_THREADS
172 // And they're even POSIX pthreads
173 # define ACE_HAS_PTHREADS
174 # define ACE_HAS_PTHREAD_SCHEDPARAM
175 # define ACE_HAS_THREAD_SPECIFIC_STORAGE
176 #endif /* ACE_MT_SAFE == 1 */
178 #define ACE_LACKS_THREAD_PROCESS_SCOPING
180 #define ACE_HAS_DIRENT
181 #define ACE_LACKS_POLL_H
182 #define ACE_LACKS_SEARCH_H
184 #define ACE_LACKS_SETSCHED
185 //#define ACE_HAS_RECURSIVE_MUTEXES
187 // Platform has POSIX terminal interface.
188 #define ACE_HAS_TERMIOS
190 #define ACE_HAS_SEMUN
191 #define ACE_HAS_SIGINFO_T
192 #define ACE_LACKS_SIGINFO_H
193 #define ACE_HAS_UCONTEXT_T
194 #define ACE_HAS_GETIFADDRS
195 #define ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES
196 #define ACE_LACKS_UNNAMED_SEMAPHORE
198 // dlcompat package (not part of base Darwin) is needed for dlopen().
199 // You may download directly from sourceforge and install or use fink
200 // Fink installer puts libraries in /sw/lib and headers in /sw/include
201 // In order to install dlcompat do the following:
202 // - download fink from http://fink.sf.net
204 // fink install dlcompat
205 // as of Dec 2002, if you use fink you will need to uncomment the next line
206 // #define ACE_NEEDS_DL_UNDERSCORE
207 #define ACE_HAS_SVR4_DYNAMIC_LINKING
208 #define ACE_LD_SEARCH_PATH ACE_TEXT ("DYLD_LIBRARY_PATH")
209 #define ACE_DLL_SUFFIX ACE_TEXT (".dylib")
210 //#define ACE_LACKS_DLCLOSE
212 // gperf seems to need this
213 //#define ACE_HAS_NONSTATIC_OBJECT_MANAGER
215 #if defined(__APPLE_CC__) && (__APPLE_CC__ < 1173)
216 #error "Compiler must be upgraded, see http://developer.apple.com"
217 #endif /* __APPLE_CC__ */
219 #endif /* ACE_CONFIG_MACOSX_TIGER_H */