2 // The following configuration file is designed to work for FreeBSD
6 #include /**/ "ace/pre.h"
8 #if !defined (ACE_MT_SAFE)
12 // Make sure we source in the OS version.
13 #include <osreldate.h>
15 // Make sure system defined macro (not related to ACE_OS::atop)
16 // is not defined during ACE compilation
17 #include <machine/param.h>
20 #include "ace/config-posix.h"
22 #include "ace/config-g++-common.h"
24 #if defined (ACE_HAS_PENTIUM)
25 # undef ACE_HAS_PENTIUM
26 #endif /* ACE_HAS_PENTIUM */
28 #define ACE_HAS_3_PARAM_WCSTOK
29 #define ACE_HAS_4_4BSD_SENDMSG_RECVMSG
30 #define ACE_HAS_ALLOCA
31 #define ACE_HAS_ALT_CUSERID
32 #define ACE_HAS_AUTOMATIC_INIT_FINI
33 #define ACE_HAS_CHARPTR_DL
34 #define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES
35 #define ACE_HAS_DIRENT
36 #define ACE_HAS_GETRUSAGE
38 #define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT
39 #define ACE_HAS_IP_MULTICAST
41 #define ACE_HAS_NONCONST_SELECT_TIMEVAL
42 #define ACE_HAS_POSIX_NONBLOCK
43 #define ACE_HAS_POSIX_TIME
44 #define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS
45 #define ACE_HAS_RTLD_LAZY_V
46 #define ACE_HAS_SIGISMEMBER_BUG
47 #define ACE_HAS_SIGSUSPEND
48 #define ACE_HAS_SIGWAIT
49 #define ACE_HAS_SIG_ATOMIC_T
50 #define ACE_HAS_SOCKADDR_IN6_SIN6_LEN
51 #define ACE_HAS_SOCKADDR_IN_SIN_LEN
52 #define ACE_HAS_SSIZE_T
53 #define ACE_HAS_STRSIGNAL
54 #define ACE_HAS_SVR4_DYNAMIC_LINKING
55 #define ACE_HAS_SVR4_SIGNAL_T
56 #define ACE_HAS_SYSCTL
57 #define ACE_HAS_SYSV_IPC
58 #define ACE_HAS_SYS_FILIO_H
59 #define ACE_HAS_SYS_SOCKIO_H
60 #define ACE_HAS_SYS_SYSCALL_H
61 #define ACE_HAS_TERMIOS
62 #define ACE_HAS_THREAD_SPECIFIC_STORAGE
63 #define ACE_HAS_TIMEZONE_GETTIMEOFDAY
64 #define ACE_HAS_UALARM
66 #define ACE_HAS_XPG4_MULTIBYTE_CHAR
68 #define ACE_LACKS_CONDATTR_PSHARED
69 #define ACE_LACKS_ISCTYPE
70 #define ACE_LACKS_ITOW
71 #define ACE_LACKS_LOG2
72 #define ACE_LACKS_MUTEXATTR_PSHARED
73 #define ACE_LACKS_SIGINFO_H
74 #define ACE_LACKS_SI_ADDR
75 #define ACE_LACKS_STROPTS_H
76 #define ACE_LACKS_STRRECVFD
77 #define ACE_LACKS_THREAD_PROCESS_SCOPING
78 #define ACE_LACKS_TIMESPEC_T
79 #define ACE_LACKS_WCSDUP
80 #define ACE_LACKS_WCSICMP
81 #define ACE_LACKS_WCSNICMP
83 #define ACE_NEEDS_SCHED_H
85 // Defines the page size of the system.
86 #define ACE_PAGE_SIZE 4096
88 // Note, on FreeBSD 5, POSIX aio is now an optional kernel module which
90 // Read the aio(4) man page for what to do, otherwise any aio_* call
93 // By default use Proactor which does not use POSIX Real-time Signals.
94 #ifdef ACE_HAS_AIO_CALLS
95 # ifndef ACE_POSIX_AIOCB_PROACTOR
96 # define ACE_POSIX_AIOCB_PROACTOR
97 # endif /* ACE_POSIX_AIOCB_PROACTOR */
98 #endif /* ACE_HAS_AIO_CALLS */
100 #if !defined ACE_LACKS_PERFECT_MULTICAST_FILTERING
101 # define ACE_LACKS_PERFECT_MULTICAST_FILTERING 1
102 #endif /* ACE_LACKS_PERFECT_MULTICAST_FILTERING */
105 // Version specific settings
108 #if (__FreeBSD_version >= 220000)
109 # define ACE_HAS_VASPRINTF
112 #if (__FreeBSD_version >= 300000)
113 # define ACE_HAS_SIGINFO_T
114 #endif /* __FreeBSD_version >= 300000 */
116 #if (__FreeBSD_version >= 320000)
117 # define ACE_HAS_REENTRANT_FUNCTIONS
118 # define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS
119 # define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R
120 #endif /* __FreeBSD_version >= 320000 */
122 #if (__FreeBSD_version > 400000)
123 # define ACE_HAS_UCONTEXT_T
124 # define ACE_HAS_SOCKLEN_T
125 # define ACE_HAS_GETIFADDRS
126 # define ACE_HAS_PTHREADS_UNIX98_EXT
129 #if (__FreeBSD_version < 400000)
130 # define ACE_LACKS_SIGSET
131 # define ACE_LACKS_SIGSET_T
132 # define ACE_LACKS_RWLOCK_T
133 # define ACE_LACKS_SETSCHED
134 # define ACE_LACKS_PTHREAD_THR_SIGSETMASK
135 # define ACE_LACKS_UCONTEXT_H
137 enum schedparam_policy
{
145 #if (__FreeBSD_version < 420000)
146 # define ACE_LACKS_GETPGID
147 # define ACE_LACKS_SETPGID
148 # define ACE_LACKS_SETREGID
149 # define ACE_LACKS_SETREUID
150 # define ACE_LACKS_PTHREAD_CANCEL
151 #endif /* __FreeBSD_version < 420000 */
153 #if (__FreeBSD_version >= 440000)
154 # define ACE_HAS_GETPROGNAME
155 # define ACE_HAS_SETPROGNAME
158 #if (__FreeBSD_version < 500100)
159 # define ACE_HAS_NONCONST_MSGSND
162 #if (__FreeBSD_version < 501000)
163 # define ACE_LACKS_STDINT_H
166 #if (__FreeBSD_version >= 501000)
167 # define ACE_HAS_PTHREAD_SETSTACK
170 #if (__FreeBSD_version < 700007)
171 # define ACE_HAS_SIGVAL_SIGVAL_INT
172 # define ACE_HAS_BROKEN_SIGEVENT_STRUCT
175 #if (__FreeBSD_version >= 700028)
176 # define ACE_HAS_SCTP
177 # define ACE_HAS_LKSCTP
180 #if (__FreeBSD_version < 700038)
181 # define ACE_HAS_VOID_UNSETENV
184 #if (__FreeBSD_version >= 800025)
185 # define ACE_HAS_CPUSET_T
188 #if (__FreeBSD_version < 1200059)
189 # define ACE_HAS_SEMUN
192 #include /**/ "ace/post.h"
194 #endif /* ACE_CONFIG_H */