Botan 3.4.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 #include <boost/version.hpp>
17
18 /** @brief minimum supported boost version for the TLS ASIO wrapper
19 *
20 * BOOST_VERSION % 100 is the patch level
21 * BOOST_VERSION / 100 % 1000 is the minor version
22 * BOOST_VERSION / 100000 is the major version
23 *
24 * Botan may still work with older versions of boost. Though, the asio TLS
25 * wrapper won't work with versions older than the one specified below.
26 *
27 * Also note the changelog with rationales for the required versions:
28 *
29 * until Botan 3.2.0
30 * 1.66.0 - first version to be compatible with Networking TS (N4656) and boost::beast
31 *
32 * as of Botan 3.3.0
33 * 1.73.0 - first version supporting the C++20 concepts syntax
34 */
35 #define BOTAN_MINIMUM_SUPPORTED_BOOST_ASIO_VERSION 107300
36
37 #if BOOST_VERSION >= BOTAN_MINIMUM_SUPPORTED_BOOST_ASIO_VERSION
38
39 /**
40 * Indicates that the local boost and botan headers are compatible.
41 */
42 #define BOTAN_FOUND_COMPATIBLE_BOOST_ASIO_VERSION 1
43
44 #endif
45
46#endif
47#endif