diff options
author | Jan Engelhardt <[email protected]> | 2023-11-09 19:32:47 +0000 |
---|---|---|
committer | GitHub <[email protected]> | 2023-11-09 19:32:47 +0000 |
commit | 1a35bb6d71b6301287e21aaabd112997ea0f0a7f (patch) | |
tree | 2c707feec48c68e26f0fc7b5b5d6de51eb5cb56a | |
parent | Update cmake (#277) (diff) | |
download | vmime-1a35bb6d71b6301287e21aaabd112997ea0f0a7f.tar.gz vmime-1a35bb6d71b6301287e21aaabd112997ea0f0a7f.zip |
Build: add Solaris compilation support (#282)
-rw-r--r-- | CMakeLists.txt | 1 | ||||
-rw-r--r-- | cmake/config.hpp.cmake | 1 | ||||
-rw-r--r-- | src/vmime/platforms/posix/posixHandler.cpp | 5 |
3 files changed, 7 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index e8092eef..8f903e9f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -845,6 +845,7 @@ CHECK_FUNCTION_EXISTS(gettid VMIME_HAVE_GETTID) CHECK_FUNCTION_EXISTS(syscall VMIME_HAVE_SYSCALL) CHECK_SYMBOL_EXISTS(SYS_gettid sys/syscall.h VMIME_HAVE_SYSCALL_GETTID) CHECK_SYMBOL_EXISTS(getthrid unistd.h VMIME_HAVE_GETTHRID) +CHECK_SYMBOL_EXISTS(_lwp_self sys/lwp.h VMIME_HAVE_LWP_SELF) CHECK_SYMBOL_EXISTS(SO_KEEPALIVE sys/socket.h VMIME_HAVE_SO_KEEPALIVE) CHECK_SYMBOL_EXISTS(SO_NOSIGPIPE sys/socket.h VMIME_HAVE_SO_NOSIGPIPE) diff --git a/cmake/config.hpp.cmake b/cmake/config.hpp.cmake index c5e9fdef..6cf49b8c 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_LWP_SELF #cmakedefine01 VMIME_HAVE_GMTIME_S #cmakedefine01 VMIME_HAVE_GMTIME_R #cmakedefine01 VMIME_HAVE_LOCALTIME_S diff --git a/src/vmime/platforms/posix/posixHandler.cpp b/src/vmime/platforms/posix/posixHandler.cpp index eecdbea9..148d2169 100644 --- a/src/vmime/platforms/posix/posixHandler.cpp +++ b/src/vmime/platforms/posix/posixHandler.cpp @@ -48,6 +48,9 @@ #if VMIME_HAVE_SYSCALL # include <sys/syscall.h> #endif +#if VMIME_HAVE_LWP_SELF +# include <sys/lwp.h> +#endif #include <netdb.h> @@ -227,6 +230,8 @@ unsigned int posixHandler::getThreadId() const { return static_cast <unsigned int>(::syscall(SYS_gettid)); #elif VMIME_HAVE_GETTHRID // OpenBSD return static_cast <unsigned int>(::getthrid()); +#elif VMIME_HAVE_LWP_SELF // Solaris + return static_cast <unsigned int>(::_lwp_self()); #else #error We have no implementation of getThreadId() for this platform! #endif |