Files
libyal-libexe/m4/pthread.m4
T
2016-03-28 06:56:48 +02:00

184 lines
3.8 KiB
Plaintext

dnl Functions for pthread
dnl
dnl Version: 20130509
dnl Function to detect if pthread is available
AC_DEFUN([AX_PTHREAD_CHECK_LIB],
[dnl Check if parameters were provided
AS_IF(
[test "x$ac_cv_with_pthread" != x && test "x$ac_cv_with_pthread" != xno && test "x$ac_cv_with_pthread" != xauto-detect],
[AS_IF(
[test -d "$ac_cv_with_pthread"],
[CFLAGS="$CFLAGS -I${ac_cv_with_pthread}/include"
LDFLAGS="$LDFLAGS -L${ac_cv_with_pthread}/lib"],
[AC_MSG_WARN([no such directory: $ac_cv_with_pthread])
])
])
AS_IF(
[test "x$ac_cv_with_pthread" = xno],
[ac_cv_pthread=no],
[dnl Check for headers
AC_CHECK_HEADERS([pthread.h])
AS_IF(
[test "x$ac_cv_header_pthread_h" = xno],
[ac_cv_pthread=no],
[dnl Check for the individual functions
ac_cv_pthread=pthread
dnl Thread functions
AC_CHECK_LIB(
pthread,
pthread_create,
[ac_pthread_dummy=yes],
[ac_cv_pthread=no])
AC_CHECK_LIB(
pthread,
pthread_exit,
[ac_pthread_dummy=yes],
[ac_cv_pthread=no])
AC_CHECK_LIB(
pthread,
pthread_join,
[ac_pthread_dummy=yes],
[ac_cv_pthread=no])
dnl Condition functions
AC_CHECK_LIB(
pthread,
pthread_cond_init,
[ac_pthread_dummy=yes],
[ac_cv_pthread=no])
AC_CHECK_LIB(
pthread,
pthread_cond_destroy,
[ac_pthread_dummy=yes],
[ac_cv_pthread=no])
AC_CHECK_LIB(
pthread,
pthread_cond_broadcast,
[ac_pthread_dummy=yes],
[ac_cv_pthread=no])
AC_CHECK_LIB(
pthread,
pthread_cond_signal,
[ac_pthread_dummy=yes],
[ac_cv_pthread=no])
AC_CHECK_LIB(
pthread,
pthread_cond_wait,
[ac_pthread_dummy=yes],
[ac_cv_pthread=no])
dnl Mutex functions
AC_CHECK_LIB(
pthread,
pthread_mutex_init,
[ac_pthread_dummy=yes],
[ac_cv_pthread=no])
AC_CHECK_LIB(
pthread,
pthread_mutex_destroy,
[ac_pthread_dummy=yes],
[ac_cv_pthread=no])
AC_CHECK_LIB(
pthread,
pthread_mutex_lock,
[ac_pthread_dummy=yes],
[ac_cv_pthread=no])
AC_CHECK_LIB(
pthread,
pthread_mutex_trylock,
[ac_pthread_dummy=yes],
[ac_cv_pthread=no])
AC_CHECK_LIB(
pthread,
pthread_mutex_unlock,
[ac_pthread_dummy=yes],
[ac_cv_pthread=no])
dnl Read/Write lock functions
AC_CHECK_LIB(
pthread,
pthread_rwlock_init,
[ac_pthread_dummy=yes],
[ac_cv_pthread=no])
AC_CHECK_LIB(
pthread,
pthread_rwlock_destroy,
[ac_pthread_dummy=yes],
[ac_cv_pthread=no])
AC_CHECK_LIB(
pthread,
pthread_rwlock_rdlock,
[ac_pthread_dummy=yes],
[ac_cv_pthread=no])
AC_CHECK_LIB(
pthread,
pthread_rwlock_wrlock,
[ac_pthread_dummy=yes],
[ac_cv_pthread=no])
AC_CHECK_LIB(
pthread,
pthread_rwlock_unlock,
[ac_pthread_dummy=yes],
[ac_cv_pthread=no])
ac_cv_pthread_LIBADD="-lpthread";
])
])
AS_IF(
[test "x$ac_cv_pthread" = xpthread],
[AC_DEFINE(
[HAVE_PTHREAD],
[1],
[Define to 1 if you have the 'pthread' library (-lpthread).])
])
AS_IF(
[test "x$ac_cv_pthread" != xno],
[AC_SUBST(
[HAVE_PTHREAD],
[1]) ],
[AC_SUBST(
[HAVE_PTHREAD],
[0])
])
])
dnl Function to detect how to enable pthread
AC_DEFUN([AX_PTHREAD_CHECK_ENABLE],
[AX_COMMON_ARG_WITH(
[pthread],
[pthread],
[search for pthread in includedir and libdir or in the specified DIR, or no if not to use pthread],
[auto-detect],
[DIR])
dnl Check for a shared library version
AX_PTHREAD_CHECK_LIB
AS_IF(
[test "x$ac_cv_pthread_CPPFLAGS" != "x"],
[AC_SUBST(
[PTHREAD_CPPFLAGS],
[$ac_cv_pthread_CPPFLAGS])
])
AS_IF(
[test "x$ac_cv_pthread_LIBADD" != "x"],
[AC_SUBST(
[PTHREAD_LIBADD],
[$ac_cv_pthread_LIBADD])
])
AS_IF(
[test "x$ac_cv_pthread" = xpthread],
[AC_SUBST(
[ax_pthread_pc_libs_private],
[-lpthread])
])
])