Module: vkd3d
Branch: master
Commit: 0752e545e46bd2d05301ff23405770823f9bade4
URL: https://gitlab.winehq.org/wine/vkd3d/-/commit/0752e545e46bd2d05301ff2340577…
Author: Giovanni Mascellani <gmascellani(a)codeweavers.com>
Date: Tue Jan 9 10:31:37 2024 +0100
configure: Detect pthread support using -pthread instead of -lpthread.
The latter links the pthread library, but doesn't set the preprocessor
state that some toolchains require. The former is the supported way
to use pthread.
This allows vkd3d to be compiled with the Android NDK.
---
m4/check-pthread.m4 | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/m4/check-pthread.m4 b/m4/check-pthread.m4
index 5fa82ecb..706829d9 100644
--- a/m4/check-pthread.m4
+++ b/m4/check-pthread.m4
@@ -15,7 +15,15 @@ AS_IF([test "x$vkd3d_pthread_found" = "xno"], [PTHREAD_LIBS=""])
LIBS="$vkd3d_libs_saved"])
AS_IF([test "x$vkd3d_pthread_found" != "xyes"],
-AC_CHECK_LIB([pthread], [pthread_create],
- [PTHREAD_LIBS="-lpthread"],
- [AC_MSG_ERROR([libpthread not found.])]))
+[vkd3d_libs_saved="$LIBS"
+PTHREAD_LIBS="-pthread"
+LIBS="$LIBS $PTHREAD_LIBS"
+
+AC_MSG_CHECKING([checking for pthread_create in $PTHREAD_LIBS])
+AC_TRY_LINK_FUNC([pthread_create], [vkd3d_pthread_found=yes])
+AC_MSG_RESULT([$vkd3d_pthread_found])
+
+AS_IF([test "x$vkd3d_pthread_found" = "xno"], [PTHREAD_LIBS=""])
+
+LIBS="$vkd3d_libs_saved"])
])