From 82377e034246e75aa2fd1a28ee54a667848860e3 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Sun, 31 Dec 2023 15:22:36 +0100 Subject: Build: add FreeBSD & libc++ compilation support (#288) * build: add FreeBSD compilation support * build: unbreak compilation with clang libc++ unary_function is obsolete with C++11 and removed in C++17. gnu-gcc-libstdc++ still has the class, but llvm-clang-libc++ does not, and there is a compile error. vmime should have just stopped using unary_function with commit v0.9.2-48-g8564b2f8. $ cat x.cpp $ clang++ -std=c++17 -stdlib=libc++ -c x.cpp In file included from x.cpp:1: In file included from /usr/local/include/vmime/net/transport.hpp:34: In file included from /usr/local/include/vmime/net/service.hpp:36: In file included from /usr/local/include/vmime/net/session.hpp:40: In file included from /usr/local/include/vmime/utility/url.hpp:30: /usr/local/include/vmime/propertySet.hpp:339:33: error: no template named /'unary_function' in namespace 'std'; did you mean '__unary_function'? class propFinder : public std::unary_function , bool> { ~~~~~^~~~~~~~~~~~~~ __unary_function --- cmake/config.hpp.cmake | 1 + 1 file changed, 1 insertion(+) (limited to 'cmake') diff --git a/cmake/config.hpp.cmake b/cmake/config.hpp.cmake index 6cf49b8c..ed486718 100644 --- a/cmake/config.hpp.cmake +++ b/cmake/config.hpp.cmake @@ -77,6 +77,7 @@ typedef unsigned @VMIME_64BIT_TYPE@ vmime_uint64; #cmakedefine01 VMIME_HAVE_SYSCALL #cmakedefine01 VMIME_HAVE_SYSCALL_GETTID #cmakedefine01 VMIME_HAVE_GETTHRID +#cmakedefine01 VMIME_HAVE_THR_SELF #cmakedefine01 VMIME_HAVE_LWP_SELF #cmakedefine01 VMIME_HAVE_GMTIME_S #cmakedefine01 VMIME_HAVE_GMTIME_R -- cgit v1.2.3