linker and compiler may have noisy output by default, making acx_pthread.m4 believe that pthread options that it tries are ignored as invalid.
Record default compiler and linker output and see if adding pthread option changes that, instead of assuming that linker and compiler are silent by default. Signed-off-by: Max Filippov <jcmvb...@gmail.com> --- config/acx_pthread.m4 | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/config/acx_pthread.m4 b/config/acx_pthread.m4 index 581164b..028fdb1 100644 --- a/config/acx_pthread.m4 +++ b/config/acx_pthread.m4 @@ -79,6 +79,22 @@ case "${host_cpu}-${host_os}" in esac if test x"$acx_pthread_ok" = xno; then + +cat >conftest.$ac_ext <<_ACEOF +int +main (int argc, char **argv) +{ + (void) argc; + (void) argv; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext + +# Record the default linker and compiler output +ld_default_output="`(eval $ac_link 2>&1 1>&5)`" +cc_default_output="`(eval $ac_compile 2>&1 1>&5)`" + for flag in $acx_pthread_flags; do tryPTHREAD_CFLAGS="" @@ -142,7 +158,7 @@ main (int argc, char **argv) _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext # 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 + if test "`(eval $ac_link 2>&1 1>&5)`" = "$ld_default_output" && test "`(eval $ac_compile 2>&1 1>&5)`" = "$cc_default_output"; then # The original macro breaks out of the loop at this point, # but we continue trying flags because Linux needs -lpthread # too to build libpq successfully. The test above only -- 1.8.1.4 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers