vkd3d/m4/check-pthread.m4
Giovanni Mascellani 0752e545e4 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.
2024-01-09 23:00:56 +01:00

30 lines
817 B
Plaintext

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"],
[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"])
])