summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile.pre.in21
-rw-r--r--Misc/NEWS5
-rwxr-xr-xconfigure1
-rw-r--r--configure.ac1
4 files changed, 21 insertions, 7 deletions
diff --git a/Makefile.pre.in b/Makefile.pre.in
index c4e8caa..f65422e 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -200,6 +200,7 @@ UNICODE_OBJS= @UNICODE_OBJS@
PYTHON= python$(EXE)
BUILDPYTHON= python$(BUILDEXE)
+cross_compiling=@cross_compiling@
PYTHON_FOR_BUILD=@PYTHON_FOR_BUILD@
_PYTHON_HOST_PLATFORM=@_PYTHON_HOST_PLATFORM@
HOST_GNU_TYPE= @host@
@@ -677,13 +678,19 @@ Modules/grpmodule.o: $(srcdir)/Modules/grpmodule.c $(srcdir)/Modules/posixmodule
Modules/pwdmodule.o: $(srcdir)/Modules/pwdmodule.c $(srcdir)/Modules/posixmodule.h
-$(GRAMMAR_H): $(GRAMMAR_INPUT) $(PGENSRCS)
- @$(MKDIR_P) Include
- $(MAKE) $(PGEN)
- $(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
-$(GRAMMAR_C): $(GRAMMAR_H) $(GRAMMAR_INPUT) $(PGENSRCS)
- $(MAKE) $(GRAMMAR_H)
- touch $(GRAMMAR_C)
+$(GRAMMAR_H): $(GRAMMAR_INPUT) $(PGEN)
+ @$(MKDIR_P) Include
+ if test "$(cross_compiling)" != "yes"; then \
+ $(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C); \
+ else \
+ cp $(srcdir)/Include/graminit.h $(GRAMMAR_H); \
+ fi
+$(GRAMMAR_C): $(GRAMMAR_H)
+ if test "$(cross_compiling)" != "yes"; then \
+ touch $(GRAMMAR_C); \
+ else \
+ cp $(srcdir)/Python/graminit.c $(GRAMMAR_C); \
+ fi
$(PGEN): $(PGENOBJS)
$(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN)
diff --git a/Misc/NEWS b/Misc/NEWS
index 1b486a1..d58c8f7 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -225,6 +225,11 @@ Tests
Build
-----
+- Issue #22359: Avoid incorrect recursive $(MAKE), and disable the rules for
+ running pgen when cross-compiling. The pgen output is normally saved with
+ the source code anyway, and is still regenerated when doing a native build.
+ Patch by Jonas Wagner and Xavier de Gaye.
+
- Issue #19450: Update Windows builds to use SQLite 3.8.11.0.
- Issue #17603: Avoid error about nonexistant fileblocks.o file by using a
diff --git a/configure b/configure
index 1724be5..960ee0a 100755
--- a/configure
+++ b/configure
@@ -743,6 +743,7 @@ build_os
build_vendor
build_cpu
build
+cross_compiling
target_alias
host_alias
build_alias
diff --git a/configure.ac b/configure.ac
index 3783b1e..2d3119b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -12,6 +12,7 @@ AC_INIT(python, PYTHON_VERSION, http://bugs.python.org/)
AC_CONFIG_SRCDIR([Include/object.h])
AC_CONFIG_HEADER(pyconfig.h)
+AC_SUBST(cross_compiling)
AC_CANONICAL_HOST
AC_SUBST(build)
AC_SUBST(host)