1
// (C) Copyright John Maddock 2001 - 2003.
2
// (C) Copyright Darin Adler 2001.
3
// (C) Copyright Douglas Gregor 2002.
4
// Use, modification and distribution are subject to the
5
// Boost Software License, Version 1.0. (See accompanying file
6
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
8
// See http://www.boost.org for most recent version.
10
// generic BSD config options:
12
#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__DragonFly__)
13
#error "This platform is not BSD"
17
#define BOOST_PLATFORM "FreeBSD " BOOST_STRINGIZE(__FreeBSD__)
18
#elif defined(__NetBSD__)
19
#define BOOST_PLATFORM "NetBSD " BOOST_STRINGIZE(__NetBSD__)
20
#elif defined(__OpenBSD__)
21
#define BOOST_PLATFORM "OpenBSD " BOOST_STRINGIZE(__OpenBSD__)
22
#elif defined(__DragonFly__)
23
#define BOOST_PLATFORM "DragonFly " BOOST_STRINGIZE(__DragonFly__)
27
// is this the correct version check?
28
// FreeBSD has <nl_types.h> but does not
29
// advertise the fact in <unistd.h>:
31
#if (defined(__FreeBSD__) && (__FreeBSD__ >= 3)) || defined(__DragonFly__)
32
# define BOOST_HAS_NL_TYPES_H
36
// FreeBSD 3.x has pthreads support, but defines _POSIX_THREADS in <pthread.h>
37
// and not in <unistd.h>
39
#if (defined(__FreeBSD__) && (__FreeBSD__ <= 3))\
40
|| defined(__OpenBSD__) || defined(__DragonFly__)
41
# define BOOST_HAS_PTHREADS
45
// No wide character support in the BSD header files:
47
#if defined(__NetBSD__)
48
#define __NetBSD_GCC__ (__GNUC__ * 1000000 \
49
+ __GNUC_MINOR__ * 1000 \
50
+ __GNUC_PATCHLEVEL__)
51
// XXX - the following is required until c++config.h
52
// defines _GLIBCXX_HAVE_SWPRINTF and friends
53
// or the preprocessor conditionals are removed
54
// from the cwchar header.
55
#define _GLIBCXX_HAVE_SWPRINTF 1
58
#if !((defined(__FreeBSD__) && (__FreeBSD__ >= 5)) \
59
|| (defined(__NetBSD_GCC__) && (__NetBSD_GCC__ >= 2095003)) || defined(__DragonFly__))
60
# define BOOST_NO_CWCHAR
63
// The BSD <ctype.h> has macros only, no functions:
65
#if !defined(__OpenBSD__) || defined(__DragonFly__)
66
# define BOOST_NO_CTYPE_FUNCTIONS
70
// thread API's not auto detected:
72
#define BOOST_HAS_SCHED_YIELD
73
#define BOOST_HAS_NANOSLEEP
74
#define BOOST_HAS_GETTIMEOFDAY
75
#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
76
#define BOOST_HAS_SIGACTION
79
#define BOOST_HAS_UNISTD_H
80
#include <boost/config/posix_features.hpp>