2 // This configuration file is designed to work with the MacOS X operating system.
4 #ifndef ACE_CONFIG_MACOSX_LEOPARD_H
5 #define ACE_CONFIG_MACOSX_LEOPARD_H
7 #include <Availability.h>
9 #define ACE_HAS_MAC_OSX
10 #define ACE_HAS_NET_IF_DL_H
12 #define ACE_HAS_VOID_UNSETENV
14 #if ! defined (__ACE_INLINE__)
15 #define __ACE_INLINE__
16 #endif /* ! __ACE_INLINE__ */
18 #if !defined (ACE_SIZEOF_LONG_DOUBLE)
19 # define ACE_SIZEOF_LONG_DOUBLE __SIZEOF_LONG_DOUBLE__
20 #endif // ACE_SIZEOF_LONG_DOUBLE
22 #if defined (__GNUG__)
23 # include "ace/config-g++-common.h"
26 #define ACE_ISCTYPE_EQUIVALENT __isctype
28 #define ACE_SIZE_T_FORMAT_SPECIFIER_ASCII "%lu"
30 #if !defined (__i386__)
31 # if defined (ACE_HAS_PENTIUM)
32 # undef ACE_HAS_PENTIUM
33 # endif /* ACE_HAS_PENTIUM */
35 # define ACE_HAS_PENTIUM
38 #if !defined (_THREAD_SAFE)
40 #endif /* _THREAD_SAFE */
43 #define ACE_HAS_POSIX_SEM
44 #define ACE_HAS_SIOCGIFCONF
46 #define ACE_HAS_SUNOS4_GETTIMEOFDAY
48 #define ACE_LACKS_STROPTS_H
50 // Platform provides <execinfo.h> header.
51 #define ACE_HAS_EXECINFO_H
55 #define ACE_SIZEOF_WCHAR 4
58 #define ACE_HAS_3_PARAM_WCSTOK
59 #define ACE_LACKS_ITOW
60 #define ACE_LACKS_WCSICMP
61 #define ACE_LACKS_WCSNICMP
62 #define ACE_LACKS_WCSDUP
64 // Mac lacks the following pthread features
65 #define ACE_LACKS_MUTEXATTR_PSHARED
66 #define ACE_LACKS_CONDATTR_PSHARED
68 // Compiler/platform defines the sig_atomic_t typedef.
69 #define ACE_HAS_SIG_ATOMIC_T
71 // Compiler/platform supports SVR4 signal typedef
72 #define ACE_HAS_SVR4_SIGNAL_T
74 //Platform/compiler has the sigwait(2) prototype
75 #define ACE_HAS_SIGWAIT
77 #define ACE_HAS_AIO_CALLS
79 #define ACE_HAS_ICMP_SUPPORT 1
81 //Platform supports sigsuspend()
82 #define ACE_HAS_SIGSUSPEND
84 #define ACE_LACKS_GETPGID
85 #define ACE_LACKS_RWLOCK_T
87 // Optimize ACE_Handle_Set for select().
88 #define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT
90 #define ACE_HAS_NONCONST_SELECT_TIMEVAL
92 #define ACE_NEEDS_SCHED_H
94 #define ACE_HAS_ALT_CUSERID
96 // Platform supports POSIX timers via struct timespec.
97 #define ACE_HAS_POSIX_TIME
98 #define ACE_HAS_UALARM
100 // Platform defines struct timespec but not timespec_t
101 #define ACE_LACKS_TIMESPEC_T
103 #define ACE_LACKS_STRRECVFD
105 #define ACE_HAS_SOCKADDR_IN_SIN_LEN
106 #define ACE_HAS_SOCKADDR_IN6_SIN6_LEN
108 // Platform supports System V IPC (most versions of UNIX, but not Win32)
109 #define ACE_HAS_SYSV_IPC
111 // Compiler/platform contains the <sys/syscall.h> file.
112 #define ACE_HAS_SYS_SYSCALL_H
114 #define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES
116 // Compiler/platform supports alloca().
117 // Although ACE does have alloca() on this compiler/platform combination, it is
118 // disabled by default since it can be dangerous. Uncomment the following line
119 // if you ACE to use it.
120 //#define ACE_HAS_ALLOCA
122 // Compiler/platform correctly calls init()/fini() for shared libraries.
123 #define ACE_HAS_AUTOMATIC_INIT_FINI
125 // platform supports POSIX O_NONBLOCK semantics
126 #define ACE_HAS_POSIX_NONBLOCK
128 // platform supports IP multicast
129 #define ACE_HAS_IP_MULTICAST
130 #define ACE_LACKS_PERFECT_MULTICAST_FILTERING 1
132 // Compiler/platform has the getrusage() system call.
133 #define ACE_HAS_GETRUSAGE
135 // Compiler supports the ssize_t typedef.
136 #define ACE_HAS_SSIZE_T
138 // Compiler/platform provides the sockio.h file.
139 #define ACE_HAS_SYS_SOCKIO_H
141 // Compiler/platform provides the socklen_t type.
142 #define ACE_HAS_SOCKLEN_T
144 // Defines the page size of the system.
145 #define ACE_HAS_GETPAGESIZE
147 // Platform provides <sys/filio.h> header.
148 #define ACE_HAS_SYS_FILIO_H
150 // Platform/compiler supports timezone * as second parameter to gettimeofday().
151 #define ACE_HAS_TIMEZONE_GETTIMEOFDAY
153 #define ACE_LACKS_SYS_MSG_H
154 #define ACE_LACKS_SYSV_MSQ_PROTOS
156 #define ACE_HAS_4_4BSD_SENDMSG_RECVMSG
157 #define ACE_HAS_NONCONST_MSGSND
159 #if !defined (ACE_MT_SAFE)
160 # define ACE_MT_SAFE 1
164 // Yes, we do have threads.
165 # define ACE_HAS_THREADS
166 // And they're even POSIX pthreads
167 # define ACE_HAS_PTHREADS
168 # define ACE_HAS_PTHREAD_SCHEDPARAM
169 # define ACE_HAS_THREAD_SPECIFIC_STORAGE
170 #endif /* ACE_MT_SAFE == 1 */
172 #define ACE_LACKS_THREAD_PROCESS_SCOPING
174 #define ACE_HAS_DIRENT
175 #define ACE_LACKS_POLL_H
176 #define ACE_LACKS_SEARCH_H
178 #define ACE_LACKS_SETSCHED
179 //#define ACE_HAS_RECURSIVE_MUTEXES
181 // Platform has POSIX terminal interface.
182 #define ACE_HAS_TERMIOS
184 #define ACE_HAS_SEMUN
185 #define ACE_HAS_SIGINFO_T
186 #define ACE_LACKS_SIGINFO_H
187 #define ACE_HAS_UCONTEXT_T
188 #define ACE_HAS_GETIFADDRS
189 #define ACE_LACKS_UNNAMED_SEMAPHORE
191 #if !defined (__DARWIN_UNIX03)
192 #define ACE_HAS_VOID_UNSETENV
195 #define ACE_LACKS_CONDATTR_SETCLOCK
197 #ifndef ACE_HAS_IPHONE
198 #if __MAC_OS_X_VERSION_MAX_ALLOWED < 101200
199 #define ACE_LACKS_CLOCKID_T
200 #define ACE_LACKS_CLOCK_MONOTONIC
201 #define ACE_LACKS_CLOCK_REALTIME
205 // dlcompat package (not part of base Darwin) is needed for dlopen().
206 // You may download directly from sourceforge and install or use fink
207 // Fink installer puts libraries in /sw/lib and headers in /sw/include
208 // In order to install dlcompat do the following:
209 // - download fink from http://fink.sf.net
211 // fink install dlcompat
212 // as of Dec 2002, if you use fink you will need to uncomment the next line
213 // #define ACE_NEEDS_DL_UNDERSCORE
214 #define ACE_HAS_SVR4_DYNAMIC_LINKING
215 #define ACE_LD_SEARCH_PATH ACE_TEXT ("DYLD_LIBRARY_PATH")
216 #define ACE_DLL_SUFFIX ACE_TEXT (".dylib")
217 //#define ACE_LACKS_DLCLOSE
219 // gperf seems to need this
220 //#define ACE_HAS_NONSTATIC_OBJECT_MANAGER
222 #define ACE_IOCTL_TYPE_ARG2 unsigned long
224 #if defined(__APPLE_CC__) && (__APPLE_CC__ < 1173)
225 #error "Compiler must be upgraded, see http://developer.apple.com"
226 #endif /* __APPLE_CC__ */
228 #endif /* ACE_CONFIG_MACOSX_LEOPARD_H */