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_READDIR_R
29 #define ACE_HAS_3_PARAM_WCSTOK
30 #define ACE_HAS_4_4BSD_SENDMSG_RECVMSG
31 #define ACE_HAS_ALLOCA
32 #define ACE_HAS_ALT_CUSERID
33 #define ACE_HAS_AUTOMATIC_INIT_FINI
34 #define ACE_HAS_CHARPTR_DL
35 #define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES
36 #define ACE_HAS_DIRENT
37 #define ACE_HAS_GETRUSAGE
39 #define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT
40 #define ACE_HAS_IP_MULTICAST
42 #define ACE_HAS_NONCONST_SELECT_TIMEVAL
43 #define ACE_HAS_POSIX_NONBLOCK
44 #define ACE_HAS_POSIX_TIME
45 #define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS
46 #define ACE_HAS_RTLD_LAZY_V
48 #define ACE_HAS_SIGISMEMBER_BUG
49 #define ACE_HAS_SIGSUSPEND
50 #define ACE_HAS_SIGWAIT
51 #define ACE_HAS_SIG_ATOMIC_T
52 #define ACE_HAS_SOCKADDR_IN6_SIN6_LEN
53 #define ACE_HAS_SOCKADDR_IN_SIN_LEN
54 #define ACE_HAS_SSIZE_T
55 #define ACE_HAS_STRSIGNAL
56 #define ACE_HAS_SVR4_DYNAMIC_LINKING
57 #define ACE_HAS_SVR4_SIGNAL_T
58 #define ACE_HAS_SYSCTL
59 #define ACE_HAS_SYSV_IPC
60 #define ACE_HAS_SYS_FILIO_H
61 #define ACE_HAS_SYS_SOCKIO_H
62 #define ACE_HAS_SYS_SYSCALL_H
63 #define ACE_HAS_TERMIOS
64 #define ACE_HAS_THREAD_SPECIFIC_STORAGE
65 #define ACE_HAS_TIMEZONE_GETTIMEOFDAY
66 #define ACE_HAS_UALARM
68 #define ACE_HAS_XPG4_MULTIBYTE_CHAR
70 #define ACE_LACKS_CONDATTR_PSHARED
71 #define ACE_LACKS_ISCTYPE
72 #define ACE_LACKS_ITOW
73 #define ACE_LACKS_LOG2
74 #define ACE_LACKS_MALLOC_H
75 #define ACE_LACKS_MUTEXATTR_PSHARED
76 #define ACE_LACKS_SIGINFO_H
77 #define ACE_LACKS_SI_ADDR
78 #define ACE_LACKS_STROPTS_H
79 #define ACE_LACKS_STRRECVFD
80 #define ACE_LACKS_THREAD_PROCESS_SCOPING
81 #define ACE_LACKS_TIMESPEC_T
82 #define ACE_LACKS_WCSDUP
83 #define ACE_LACKS_WCSICMP
84 #define ACE_LACKS_WCSNICMP
86 #define ACE_NEEDS_SCHED_H
88 // Defines the page size of the system.
89 #define ACE_PAGE_SIZE 4096
91 // Note, on FreeBSD 5, POSIX aio is now an optional kernel module which
93 // Read the aio(4) man page for what to do, otherwise any aio_* call
96 // By default use Proactor which does not use POSIX Real-time Signals.
97 #ifdef ACE_HAS_AIO_CALLS
98 # ifndef ACE_POSIX_AIOCB_PROACTOR
99 # define ACE_POSIX_AIOCB_PROACTOR
100 # endif /* ACE_POSIX_AIOCB_PROACTOR */
101 #endif /* ACE_HAS_AIO_CALLS */
103 #if !defined ACE_LACKS_PERFECT_MULTICAST_FILTERING
104 # define ACE_LACKS_PERFECT_MULTICAST_FILTERING 1
105 #endif /* ACE_LACKS_PERFECT_MULTICAST_FILTERING */
108 // Version specific settings
111 #if (__FreeBSD_version >= 220000)
112 # define ACE_HAS_VASPRINTF
115 #if (__FreeBSD_version >= 300000)
116 # define ACE_HAS_SIGINFO_T
117 #endif /* __FreeBSD_version >= 300000 */
119 #if (__FreeBSD_version >= 320000)
120 # define ACE_HAS_REENTRANT_FUNCTIONS
121 # define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS
122 # define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R
123 #endif /* __FreeBSD_version >= 320000 */
125 #if (__FreeBSD_version > 400000)
126 # define ACE_HAS_UCONTEXT_T
127 # define ACE_HAS_SOCKLEN_T
128 # define ACE_HAS_GETIFADDRS
129 # define ACE_HAS_PTHREADS_UNIX98_EXT
132 #if (__FreeBSD_version < 400000)
133 # define ACE_LACKS_SIGSET
134 # define ACE_LACKS_SIGSET_T
135 # define ACE_LACKS_RWLOCK_T
136 # define ACE_LACKS_READDIR_R
137 # define ACE_LACKS_SETSCHED
138 # define ACE_LACKS_PTHREAD_THR_SIGSETMASK
139 # define ACE_LACKS_UCONTEXT_H
141 enum schedparam_policy
{
149 #if (__FreeBSD_version < 420000)
150 # define ACE_LACKS_GETPGID
151 # define ACE_LACKS_SETPGID
152 # define ACE_LACKS_SETREGID
153 # define ACE_LACKS_SETREUID
154 # define ACE_LACKS_PTHREAD_CANCEL
155 #endif /* __FreeBSD_version < 420000 */
157 #if (__FreeBSD_version >= 440000)
158 # define ACE_HAS_GETPROGNAME
159 # define ACE_HAS_SETPROGNAME
162 #if (__FreeBSD_version < 500100)
163 # define ACE_HAS_NONCONST_MSGSND
166 #if (__FreeBSD_version < 501000)
167 # define ACE_LACKS_STDINT_H
170 #if (__FreeBSD_version >= 501000)
171 # define ACE_HAS_PTHREAD_SETSTACK
174 #if (__FreeBSD_version < 700007)
175 # define ACE_HAS_SIGVAL_SIGVAL_INT
176 # define ACE_HAS_BROKEN_SIGEVENT_STRUCT
179 #if (__FreeBSD_version >= 700028)
180 # define ACE_HAS_SCTP
181 # define ACE_HAS_LKSCTP
184 #if (__FreeBSD_version < 700038)
185 # define ACE_HAS_VOID_UNSETENV
188 #include /**/ "ace/post.h"
190 #endif /* ACE_CONFIG_H */