From afe04691aca3f669f517adaeb5bd4a87a481fb4a Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Wed, 27 May 2020 01:26:30 +0100 Subject: Squashed 'third_party/glog/' content from commit 9ef754a3023 git-subtree-dir: third_party/glog git-subtree-split: 9ef754a3023e6fd10f20fe53dfca96dd898182e3 --- m4/ac_rwlock.m4 | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 m4/ac_rwlock.m4 (limited to 'm4/ac_rwlock.m4') diff --git a/m4/ac_rwlock.m4 b/m4/ac_rwlock.m4 new file mode 100644 index 000000000000..5065bcc1c5c2 --- /dev/null +++ b/m4/ac_rwlock.m4 @@ -0,0 +1,31 @@ +# TODO(csilvers): it would be better to actually try to link against +# -pthreads, to make sure it defines these methods, but that may be +# too hard, since pthread support is really tricky. + +# Check for support for pthread_rwlock_init() etc. +# These aren't posix, but are widely supported. To get them on linux, +# you need to define _XOPEN_SOURCE first, so this check assumes your +# application does that. +# +# Note: OS X (as of 6/1/06) seems to support pthread_rwlock, but +# doesn't define PTHREAD_RWLOCK_INITIALIZER. Therefore, we don't test +# that particularly macro. It's probably best if you don't use that +# macro in your code either. + +AC_DEFUN([AC_RWLOCK], +[AC_CACHE_CHECK(support for pthread_rwlock_* functions, +ac_cv_rwlock, +[AC_LANG_SAVE + AC_LANG_C + AC_TRY_COMPILE([#define _XOPEN_SOURCE 500 + #include ], + [pthread_rwlock_t l; pthread_rwlock_init(&l, NULL); + pthread_rwlock_rdlock(&l); + return 0;], + ac_cv_rwlock=yes, ac_cv_rwlock=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_rwlock" = yes; then + AC_DEFINE(HAVE_RWLOCK,1,[define if the compiler implements pthread_rwlock_*]) +fi +]) -- cgit 1.4.1