summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDustin Spicuzza <dustin@virtualroadside.com>2023-01-05 22:57:31 (GMT)
committerGitHub <noreply@github.com>2023-01-05 22:57:31 (GMT)
commitcc8748712e78805c5be4a0a3f98cfb5c35026d0e (patch)
tree249b050fac6835c78a2db72216a80bc90be9a15a
parent1ae619c911ec8e096f83eeb7cc57fcd966950a3d (diff)
downloadcpython-cc8748712e78805c5be4a0a3f98cfb5c35026d0e.zip
cpython-cc8748712e78805c5be4a0a3f98cfb5c35026d0e.tar.gz
cpython-cc8748712e78805c5be4a0a3f98cfb5c35026d0e.tar.bz2
gh-86082: bpo-41916: allow cross-compiled python to have -pthread set for CXX (#22525)
When cross-compiling, the compile/run test for -pthread always fails so -pthread will never be automatically set without an override from the cache. ac_cv_pthread can already be overridden, so do the same thing for ac_cv_cxx_thread.
-rw-r--r--Misc/NEWS.d/next/Build/2022-03-04-10-47-23.bpo-41916.1d2GLU.rst2
-rwxr-xr-xconfigure13
-rw-r--r--configure.ac12
3 files changed, 19 insertions, 8 deletions
diff --git a/Misc/NEWS.d/next/Build/2022-03-04-10-47-23.bpo-41916.1d2GLU.rst b/Misc/NEWS.d/next/Build/2022-03-04-10-47-23.bpo-41916.1d2GLU.rst
new file mode 100644
index 0000000..2fc5f8e
--- /dev/null
+++ b/Misc/NEWS.d/next/Build/2022-03-04-10-47-23.bpo-41916.1d2GLU.rst
@@ -0,0 +1,2 @@
+Allow override of ac_cv_cxx_thread so that cross compiled python can set
+-pthread for CXX.
diff --git a/configure b/configure
index 946218f..4841c1d 100755
--- a/configure
+++ b/configure
@@ -9395,12 +9395,14 @@ fi
# If we have set a CC compiler flag for thread support then
# check if it works for CXX, too.
-ac_cv_cxx_thread=no
if test ! -z "$CXX"
then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX also accepts flags for thread support" >&5
$as_echo_n "checking whether $CXX also accepts flags for thread support... " >&6; }
-ac_save_cxx="$CXX"
+if ${ac_cv_cxx_thread+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_cxx="$CXX"
if test "$ac_cv_kpthread" = "yes"
then
@@ -9414,6 +9416,8 @@ elif test "$ac_cv_pthread" = "yes"
then
CXX="$CXX -pthread"
ac_cv_cxx_thread=yes
+else
+ ac_cv_cxx_thread=no
fi
if test $ac_cv_cxx_thread = yes
@@ -9429,10 +9433,13 @@ then
fi
rm -fr conftest*
fi
+CXX="$ac_save_cxx"
+fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_thread" >&5
$as_echo "$ac_cv_cxx_thread" >&6; }
+else
+ ac_cv_cxx_thread=no
fi
-CXX="$ac_save_cxx"
diff --git a/configure.ac b/configure.ac
index 2202897..0ed5a24 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2653,11 +2653,10 @@ fi
# If we have set a CC compiler flag for thread support then
# check if it works for CXX, too.
-ac_cv_cxx_thread=no
if test ! -z "$CXX"
then
-AC_MSG_CHECKING(whether $CXX also accepts flags for thread support)
-ac_save_cxx="$CXX"
+AC_CACHE_CHECK([whether $CXX also accepts flags for thread support], [ac_cv_cxx_thread],
+[ac_save_cxx="$CXX"
if test "$ac_cv_kpthread" = "yes"
then
@@ -2671,6 +2670,8 @@ elif test "$ac_cv_pthread" = "yes"
then
CXX="$CXX -pthread"
ac_cv_cxx_thread=yes
+else
+ ac_cv_cxx_thread=no
fi
if test $ac_cv_cxx_thread = yes
@@ -2686,9 +2687,10 @@ then
fi
rm -fr conftest*
fi
-AC_MSG_RESULT($ac_cv_cxx_thread)
+CXX="$ac_save_cxx"])
+else
+ ac_cv_cxx_thread=no
fi
-CXX="$ac_save_cxx"
dnl # check for ANSI or K&R ("traditional") preprocessor
dnl AC_MSG_CHECKING(for C preprocessor type)