aboutsummaryrefslogtreecommitdiff
path: root/m4/threads.m4
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2013-02-11 10:15:33 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2013-02-11 10:15:33 +0200
commit6ab751a49b1a4336c7f2f109c407fb31c9b69b02 (patch)
tree0c9473c27537d1b85ad2356a9b3c5a41984101a2 /m4/threads.m4
parent2c8929d8461b5ba64d0b56234ff1d5f8dca3657c (diff)
Detect POSIX threads on MinGW-W64
Diffstat (limited to 'm4/threads.m4')
-rw-r--r--m4/threads.m411
1 files changed, 10 insertions, 1 deletions
diff --git a/m4/threads.m4 b/m4/threads.m4
index 9a7da53..1609a04 100644
--- a/m4/threads.m4
+++ b/m4/threads.m4
@@ -22,7 +22,16 @@ if test x$threads = xcheck; then
CXXFLAGS="$CXXFLAGS -mthreads"
;;
esac
- threads=win32
+
+ # Newer versions of GCC can be configured to use either Win32 or POSIX
+ # threads. It appears that -mthreads should be used in both cases but
+ # if the model is POSIX then GCC will also link -lpthread by default.
+ # Use that fact to test which model we have.
+ #
+ AC_TRY_LINK([#include <pthread.h>],
+ [pthread_create(0,0,0,0);],
+ [threads=posix],
+ [threads=win32])
;;
*)
ACX_PTHREAD