Botan 3.9.0
Crypto and TLS for C&
asio_compat.h
Go to the documentation of this file.
1/*
2* Checks compatibility between the existing headers of Botan and boost
3* (C) 2023 Jack Lloyd
4* 2023 René Meusel - Rohde & Schwarz Cybersecurity
5*
6* Botan is released under the Simplified BSD License (see license.txt)
7*/
8
9#ifndef BOTAN_ASIO_COMPAT_H_
10#define BOTAN_ASIO_COMPAT_H_
11
12#include <botan/build.h>
13
14#if defined(BOTAN_HAS_BOOST_ASIO)
15
16 // NOLINTBEGIN(*-macro-usage)
17
18 #include <boost/version.hpp>
19
20 /** @brief minimum supported boost version for the TLS ASIO wrapper
21 *
22 * BOOST_VERSION % 100 is the patch level
23 * BOOST_VERSION / 100 % 1000 is the minor version
24 * BOOST_VERSION / 100000 is the major version
25 *
26 * Botan may still work with older versions of boost. Though, the asio TLS
27 * wrapper won't work with versions older than the one specified below.
28 *
29 * Also note the changelog with rationales for the required versions:
30 *
31 * until Botan 3.2.0
32 * 1.66.0 - first version to be compatible with Networking TS (N4656) and boost::beast
33 *
34 * as of Botan 3.3.0
35 * 1.73.0 - first version supporting the C++20 concepts syntax
36 */
37 #define BOTAN_MINIMUM_SUPPORTED_BOOST_ASIO_VERSION 107300
38
39 #if BOOST_VERSION >= BOTAN_MINIMUM_SUPPORTED_BOOST_ASIO_VERSION
40
41 /**
42 * Indicates that the local boost and botan headers are compatible.
43 */
44 #define BOTAN_FOUND_COMPATIBLE_BOOST_ASIO_VERSION 1
45
46 #endif
47
48 // NOLINTEND(*-macro-usage)
49
50#endif
51
52#endif