buildroot/package/python3/python3-001-support-for-build.patch
Maxime Ripard f1c092da8b python3: Port python2 patches to reduce the interpreter size
Some of the python2 patches were left behind when doing the python3
package. This was because the python build system can now autodetect
what packages can be built in the system.

However, some of these patches are actually useful to reduce drastically
the size of the interpreter.

This patch ports the relevant patches to the python3 package, and adds a
new patch to remove the idle3 IDE as well from the interpreter.

Fixes #5696

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-28 22:02:44 +02:00

69 lines
2.5 KiB
Diff

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