From f0053845326e9eba290c78162ef355558cd2fc46 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter_e@gmx.net>
Date: Wed, 16 Feb 2011 23:06:36 +0200
Subject: [PATCH] Better support for thread-support flag detection with clang

When testing the stderr produced by various thread-support flags, also
run a compilation in addition to a link, because clang warns on
certain flags when compiling but not when linking.
---
 config/acx_pthread.m4 | 3 ++-
 configure             | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/config/acx_pthread.m4 b/config/acx_pthread.m4
index ceb161a556a..6ff241eba19 100644
--- a/config/acx_pthread.m4
+++ b/config/acx_pthread.m4
@@ -142,7 +142,8 @@ main (int argc, char **argv)
 }
 _ACEOF
             rm -f conftest.$ac_objext conftest$ac_exeext
-            if test "`(eval $ac_link 2>&1 1>&5)`" = ""; then
+            # Check both linking and compiling, because they might tolerate different options.
+            if test "`(eval $ac_link 2>&1 1>&5)`" = "" && test "`(eval $ac_compile 2>&1 1>&5)`" = ""; then
                 # we continue with more flags because Linux needs -lpthread
                 # for libpq builds on PostgreSQL.  The test above only
                 # tests for building binaries, not shared libraries.
diff --git a/configure b/configure
index f4d11abc7e1..a13bf24c8df 100755
--- a/configure
+++ b/configure
@@ -22814,7 +22814,8 @@ main (int argc, char **argv)
 }
 _ACEOF
             rm -f conftest.$ac_objext conftest$ac_exeext
-            if test "`(eval $ac_link 2>&1 1>&5)`" = ""; then
+            # Check both linking and compiling, because they might tolerate different options.
+            if test "`(eval $ac_link 2>&1 1>&5)`" = "" && test "`(eval $ac_compile 2>&1 1>&5)`" = ""; then
                 # we continue with more flags because Linux needs -lpthread
                 # for libpq builds on PostgreSQL.  The test above only
                 # tests for building binaries, not shared libraries.
-- 
GitLab