diff --git a/Lib/plat-generic/regen b/Lib/plat-generic/regen index a20cdc15182..c96167dcb0e 100755 --- a/Lib/plat-generic/regen +++ b/Lib/plat-generic/regen @@ -1,3 +1,3 @@ #! /bin/sh set -v -python$EXE ../../Tools/scripts/h2py.py -i '(u_long)' /usr/include/netinet/in.h +eval $PYTHON_FOR_BUILD ../../Tools/scripts/h2py.py -i "'(u_long)'" /usr/include/netinet/in.h diff --git a/Makefile.pre.in b/Makefile.pre.in index 8297004c0b3..a9a68e3ef1a 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -203,7 +203,8 @@ BUILDPYTHON= python$(BUILDEXE) PYTHON_FOR_BUILD=@PYTHON_FOR_BUILD@ _PYTHON_HOST_PLATFORM=@_PYTHON_HOST_PLATFORM@ -HOST_GNU_TYPE= @host@ +BUILD_GNU_TYPE= @build@ +HOST_GNU_TYPE= @host@ # The task to run while instrument when building the profile-opt target PROFILE_TASK= $(srcdir)/Tools/pybench/pybench.py -n 2 --with-gc --with-syscheck @@ -1123,6 +1124,12 @@ $(srcdir)/Lib/$(PLATDIR): export DYLD_FRAMEWORK_PATH; DYLD_FRAMEWORK_PATH="`pwd`"; \ export EXE; EXE="$(BUILDEXE)"; \ if [ -n "$(MULTIARCH)" ]; then export MULTIARCH; MULTIARCH=$(MULTIARCH); fi; \ + export PYTHON_FOR_BUILD; \ + if [ "$(BUILD_GNU_TYPE)" = "$(HOST_GNU_TYPE)" ]; then \ + PYTHON_FOR_BUILD="$(BUILDPYTHON)"; \ + else \ + PYTHON_FOR_BUILD="$(PYTHON_FOR_BUILD)"; \ + fi; \ cd $(srcdir)/Lib/$(PLATDIR); $(RUNSHARED) ./regen python-config: $(srcdir)/Misc/python-config.in diff --git a/Misc/NEWS b/Misc/NEWS index 2b61d03f7a5..6a8c24ca0a4 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -752,6 +752,8 @@ Tests Build ----- +- Issue #17031: Fix running regen in cross builds. + - Issue #3754: fix typo in pthread AC_CACHE_VAL. - Issue #15484: Fix _PYTHON_PROJECT_BASE for srcdir != builddir builds; diff --git a/configure b/configure index b7d3850d937..996f3248bc5 100755 --- a/configure +++ b/configure @@ -2926,6 +2926,8 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + if test "$cross_compiling" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for python interpreter for cross build" >&5 $as_echo_n "checking for python interpreter for cross build... " >&6; } diff --git a/configure.ac b/configure.ac index 456d111ec36..969b05217f9 100644 --- a/configure.ac +++ b/configure.ac @@ -50,6 +50,8 @@ AC_CONFIG_SRCDIR([Include/object.h]) AC_CONFIG_HEADER(pyconfig.h) AC_CANONICAL_HOST +AC_SUBST(build) +AC_SUBST(host) if test "$cross_compiling" = yes; then AC_MSG_CHECKING([for python interpreter for cross build])