configure: Reorder pthreads checks
authorLuca Barbato <lu_zero@gentoo.org>
Thu, 12 Dec 2013 16:05:34 +0000 (17:05 +0100)
committerLuca Barbato <lu_zero@gentoo.org>
Fri, 13 Dec 2013 22:53:30 +0000 (23:53 +0100)
Some pthreads symbols might be present in libc (as shown on various *BSD)
but not all of them, leading to false positives.

Check for the most common compiler flags before the plain symbol check
to avoid known pitfalls.

configure

index 541d080..6e28e4e 100755 (executable)
--- a/configure
+++ b/configure
@@ -3842,9 +3842,7 @@ fi
 # do this before the optional library checks as some of them require pthreads
 if ! disabled pthreads && ! enabled w32threads; then
     enable pthreads
-    if check_func pthread_join; then
-        :
-    elif check_func pthread_join -pthread; then
+    if check_func pthread_join -pthread; then
         add_cflags -pthread
         add_extralibs -pthread
     elif check_func pthread_join -pthreads; then
@@ -3852,7 +3850,9 @@ if ! disabled pthreads && ! enabled w32threads; then
         add_extralibs -pthreads
     elif check_func pthread_join -lpthreadGC2; then
         add_extralibs -lpthreadGC2
-    elif ! check_lib pthread.h pthread_join -lpthread; then
+    elif check_lib pthread.h pthread_join -lpthread; then
+        :
+    elif ! check_func pthread_join; then
         disable pthreads
     fi
 fi