2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-22 01:49:48 +00:00
kea/m4macros/ax_cpp17.m4
Andrei Pavel 58d4caa865
[#3605] Prepare existing code for fuzzing
- Separate ENABLE_AFL into ENABLE_FUZZING and HAVE_AFL.
- Add the --disable-unicode flag required in the oss-fuzz container.
- Add checking of support for C++17.
- Make Kea compile with afl++.
- Rotate ports in `getServerPort()` functions under an env var.
- Fix some destruction issues that would result in crashes when fuzzing.
- Add some checks in the UnixControlClient that prevent some crashes when fuzzing.
- Add `isc::util::isSocket()` function.
- Change `isc::util::file::Path` to not append a trailing slash to allow
  chained calls of `parentPath()`.
- Add `isc::util::file::TemporaryDirectory` useful when fuzzing.
2024-10-23 16:37:31 +03:00

24 lines
585 B
Plaintext

AC_DEFUN([AX_ISC_CPP17], [
AC_MSG_CHECKING([c++17 support])
# Save flags.
CPPFLAGS_SAVED="${CPPFLAGS}"
# Provide -std=c++17 flag temporarily.
CPPFLAGS="${CPPFLAGS} -std=c++17"
# Check that the filesystem library is supported.
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[#include <filesystem>],
[std::filesystem::path cwd = std::filesystem::current_path();]
)],
[AC_MSG_RESULT([yes])
CPP17_SUPPORTED=true],
[AC_MSG_RESULT([no])
CPP17_SUPPORTED=false])
# Restore flags.
CPPFLAGS="${CPPFLAGS_SAVED}"
])