1// non-boost asio, header-only
2#define ASIO_STANDALONE
3#define ASIO_HEADER_ONLY=1
4// we don't need to generate the doxygen
5#undef GENERATING_DOCUMENTATION
6// platform-specific deifnitions
7#undef BOOST_WINDOWS
8#undef BOOST_MSVC
9#undef _MSC_VER
10#undef ASIO_MSVC
11#undef WIN32
12#undef _WIN32
13#undef __WIN32__
14#undef ASIO_WINDOWS_RUNTIME
15#undef ASIO_WINDOWS
16#undef __CYGWIN__
17#undef __SYMBIAN32__
18#undef __BORLANDC__
19// We assume clang ("LOCAL_CLANG := true" in Android Makefiles)
20#define __clang__
21// We assume C++11
22#define ASIO_HAS_STD_SYSTEM_ERROR 1
23#define ASIO_HAS_STD_ARRAY 1
24#define ASIO_HAS_STD_SHARED_PTR 1
25#define ASIO_HAS_STD_ATOMIC 1
26#define ASIO_HAS_STD_ADDRESSOF 1
27#define ASIO_HAS_STD_FUNCTION 1
28#define ASIO_HAS_STD_TYPE_TRAITS 1
29#define ASIO_HAS_CSTDINT 1
30#define ASIO_HAS_STD_THREAD 1
31#define ASIO_HAS_STD_MUTEX_AND_CONDVAR 1
32#define ASIO_HAS_STD_CHRONO 1
33#define ASIO_HAS_GETADDRINFO 1
34#define ASIO_HAS_MOVE 1
35#define ASIO_HAS_VARIADIC_TEMPLATES 1
36#define ASIO_HAS_CONSTEXPR 1
37// Android has clang's libc++
38#define ASIO_HAS_CLANG_LIBCXX 1
39// non-boost asio
40#define ASIO_DISABLE_BOOST_ARRAY 1
41#define ASIO_DISABLE_BOOST_ASSERT 1
42#define ASIO_DISABLE_BOOST_BIND 1
43#define ASIO_DISABLE_BOOST_CHRONO 1
44#define ASIO_DISABLE_BOOST_DATE_TIME 1
45#define ASIO_DISABLE_BOOST_LIMITS 1
46#define ASIO_DISABLE_BOOST_REGEX 1
47#define ASIO_DISABLE_BOOST_STATIC_CONSTANT 1
48#define ASIO_DISABLE_BOOST_THROW_EXCEPTION 1
49#define ASIO_DISABLE_BOOST_WORKAROUND 1
50#undef ASIO_HAS_BOOST_CONFIG
51#undef ASIO_HAS_BOOST_ARRAY
52#undef ASIO_HAS_BOOST_ASSERT
53#undef ASIO_HAS_BOOST_LIMITS
54#undef ASIO_HAS_BOOST_THROW_EXCEPTION
55#undef ASIO_HAS_BOOST_REGEX
56#undef ASIO_HAS_BOOST_BIND
57#undef ASIO_HAS_BOOST_WORKAROUND
58#undef ASIO_HAS_BOOST_CHRONO
59#undef ASIO_HAS_BOOST_DATE_TIME
60// no need for buffer debugging
61#define ASIO_DISABLE_BUFFER_DEBUGGING
62#undef ASIO_ENABLE_BUFFER_DEBUGGING
63// bionic doesn't implement eventfd nor timerfd
64#define ASIO_DISABLE_EPOLL
65#define ASIO_DISABLE_EVENTFD
66#undef ASIO_HAS_EVENTFD
67#undef ASIO_HAS_TIMERFD
68#define ASIO_HAS_THREADS
69// We are not using asio for iostream, nor serial ports, nor posix file
70// descriptiors, nor with unix sockets
71#define ASIO_NO_IOSTREAM
72#define ASIO_DISABLE_SERIAL_PORT
73#undef ASIO_HAS_SERIAL_PORT
74#undef ASIO_HAS_POSIX_STREAM_DESCRIPTOR
75#define ASIO_DISABLE_POSIX_STREAM_DESCRIPTOR
76#undef ASIO_HAS_LOCAL_SOCKETS
77#define ASIO_DISABLE_LOCAL_SOCKETS
78// windows-only features
79#undef ASIO_HAS_IOCP
80#undef ASIO_HAS_WINDOWS_OBJECT_HANDLE
81#undef ASIO_HAS_WINDOWS_STREAM_HANDLE
82#undef ASIO_HAS_WINDOWS_RANDOM_ACCESS_HANDLE
83#undef ASIO_HAS_WINDOWS_OBJECT_HANDLE
84#undef ASIO_HAS_WINDOWS_OVERLAPPED_PTR
85#define ASIO_DISABLE_THREAD_KEYWORD_EXTENSION
86#define ASIO_DISABLE_KQUEUE 1
87#undef ASIO_HAS_KQUEUE
88