Solves this error:
In file included from /usr/include/boost/asio.hpp:23,
from conftest.cpp:75:
/usr/include/boost/asio/awaitable.hpp: In constructor 'boost::asio::awaitable<T, Executor>::awaitable(boost::asio::awaitable<T, Executor>&&)':
/usr/include/boost/asio/awaitable.hpp:68:19: error: 'exchange' is not a member of 'std'; did you mean 'std::__atomic_impl::exchange'?
68 | : frame_(std::exchange(other.frame_, nullptr))
| ^~~~~~~~
In file included from /usr/include/c++/12/bits/shared_ptr_atomic.h:33,
from /usr/include/c++/12/memory:78,
from /usr/include/boost/asio/associated_allocator.hpp:19,
from /usr/include/boost/asio.hpp:20:
/usr/include/c++/12/bits/atomic_base.h:976:7: note: 'std::__atomic_impl::exchange' declared here
976 | exchange(_Tp* __ptr, _Val<_Tp> __desired, memory_order __m) noexcept
| ^~~~~~~~
- simplified differentiating for IP version and exchange types
- added more comments
- fixed unittest for receiver by mocking socket
- added option for building perfdhcp by hammer
- added workaround for compiler bug that cannot handle enum class
as a key to std::unordered_map
- hidden warnings from boost by changing compiler flag
from -I<boost-path> to -isystem <boost-path>
- removed unused options_ field from StatsMgr class
configure.ac
Added logic block to look for glib static libs fi enable-static = yes
m4macros/ax_boost_for_kea.m4
Changed to not use libtool for boost lib test.
m4macros/ax_boost_for_kea.m4
Altered the test to add "-static" flag and wrap the compilation
in a call to libtool as we do in our Makefiles. This should make the
test yield the same results as when we make. This is important for
-static as libtool may use .so if a .a is not available. On systems
which glibc .a's are not installed, our Makes with libtool would
succeed where a call to just g++ will fail.
configure.ac
Added WARNING message when building boost headers only.
m4macros/ax_boost_for_kea.m4
Building with boost system library is the default.
Added --enable-boost-headers-only, to explicitly build with boost
headers only, rather than linking to boost's system library.