=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: build: Fix pthread tests.
Alexandre Julliard
julliard at winehq.org
Tue Mar 19 17:09:06 CDT 2019
Module: vkd3d
Branch: master
Commit: fa5a15c961407f333c3bfc6283ac3551c38dc9f8
URL: https://source.winehq.org/git/vkd3d.git/?a=commit;h=fa5a15c961407f333c3bfc6283ac3551c38dc9f8
Author: Józef Kucia <jkucia at codeweavers.com>
Date: Tue Mar 19 14:41:04 2019 +0100
build: Fix pthread tests.
Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
configure.ac | 4 +---
m4/check-pthread.m4 | 21 +++++++++++++++++++++
2 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
index bfaa8f2..6d2e128 100644
--- a/configure.ac
+++ b/configure.ac
@@ -80,9 +80,7 @@ AC_CHECK_LIB([dl], [dlopen],
[AS_IF([test "$ac_cv_header_dlfnc_h" = "xyes"], [AC_MSG_ERROR([libdl not found.])])])
AC_ARG_VAR([PTHREAD_LIBS], [linker flags for pthreads])
-AC_CHECK_LIB([pthread], [pthread_create],
- [AC_SUBST([PTHREAD_LIBS], ["-lpthread"])],
- [AC_MSG_ERROR([libpthread not found.])])
+VKD3D_CHECK_PTHREAD
AC_SUBST([VULKAN_LIBS])
VKD3D_CHECK_SONAME([vulkan], [vkGetInstanceProcAddr],
diff --git a/m4/check-pthread.m4 b/m4/check-pthread.m4
new file mode 100644
index 0000000..5fa82ec
--- /dev/null
+++ b/m4/check-pthread.m4
@@ -0,0 +1,21 @@
+dnl VKD3D_CHECK_PTHREAD
+AC_DEFUN([VKD3D_CHECK_PTHREAD],
+[vkd3d_pthread_found=no
+
+AS_IF([test "x$PTHREAD_LIBS" != x],
+[vkd3d_libs_saved="$LIBS"
+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"])
+
+AS_IF([test "x$vkd3d_pthread_found" != "xyes"],
+AC_CHECK_LIB([pthread], [pthread_create],
+ [PTHREAD_LIBS="-lpthread"],
+ [AC_MSG_ERROR([libpthread not found.])]))
+])
More information about the wine-cvs
mailing list