diff options
Diffstat (limited to 'ACE/ace/config-openbsd.h')
-rw-r--r-- | ACE/ace/config-openbsd.h | 208 |
1 files changed, 208 insertions, 0 deletions
diff --git a/ACE/ace/config-openbsd.h b/ACE/ace/config-openbsd.h new file mode 100644 index 00000000000..78d03547e9a --- /dev/null +++ b/ACE/ace/config-openbsd.h @@ -0,0 +1,208 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for OpenBSD +// platforms using GNU g++. + +#ifndef ACE_CONFIG_H +# define ACE_CONFIG_H +#include /**/ "ace/pre.h" + +// Platform specific directives +// gcc defines __OpenBSD__ automatically for us. +#include <sys/param.h> + +#if defined (ACE_HAS_THREADS) +# include /**/ <pthread.h> +#endif /* ACE_HAS_THREADS */ + +#include "ace/config-posix.h" + +#if !defined (__ACE_INLINE__) +# define __ACE_INLINE__ +#endif /* !__ACE_INLINE__ */ + +#if defined (__GNUG__) +# include "ace/config-g++-common.h" +#endif /* __GNUG__ */ + + +#if defined (ACE_HAS_THREADS) + +# if !defined (_THREAD_SAFE) +# define _THREAD_SAFE +# endif /* _THREAD_SAFE */ + +// And they're even POSIX pthreads +# if !defined (ACE_MT_SAFE) +# define ACE_MT_SAFE 1 +# endif /* ! ACE_MT_SAFE */ + + +// Check if pthreads and native exceptions are being used together. +// This causes SEGVs to tbe thrown somewhat randomly for some +// reason. According to newsgroup postings, it appears to be an +// OpenBSD or gcc bug. +# if defined (ACE_USES_NATIVE_EXCEPTIONS) +# error "OpenBSD pthreads and native exceptions currently do not work. See OpenBSD bug #1750" +# endif /* ACE_USES_NATIVE_EXCEPTIONS */ + +#else +// OpenBSD really has readdir_r () in single threaded mode, +// but the #ifdefs in OS.i select one with the wrong parameter +// sets if the ACE_HAS_POSIX_STD isn't defined (which is defined +// when ACE_HAS_THREADS is defined.) +# define ACE_LACKS_READDIR_R + +#endif /* ACE_HAS_THREADS */ + + +#define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R +#define ACE_HAS_3_PARAM_READDIR_R +#define ACE_HAS_3_PARAM_WCSTOK +#define ACE_HAS_4_4BSD_SENDMSG_RECVMSG +#define ACE_HAS_ALLOCA +#define ACE_HAS_ALT_CUSERID +#define ACE_HAS_AUTOMATIC_INIT_FINI +#define ACE_HAS_CHARPTR_DL +#define ACE_HAS_CLOCK_GETTIME +#define ACE_HAS_CLOCK_SETTIME +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES +#define ACE_HAS_DIRENT +#define ACE_HAS_GETIFADDRS +#define ACE_HAS_GETPAGESIZE +#define ACE_HAS_GETRUSAGE +#define ACE_HAS_GPERF +#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT +#define ACE_HAS_ICMP_SUPPORT 1 +#define ACE_HAS_IPV6 +#define ACE_HAS_IP_MULTICAST +#define ACE_HAS_MEMCHR +#define ACE_HAS_MKDIR +#define ACE_HAS_MSG +#define ACE_HAS_NANOSLEEP +#define ACE_HAS_NEW_NO_H +#define ACE_HAS_NONCONST_MSGSND +#define ACE_HAS_NONCONST_SELECT_TIMEVAL +#define ACE_HAS_NONCONST_SWAB +#define ACE_HAS_POLL +#define ACE_HAS_POSITION_INDEPENDENT_POINTERS 1 +#define ACE_HAS_POSIX_GETPWNAM_R +#define ACE_HAS_POSIX_NONBLOCK +#define ACE_HAS_POSIX_TIME +#define ACE_HAS_PTHREADS_STD +#define ACE_HAS_PTHREADS_UNIX98_EXT +#define ACE_HAS_PTHREAD_ATTR_SETCREATESUSPEND_NP +#define ACE_HAS_PTHREAD_GETCONCURRENCY +#define ACE_HAS_PTHREAD_MUTEXATTR_SETKIND_NP +#define ACE_HAS_PTHREAD_NP_H +#define ACE_HAS_PTHREAD_RESUME_NP +#define ACE_HAS_PTHREAD_SETCONCURRENCY +#define ACE_HAS_PTHREAD_SIGMASK_PROTOTYPE +#define ACE_HAS_PTHREAD_SUSPEND_NP +#define ACE_HAS_P_READ_WRITE +#define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS +#define ACE_HAS_REENTRANT_FUNCTIONS +#define ACE_HAS_RTLD_LAZY_V +#define ACE_HAS_SCANDIR +#define ACE_HAS_SEMUN +#define ACE_HAS_SIGACTION_CONSTP2 +#define ACE_HAS_SIGINFO_T +#define ACE_HAS_SIGSUSPEND +#define ACE_HAS_SIGWAIT +#define ACE_HAS_SIG_ATOMIC_T +#define ACE_HAS_SIG_C_FUNC +#define ACE_HAS_SOCKADDR_IN6_SIN6_LEN +#define ACE_HAS_SOCKADDR_IN_SIN_LEN +#define ACE_HAS_SOCKADDR_MSG_NAME +#define ACE_HAS_SOCKLEN_T +#define ACE_HAS_SSIZE_T +#define ACE_HAS_STRINGS +#define ACE_HAS_STRING_CLASS +#define ACE_HAS_SVR4_DYNAMIC_LINKING +#define ACE_HAS_SVR4_SIGNAL_T +#define ACE_HAS_SYSCTL +#define ACE_HAS_SYSV_IPC +#define ACE_HAS_SYS_FILIO_H +#define ACE_HAS_STRSIGNAL +#define ACE_HAS_SYS_SOCKIO_H +#define ACE_HAS_SYS_SYSCALL_H +#define ACE_HAS_TERMIOS +#define ACE_HAS_THREAD_SPECIFIC_STORAGE +#define ACE_HAS_TIMEZONE_GETTIMEOFDAY +#define ACE_HAS_UALARM +#define ACE_HAS_VASPRINTF +#define ACE_HAS_VOIDPTR_MMAP +#define ACE_HAS_VOIDPTR_SOCKOPT +#define ACE_HAS_VOID_UNSETENV +#define ACE_HAS_WCHAR +#define ACE_HAS_XPG4_MULTIBYTE_CHAR + +#define ACE_LACKS_CONDATTR_PSHARED +#define ACE_LACKS_GETIPNODEBYADDR +#define ACE_LACKS_GETIPNODEBYNAME +#define ACE_LACKS_GETPGID +#define ACE_LACKS_IOSTREAM_FX +#define ACE_LACKS_ISCTYPE +#define ACE_LACKS_ITOW +#define ACE_LACKS_LINEBUFFERED_STREAMBUF +#define ACE_LACKS_LOG2 +#define ACE_LACKS_MALLOC_H +#define ACE_LACKS_MSG_ACCRIGHTS +#define ACE_LACKS_MUTEXATTR_PSHARED +#define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS +#define ACE_LACKS_PERFECT_MULTICAST_FILTERING +#define ACE_LACKS_PRI_T +#define ACE_LACKS_PTHREAD_THR_SIGSETMASK +#define ACE_LACKS_PWD_REENTRANT_FUNCTIONS +#define ACE_LACKS_RAND_REENTRANT_FUNCTIONS +#define ACE_LACKS_RLIMIT_PROTOTYPE +#define ACE_LACKS_RWLOCK_T +#define ACE_LACKS_SETPGID +#define ACE_LACKS_SETREGID +#define ACE_LACKS_SETREUID +#define ACE_LACKS_SETSCHED +#define ACE_LACKS_SIGINFO_H +#define ACE_LACKS_STDINT_H +#define ACE_LACKS_STROPTS_H +#define ACE_LACKS_STRRECVFD +#define ACE_LACKS_TERMIO_H +#define ACE_LACKS_THREAD_PROCESS_SCOPING +#define ACE_LACKS_TIMEDWAIT_PROTOTYPES +#define ACE_LACKS_TIMESPEC_T +#define ACE_LACKS_UCONTEXT_H +#define ACE_LACKS_UNBUFFERED_STREAMBUF +#define ACE_LACKS_U_LONGLONG_T +#define ACE_LACKS_WCHAR_H +#define ACE_LACKS_WCSCASECMP +#define ACE_LACKS_WCSDUP +#define ACE_LACKS_WCSNCASECMP +#define ACE_LACKS_WCSNICMP + +#define ACE_EXPLICIT_TEMPLATE_DESTRUCTOR_TAKES_ARGS +#define ACE_PAGE_SIZE 4096 +#define ACE_SCANDIR_CMP_USES_CONST_VOIDPTR +#define ACE_SCANDIR_SEL_LACKS_CONST + +// OpenBSD 3.6 +#if (OpenBSD < 200411) +# define ACE_USES_ASM_SYMBOL_IN_DLSYM +#endif + +// ucontext_t is in OpenBSD 3.5 and later. +#if (OpenBSD >= 200405) +# define ACE_HAS_UCONTEXT_T +#endif /* OpenBSD >= 200405 */ + +// Lacks perfect filtering, must bind group address. +#if !defined ACE_LACKS_PERFECT_MULTICAST_FILTERING +# define ACE_LACKS_PERFECT_MULTICAST_FILTERING +#endif /* ACE_LACKS_PERFECT_MULTICAST_FILTERING */ + +// OpenBSD's dlsym call segfaults when passed an invalid handle. +// It seems as if most other OSs detect this and just report an error. +#define ACE_HAS_DLSYM_SEGFAULT_ON_INVALID_HANDLE + +#include /**/ "ace/post.h" + +#endif /* ACE_CONFIG_H */ |