1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- Add support in Python build system to specify host pgen
- Python needs a "pgen" program to build itself. Unfortunately, the
- Python build system assumes that it can use the pgen program it has
- just built to build itself. Obviously, this cannot work in
- cross-compilation mode since the pgen program have been built for the
- target.
- Therefore, this patch adds support in the Python build system for the
- new PGEN_FOR_BUILD variable, so that we can point Python ./configure
- script to the pgen program that have been previously built for the
- host.
- Patch ported to python2.7 by Maxime Ripard <ripard@archos.com>, and
- later significantly reworked by Thomas Petazzoni
- <thomas.petazzoni@free-electrons.com>, with some inspiration taken
- from the Python patches of the PTXdist project, and then ported to
- python3.3 by Maxime Ripard <maxime.ripard@free-electrons.com>
- Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
- ---
- Makefile.pre.in | 5 +++--
- configure.ac | 5 +++++
- 2 files changed, 8 insertions(+), 2 deletions(-)
- Index: Python-3.3.0/Makefile.pre.in
- ===================================================================
- --- Python-3.3.0.orig/Makefile.pre.in
- +++ Python-3.3.0/Makefile.pre.in
- @@ -239,6 +239,7 @@
- ##########################################################################
- # Parser
- PGEN= Parser/pgen$(EXE)
- +PGEN_FOR_BUILD=@PGEN_FOR_BUILD@
-
- PSRCS= \
- Parser/acceler.c \
- @@ -639,8 +640,8 @@
-
- $(GRAMMAR_H): $(GRAMMAR_INPUT) $(PGENSRCS)
- @$(MKDIR_P) Include
- - $(MAKE) $(PGEN)
- - $(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
- + $(MAKE) $(PGEN_FOR_BUILD)
- + $(PGEN_FOR_BUILD) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
- $(GRAMMAR_C): $(GRAMMAR_H) $(GRAMMAR_INPUT) $(PGENSRCS)
- $(MAKE) $(GRAMMAR_H)
- touch $(GRAMMAR_C)
- Index: Python-3.3.0/configure.ac
- ===================================================================
- --- Python-3.3.0.orig/configure.ac
- +++ Python-3.3.0/configure.ac
- @@ -51,10 +51,15 @@
- AC_MSG_RESULT($interp)
- PYTHON_FOR_BUILD="_PYTHON_PROJECT_BASE=$srcdir"' _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(srcdir)/Lib:$(srcdir)/Lib/plat-$(MACHDEP) '$interp
- fi
- + AC_MSG_CHECKING(pgen for build)
- + PGEN_FOR_BUILD="${PGEN_FOR_BUILD}"
- + AC_MSG_RESULT($PGEN_FOR_BUILD)
- else
- PYTHON_FOR_BUILD='./$(BUILDPYTHON) -E'
- + PGEN_FOR_BUILD='./$(PGEN)'
- fi
- AC_SUBST(PYTHON_FOR_BUILD)
- +AC_SUBST(PGEN_FOR_BUILD)
-
- 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
|