From 801110b30319a8ab1f8f29eedbac3798b03afb55 Mon Sep 17 00:00:00 2001 From: Martin Panter Date: Thu, 28 Jul 2016 01:28:27 +0000 Subject: [PATCH] Issue #27490: Do not build pgen when cross-compiling The dependendency on the $(PGEN) variable must only be set when not cross-compiling. When cross-compiling, $(PGEN) will not be used, so no need to build it. Patch by Thomas Perl. --- Makefile.pre.in | 2 +- Misc/ACKS | 1 + Misc/NEWS | 3 +++ configure | 4 ++++ configure.ac | 3 +++ 5 files changed, 12 insertions(+), 1 deletion(-) diff --git a/Makefile.pre.in b/Makefile.pre.in index dffc0b99731..ccfdd59952e 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -680,7 +680,7 @@ 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) $(PGEN) +$(GRAMMAR_H): $(GRAMMAR_INPUT) @PGEN_DEPENDENCY@ @$(MKDIR_P) Include # Avoid copying the file onto itself for an in-tree build if test "$(cross_compiling)" != "yes"; then \ diff --git a/Misc/ACKS b/Misc/ACKS index 8edea85e4c4..7aa8fc8af82 100644 --- a/Misc/ACKS +++ b/Misc/ACKS @@ -1056,6 +1056,7 @@ Steven Pemberton Bo Peng Santiago Peresón George Peristerakis +Thomas Perl Mathieu Perreault Mark Perrego Trevor Perrin diff --git a/Misc/NEWS b/Misc/NEWS index 3158c33d07f..0676ff841a6 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -90,6 +90,9 @@ What's New in Python 2.7.12? Build ----- +- Issue #27490: Do not build pgen when cross-compiling. Patch by Thomas + Perl. + - Issue #26930: Update Windows builds to use OpenSSL 1.0.2h. IDLE diff --git a/configure b/configure index 897f0a244f2..521dd7a06ce 100755 --- a/configure +++ b/configure @@ -735,6 +735,7 @@ UNIVERSALSDK CONFIG_ARGS SOVERSION VERSION +PGEN_DEPENDENCY PYTHON_FOR_BUILD host_os host_vendor @@ -2924,14 +2925,17 @@ $as_echo_n "checking for python interpreter for cross build... " >&6; } $as_echo "$interp" >&6; } PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/$(PLATDIR) '$interp fi + PGEN_DEPENDENCY='' elif test "$cross_compiling" = maybe; then as_fn_error $? "Cross compiling required --host=HOST-TUPLE and --build=ARCH" "$LINENO" 5 else PYTHON_FOR_BUILD='./$(BUILDPYTHON) -E' + PGEN_DEPENDENCY='$(PGEN)' fi + if test "$prefix" != "/"; then prefix=`echo "$prefix" | sed -e 's/\/$//g'` fi diff --git a/configure.ac b/configure.ac index f5e741d29ba..c4dfe79053e 100644 --- a/configure.ac +++ b/configure.ac @@ -36,12 +36,15 @@ if test "$cross_compiling" = yes; then AC_MSG_RESULT($interp) PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/$(PLATDIR) '$interp fi + PGEN_DEPENDENCY='' elif test "$cross_compiling" = maybe; then AC_MSG_ERROR([Cross compiling required --host=HOST-TUPLE and --build=ARCH]) else PYTHON_FOR_BUILD='./$(BUILDPYTHON) -E' + PGEN_DEPENDENCY='$(PGEN)' fi AC_SUBST(PYTHON_FOR_BUILD) +AC_SUBST(PGEN_DEPENDENCY) dnl Ensure that if prefix is specified, it does not end in a slash. If dnl it does, we get path names containing '//' which is both ugly and