aboutsummaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2024-12-04 14:32:40 +0000
committerWerner Koch <[email protected]>2024-12-04 14:33:02 +0000
commit4a62318422ca3f0f72b6fd00031daba556a10687 (patch)
treec323b2fbe60f15cbf141be0e54978a42c79a8b88 /configure.ac
parentcpp: Add Kyber algorithm (diff)
downloadgpgme-4a62318422ca3f0f72b6fd00031daba556a10687.tar.gz
gpgme-4a62318422ca3f0f72b6fd00031daba556a10687.zip
Add a configure test for gettid.
* configure.ac (HAVE_GETTID,HAVE_SYS_GETTID): New test. * src/debug.c: Include syscall.h if needed. (tid_log_callback) [HAVE_SYS_GETTID]: Use SYS_gettid -- Linux introduced the gettid syscall with 2.4.11 but glibc only with its version 2.30. This patch allows building on older platforms. Co-authored-by: lgh1
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac19
1 files changed, 19 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 7eef3523..d8d7dc42 100644
--- a/configure.ac
+++ b/configure.ac
@@ -919,6 +919,25 @@ fi
# Check for getgid etc
AC_CHECK_FUNCS(getgid getegid closefrom nanosleep)
+# Check for gettid - test taken from strongswan git
+AC_CHECK_FUNC(gettid,
+ [AC_DEFINE(HAVE_GETTID, 1, [Defined if gettid is available.])],
+ [AC_MSG_CHECKING([for SYS_gettid])
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#define _GNU_SOURCE
+ #include <unistd.h>
+ #include <sys/syscall.h>
+ ]],
+ [[int main() {
+ return syscall(SYS_gettid);}]])],
+ [AC_MSG_RESULT([yes])
+ AC_DEFINE(HAVE_SYS_GETTID,1,
+ [Defined is the system call gettid is available])],
+ [AC_MSG_RESULT([no])]
+ )]
+)
+
# Replacement functions.
AC_REPLACE_FUNCS(stpcpy)