Skip to content

Commit

Permalink
Issue python#27490: Merge pgen cross-compile logic from 3.5
Browse files Browse the repository at this point in the history
  • Loading branch information
vadmium committed Jul 28, 2016
2 parents 2561726 + eac67be commit 4b53359
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 1 deletion.
2 changes: 1 addition & 1 deletion Makefile.pre.in
Original file line number Diff line number Diff line change
Expand Up @@ -791,7 +791,7 @@ Python/sysmodule.o: $(srcdir)/Python/sysmodule.c Makefile

$(IO_OBJS): $(IO_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 \
Expand Down
1 change: 1 addition & 0 deletions Misc/ACKS
Original file line number Diff line number Diff line change
Expand Up @@ -1131,6 +1131,7 @@ Steven Pemberton
Bo Peng
Santiago Peresón
George Peristerakis
Thomas Perl
Mathieu Perreault
Mark Perrego
Trevor Perrin
Expand Down
3 changes: 3 additions & 0 deletions Misc/NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,9 @@ Windows
Build
-----

- Issue #27490: Do not build pgen when cross-compiling. Patch by Thomas
Perl.

- Issue #26662: Set PYTHON_FOR_GEN in configure as the Python program to be
used for file generation during the build.

Expand Down
4 changes: 4 additions & 0 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -740,6 +740,7 @@ UNIVERSALSDK
CONFIG_ARGS
SOVERSION
VERSION
PGEN_DEPENDENCY
PYTHON_FOR_BUILD
PYTHON_FOR_GEN
host_os
Expand Down Expand Up @@ -3050,14 +3051,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
Expand Down
3 changes: 3 additions & 0 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -81,12 +81,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
Expand Down

0 comments on commit 4b53359

Please sign in to comment.