--- /dev/null
+From 3dc31a435b67de2ba3dd3457f0c939e20b58e8de Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue, 7 Mar 2017 22:17:06 +0100
+Subject: [PATCH] setup.py: do not add invalid header locations
+
+This piece of code incorrectly adds /usr/include to
+self.compiler.include_dirs, and results in the following invalid
+compilation line:
+
+/home/thomas/projets/buildroot/output/host/usr/bin/arm-none-linux-gnueabi-gcc -fPIC \
+ -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 \
+ -pipe -Os -DNDEBUG -g -O3 -Wall -Wstrict-prototypes \
+ -I/usr/include -I. -IInclude -I./Include \
+ -I/home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include \
+ -I/home/thomas/projets/buildroot/output/build/python-2.7.6/Include \
+ -I/home/thomas/projets/buildroot/output/build/python-2.7.6 \
+ -c /home/thomas/projets/buildroot/output/build/python-2.7.6/Modules/mathmodule.c \
+ -o build/temp.linux2-arm-2.7/home/thomas/projets/buildroot/output/build/python-2.7.6/Modules/mathmodule.o
+cc1: warning: include location "/usr/include" is unsafe for cross-compilation [-Wpoison-system-directories]
+[...]
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ setup.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
+index 54054c2..64001e2 100644
+--- a/setup.py
++++ b/setup.py
+@@ -496,7 +496,7 @@ class PyBuildExt(build_ext):
+ for directory in reversed(options.dirs):
+ add_dir_to_list(dir_list, directory)
+
+- if os.path.normpath(sys.prefix) != '/usr' \
++ if False and os.path.normpath(sys.prefix) != '/usr' \
+ and not sysconfig.get_config_var('PYTHONFRAMEWORK'):
+ # OSX note: Don't add LIBDIR and INCLUDEDIR to building a framework
+ # (PYTHONFRAMEWORK is set) to avoid # linking problems when
+--
+2.7.4
+
--- /dev/null
+From 367ee7d103cf9f670c3925d555edf6f6a5b9d8d5 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue, 7 Mar 2017 22:17:25 +0100
+Subject: [PATCH] Fix get_python_inc() for cross-compilation
+
+When we are cross compiling, doing os.path.dirname(sys.executable) to
+get the build directory is incorrect, because we're executing the host
+Python to build things for the target. Instead, we should use the
+project_base variable.
+
+This fixes cross-compilation, which was adding incorrect header paths
+pointing to the location where the host Python was built:
+
+/home/thomas/projets/buildroot/output/host/usr/bin/arm-none-linux-gnueabi-gcc -fPIC -fno-strict-aliasing \
+ -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -DNDEBUG -g -O3 -Wall -Wstrict-prototypes \
+ -I/usr/include -I. -IInclude -I./Include -I/home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include \
+ -I/home/thomas/projets/buildroot/output/host/usr/bin/Include -I/home/thomas/projets/buildroot/output/host/usr/bin \
+ -c /home/thomas/projets/buildroot/output/build/python-2.7.6/Modules/_struct.c \
+ -o build/temp.linux2-arm-2.7/home/thomas/projets/buildroot/output/build/python-2.7.6/Modules/_struct.o
+
+This patch allows to fix the
+/home/thomas/projets/buildroot/output/host/usr/bin/Include and
+/home/thomas/projets/buildroot/output/host/usr/bin paths that are
+incorrectly added to the header paths.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ Lib/distutils/sysconfig.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
+index de7da1d..d72b6e5 100644
+--- a/Lib/distutils/sysconfig.py
++++ b/Lib/distutils/sysconfig.py
+@@ -79,7 +79,7 @@ def get_python_inc(plat_specific=0, prefix=None):
+
+ if os.name == "posix":
+ if python_build:
+- buildir = os.path.dirname(sys.executable)
++ buildir = project_base
+ if plat_specific:
+ # python.h is located in the buildir
+ inc_dir = buildir
+--
+2.7.4
+
--- /dev/null
+From 0ef0d4ddd3f2261e381f22061a9a451dfbb1dc9e Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue, 7 Mar 2017 22:17:59 +0100
+Subject: [PATCH] Change the install location of _sysconfigdata.py
+
+The _sysconfigdata.py module contains definitions that are needed when
+building Python modules. In cross-compilation mode, when building
+Python extensions for the target, we need to use the _sysconfigdata.py
+of the target Python while executing the host Python.
+
+However until now, the _sysconfigdata.py module was installed in
+build/lib.<arch>-<version> directory, together with a number of
+architecture-specific shared objects, which cannot be used with the
+host Python.
+
+To solve this problem, this patch moves _sysconfigdata.py to a
+separate location, build/sysconfigdata.<arch>-<version>/, and only
+this directory gets added to the PYTHONPATH of the host Python
+interpreter when building Python modules for the target.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ Makefile.pre.in | 12 ++++++++++--
+ configure.ac | 2 +-
+ 2 files changed, 11 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile.pre.in b/Makefile.pre.in
+index e288964..5367df7 100644
+--- a/Makefile.pre.in
++++ b/Makefile.pre.in
+@@ -529,6 +529,9 @@ pybuilddir.txt: $(BUILDPYTHON)
+ rm -f ./pybuilddir.txt ; \
+ exit 1 ; \
+ fi
++ echo `cat pybuilddir.txt`/sysconfigdata > pysysconfigdatadir.txt
++ mkdir -p `cat pysysconfigdatadir.txt`
++ cp `cat pybuilddir.txt`/_sysconfigdata.py `cat pysysconfigdatadir.txt`
+
+ # This is shared by the math and cmath modules
+ Modules/_math.o: Modules/_math.c Modules/_math.h
+@@ -1080,7 +1083,7 @@ libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
+ else true; \
+ fi; \
+ done
+- @for i in $(srcdir)/Lib/*.py `cat pybuilddir.txt`/_sysconfigdata.py $(srcdir)/Lib/*.doc $(srcdir)/Lib/*.egg-info ; \
++ @for i in $(srcdir)/Lib/*.py $(srcdir)/Lib/*.doc $(srcdir)/Lib/*.egg-info ; \
+ do \
+ if test -x $$i; then \
+ $(INSTALL_SCRIPT) $$i $(DESTDIR)$(LIBDEST); \
+@@ -1090,6 +1093,11 @@ libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
+ echo $(INSTALL_DATA) $$i $(LIBDEST); \
+ fi; \
+ done
++ $(INSTALL_DATA) `cat pysysconfigdatadir.txt`/_sysconfigdata.py \
++ $(DESTDIR)$(LIBDEST)
++ mkdir -p $(DESTDIR)$(LIBDEST)/sysconfigdata
++ $(INSTALL_DATA) `cat pysysconfigdatadir.txt`/_sysconfigdata.py \
++ $(DESTDIR)$(LIBDEST)/sysconfigdata
+ @for d in $(LIBSUBDIRS); \
+ do \
+ a=$(srcdir)/Lib/$$d; \
+@@ -1418,7 +1426,7 @@ distclean: clobber
+ Modules/Setup Modules/Setup.local Modules/Setup.config \
+ Modules/ld_so_aix Modules/python.exp Misc/python.pc
+ -rm -f python*-gdb.py
+- -rm -f pybuilddir.txt
++ -rm -f pybuilddir.txt pysysconfigdatadir.txt
+ # Issue #28258: set LC_ALL to avoid issues with Estonian locale.
+ # Expansion is performed here by shell (spawned by make) itself before
+ # arguments are passed to find. So LC_ALL=C must be set as a separate
+diff --git a/configure.ac b/configure.ac
+index 1273465..5f89797 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -33,7 +33,7 @@ if test "$cross_compiling" = yes; then
+ AC_MSG_ERROR([python$PACKAGE_VERSION interpreter not found])
+ fi
+ 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
++ PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pysysconfigdatadir.txt && echo $(abs_builddir)/`cat pysysconfigdatadir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/$(PLATDIR) '$interp
+ fi
+ # Used to comment out stuff for rebuilding generated files
+ GENERATED_COMMENT='#'
+--
+2.7.4
+
--- /dev/null
+From 168e6c594e80395583de5ab0d082be119b2061fc Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue, 7 Mar 2017 22:18:57 +0100
+Subject: [PATCH] Make the compilation of .pyc and .pyo conditional
+
+This commit adds --{enable,disable}-{pyc,pyo} options to enable/disable
+the compilation of pyc/pyo files.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ Makefile.pre.in | 8 ++++++++
+ configure.ac | 11 +++++++++++
+ 2 files changed, 19 insertions(+)
+
+diff --git a/Makefile.pre.in b/Makefile.pre.in
+index 5367df7..96fc718 100644
+--- a/Makefile.pre.in
++++ b/Makefile.pre.in
+@@ -1128,24 +1128,32 @@ libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
+ $(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \
+ $(DESTDIR)$(LIBDEST)/distutils/tests ; \
+ fi
++ifeq (@PYC_BUILD@,yes)
+ PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ $(PYTHON_FOR_BUILD) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
+ -d $(LIBDEST) -f \
+ -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
+ $(DESTDIR)$(LIBDEST)
++endif
++ifeq (@PYO_BUILD@,yes)
+ PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ $(PYTHON_FOR_BUILD) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \
+ -d $(LIBDEST) -f \
+ -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
+ $(DESTDIR)$(LIBDEST)
++endif
++ifeq (@PYC_BUILD@,yes)
+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ $(PYTHON_FOR_BUILD) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \
+ -d $(LIBDEST)/site-packages -f \
+ -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
++endif
++ifeq (@PYO_BUILD@,yes)
+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ $(PYTHON_FOR_BUILD) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \
+ -d $(LIBDEST)/site-packages -f \
+ -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
++endif
+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt
+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+diff --git a/configure.ac b/configure.ac
+index 5f89797..4aafc82 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -759,6 +759,17 @@ SunOS*)
+ ;;
+ esac
+
++AC_SUBST(PYC_BUILD)
++
++AC_ARG_ENABLE(pyc-build,
++ AS_HELP_STRING([--disable-pyc-build], [disable build of pyc files]),
++ [ PYC_BUILD="${enableval}" ], [ PYC_BUILD=yes ])
++
++AC_SUBST(PYO_BUILD)
++
++AC_ARG_ENABLE(pyo-build,
++ AS_HELP_STRING([--disable-pyo-build], [disable build of pyo files]),
++ [ PYO_BUILD="${enableval}" ], [ PYO_BUILD=yes ])
+
+ AC_SUBST(LIBRARY)
+ AC_MSG_CHECKING(LIBRARY)
+--
+2.7.4
+
--- /dev/null
+From 2d971c3cdca9ecc55f2da8aba12ca89e1a66519a Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue, 7 Mar 2017 22:19:47 +0100
+Subject: [PATCH] Adjust getaddrinfo() test for cross-compilation
+
+The getaddrinfo() test in configure.ac uses AC_RUN_IFELSE(), which isn't
+cross-compilation friendly.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 4aafc82..63e6918 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -3527,7 +3527,7 @@ fi
+
+ AC_MSG_RESULT($ac_cv_buggy_getaddrinfo)
+
+-if test $have_getaddrinfo = no -o "$ac_cv_buggy_getaddrinfo" = yes
++if test $have_getaddrinfo = no || test "$cross_compiling" != "yes" -a "$ac_cv_buggy_getaddrinfo" = yes
+ then
+ if test $ipv6 = yes
+ then
+--
+2.7.4
+
--- /dev/null
+From 977de9474c1fb46359ab6a487e153fbd91a2b568 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue, 7 Mar 2017 22:21:28 +0100
+Subject: [PATCH] Add minimal infrastructure to be able to disable extensions
+
+This commit adds some logic to the Python build system to be able to
+disable Python extensions. Follow-up commits actually add options to
+disable specific extensions.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ Makefile.pre.in | 6 +++++-
+ configure.ac | 2 ++
+ setup.py | 5 ++++-
+ 3 files changed, 11 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.pre.in b/Makefile.pre.in
+index 96fc718..33b994d 100644
+--- a/Makefile.pre.in
++++ b/Makefile.pre.in
+@@ -161,6 +161,8 @@ FILEMODE= 644
+ # configure script arguments
+ CONFIG_ARGS= @CONFIG_ARGS@
+
++# disabled extensions
++DISABLED_EXTENSIONS= @DISABLED_EXTENSIONS@
+
+ # Subdirectories with code
+ SRCDIRS= @SRCDIRS@
+@@ -548,6 +550,7 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o
+ esac; \
+ $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
+ _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \
++ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \
+ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
+
+ # Build static library
+@@ -1269,7 +1272,8 @@ libainstall: all python-config
+ # Install the dynamically loadable modules
+ # This goes into $(exec_prefix)
+ sharedinstall: sharedmods
+- $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
++ $(RUNSHARED) DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \
++ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
+ --prefix=$(prefix) \
+ --install-scripts=$(BINDIR) \
+ --install-platlib=$(DESTSHARED) \
+diff --git a/configure.ac b/configure.ac
+index 63e6918..5d4232f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2462,6 +2462,8 @@ LIBS="$withval $LIBS"
+
+ PKG_PROG_PKG_CONFIG
+
++AC_SUBST(DISABLED_EXTENSIONS)
++
+ # Check for use of the system expat library
+ AC_MSG_CHECKING(for --with-system-expat)
+ AC_ARG_WITH(system_expat,
+diff --git a/setup.py b/setup.py
+index 64001e2..3b51c0a 100644
+--- a/setup.py
++++ b/setup.py
+@@ -33,7 +33,10 @@ host_platform = get_platform()
+ COMPILED_WITH_PYDEBUG = ('--with-pydebug' in sysconfig.get_config_var("CONFIG_ARGS"))
+
+ # This global variable is used to hold the list of modules to be disabled.
+-disabled_module_list = []
++try:
++ disabled_module_list = sysconfig.get_config_var("DISABLED_EXTENSIONS").split(" ")
++except KeyError:
++ disabled_module_list = list()
+
+ def add_dir_to_list(dirlist, dir):
+ """Add the directory 'dir' to the list 'dirlist' (at the front) if
+--
+2.7.4
+
--- /dev/null
+From f3e0a677c4736f95338825a022a884f8dc7a5c14 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue, 7 Mar 2017 22:22:19 +0100
+Subject: [PATCH] Adjust library/header paths for cross-compilation
+
+When cross-compiling third-party extensions, the get_python_inc() or
+get_python_lib() can be called, to return the path to headers or
+libraries. However, they use the sys.prefix of the host Python, which
+returns incorrect paths when cross-compiling (paths pointing to host
+headers and libraries).
+
+In order to fix this, we introduce the _python_sysroot, _python_prefix
+and _python_exec_prefix variables, that allow to override these
+values, and get correct header/library paths when cross-compiling
+third-party Python modules.
+
+The _python_sysroot variable is also used to prefix the LIBDIR value
+taken from the sysconfigdata module.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ Lib/distutils/command/build_ext.py | 5 ++++-
+ Lib/distutils/sysconfig.py | 9 +++++++--
+ 2 files changed, 11 insertions(+), 3 deletions(-)
+
+diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py
+index 2c68be3..375b08c 100644
+--- a/Lib/distutils/command/build_ext.py
++++ b/Lib/distutils/command/build_ext.py
+@@ -240,7 +240,10 @@ class build_ext (Command):
+ if (sysconfig.get_config_var('Py_ENABLE_SHARED')):
+ if not sysconfig.python_build:
+ # building third party extensions
+- self.library_dirs.append(sysconfig.get_config_var('LIBDIR'))
++ libdir = sysconfig.get_config_var('LIBDIR')
++ if "_python_sysroot" in os.environ:
++ libdir = os.environ.get("_python_sysroot") + libdir
++ self.library_dirs.append(libdir)
+ else:
+ # building python standard extensions
+ self.library_dirs.append('.')
+diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
+index d72b6e5..72151df 100644
+--- a/Lib/distutils/sysconfig.py
++++ b/Lib/distutils/sysconfig.py
+@@ -19,8 +19,13 @@ import sys
+ from distutils.errors import DistutilsPlatformError
+
+ # These are needed in a couple of spots, so just compute them once.
+-PREFIX = os.path.normpath(sys.prefix)
+-EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
++if "_python_sysroot" in os.environ:
++ _sysroot=os.environ.get('_python_sysroot')
++ PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_prefix'))
++ EXEC_PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_exec_prefix'))
++else:
++ PREFIX = os.path.normpath(sys.prefix)
++ EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
+
+ # Path to the base directory of the project. On Windows the binary may
+ # live in project/PCBuild9. If we're dealing with an x64 Windows build,
+--
+2.7.4
+
--- /dev/null
+From 87b627d8845e67fd798449b414bece04f18bd450 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue, 7 Mar 2017 22:22:40 +0100
+Subject: [PATCH] Don't look in /usr/lib/termcap for libraries
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ setup.py | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 3b51c0a..fa32532 100644
+--- a/setup.py
++++ b/setup.py
+@@ -784,12 +784,9 @@ class PyBuildExt(build_ext):
+ pass # Issue 7384: Already linked against curses or tinfo.
+ elif curses_library:
+ readline_libs.append(curses_library)
+- elif self.compiler.find_library_file(lib_dirs +
+- ['/usr/lib/termcap'],
+- 'termcap'):
++ elif self.compiler.find_library_file(lib_dirs, 'termcap'):
+ readline_libs.append('termcap')
+ exts.append( Extension('readline', ['readline.c'],
+- library_dirs=['/usr/lib/termcap'],
+ extra_link_args=readline_extra_link_args,
+ libraries=readline_libs) )
+ else:
+--
+2.7.4
+
--- /dev/null
+From e5b0d225f4343e82791cb80e4e0c01a9b49eeff4 Mon Sep 17 00:00:00 2001
+From: Gustavo Zacarias <gustavo@zacarias.com.ar>
+Date: Tue, 7 Mar 2017 22:23:14 +0100
+Subject: [PATCH] Fix python-config for cross-builds
+
+Add a backport of http://bugs.python.org/issue16235 so we can use
+python-config for cross builds.
+
+This basically replaces the python version of python-config with a
+pure-shell version that's already preprocessed when installed and
+doesn't depend on the sysconfig import that usually leads to bad
+data/results.
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+---
+ Makefile.pre.in | 13 +++---
+ Misc/python-config.sh.in | 102 +++++++++++++++++++++++++++++++++++++++++++++++
+ configure.ac | 7 +++-
+ 3 files changed, 116 insertions(+), 6 deletions(-)
+ create mode 100644 Misc/python-config.sh.in
+
+diff --git a/Makefile.pre.in b/Makefile.pre.in
+index 33b994d..beb0837 100644
+--- a/Makefile.pre.in
++++ b/Makefile.pre.in
+@@ -171,7 +171,7 @@ SRCDIRS= @SRCDIRS@
+ SUBDIRSTOO= Include Lib Misc Demo
+
+ # Files and directories to be distributed
+-CONFIGFILES= configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in
++CONFIGFILES= configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in Misc/python-config.sh
+ DISTFILES= README ChangeLog $(CONFIGFILES)
+ DISTDIRS= $(SUBDIRS) $(SUBDIRSTOO) Ext-dummy
+ DIST= $(DISTFILES) $(DISTDIRS)
+@@ -431,7 +431,7 @@ LIBRARY_OBJS= \
+
+ # Default target
+ all: @DEF_MAKE_ALL_RULE@
+-build_all: $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks
++build_all: $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks python-config
+
+ # Compile a binary with profile guided optimization.
+ profile-opt:
+@@ -1179,10 +1179,12 @@ $(srcdir)/Lib/$(PLATDIR):
+ fi; \
+ cd $(srcdir)/Lib/$(PLATDIR); $(RUNSHARED) ./regen
+
+-python-config: $(srcdir)/Misc/python-config.in
++python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh
+ # Substitution happens here, as the completely-expanded BINDIR
+ # is not available in configure
+- sed -e "s,@EXENAME@,$(BINDIR)/python$(VERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config
++ sed -e "s,@EXENAME@,$(BINDIR)/python$(VERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config.py
++ # Replace makefile compat. variable references with shell script compat. ones; $(VAR) -> ${VAR}
++ sed -e 's,\$$(\([A-Za-z0-9_]*\)),\$$\{\1\},g' Misc/python-config.sh >python-config
+
+ # Install the include files
+ INCLDIRSTOMAKE=$(INCLUDEDIR) $(CONFINCLUDEDIR) $(INCLUDEPY) $(CONFINCLUDEPY)
+@@ -1241,7 +1243,7 @@ libainstall: all python-config
+ $(INSTALL_SCRIPT) $(srcdir)/Modules/makesetup $(DESTDIR)$(LIBPL)/makesetup
+ $(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh
+ $(INSTALL_SCRIPT) python-config $(DESTDIR)$(BINDIR)/python$(VERSION)-config
+- rm python-config
++ $(INSTALL_SCRIPT) python-config.py $(DESTDIR)$(LIBPL)/python-config.py
+ @if [ -s Modules/python.exp -a \
+ "`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" = "aix" ]; then \
+ echo; echo "Installing support files for building shared extension modules on AIX:"; \
+@@ -1426,6 +1428,7 @@ clobber: clean profile-removal
+ config.cache config.log pyconfig.h Modules/config.c
+ -rm -rf build platform
+ -rm -rf $(PYTHONFRAMEWORKDIR)
++ -rm -f python-config.py python-config
+
+ # Make things extra clean, before making a distribution:
+ # remove all generated files, even Makefile[.pre]
+diff --git a/Misc/python-config.sh.in b/Misc/python-config.sh.in
+new file mode 100644
+index 0000000..10db4c1
+--- /dev/null
++++ b/Misc/python-config.sh.in
+@@ -0,0 +1,102 @@
++#!/bin/sh
++
++exit_with_usage ()
++{
++ echo "Usage: $0 --prefix|--exec-prefix|--includes|--libs|--cflags|--ldflags|--extension-suffix|--help|--configdir"
++ exit $1
++}
++
++if [ "$1" = "" ] ; then
++ exit_with_usage 1
++fi
++
++# Returns the actual prefix where this script was installed to.
++installed_prefix ()
++{
++ RESULT=$(dirname $(cd $(dirname "$1") && pwd -P))
++ if which readlink >/dev/null 2>&1 ; then
++ RESULT=$(readlink -f "$RESULT")
++ fi
++ echo $RESULT
++}
++
++prefix_build="@prefix@"
++prefix_real=$(installed_prefix "$0")
++
++# Use sed to fix paths from their built to locations to their installed to locations.
++prefix=$(echo "$prefix_build" | sed "s#$prefix_build#$prefix_real#")
++exec_prefix_build="@exec_prefix@"
++exec_prefix=$(echo "$exec_prefix_build" | sed "s#$exec_prefix_build#$prefix_real#")
++includedir=$(echo "@includedir@")
++libdir=$(echo "@libdir@" | sed "s#$prefix_build#$prefix_real#")
++CFLAGS=$(echo "@CFLAGS@" | sed "s#$prefix_build#$prefix_real#")
++VERSION="@VERSION@"
++LIBM="@LIBM@"
++LIBC="@LIBC@"
++SYSLIBS="$LIBM $LIBC"
++LIBS="@LIBS@ $SYSLIBS -lpython${VERSION}"
++BASECFLAGS="@BASECFLAGS@"
++LDLIBRARY="@LDLIBRARY@"
++LINKFORSHARED="@LINKFORSHARED@"
++OPT="@OPT@"
++PY_ENABLE_SHARED="@PY_ENABLE_SHARED@"
++LDVERSION="@LDVERSION@"
++LIBDEST=${prefix}/lib/python${VERSION}
++LIBPL=$(echo "@LIBPL@" | sed "s#$prefix_build#$prefix_real#")
++SO="@SO@"
++PYTHONFRAMEWORK="@PYTHONFRAMEWORK@"
++INCDIR="-I$includedir/python${VERSION}"
++PLATINCDIR="-I$includedir/python${VERSION}"
++
++# Scan for --help or unknown argument.
++for ARG in $*
++do
++ case $ARG in
++ --help)
++ exit_with_usage 0
++ ;;
++ --prefix|--exec-prefix|--includes|--libs|--cflags|--ldflags|--extension-suffix|--abiflags|--configdir)
++ ;;
++ *)
++ exit_with_usage 1
++ ;;
++esac
++done
++
++for ARG in "$@"
++do
++ case "$ARG" in
++ --prefix)
++ echo "$prefix"
++ ;;
++ --exec-prefix)
++ echo "$exec_prefix"
++ ;;
++ --includes)
++ echo "$INCDIR $PLATINCDIR"
++ ;;
++ --cflags)
++ echo "$INCDIR $PLATINCDIR $BASECFLAGS $CFLAGS $OPT"
++ ;;
++ --libs)
++ echo "$LIBS"
++ ;;
++ --ldflags)
++ LINKFORSHAREDUSED=
++ if [ -z "$PYTHONFRAMEWORK" ] ; then
++ LINKFORSHAREDUSED=$LINKFORSHARED
++ fi
++ LIBPLUSED=
++ if [ "$PY_ENABLE_SHARED" = "0" ] ; then
++ LIBPLUSED="-L$LIBPL"
++ fi
++ echo "$LIBPLUSED -L$libdir $LIBS $LINKFORSHAREDUSED"
++ ;;
++ --extension-suffix)
++ echo "$SO"
++ ;;
++ --configdir)
++ echo "$LIBPL"
++ ;;
++esac
++done
+diff --git a/configure.ac b/configure.ac
+index 5d4232f..183a903 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -905,6 +905,7 @@ fi
+
+ # Other platforms follow
+ if test $enable_shared = "yes"; then
++ PY_ENABLE_SHARED=1
+ AC_DEFINE(Py_ENABLE_SHARED, 1, [Defined if Python is built as a shared library.])
+ case $ac_sys_system in
+ BeOS*)
+@@ -965,6 +966,7 @@ if test $enable_shared = "yes"; then
+
+ esac
+ else # shared is disabled
++ PY_ENABLE_SHARED=0
+ case $ac_sys_system in
+ CYGWIN*)
+ BLDLIBRARY='$(LIBRARY)'
+@@ -2096,6 +2098,9 @@ AC_SUBST(LDCXXSHARED)
+ AC_SUBST(BLDSHARED)
+ AC_SUBST(CCSHARED)
+ AC_SUBST(LINKFORSHARED)
++AC_SUBST(PY_ENABLE_SHARED)
++LIBPL="${prefix}/lib/python${VERSION}/config"
++AC_SUBST(LIBPL)
+ # SO is the extension of shared libraries `(including the dot!)
+ # -- usually .so, .sl on HP-UX, .dll on Cygwin
+ AC_MSG_CHECKING(SO)
+@@ -4818,7 +4823,7 @@ AC_MSG_RESULT($ENSUREPIP)
+ AC_SUBST(ENSUREPIP)
+
+ # generate output files
+-AC_CONFIG_FILES(Makefile.pre Modules/Setup.config Misc/python.pc)
++AC_CONFIG_FILES(Makefile.pre Modules/Setup.config Misc/python.pc Misc/python-config.sh)
+ AC_CONFIG_FILES([Modules/ld_so_aix], [chmod +x Modules/ld_so_aix])
+ AC_OUTPUT
+
+--
+2.7.4
+
+++ /dev/null
-setup.py: do not add invalid header locations
-
-This piece of code incorrectly adds /usr/include to
-self.compiler.include_dirs, and results in the following invalid
-compilation line:
-
-/home/thomas/projets/buildroot/output/host/usr/bin/arm-none-linux-gnueabi-gcc -fPIC \
- -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 \
- -pipe -Os -DNDEBUG -g -O3 -Wall -Wstrict-prototypes \
- -I/usr/include -I. -IInclude -I./Include \
- -I/home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include \
- -I/home/thomas/projets/buildroot/output/build/python-2.7.6/Include \
- -I/home/thomas/projets/buildroot/output/build/python-2.7.6 \
- -c /home/thomas/projets/buildroot/output/build/python-2.7.6/Modules/mathmodule.c \
- -o build/temp.linux2-arm-2.7/home/thomas/projets/buildroot/output/build/python-2.7.6/Modules/mathmodule.o
-cc1: warning: include location "/usr/include" is unsafe for cross-compilation [-Wpoison-system-directories]
-[...]
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Index: b/setup.py
-===================================================================
---- a/setup.py
-+++ b/setup.py
-@@ -480,7 +480,7 @@
- for directory in reversed(options.dirs):
- add_dir_to_list(dir_list, directory)
-
-- if os.path.normpath(sys.prefix) != '/usr' \
-+ if False and os.path.normpath(sys.prefix) != '/usr' \
- and not sysconfig.get_config_var('PYTHONFRAMEWORK'):
- # OSX note: Don't add LIBDIR and INCLUDEDIR to building a framework
- # (PYTHONFRAMEWORK is set) to avoid # linking problems when
--- /dev/null
+From bddfcbb8a4c011ca2fe471f7a4124cd64b5b0f00 Mon Sep 17 00:00:00 2001
+From: Samuel Martin <s.martin49@gmail.com>
+Date: Tue, 7 Mar 2017 22:23:58 +0100
+Subject: [PATCH] Remove the python symlink install rules
+
+The python symlink installation will be handled by Buildroot itself,
+because Buildroot needs to control to what python interpreter (python2
+or python3) the python symlink points to.
+
+Signed-off-by: Samuel Martin <s.martin49@gmail.com>
+[Bernd: rebased against version 2.7.12.]
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+---
+ Makefile.pre.in | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/Makefile.pre.in b/Makefile.pre.in
+index beb0837..dedcf61 100644
+--- a/Makefile.pre.in
++++ b/Makefile.pre.in
+@@ -968,17 +968,10 @@ bininstall: altbininstall
+ echo "Creating directory $(LIBPC)"; \
+ $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$(LIBPC); \
+ fi
+- -if test -f $(DESTDIR)$(BINDIR)/$(PYTHON) -o -h $(DESTDIR)$(BINDIR)/$(PYTHON); \
+- then rm -f $(DESTDIR)$(BINDIR)/$(PYTHON); \
+- else true; \
+- fi
+- (cd $(DESTDIR)$(BINDIR); $(LN) -s python2$(EXE) $(PYTHON))
+ -rm -f $(DESTDIR)$(BINDIR)/python2$(EXE)
+ (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)$(EXE) python2$(EXE))
+ -rm -f $(DESTDIR)$(BINDIR)/python2-config
+ (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-config python2-config)
+- -rm -f $(DESTDIR)$(BINDIR)/python-config
+- (cd $(DESTDIR)$(BINDIR); $(LN) -s python2-config python-config)
+ -test -d $(DESTDIR)$(LIBPC) || $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$(LIBPC)
+ -rm -f $(DESTDIR)$(LIBPC)/python2.pc
+ (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python2.pc)
+--
+2.7.4
+
--- /dev/null
+From 50a243a9c90f95e9248ac720e42e802b5922ab90 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue, 7 Mar 2017 22:24:28 +0100
+Subject: [PATCH] Don't add multiarch paths
+
+The add_multiarch_paths() function leads, in certain build
+environments, to the addition of host header paths to the CFLAGS,
+which is not appropriate for cross-compilation. This patch fixes that
+by simply removing the call to add_multiarch_paths() when we're
+cross-compiling.
+
+Investigation done by David <buildroot-2014@inbox.com>.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ setup.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
+index fa32532..0b9ea57 100644
+--- a/setup.py
++++ b/setup.py
+@@ -461,9 +461,9 @@ class PyBuildExt(build_ext):
+ if not cross_compiling:
+ add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
+ add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
++ self.add_multiarch_paths()
+ if cross_compiling:
+ self.add_gcc_paths()
+- self.add_multiarch_paths()
+
+ # Add paths specified in the environment variables LDFLAGS and
+ # CPPFLAGS for header and library files.
+--
+2.7.4
+
--- /dev/null
+From a131e2ff219872d97eef6585117bd2f8ff9e310d Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue, 7 Mar 2017 22:24:48 +0100
+Subject: [PATCH] Abort on failed module build
+
+When building a Python module fails, the setup.py script currently
+doesn't exit with an error, and simply continues. This is not a really
+nice behavior, so this patch changes setup.py to abort with an error,
+so that the build issue is clearly noticeable.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ setup.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/setup.py b/setup.py
+index 0b9ea57..9a5c2b8 100644
+--- a/setup.py
++++ b/setup.py
+@@ -299,6 +299,7 @@ class PyBuildExt(build_ext):
+ print "Failed to build these modules:"
+ print_three_column(failed)
+ print
++ sys.exit(1)
+
+ def build_extension(self, ext):
+
+--
+2.7.4
+
--- /dev/null
+From 0f0be88526ece7d2f6ee21c1f59b1546ec6dc7c0 Mon Sep 17 00:00:00 2001
+From: "Yann E. MORIN" <yann.morin.1998@free.fr>
+Date: Tue, 7 Mar 2017 22:25:14 +0100
+Subject: [PATCH] sqlite3: fix build when threads are not used/available
+
+When threads are not used/available, a function in the sqlite3 extension
+ends up with a label at the end:
+
+ void _pysqlite_final_callback(sqlite3_context* context)
+ {
+ PyObject* function_result;
+ PyObject** aggregate_instance;
+ int ok;
+
+ #ifdef WITH_THREAD
+ PyGILState_STATE threadstate;
+
+ threadstate = PyGILState_Ensure();
+ #endif
+
+ aggregate_instance = (PyObject**)sqlite3_aggregate_context(context, sizeof(PyObject*));
+ if (!*aggregate_instance) {
+ goto error;
+ }
+
+ [......]
+
+ error:
+ #ifdef WITH_THREAD
+ PyGILState_Release(threadstate);
+ #endif
+ }
+
+This is not valid, and gcc complains.
+
+Fix that by adding a dummy statement after the label, so that the label
+is never the last statement of the function.
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+---
+ Modules/_sqlite/connection.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Modules/_sqlite/connection.c b/Modules/_sqlite/connection.c
+index 237d6e4..cdf69ab 100644
+--- a/Modules/_sqlite/connection.c
++++ b/Modules/_sqlite/connection.c
+@@ -794,6 +794,7 @@ error:
+ #ifdef WITH_THREAD
+ PyGILState_Release(threadstate);
+ #endif
++ ; /* Make gcc happy: a label can't be at the end of a function */
+ }
+
+ static void _pysqlite_drop_unused_statement_references(pysqlite_Connection* self)
+--
+2.7.4
+
--- /dev/null
+From 22e5a4c5d29ddf0856d7f68f5a613aec00e26168 Mon Sep 17 00:00:00 2001
+From: Baruch Siach <baruch@tkos.co.il>
+Date: Tue, 7 Mar 2017 22:25:36 +0100
+Subject: [PATCH] Serial ioctl() workaround
+
+The ioctls.h of some architectures (notably xtensa) references structs from
+linux/serial.h. Make sure to include this header as well.
+
+Also, undef TIOCTTYGSTRUCT that require reference to internal kernel tty_struct,
+but isn't actually referenced in modern kernels.
+
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+ Modules/termios.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/Modules/termios.c b/Modules/termios.c
+index 57f30dc..a8c9855 100644
+--- a/Modules/termios.c
++++ b/Modules/termios.c
+@@ -16,7 +16,9 @@
+ * so this needs to be included first on that platform. */
+ #include <termio.h>
+ #endif
++#include <linux/serial.h>
+ #include <sys/ioctl.h>
++#undef TIOCTTYGSTRUCT
+
+ /* HP-UX requires that this be included to pick up MDCD, MCTS, MDSR,
+ * MDTR, MRI, and MRTS (appearantly used internally by some things
+--
+2.7.4
+
--- /dev/null
+From 70049366ddf1fc9084bb02cf4459380976cdf8f7 Mon Sep 17 00:00:00 2001
+From: Christophe Vu-Brugier <cvubrugier@fastmail.fm>
+Date: Tue, 7 Mar 2017 22:26:09 +0100
+Subject: [PATCH] Do not adjust the shebang of Python scripts for
+ cross-compilation
+
+The copy_scripts() method in distutils copies the scripts listed in
+the setup file and adjusts the first line to refer to the current
+Python interpreter. When cross-compiling, this means that the adjusted
+shebang refers to the host Python interpreter.
+
+This patch modifies copy_scripts() to preserve the shebang when
+cross-compilation is detected.
+
+Signed-off-by: Christophe Vu-Brugier <cvubrugier@fastmail.fm>
+---
+ Lib/distutils/command/build_scripts.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Lib/distutils/command/build_scripts.py b/Lib/distutils/command/build_scripts.py
+index 567df65..4922d50 100644
+--- a/Lib/distutils/command/build_scripts.py
++++ b/Lib/distutils/command/build_scripts.py
+@@ -89,7 +89,7 @@ class build_scripts (Command):
+ adjust = 1
+ post_interp = match.group(1) or ''
+
+- if adjust:
++ if adjust and not '_python_sysroot' in os.environ:
+ log.info("copying and adjusting %s -> %s", script,
+ self.build_dir)
+ if not self.dry_run:
+--
+2.7.4
+
--- /dev/null
+From 0eac7789c0dd4aebe9e69d3c73d0c95e96922ea3 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue, 7 Mar 2017 22:27:16 +0100
+Subject: [PATCH] Add an option to disable installation of test modules
+
+The Python standard distribution comes with many test modules, that
+are not necessarly useful on embedded targets.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Signed-off-by: Samuel Martin <s.martin49@gmail.com>
+---
+ Makefile.pre.in | 48 ++++++++++++++++++++++++++++++++----------------
+ configure.ac | 6 ++++++
+ 2 files changed, 38 insertions(+), 16 deletions(-)
+
+diff --git a/Makefile.pre.in b/Makefile.pre.in
+index dedcf61..280cc4e 100644
+--- a/Makefile.pre.in
++++ b/Makefile.pre.in
+@@ -1038,27 +1038,43 @@ PLATMACDIRS= plat-mac plat-mac/Carbon plat-mac/lib-scriptpackages \
+ plat-mac/lib-scriptpackages/SystemEvents \
+ plat-mac/lib-scriptpackages/Terminal
+ PLATMACPATH=:plat-mac:plat-mac/lib-scriptpackages
+-LIBSUBDIRS= lib-tk lib-tk/test lib-tk/test/test_tkinter \
+- lib-tk/test/test_ttk site-packages test test/audiodata test/capath \
+- test/data test/cjkencodings test/decimaltestdata test/xmltestdata \
+- test/imghdrdata \
+- test/subprocessdata \
+- test/tracedmodules \
++LIBSUBDIRS= lib-tk site-packages \
+ encodings compiler hotshot \
+- email email/mime email/test email/test/data \
++ email email/mime \
+ ensurepip ensurepip/_bundled \
+- json json/tests \
+- sqlite3 sqlite3/test \
+- logging bsddb bsddb/test csv importlib wsgiref \
+- lib2to3 lib2to3/fixes lib2to3/pgen2 lib2to3/tests \
+- lib2to3/tests/data lib2to3/tests/data/fixers lib2to3/tests/data/fixers/myfixes \
+- ctypes ctypes/test ctypes/macholib \
+- idlelib idlelib/Icons idlelib/idle_test \
+- distutils distutils/command distutils/tests $(XMLLIBSUBDIRS) \
++ json \
++ sqlite3 \
++ logging bsddb csv importlib wsgiref \
++ lib2to3 lib2to3/fixes lib2to3/pgen2 \
++ ctypes ctypes/macholib \
++ idlelib idlelib/Icons \
++ distutils distutils/command $(XMLLIBSUBDIRS) \
+ multiprocessing multiprocessing/dummy \
+- unittest unittest/test \
++ unittest \
+ lib-old \
+ curses pydoc_data $(MACHDEPS)
++
++TESTSUBDIRS = lib-tk/test lib-tk/test/test_tkinter \
++ lib-tk/test/test_ttk test test/audiodata test/capath test/data \
++ test/cjkencodings test/decimaltestdata test/xmltestdata \
++ test/imghdrdata \
++ test/subprocessdata \
++ test/tracedmodules \
++ email/test email/test/data \
++ json/tests \
++ sqlite3/test \
++ bsddb/test \
++ lib2to3/tests \
++ lib2to3/tests/data lib2to3/tests/data/fixers lib2to3/tests/data/fixers/myfixes \
++ ctypes/test \
++ idlelib/idle_test \
++ distutils/tests \
++ unittest/test
++
++ifeq (@TEST_MODULES@,yes)
++LIBSUBDIRS += $(TESTSUBDIRS)
++endif
++
+ libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
+ @for i in $(SCRIPTDIR) $(LIBDEST); \
+ do \
+diff --git a/configure.ac b/configure.ac
+index 183a903..a1a35f6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2806,6 +2806,12 @@ if test "$posix_threads" = "yes"; then
+ fi
+
+
++AC_SUBST(TEST_MODULES)
++
++AC_ARG_ENABLE(test-modules,
++ AS_HELP_STRING([--disable-test-modules], [disable test modules]),
++ [ TEST_MODULES="${enableval}" ], [ TEST_MODULES=yes ])
++
+ # Check for enable-ipv6
+ AH_TEMPLATE(ENABLE_IPV6, [Define if --enable-ipv6 is specified])
+ AC_MSG_CHECKING([if --enable-ipv6 is specified])
+--
+2.7.4
+
--- /dev/null
+From 52463745b6c46a46a6f2e2bc17983bb3f7bdac6e Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue, 7 Mar 2017 22:27:34 +0100
+Subject: [PATCH] Add an option to disable pydoc
+
+It removes 0.5 MB of data from the target plus the pydoc script
+itself.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Signed-off-by: Samuel Martin <s.martin49@gmail.com>
+---
+ Makefile.pre.in | 6 +++++-
+ configure.ac | 5 +++++
+ setup.py | 10 +++++++---
+ 3 files changed, 17 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile.pre.in b/Makefile.pre.in
+index 280cc4e..84d5fc6 100644
+--- a/Makefile.pre.in
++++ b/Makefile.pre.in
+@@ -1052,7 +1052,7 @@ LIBSUBDIRS= lib-tk site-packages \
+ multiprocessing multiprocessing/dummy \
+ unittest \
+ lib-old \
+- curses pydoc_data $(MACHDEPS)
++ curses $(MACHDEPS)
+
+ TESTSUBDIRS = lib-tk/test lib-tk/test/test_tkinter \
+ lib-tk/test/test_ttk test test/audiodata test/capath test/data \
+@@ -1075,6 +1075,10 @@ ifeq (@TEST_MODULES@,yes)
+ LIBSUBDIRS += $(TESTSUBDIRS)
+ endif
+
++ifeq (@PYDOC@,yes)
++LIBSUBDIRS += pydoc_data
++endif
++
+ libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
+ @for i in $(SCRIPTDIR) $(LIBDEST); \
+ do \
+diff --git a/configure.ac b/configure.ac
+index a1a35f6..8bab160 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2805,6 +2805,11 @@ if test "$posix_threads" = "yes"; then
+ AC_CHECK_FUNCS(pthread_atfork)
+ fi
+
++AC_SUBST(PYDOC)
++
++AC_ARG_ENABLE(pydoc,
++ AS_HELP_STRING([--disable-pydoc], [disable pydoc]),
++ [ PYDOC="${enableval}" ], [ PYDOC=yes ])
+
+ AC_SUBST(TEST_MODULES)
+
+diff --git a/setup.py b/setup.py
+index 9a5c2b8..69771e2 100644
+--- a/setup.py
++++ b/setup.py
+@@ -2233,6 +2233,12 @@ def main():
+ # turn off warnings when deprecated modules are imported
+ import warnings
+ warnings.filterwarnings("ignore",category=DeprecationWarning)
++
++ scripts = ['Tools/scripts/idle', 'Tools/scripts/2to3',
++ 'Lib/smtpd.py']
++ if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"):
++ scripts += [ 'Tools/scripts/pydoc' ]
++
+ setup(# PyPI Metadata (PEP 301)
+ name = "Python",
+ version = sys.version.split()[0],
+@@ -2253,9 +2259,7 @@ def main():
+ ext_modules=[Extension('_struct', ['_struct.c'])],
+
+ # Scripts to install
+- scripts = ['Tools/scripts/pydoc', 'Tools/scripts/idle',
+- 'Tools/scripts/2to3',
+- 'Lib/smtpd.py']
++ scripts = scripts,
+ )
+
+ # --install-platlib
+--
+2.7.4
+
--- /dev/null
+From d0cf9ebed6d34d820cf594578cf513797fb52772 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue, 7 Mar 2017 22:27:49 +0100
+Subject: [PATCH] Add an option to disable lib2to3
+
+lib2to3 is a library to convert Python 2.x code to Python 3.x. As
+such, it is probably not very useful on embedded system targets.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Signed-off-by: Samuel Martin <s.martin49@gmail.com>
+---
+ Makefile.pre.in | 11 ++++++++---
+ configure.ac | 6 ++++++
+ setup.py | 5 +++--
+ 3 files changed, 17 insertions(+), 5 deletions(-)
+
+diff --git a/Makefile.pre.in b/Makefile.pre.in
+index 84d5fc6..b2a0490 100644
+--- a/Makefile.pre.in
++++ b/Makefile.pre.in
+@@ -1045,7 +1045,6 @@ LIBSUBDIRS= lib-tk site-packages \
+ json \
+ sqlite3 \
+ logging bsddb csv importlib wsgiref \
+- lib2to3 lib2to3/fixes lib2to3/pgen2 \
+ ctypes ctypes/macholib \
+ idlelib idlelib/Icons \
+ distutils distutils/command $(XMLLIBSUBDIRS) \
+@@ -1064,8 +1063,6 @@ TESTSUBDIRS = lib-tk/test lib-tk/test/test_tkinter \
+ json/tests \
+ sqlite3/test \
+ bsddb/test \
+- lib2to3/tests \
+- lib2to3/tests/data lib2to3/tests/data/fixers lib2to3/tests/data/fixers/myfixes \
+ ctypes/test \
+ idlelib/idle_test \
+ distutils/tests \
+@@ -1079,6 +1076,14 @@ ifeq (@PYDOC@,yes)
+ LIBSUBDIRS += pydoc_data
+ endif
+
++ifeq (@LIB2TO3@,yes)
++LIBSUBDIRS += lib2to3 lib2to3/fixes lib2to3/pgen2
++TESTSUBDIRS += lib2to3/tests \
++ lib2to3/tests/data \
++ lib2to3/tests/data/fixers \
++ lib2to3/tests/data/fixers/myfixes
++endif
++
+ libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
+ @for i in $(SCRIPTDIR) $(LIBDEST); \
+ do \
+diff --git a/configure.ac b/configure.ac
+index 8bab160..270f337 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2817,6 +2817,12 @@ AC_ARG_ENABLE(test-modules,
+ AS_HELP_STRING([--disable-test-modules], [disable test modules]),
+ [ TEST_MODULES="${enableval}" ], [ TEST_MODULES=yes ])
+
++AC_SUBST(LIB2TO3)
++
++AC_ARG_ENABLE(lib2to3,
++ AS_HELP_STRING([--disable-lib2to3], [disable lib2to3]),
++ [ LIB2TO3="${enableval}" ], [ LIB2TO3=yes ])
++
+ # Check for enable-ipv6
+ AH_TEMPLATE(ENABLE_IPV6, [Define if --enable-ipv6 is specified])
+ AC_MSG_CHECKING([if --enable-ipv6 is specified])
+diff --git a/setup.py b/setup.py
+index 69771e2..f51ef8c 100644
+--- a/setup.py
++++ b/setup.py
+@@ -2234,10 +2234,11 @@ def main():
+ import warnings
+ warnings.filterwarnings("ignore",category=DeprecationWarning)
+
+- scripts = ['Tools/scripts/idle', 'Tools/scripts/2to3',
+- 'Lib/smtpd.py']
++ scripts = ['Tools/scripts/idle', 'Lib/smtpd.py']
+ if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"):
+ scripts += [ 'Tools/scripts/pydoc' ]
++ if not '--disable-lib2to3' in sysconfig.get_config_var("CONFIG_ARGS"):
++ scripts += [ 'Tools/scripts/2to3' ]
+
+ setup(# PyPI Metadata (PEP 301)
+ name = "Python",
+--
+2.7.4
+
--- /dev/null
+From 570e1e81484d9bcbd30a7719b07d02785a5cab24 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue, 7 Mar 2017 22:28:06 +0100
+Subject: [PATCH] Add option to disable the sqlite3 module
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Signed-off-by: Samuel Martin <s.martin49@gmail.com>
+---
+ Makefile.pre.in | 7 +++++--
+ configure.ac | 9 +++++++++
+ 2 files changed, 14 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.pre.in b/Makefile.pre.in
+index b2a0490..974a052 100644
+--- a/Makefile.pre.in
++++ b/Makefile.pre.in
+@@ -1043,7 +1043,6 @@ LIBSUBDIRS= lib-tk site-packages \
+ email email/mime \
+ ensurepip ensurepip/_bundled \
+ json \
+- sqlite3 \
+ logging bsddb csv importlib wsgiref \
+ ctypes ctypes/macholib \
+ idlelib idlelib/Icons \
+@@ -1061,7 +1060,6 @@ TESTSUBDIRS = lib-tk/test lib-tk/test/test_tkinter \
+ test/tracedmodules \
+ email/test email/test/data \
+ json/tests \
+- sqlite3/test \
+ bsddb/test \
+ ctypes/test \
+ idlelib/idle_test \
+@@ -1084,6 +1082,11 @@ TESTSUBDIRS += lib2to3/tests \
+ lib2to3/tests/data/fixers/myfixes
+ endif
+
++ifeq (@SQLITE3@,yes)
++LIBSUBDIRS += sqlite3
++TESTSUBDIRS += sqlite3/test
++endif
++
+ libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
+ @for i in $(SCRIPTDIR) $(LIBDEST); \
+ do \
+diff --git a/configure.ac b/configure.ac
+index 270f337..e9e1897 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2805,6 +2805,15 @@ if test "$posix_threads" = "yes"; then
+ AC_CHECK_FUNCS(pthread_atfork)
+ fi
+
++AC_SUBST(SQLITE3)
++AC_ARG_ENABLE(sqlite3,
++ AS_HELP_STRING([--disable-sqlite3], [disable sqlite3]),
++ [ SQLITE3="${enableval}" ], [ SQLITE3=yes ])
++
++if test "$SQLITE3" = "no" ; then
++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3"
++fi
++
+ AC_SUBST(PYDOC)
+
+ AC_ARG_ENABLE(pydoc,
+--
+2.7.4
+
+++ /dev/null
-Fix get_python_inc() for cross-compilation
-
-When we are cross compiling, doing os.path.dirname(sys.executable) to
-get the build directory is incorrect, because we're executing the host
-Python to build things for the target. Instead, we should use the
-project_base variable.
-
-This fixes cross-compilation, which was adding incorrect header paths
-pointing to the location where the host Python was built:
-
-/home/thomas/projets/buildroot/output/host/usr/bin/arm-none-linux-gnueabi-gcc -fPIC -fno-strict-aliasing \
- -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -DNDEBUG -g -O3 -Wall -Wstrict-prototypes \
- -I/usr/include -I. -IInclude -I./Include -I/home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include \
- -I/home/thomas/projets/buildroot/output/host/usr/bin/Include -I/home/thomas/projets/buildroot/output/host/usr/bin \
- -c /home/thomas/projets/buildroot/output/build/python-2.7.6/Modules/_struct.c \
- -o build/temp.linux2-arm-2.7/home/thomas/projets/buildroot/output/build/python-2.7.6/Modules/_struct.o
-
-This patch allows to fix the
-/home/thomas/projets/buildroot/output/host/usr/bin/Include and
-/home/thomas/projets/buildroot/output/host/usr/bin paths that are
-incorrectly added to the header paths.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Index: b/Lib/distutils/sysconfig.py
-===================================================================
---- a/Lib/distutils/sysconfig.py
-+++ b/Lib/distutils/sysconfig.py
-@@ -79,7 +79,7 @@
-
- if os.name == "posix":
- if python_build:
-- buildir = os.path.dirname(sys.executable)
-+ buildir = project_base
- if plat_specific:
- # python.h is located in the buildir
- inc_dir = buildir
--- /dev/null
+From 05fbe2527b6f87edeef11f288c36bcbaa378ca02 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue, 7 Mar 2017 22:28:57 +0100
+Subject: [PATCH] Add an option to disable the tk module
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Signed-off-by: Samuel Martin <s.martin49@gmail.com>
+---
+ Makefile.pre.in | 11 ++++++++---
+ configure.ac | 9 +++++++++
+ 2 files changed, 17 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile.pre.in b/Makefile.pre.in
+index 974a052..f7f025f 100644
+--- a/Makefile.pre.in
++++ b/Makefile.pre.in
+@@ -1038,7 +1038,7 @@ PLATMACDIRS= plat-mac plat-mac/Carbon plat-mac/lib-scriptpackages \
+ plat-mac/lib-scriptpackages/SystemEvents \
+ plat-mac/lib-scriptpackages/Terminal
+ PLATMACPATH=:plat-mac:plat-mac/lib-scriptpackages
+-LIBSUBDIRS= lib-tk site-packages \
++LIBSUBDIRS= site-packages \
+ encodings compiler hotshot \
+ email email/mime \
+ ensurepip ensurepip/_bundled \
+@@ -1052,8 +1052,7 @@ LIBSUBDIRS= lib-tk site-packages \
+ lib-old \
+ curses $(MACHDEPS)
+
+-TESTSUBDIRS = lib-tk/test lib-tk/test/test_tkinter \
+- lib-tk/test/test_ttk test test/audiodata test/capath test/data \
++TESTSUBDIRS = test test/audiodata test/capath test/data \
+ test/cjkencodings test/decimaltestdata test/xmltestdata \
+ test/imghdrdata \
+ test/subprocessdata \
+@@ -1087,6 +1086,12 @@ LIBSUBDIRS += sqlite3
+ TESTSUBDIRS += sqlite3/test
+ endif
+
++ifeq (@TK@,yes)
++LIBSUBDIRS += lib-tk
++TESTSUBDIRS += lib-tk/test lib-tk/test/test_tkinter \
++ lib-tk/test/test_ttk
++endif
++
+ libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
+ @for i in $(SCRIPTDIR) $(LIBDEST); \
+ do \
+diff --git a/configure.ac b/configure.ac
+index e9e1897..d0f032c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2814,6 +2814,15 @@ if test "$SQLITE3" = "no" ; then
+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3"
+ fi
+
++AC_SUBST(TK)
++AC_ARG_ENABLE(tk,
++ AS_HELP_STRING([--disable-tk], [disable tk]),
++ [ TK="${enableval}" ], [ TK=yes ])
++
++if test "$TK" = "no"; then
++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter"
++fi
++
+ AC_SUBST(PYDOC)
+
+ AC_ARG_ENABLE(pydoc,
+--
+2.7.4
+
--- /dev/null
+From dba12f15baad06cc7e17a275201cc022bb6c84f7 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue, 7 Mar 2017 22:29:06 +0100
+Subject: [PATCH] Add an option to disable the curses module
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Signed-off-by: Samuel Martin <s.martin49@gmail.com>
+---
+ Makefile.pre.in | 6 +++++-
+ configure.ac | 9 +++++++++
+ 2 files changed, 14 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile.pre.in b/Makefile.pre.in
+index f7f025f..bd537d9 100644
+--- a/Makefile.pre.in
++++ b/Makefile.pre.in
+@@ -1050,7 +1050,7 @@ LIBSUBDIRS= site-packages \
+ multiprocessing multiprocessing/dummy \
+ unittest \
+ lib-old \
+- curses $(MACHDEPS)
++ $(MACHDEPS)
+
+ TESTSUBDIRS = test test/audiodata test/capath test/data \
+ test/cjkencodings test/decimaltestdata test/xmltestdata \
+@@ -1092,6 +1092,10 @@ TESTSUBDIRS += lib-tk/test lib-tk/test/test_tkinter \
+ lib-tk/test/test_ttk
+ endif
+
++ifeq (@CURSES@,yes)
++LIBSUBDIRS += curses
++endif
++
+ libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
+ @for i in $(SCRIPTDIR) $(LIBDEST); \
+ do \
+diff --git a/configure.ac b/configure.ac
+index d0f032c..ab081bc 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2823,6 +2823,15 @@ if test "$TK" = "no"; then
+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter"
+ fi
+
++AC_SUBST(CURSES)
++AC_ARG_ENABLE(curses,
++ AS_HELP_STRING([--disable-curses], [disable curses]),
++ [ CURSES="${enableval}" ], [ CURSES=yes ])
++
++if test "$CURSES" = "no"; then
++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _curses _curses_panel"
++fi
++
+ AC_SUBST(PYDOC)
+
+ AC_ARG_ENABLE(pydoc,
+--
+2.7.4
+
--- /dev/null
+From 5f0f30bf342cd2b13f98513c39fd8f17351b1a2f Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue, 7 Mar 2017 22:29:20 +0100
+Subject: [PATCH] Add an option to disable expat
+
+This patch replaces the existing --with-system-expat option with a
+--with-expat={system,builtin,none} option, which allows to tell Python
+whether we want to use the system expat (already installed), the expat
+builtin the Python sources, or no expat at all (which disables the
+installation of XML modules).
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Signed-off-by: Samuel Martin <s.martin49@gmail.com>
+---
+ Makefile.pre.in | 6 +++++-
+ configure.ac | 18 +++++++++++++-----
+ setup.py | 2 +-
+ 3 files changed, 19 insertions(+), 7 deletions(-)
+
+diff --git a/Makefile.pre.in b/Makefile.pre.in
+index bd537d9..e5d0dd7 100644
+--- a/Makefile.pre.in
++++ b/Makefile.pre.in
+@@ -1046,7 +1046,7 @@ LIBSUBDIRS= site-packages \
+ logging bsddb csv importlib wsgiref \
+ ctypes ctypes/macholib \
+ idlelib idlelib/Icons \
+- distutils distutils/command $(XMLLIBSUBDIRS) \
++ distutils distutils/command \
+ multiprocessing multiprocessing/dummy \
+ unittest \
+ lib-old \
+@@ -1096,6 +1096,10 @@ ifeq (@CURSES@,yes)
+ LIBSUBDIRS += curses
+ endif
+
++ifeq (@EXPAT@,yes)
++LIBSUBDIRS += $(XMLLIBSUBDIRS)
++endif
++
+ libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
+ @for i in $(SCRIPTDIR) $(LIBDEST); \
+ do \
+diff --git a/configure.ac b/configure.ac
+index ab081bc..63ee545 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2470,13 +2470,21 @@ PKG_PROG_PKG_CONFIG
+ AC_SUBST(DISABLED_EXTENSIONS)
+
+ # Check for use of the system expat library
+-AC_MSG_CHECKING(for --with-system-expat)
+-AC_ARG_WITH(system_expat,
+- AS_HELP_STRING([--with-system-expat], [build pyexpat module using an installed expat library]),
++AC_MSG_CHECKING(for --with-expat)
++AC_ARG_WITH(expat,
++ AS_HELP_STRING([--with-expat], [select which expat version to use: system, builtin, none]),
+ [],
+- [with_system_expat="no"])
++ [with_expat="builtin"])
+
+-AC_MSG_RESULT($with_system_expat)
++AC_MSG_RESULT($with_expat)
++
++if test "$with_expat" != "none"; then
++ EXPAT=yes
++else
++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} pyexpat"
++ EXPAT=no
++fi
++AC_SUBST(EXPAT)
+
+ # Check for use of the system libffi library
+ AC_MSG_CHECKING(for --with-system-ffi)
+diff --git a/setup.py b/setup.py
+index f51ef8c..c68f6b4 100644
+--- a/setup.py
++++ b/setup.py
+@@ -1483,7 +1483,7 @@ class PyBuildExt(build_ext):
+ #
+ # More information on Expat can be found at www.libexpat.org.
+ #
+- if '--with-system-expat' in sysconfig.get_config_var("CONFIG_ARGS"):
++ if '--with-expat=system' in sysconfig.get_config_var("CONFIG_ARGS"):
+ expat_inc = []
+ define_macros = []
+ expat_lib = ['expat']
+--
+2.7.4
+
--- /dev/null
+From cb848dae763a3f57e31d734d3be6889f660fa0d0 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue, 7 Mar 2017 22:29:31 +0100
+Subject: [PATCH] Add an option to disable CJK codecs
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ configure.ac | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 63ee545..6a854ab 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2822,6 +2822,12 @@ if test "$SQLITE3" = "no" ; then
+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3"
+ fi
+
++AC_ARG_ENABLE(codecs-cjk,
++ AS_HELP_STRING([--disable-codecs-cjk], [disable CJK codecs]),
++ [ if test "$enableval" = "no"; then
++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk"
++ fi])
++
+ AC_SUBST(TK)
+ AC_ARG_ENABLE(tk,
+ AS_HELP_STRING([--disable-tk], [disable tk]),
+--
+2.7.4
+
--- /dev/null
+From 133776d396b8eaf0243484dc990a53576de9685f Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue, 7 Mar 2017 22:29:41 +0100
+Subject: [PATCH] Add an option to disable NIS
+
+NIS is not necessarily available in uClibc, so we need an option to
+not compile support for it.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ configure.ac | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 6a854ab..4c2cbc1 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2828,6 +2828,12 @@ AC_ARG_ENABLE(codecs-cjk,
+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk"
+ fi])
+
++AC_ARG_ENABLE(nis,
++ AS_HELP_STRING([--disable-nis], [disable NIS]),
++ [ if test "$enableval" = "no"; then
++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis"
++ fi])
++
+ AC_SUBST(TK)
+ AC_ARG_ENABLE(tk,
+ AS_HELP_STRING([--disable-tk], [disable tk]),
+--
+2.7.4
+
--- /dev/null
+From aa78e3684c0e8f7a5e910e838f9eca2631262048 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue, 7 Mar 2017 22:29:52 +0100
+Subject: [PATCH] Add an option to disable unicodedata
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ configure.ac | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 4c2cbc1..09cb3de 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2834,6 +2834,12 @@ AC_ARG_ENABLE(nis,
+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis"
+ fi])
+
++AC_ARG_ENABLE(unicodedata,
++ AS_HELP_STRING([--disable-unicodedata], [disable unicodedata]),
++ [ if test "$enableval" = "no"; then
++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} unicodedata"
++ fi])
++
+ AC_SUBST(TK)
+ AC_ARG_ENABLE(tk,
+ AS_HELP_STRING([--disable-tk], [disable tk]),
+--
+2.7.4
+
--- /dev/null
+From cfad2bcae8f572a9422ce5a6adb4caa7c0e521ad Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue, 7 Mar 2017 22:30:06 +0100
+Subject: [PATCH] Add an option to disable bsddb
+
+bsddb has an external dependency on Berkeley DB. Since we want to be
+able to build Python without it, this patch adds an option to disable
+the build/installation of this Python module.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Signed-off-by: Samuel Martin <s.martin49@gmail.com>
+---
+ Makefile.pre.in | 8 ++++++--
+ configure.ac | 22 ++++++++++++++++++++++
+ 2 files changed, 28 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.pre.in b/Makefile.pre.in
+index e5d0dd7..2582574 100644
+--- a/Makefile.pre.in
++++ b/Makefile.pre.in
+@@ -1043,7 +1043,7 @@ LIBSUBDIRS= site-packages \
+ email email/mime \
+ ensurepip ensurepip/_bundled \
+ json \
+- logging bsddb csv importlib wsgiref \
++ logging csv importlib wsgiref \
+ ctypes ctypes/macholib \
+ idlelib idlelib/Icons \
+ distutils distutils/command \
+@@ -1059,7 +1059,6 @@ TESTSUBDIRS = test test/audiodata test/capath test/data \
+ test/tracedmodules \
+ email/test email/test/data \
+ json/tests \
+- bsddb/test \
+ ctypes/test \
+ idlelib/idle_test \
+ distutils/tests \
+@@ -1100,6 +1099,11 @@ ifeq (@EXPAT@,yes)
+ LIBSUBDIRS += $(XMLLIBSUBDIRS)
+ endif
+
++ifeq (@BSDDB@,yes)
++LIBSUBDIRS += bsddb
++TESTSUBDIRS += bsddb/test
++endif
++
+ libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
+ @for i in $(SCRIPTDIR) $(LIBDEST); \
+ do \
+diff --git a/configure.ac b/configure.ac
+index 09cb3de..524614c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2834,6 +2834,28 @@ AC_ARG_ENABLE(nis,
+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis"
+ fi])
+
++AC_ARG_ENABLE(dbm,
++ AS_HELP_STRING([--disable-dbm], [disable DBM]),
++ [ if test "$enableval" = "no"; then
++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} dbm"
++ fi])
++
++AC_ARG_ENABLE(gdbm,
++ AS_HELP_STRING([--disable-gdbm], [disable GDBM]),
++ [ if test "$enableval" = "no"; then
++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} gdbm"
++ fi])
++
++AC_SUBST(BSDDB)
++AC_ARG_ENABLE(bsddb,
++ AS_HELP_STRING([--disable-bsddb], [disable BerkeyleyDB]),
++ [ if test "$enableval" = "no"; then
++ BSDDB=no
++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _bsddb"
++ else
++ BSDDB=yes
++ fi], [ BSDDB=yes ])
++
+ AC_ARG_ENABLE(unicodedata,
+ AS_HELP_STRING([--disable-unicodedata], [disable unicodedata]),
+ [ if test "$enableval" = "no"; then
+--
+2.7.4
+
--- /dev/null
+From 45fcf92ec1e89e0afd0bf2bbc7a1008b56135ba3 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue, 7 Mar 2017 22:30:22 +0100
+Subject: [PATCH] Add an option to disable the ssl module
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ configure.ac | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 524614c..743707a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2834,6 +2834,12 @@ AC_ARG_ENABLE(nis,
+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis"
+ fi])
+
++AC_ARG_ENABLE(ssl,
++ AS_HELP_STRING([--disable-ssl], [disable SSL]),
++ [ if test "$enableval" = "no"; then
++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ssl"
++ fi])
++
+ AC_ARG_ENABLE(dbm,
+ AS_HELP_STRING([--disable-dbm], [disable DBM]),
+ [ if test "$enableval" = "no"; then
+--
+2.7.4
+
--- /dev/null
+From 6b10788fa040442ace100c3a28cbfff29c9db471 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue, 7 Mar 2017 22:30:33 +0100
+Subject: [PATCH] Add an option to disable the bz2 module
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ configure.ac | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 743707a..f1762e9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2840,6 +2840,12 @@ AC_ARG_ENABLE(ssl,
+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ssl"
+ fi])
+
++AC_ARG_ENABLE(bz2,
++ AS_HELP_STRING([--disable-bz2], [disable BZIP2]),
++ [ if test "$enableval" = "no"; then
++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} bz2"
++ fi])
++
+ AC_ARG_ENABLE(dbm,
+ AS_HELP_STRING([--disable-dbm], [disable DBM]),
+ [ if test "$enableval" = "no"; then
+--
+2.7.4
+
--- /dev/null
+From af2c56aa0a5900272cc2d04ce667d4b38e34b596 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue, 7 Mar 2017 22:30:45 +0100
+Subject: [PATCH] Add an option to disable the zlib module
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ configure.ac | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index f1762e9..291ba35 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2846,6 +2846,12 @@ AC_ARG_ENABLE(bz2,
+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} bz2"
+ fi])
+
++AC_ARG_ENABLE(zlib,
++ AS_HELP_STRING([--disable-zlib], [disable ZLIB]),
++ [ if test "$enableval" = "no"; then
++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} zlib"
++ fi])
++
+ AC_ARG_ENABLE(dbm,
+ AS_HELP_STRING([--disable-dbm], [disable DBM]),
+ [ if test "$enableval" = "no"; then
+--
+2.7.4
+
--- /dev/null
+From 4b7c45c756dccfd3b5ece36fe572042353d1c2f0 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue, 7 Mar 2017 22:30:56 +0100
+Subject: [PATCH] Do not install the idle editor
+
+IDLE is the Python IDE built with the tkinter GUI toolkit. Since it's
+highly unlikely to ever be useful in an embedded Linux system
+generated by Buildroot, this patch simply disables the installation of
+idle and the related Python modules. It saves 800 KB-900 KB of
+installed .pyc files.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ Makefile.pre.in | 2 --
+ setup.py | 2 +-
+ 2 files changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/Makefile.pre.in b/Makefile.pre.in
+index 2582574..3cfc590 100644
+--- a/Makefile.pre.in
++++ b/Makefile.pre.in
+@@ -1045,7 +1045,6 @@ LIBSUBDIRS= site-packages \
+ json \
+ logging csv importlib wsgiref \
+ ctypes ctypes/macholib \
+- idlelib idlelib/Icons \
+ distutils distutils/command \
+ multiprocessing multiprocessing/dummy \
+ unittest \
+@@ -1060,7 +1059,6 @@ TESTSUBDIRS = test test/audiodata test/capath test/data \
+ email/test email/test/data \
+ json/tests \
+ ctypes/test \
+- idlelib/idle_test \
+ distutils/tests \
+ unittest/test
+
+diff --git a/setup.py b/setup.py
+index c68f6b4..8045a9b 100644
+--- a/setup.py
++++ b/setup.py
+@@ -2234,7 +2234,7 @@ def main():
+ import warnings
+ warnings.filterwarnings("ignore",category=DeprecationWarning)
+
+- scripts = ['Tools/scripts/idle', 'Lib/smtpd.py']
++ scripts = ['Lib/smtpd.py']
+ if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"):
+ scripts += [ 'Tools/scripts/pydoc' ]
+ if not '--disable-lib2to3' in sysconfig.get_config_var("CONFIG_ARGS"):
+--
+2.7.4
+
--- /dev/null
+From 6af0f179d3db956146bbabac8748675e3abc1f78 Mon Sep 17 00:00:00 2001
+From: Zoltan Gyarmati <mr.zoltan.gyarmati@gmail.com>
+Date: Tue, 7 Mar 2017 22:31:22 +0100
+Subject: [PATCH] Add an option to disable the ossaudiodev module
+
+Signed-off-by: Zoltan Gyarmati <mr.zoltan.gyarmati@gmail.com>
+---
+ configure.ac | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 291ba35..8dc573e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2898,6 +2898,12 @@ if test "$CURSES" = "no"; then
+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _curses _curses_panel"
+ fi
+
++AC_ARG_ENABLE(ossaudiodev,
++ AS_HELP_STRING([--disable-ossaudiodev], [disable OSSAUDIODEV]),
++ [ if test "$enableval" = "no"; then
++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ossaudiodev"
++ fi])
++
+ AC_SUBST(PYDOC)
+
+ AC_ARG_ENABLE(pydoc,
+--
+2.7.4
+
+++ /dev/null
-Change the install location of _sysconfigdata.py
-
-The _sysconfigdata.py module contains definitions that are needed when
-building Python modules. In cross-compilation mode, when building
-Python extensions for the target, we need to use the _sysconfigdata.py
-of the target Python while executing the host Python.
-
-However until now, the _sysconfigdata.py module was installed in
-build/lib.<arch>-<version> directory, together with a number of
-architecture-specific shared objects, which cannot be used with the
-host Python.
-
-To solve this problem, this patch moves _sysconfigdata.py to a
-separate location, build/sysconfigdata.<arch>-<version>/, and only
-this directory gets added to the PYTHONPATH of the host Python
-interpreter when building Python modules for the target.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-
-Index: b/Makefile.pre.in
-===================================================================
---- a/Makefile.pre.in
-+++ b/Makefile.pre.in
-@@ -462,6 +462,9 @@
- rm -f ./pybuilddir.txt ; \
- exit 1 ; \
- fi
-+ echo `cat pybuilddir.txt`/sysconfigdata > pysysconfigdatadir.txt
-+ mkdir -p `cat pysysconfigdatadir.txt`
-+ cp `cat pybuilddir.txt`/_sysconfigdata.py `cat pysysconfigdatadir.txt`
-
- # Build the shared modules
- # Under GNU make, MAKEFLAGS are sorted and normalized; the 's' for
-@@ -1002,7 +1005,7 @@
- else true; \
- fi; \
- done
-- @for i in $(srcdir)/Lib/*.py `cat pybuilddir.txt`/_sysconfigdata.py $(srcdir)/Lib/*.doc $(srcdir)/Lib/*.egg-info ; \
-+ @for i in $(srcdir)/Lib/*.py $(srcdir)/Lib/*.doc $(srcdir)/Lib/*.egg-info ; \
- do \
- if test -x $$i; then \
- $(INSTALL_SCRIPT) $$i $(DESTDIR)$(LIBDEST); \
-@@ -1012,6 +1015,11 @@
- echo $(INSTALL_DATA) $$i $(LIBDEST); \
- fi; \
- done
-+ $(INSTALL_DATA) `cat pysysconfigdatadir.txt`/_sysconfigdata.py \
-+ $(DESTDIR)$(LIBDEST)
-+ mkdir -p $(DESTDIR)$(LIBDEST)/sysconfigdata
-+ $(INSTALL_DATA) `cat pysysconfigdatadir.txt`/_sysconfigdata.py \
-+ $(DESTDIR)$(LIBDEST)/sysconfigdata
- @for d in $(LIBSUBDIRS); \
- do \
- a=$(srcdir)/Lib/$$d; \
-@@ -1337,7 +1345,7 @@
- Modules/Setup Modules/Setup.local Modules/Setup.config \
- Modules/ld_so_aix Modules/python.exp Misc/python.pc
- -rm -f python*-gdb.py
-- -rm -f pybuilddir.txt
-+ -rm -f pybuilddir.txt pysysconfigdatadir.txt
- # Issue #28258: set LC_ALL to avoid issues with Estonian locale.
- # Expansion is performed here by shell (spawned by make) itself before
- # arguments are passed to find. So LC_ALL=C must be set as a separate
-Index: b/configure.ac
-===================================================================
---- a/configure.ac
-+++ b/configure.ac
-@@ -33,7 +33,7 @@
- AC_MSG_ERROR([python$PACKAGE_VERSION interpreter not found])
- fi
- 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
-+ PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pysysconfigdatadir.txt && echo $(abs_builddir)/`cat pysysconfigdatadir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/$(PLATDIR) '$interp
- fi
- elif test "$cross_compiling" = maybe; then
- AC_MSG_ERROR([Cross compiling required --host=HOST-TUPLE and --build=ARCH])
+++ /dev/null
-Index: b/Makefile.pre.in
-===================================================================
---- a/Makefile.pre.in
-+++ b/Makefile.pre.in
-@@ -1050,24 +1050,32 @@
- $(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \
- $(DESTDIR)$(LIBDEST)/distutils/tests ; \
- fi
-+ifeq (@PYC_BUILD@,yes)
- PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- $(PYTHON_FOR_BUILD) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
- -d $(LIBDEST) -f \
- -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
- $(DESTDIR)$(LIBDEST)
-+endif
-+ifeq (@PYO_BUILD@,yes)
- PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- $(PYTHON_FOR_BUILD) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \
- -d $(LIBDEST) -f \
- -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
- $(DESTDIR)$(LIBDEST)
-+endif
-+ifeq (@PYC_BUILD@,yes)
- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- $(PYTHON_FOR_BUILD) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \
- -d $(LIBDEST)/site-packages -f \
- -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
-+endif
-+ifeq (@PYO_BUILD@,yes)
- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- $(PYTHON_FOR_BUILD) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \
- -d $(LIBDEST)/site-packages -f \
- -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
-+endif
- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt
- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-Index: b/configure.ac
-===================================================================
---- a/configure.ac
-+++ b/configure.ac
-@@ -739,6 +739,17 @@
- ;;
- esac
-
-+AC_SUBST(PYC_BUILD)
-+
-+AC_ARG_ENABLE(pyc-build,
-+ AS_HELP_STRING([--disable-pyc-build], [disable build of pyc files]),
-+ [ PYC_BUILD="${enableval}" ], [ PYC_BUILD=yes ])
-+
-+AC_SUBST(PYO_BUILD)
-+
-+AC_ARG_ENABLE(pyo-build,
-+ AS_HELP_STRING([--disable-pyo-build], [disable build of pyo files]),
-+ [ PYO_BUILD="${enableval}" ], [ PYO_BUILD=yes ])
-
- AC_SUBST(LIBRARY)
- AC_MSG_CHECKING(LIBRARY)
+++ /dev/null
-Index: b/configure.ac
-===================================================================
---- a/configure.ac
-+++ b/configure.ac
-@@ -3353,7 +3353,7 @@
-
- AC_MSG_RESULT($ac_cv_buggy_getaddrinfo)
-
--if test $have_getaddrinfo = no -o "$ac_cv_buggy_getaddrinfo" = yes
-+if test $have_getaddrinfo = no || test "$cross_compiling" != "yes" -a "$ac_cv_buggy_getaddrinfo" = yes
- then
- if test $ipv6 = yes
- then
+++ /dev/null
-Index: b/Makefile.pre.in
-===================================================================
---- a/Makefile.pre.in
-+++ b/Makefile.pre.in
-@@ -156,6 +156,8 @@
- # configure script arguments
- CONFIG_ARGS= @CONFIG_ARGS@
-
-+# disabled extensions
-+DISABLED_EXTENSIONS= @DISABLED_EXTENSIONS@
-
- # Subdirectories with code
- SRCDIRS= @SRCDIRS@
-@@ -477,6 +479,7 @@
- esac; \
- $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
- _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \
-+ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \
- $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
-
- # Build static library
-@@ -1191,7 +1194,8 @@
- # Install the dynamically loadable modules
- # This goes into $(exec_prefix)
- sharedinstall: sharedmods
-- $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
-+ $(RUNSHARED) DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \
-+ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
- --prefix=$(prefix) \
- --install-scripts=$(BINDIR) \
- --install-platlib=$(DESTSHARED) \
-Index: b/configure.ac
-===================================================================
---- a/configure.ac
-+++ b/configure.ac
-@@ -2290,6 +2290,8 @@
-
- PKG_PROG_PKG_CONFIG
-
-+AC_SUBST(DISABLED_EXTENSIONS)
-+
- # Check for use of the system expat library
- AC_MSG_CHECKING(for --with-system-expat)
- AC_ARG_WITH(system_expat,
-Index: b/setup.py
-===================================================================
---- a/setup.py
-+++ b/setup.py
-@@ -33,7 +33,10 @@
- COMPILED_WITH_PYDEBUG = ('--with-pydebug' in sysconfig.get_config_var("CONFIG_ARGS"))
-
- # This global variable is used to hold the list of modules to be disabled.
--disabled_module_list = []
-+try:
-+ disabled_module_list = sysconfig.get_config_var("DISABLED_EXTENSIONS").split(" ")
-+except KeyError:
-+ disabled_module_list = list()
-
- def add_dir_to_list(dirlist, dir):
- """Add the directory 'dir' to the list 'dirlist' (at the front) if
+++ /dev/null
-Adjust library/header paths for cross-compilation
-
-When cross-compiling third-party extensions, the get_python_inc() or
-get_python_lib() can be called, to return the path to headers or
-libraries. However, they use the sys.prefix of the host Python, which
-returns incorrect paths when cross-compiling (paths pointing to host
-headers and libraries).
-
-In order to fix this, we introduce the _python_sysroot, _python_prefix
-and _python_exec_prefix variables, that allow to override these
-values, and get correct header/library paths when cross-compiling
-third-party Python modules.
-
-The _python_sysroot variable is also used to prefix the LIBDIR value
-taken from the sysconfigdata module.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-
-Index: b/Lib/distutils/sysconfig.py
-===================================================================
---- a/Lib/distutils/sysconfig.py
-+++ b/Lib/distutils/sysconfig.py
-@@ -19,8 +19,13 @@
- from distutils.errors import DistutilsPlatformError
-
- # These are needed in a couple of spots, so just compute them once.
--PREFIX = os.path.normpath(sys.prefix)
--EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
-+if "_python_sysroot" in os.environ:
-+ _sysroot=os.environ.get('_python_sysroot')
-+ PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_prefix'))
-+ EXEC_PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_exec_prefix'))
-+else:
-+ PREFIX = os.path.normpath(sys.prefix)
-+ EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
-
- # Path to the base directory of the project. On Windows the binary may
- # live in project/PCBuild9. If we're dealing with an x64 Windows build,
-Index: b/Lib/distutils/command/build_ext.py
-===================================================================
---- a/Lib/distutils/command/build_ext.py
-+++ b/Lib/distutils/command/build_ext.py
-@@ -237,7 +237,10 @@
- if (sysconfig.get_config_var('Py_ENABLE_SHARED')):
- if not sysconfig.python_build:
- # building third party extensions
-- self.library_dirs.append(sysconfig.get_config_var('LIBDIR'))
-+ libdir = sysconfig.get_config_var('LIBDIR')
-+ if "_python_sysroot" in os.environ:
-+ libdir = os.environ.get("_python_sysroot") + libdir
-+ self.library_dirs.append(libdir)
- else:
- # building python standard extensions
- self.library_dirs.append('.')
+++ /dev/null
-Don't look in /usr/lib/termcap for libraries
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-
-
-Index: b/setup.py
-===================================================================
---- a/setup.py
-+++ b/setup.py
-@@ -764,12 +764,9 @@
- pass # Issue 7384: Already linked against curses or tinfo.
- elif curses_library:
- readline_libs.append(curses_library)
-- elif self.compiler.find_library_file(lib_dirs +
-- ['/usr/lib/termcap'],
-- 'termcap'):
-+ elif self.compiler.find_library_file(lib_dirs, 'termcap'):
- readline_libs.append('termcap')
- exts.append( Extension('readline', ['readline.c'],
-- library_dirs=['/usr/lib/termcap'],
- extra_link_args=readline_extra_link_args,
- libraries=readline_libs) )
- else:
+++ /dev/null
-Add a backport of http://bugs.python.org/issue16235 so we can use
-python-config for cross builds.
-This basically replaces the python version of python-config with a pure-shell
-version that's already preprocessed when installed and doesn't depend
-on the sysconfig import that usually leads to bad data/results.
-
-Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
-
-Index: b/configure.ac
-===================================================================
---- a/configure.ac
-+++ b/configure.ac
-@@ -885,6 +885,7 @@
-
- # Other platforms follow
- if test $enable_shared = "yes"; then
-+ PY_ENABLE_SHARED=1
- AC_DEFINE(Py_ENABLE_SHARED, 1, [Defined if Python is built as a shared library.])
- case $ac_sys_system in
- BeOS*)
-@@ -945,6 +946,7 @@
-
- esac
- else # shared is disabled
-+ PY_ENABLE_SHARED=0
- case $ac_sys_system in
- CYGWIN*)
- BLDLIBRARY='$(LIBRARY)'
-@@ -1921,6 +1923,9 @@
- AC_SUBST(BLDSHARED)
- AC_SUBST(CCSHARED)
- AC_SUBST(LINKFORSHARED)
-+AC_SUBST(PY_ENABLE_SHARED)
-+LIBPL="${prefix}/lib/python${VERSION}/config"
-+AC_SUBST(LIBPL)
- # SO is the extension of shared libraries `(including the dot!)
- # -- usually .so, .sl on HP-UX, .dll on Cygwin
- AC_MSG_CHECKING(SO)
-@@ -4588,7 +4593,7 @@
- AC_SUBST(ENSUREPIP)
-
- # generate output files
--AC_CONFIG_FILES(Makefile.pre Modules/Setup.config Misc/python.pc)
-+AC_CONFIG_FILES(Makefile.pre Modules/Setup.config Misc/python.pc Misc/python-config.sh)
- AC_CONFIG_FILES([Modules/ld_so_aix], [chmod +x Modules/ld_so_aix])
- AC_OUTPUT
-
-Index: b/Makefile.pre.in
-===================================================================
---- a/Makefile.pre.in
-+++ b/Makefile.pre.in
-@@ -166,7 +166,7 @@
- SUBDIRSTOO= Include Lib Misc Demo
-
- # Files and directories to be distributed
--CONFIGFILES= configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in
-+CONFIGFILES= configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in Misc/python-config.sh
- DISTFILES= README ChangeLog $(CONFIGFILES)
- DISTDIRS= $(SUBDIRS) $(SUBDIRSTOO) Ext-dummy
- DIST= $(DISTFILES) $(DISTDIRS)
-@@ -410,7 +410,7 @@
-
- # Default target
- all: @DEF_MAKE_ALL_RULE@
--build_all: $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks
-+build_all: $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks python-config
-
- # Compile a binary with gcc profile guided optimization.
- profile-opt:
-@@ -1101,10 +1101,12 @@
- fi; \
- cd $(srcdir)/Lib/$(PLATDIR); $(RUNSHARED) ./regen
-
--python-config: $(srcdir)/Misc/python-config.in
-+python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh
- # Substitution happens here, as the completely-expanded BINDIR
- # is not available in configure
-- sed -e "s,@EXENAME@,$(BINDIR)/python$(VERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config
-+ sed -e "s,@EXENAME@,$(BINDIR)/python$(VERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config.py
-+ # Replace makefile compat. variable references with shell script compat. ones; $(VAR) -> ${VAR}
-+ sed -e 's,\$$(\([A-Za-z0-9_]*\)),\$$\{\1\},g' Misc/python-config.sh >python-config
-
- # Install the include files
- INCLDIRSTOMAKE=$(INCLUDEDIR) $(CONFINCLUDEDIR) $(INCLUDEPY) $(CONFINCLUDEPY)
-@@ -1163,7 +1165,7 @@
- $(INSTALL_SCRIPT) $(srcdir)/Modules/makesetup $(DESTDIR)$(LIBPL)/makesetup
- $(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh
- $(INSTALL_SCRIPT) python-config $(DESTDIR)$(BINDIR)/python$(VERSION)-config
-- rm python-config
-+ $(INSTALL_SCRIPT) python-config.py $(DESTDIR)$(LIBPL)/python-config.py
- @if [ -s Modules/python.exp -a \
- "`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" = "aix" ]; then \
- echo; echo "Installing support files for building shared extension modules on AIX:"; \
-@@ -1345,6 +1347,7 @@
- config.cache config.log pyconfig.h Modules/config.c
- -rm -rf build platform
- -rm -rf $(PYTHONFRAMEWORKDIR)
-+ -rm -f python-config.py python-config
-
- # Make things extra clean, before making a distribution:
- # remove all generated files, even Makefile[.pre]
-Index: b/Misc/python-config.sh.in
-===================================================================
---- /dev/null
-+++ b/Misc/python-config.sh.in
-@@ -0,0 +1,102 @@
-+#!/bin/sh
-+
-+exit_with_usage ()
-+{
-+ echo "Usage: $0 --prefix|--exec-prefix|--includes|--libs|--cflags|--ldflags|--extension-suffix|--help|--configdir"
-+ exit $1
-+}
-+
-+if [ "$1" = "" ] ; then
-+ exit_with_usage 1
-+fi
-+
-+# Returns the actual prefix where this script was installed to.
-+installed_prefix ()
-+{
-+ RESULT=$(dirname $(cd $(dirname "$1") && pwd -P))
-+ if which readlink >/dev/null 2>&1 ; then
-+ RESULT=$(readlink -f "$RESULT")
-+ fi
-+ echo $RESULT
-+}
-+
-+prefix_build="@prefix@"
-+prefix_real=$(installed_prefix "$0")
-+
-+# Use sed to fix paths from their built to locations to their installed to locations.
-+prefix=$(echo "$prefix_build" | sed "s#$prefix_build#$prefix_real#")
-+exec_prefix_build="@exec_prefix@"
-+exec_prefix=$(echo "$exec_prefix_build" | sed "s#$exec_prefix_build#$prefix_real#")
-+includedir=$(echo "@includedir@")
-+libdir=$(echo "@libdir@" | sed "s#$prefix_build#$prefix_real#")
-+CFLAGS=$(echo "@CFLAGS@" | sed "s#$prefix_build#$prefix_real#")
-+VERSION="@VERSION@"
-+LIBM="@LIBM@"
-+LIBC="@LIBC@"
-+SYSLIBS="$LIBM $LIBC"
-+LIBS="@LIBS@ $SYSLIBS -lpython${VERSION}"
-+BASECFLAGS="@BASECFLAGS@"
-+LDLIBRARY="@LDLIBRARY@"
-+LINKFORSHARED="@LINKFORSHARED@"
-+OPT="@OPT@"
-+PY_ENABLE_SHARED="@PY_ENABLE_SHARED@"
-+LDVERSION="@LDVERSION@"
-+LIBDEST=${prefix}/lib/python${VERSION}
-+LIBPL=$(echo "@LIBPL@" | sed "s#$prefix_build#$prefix_real#")
-+SO="@SO@"
-+PYTHONFRAMEWORK="@PYTHONFRAMEWORK@"
-+INCDIR="-I$includedir/python${VERSION}"
-+PLATINCDIR="-I$includedir/python${VERSION}"
-+
-+# Scan for --help or unknown argument.
-+for ARG in $*
-+do
-+ case $ARG in
-+ --help)
-+ exit_with_usage 0
-+ ;;
-+ --prefix|--exec-prefix|--includes|--libs|--cflags|--ldflags|--extension-suffix|--abiflags|--configdir)
-+ ;;
-+ *)
-+ exit_with_usage 1
-+ ;;
-+esac
-+done
-+
-+for ARG in "$@"
-+do
-+ case "$ARG" in
-+ --prefix)
-+ echo "$prefix"
-+ ;;
-+ --exec-prefix)
-+ echo "$exec_prefix"
-+ ;;
-+ --includes)
-+ echo "$INCDIR $PLATINCDIR"
-+ ;;
-+ --cflags)
-+ echo "$INCDIR $PLATINCDIR $BASECFLAGS $CFLAGS $OPT"
-+ ;;
-+ --libs)
-+ echo "$LIBS"
-+ ;;
-+ --ldflags)
-+ LINKFORSHAREDUSED=
-+ if [ -z "$PYTHONFRAMEWORK" ] ; then
-+ LINKFORSHAREDUSED=$LINKFORSHARED
-+ fi
-+ LIBPLUSED=
-+ if [ "$PY_ENABLE_SHARED" = "0" ] ; then
-+ LIBPLUSED="-L$LIBPL"
-+ fi
-+ echo "$LIBPLUSED -L$libdir $LIBS $LINKFORSHAREDUSED"
-+ ;;
-+ --extension-suffix)
-+ echo "$SO"
-+ ;;
-+ --configdir)
-+ echo "$LIBPL"
-+ ;;
-+esac
-+done
+++ /dev/null
-Remove the python symlink install rules.
-
-The python symlink installation will be handled by Buildroot itself, because
-Buildroot needs to control to what python interpreter (python2 or python3) the
-python symlink points to.
-
-Signed-off-by: Samuel Martin <s.martin49@gmail.com>
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-(rebased against version 2.7.12)
-
-Index: b/Makefile.pre.in
-===================================================================
---- a/Makefile.pre.in
-+++ b/Makefile.pre.in
-@@ -974,17 +974,10 @@
- echo "Creating directory $(LIBPC)"; \
- $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$(LIBPC); \
- fi
-- -if test -f $(DESTDIR)$(BINDIR)/$(PYTHON) -o -h $(DESTDIR)$(BINDIR)/$(PYTHON); \
-- then rm -f $(DESTDIR)$(BINDIR)/$(PYTHON); \
-- else true; \
-- fi
-- (cd $(DESTDIR)$(BINDIR); $(LN) -s python2$(EXE) $(PYTHON))
- -rm -f $(DESTDIR)$(BINDIR)/python2$(EXE)
- (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)$(EXE) python2$(EXE))
- -rm -f $(DESTDIR)$(BINDIR)/python2-config
- (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-config python2-config)
-- -rm -f $(DESTDIR)$(BINDIR)/python-config
-- (cd $(DESTDIR)$(BINDIR); $(LN) -s python2-config python-config)
- -test -d $(DESTDIR)$(LIBPC) || $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$(LIBPC)
- -rm -f $(DESTDIR)$(LIBPC)/python2.pc
- (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python2.pc)
+++ /dev/null
-Don't add multiarch paths
-
-The add_multiarch_paths() function leads, in certain build
-environments, to the addition of host header paths to the CFLAGS,
-which is not appropriate for cross-compilation. This patch fixes that
-by simply removing the call to add_multiarch_paths() when we're
-cross-compiling.
-
-Investigation done by David <buildroot-2014@inbox.com>.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-
-Index: b/setup.py
-===================================================================
---- a/setup.py
-+++ b/setup.py
-@@ -445,9 +445,9 @@
- if not cross_compiling:
- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
- add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
-+ self.add_multiarch_paths()
- if cross_compiling:
- self.add_gcc_paths()
-- self.add_multiarch_paths()
-
- # Add paths specified in the environment variables LDFLAGS and
- # CPPFLAGS for header and library files.
+++ /dev/null
-Abort on failed module build
-
-When building a Python module fails, the setup.py script currently
-doesn't exit with an error, and simply continues. This is not a really
-nice behavior, so this patch changes setup.py to abort with an error,
-so that the build issue is clearly noticeable.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-
-Index: b/setup.py
-===================================================================
---- a/setup.py
-+++ b/setup.py
-@@ -283,6 +283,7 @@
- print "Failed to build these modules:"
- print_three_column(failed)
- print
-+ sys.exit(1)
-
- def build_extension(self, ext):
-
+++ /dev/null
-sqlite3: fix build when threads are not used/available
-
-When threads are not used/available, a function in the sqlite3 extension
-ends up with a label at the end:
-
- void _pysqlite_final_callback(sqlite3_context* context)
- {
- PyObject* function_result;
- PyObject** aggregate_instance;
- int ok;
-
- #ifdef WITH_THREAD
- PyGILState_STATE threadstate;
-
- threadstate = PyGILState_Ensure();
- #endif
-
- aggregate_instance = (PyObject**)sqlite3_aggregate_context(context, sizeof(PyObject*));
- if (!*aggregate_instance) {
- goto error;
- }
-
- [......]
-
- error:
- #ifdef WITH_THREAD
- PyGILState_Release(threadstate);
- #endif
- }
-
-This is not valid, and gcc complains.
-
-Fix that by adding a dummy statement after the label, so that the label
-is never the last statement of the function.
-
-Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
-
-Index: b/Modules/_sqlite/connection.c
-===================================================================
---- a/Modules/_sqlite/connection.c
-+++ b/Modules/_sqlite/connection.c
-@@ -786,6 +786,7 @@
- #ifdef WITH_THREAD
- PyGILState_Release(threadstate);
- #endif
-+ ; /* Make gcc happy: a label can't be at the end of a function */
- }
-
- static void _pysqlite_drop_unused_statement_references(pysqlite_Connection* self)
+++ /dev/null
-Serial ioctl() workaround
-
-The ioctls.h of some architectures (notably xtensa) references structs from
-linux/serial.h. Make sure to include this header as well.
-
-Also, undef TIOCTTYGSTRUCT that require reference to internal kernel tty_struct,
-but isn't actually referenced in modern kernels.
-
-Signed-off-by: Baruch Siach <baruch@tkos.co.il>
----
-Index: b/Modules/termios.c
-===================================================================
---- a/Modules/termios.c
-+++ b/Modules/termios.c
-@@ -16,7 +16,9 @@
- * so this needs to be included first on that platform. */
- #include <termio.h>
- #endif
-+#include <linux/serial.h>
- #include <sys/ioctl.h>
-+#undef TIOCTTYGSTRUCT
-
- /* HP-UX requires that this be included to pick up MDCD, MCTS, MDSR,
- * MDTR, MRI, and MRTS (appearantly used internally by some things
+++ /dev/null
-Do not adjust the shebang of Python scripts for cross-compilation
-
-The copy_scripts() method in distutils copies the scripts listed in
-the setup file and adjusts the first line to refer to the current
-Python interpreter. When cross-compiling, this means that the adjusted
-shebang refers to the host Python interpreter.
-
-This patch modifies copy_scripts() to preserve the shebang when
-cross-compilation is detected.
-
-Signed-off-by: Christophe Vu-Brugier <cvubrugier@fastmail.fm>
-
-Index: b/Lib/distutils/command/build_scripts.py
-===================================================================
---- a/Lib/distutils/command/build_scripts.py
-+++ b/Lib/distutils/command/build_scripts.py
-@@ -89,7 +89,7 @@
- adjust = 1
- post_interp = match.group(1) or ''
-
-- if adjust:
-+ if adjust and not '_python_sysroot' in os.environ:
- log.info("copying and adjusting %s -> %s", script,
- self.build_dir)
- if not self.dry_run:
+++ /dev/null
-Override system locale and set to default when adding gcc paths
-
-Forces the use of the default locale in the function
-add_gcc_paths, which is called when cross compiling to add the
-include and library paths. This is necessary because otherwise
-the gcc output is localized and the output parsing fails, which
-results in no paths added and detect_modules not able to find
-any system library (eg. libz, libssl, etc.)
-
-[Thomas: patch taken from https://bugs.python.org/issue23767.]
-
-Signed-off-by: Samuel Cabrero <samuelcabrero@gmail.com>
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-
-Index: b/setup.py
-===================================================================
---- a/setup.py
-+++ b/setup.py
-@@ -414,7 +414,7 @@
- tmpfile = os.path.join(self.build_temp, 'gccpaths')
- if not os.path.exists(self.build_temp):
- os.makedirs(self.build_temp)
-- ret = os.system('%s -E -v - </dev/null 2>%s 1>/dev/null' % (gcc, tmpfile))
-+ ret = os.system('LC_ALL=C %s -E -v - </dev/null 2>%s 1>/dev/null' % (gcc, tmpfile))
- is_gcc = False
- in_incdirs = False
- inc_dirs = []
+++ /dev/null
-Add an option to disable installation of test modules
-
-The Python standard distribution comes with many test modules, that
-are not necessarly useful on embedded targets.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Signed-off-by: Samuel Martin <s.martin49@gmail.com>
-
----
- Makefile.pre.in | 40 +++++++++++++++++++++++++++-------------
- configure.in | 6 ++++++
- 2 files changed, 33 insertions(+), 13 deletions(-)
-
-Index: b/Makefile.pre.in
-===================================================================
---- a/Makefile.pre.in
-+++ b/Makefile.pre.in
-@@ -960,27 +960,43 @@
- plat-mac/lib-scriptpackages/SystemEvents \
- plat-mac/lib-scriptpackages/Terminal
- PLATMACPATH=:plat-mac:plat-mac/lib-scriptpackages
--LIBSUBDIRS= lib-tk lib-tk/test lib-tk/test/test_tkinter \
-- lib-tk/test/test_ttk site-packages test test/audiodata test/capath \
-- test/data test/cjkencodings test/decimaltestdata test/xmltestdata \
-- test/imghdrdata \
-- test/subprocessdata \
-- test/tracedmodules \
-+LIBSUBDIRS= lib-tk site-packages \
- encodings compiler hotshot \
-- email email/mime email/test email/test/data \
-+ email email/mime \
- ensurepip ensurepip/_bundled \
-- json json/tests \
-- sqlite3 sqlite3/test \
-- logging bsddb bsddb/test csv importlib wsgiref \
-- lib2to3 lib2to3/fixes lib2to3/pgen2 lib2to3/tests \
-- lib2to3/tests/data lib2to3/tests/data/fixers lib2to3/tests/data/fixers/myfixes \
-- ctypes ctypes/test ctypes/macholib \
-- idlelib idlelib/Icons idlelib/idle_test \
-- distutils distutils/command distutils/tests $(XMLLIBSUBDIRS) \
-+ json \
-+ sqlite3 \
-+ logging bsddb csv importlib wsgiref \
-+ lib2to3 lib2to3/fixes lib2to3/pgen2 \
-+ ctypes ctypes/macholib \
-+ idlelib idlelib/Icons \
-+ distutils distutils/command $(XMLLIBSUBDIRS) \
- multiprocessing multiprocessing/dummy \
-- unittest unittest/test \
-+ unittest \
- lib-old \
- curses pydoc_data $(MACHDEPS)
-+
-+TESTSUBDIRS = lib-tk/test lib-tk/test/test_tkinter \
-+ lib-tk/test/test_ttk test test/audiodata test/capath test/data \
-+ test/cjkencodings test/decimaltestdata test/xmltestdata \
-+ test/imghdrdata \
-+ test/subprocessdata \
-+ test/tracedmodules \
-+ email/test email/test/data \
-+ json/tests \
-+ sqlite3/test \
-+ bsddb/test \
-+ lib2to3/tests \
-+ lib2to3/tests/data lib2to3/tests/data/fixers lib2to3/tests/data/fixers/myfixes \
-+ ctypes/test \
-+ idlelib/idle_test \
-+ distutils/tests \
-+ unittest/test
-+
-+ifeq (@TEST_MODULES@,yes)
-+LIBSUBDIRS += $(TESTSUBDIRS)
-+endif
-+
- libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
- @for i in $(SCRIPTDIR) $(LIBDEST); \
- do \
-Index: b/configure.ac
-===================================================================
---- a/configure.ac
-+++ b/configure.ac
-@@ -2634,6 +2634,12 @@
- fi
-
-
-+AC_SUBST(TEST_MODULES)
-+
-+AC_ARG_ENABLE(test-modules,
-+ AS_HELP_STRING([--disable-test-modules], [disable test modules]),
-+ [ TEST_MODULES="${enableval}" ], [ TEST_MODULES=yes ])
-+
- # Check for enable-ipv6
- AH_TEMPLATE(ENABLE_IPV6, [Define if --enable-ipv6 is specified])
- AC_MSG_CHECKING([if --enable-ipv6 is specified])
+++ /dev/null
-Add an option to disable pydoc
-
-It removes 0.5 MB of data from the target plus the pydoc script
-itself.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Signed-off-by: Samuel Martin <s.martin49@gmail.com>
-
----
- Makefile.pre.in | 6 +++++-
- configure.in | 5 +++++
- setup.py | 10 +++++++---
- 3 files changed, 17 insertions(+), 4 deletions(-)
-
-Index: b/Makefile.pre.in
-===================================================================
---- a/Makefile.pre.in
-+++ b/Makefile.pre.in
-@@ -974,7 +974,7 @@
- multiprocessing multiprocessing/dummy \
- unittest \
- lib-old \
-- curses pydoc_data $(MACHDEPS)
-+ curses $(MACHDEPS)
-
- TESTSUBDIRS = lib-tk/test lib-tk/test/test_tkinter \
- lib-tk/test/test_ttk test test/audiodata test/capath test/data \
-@@ -997,6 +997,10 @@
- LIBSUBDIRS += $(TESTSUBDIRS)
- endif
-
-+ifeq (@PYDOC@,yes)
-+LIBSUBDIRS += pydoc_data
-+endif
-+
- libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
- @for i in $(SCRIPTDIR) $(LIBDEST); \
- do \
-Index: b/configure.ac
-===================================================================
---- a/configure.ac
-+++ b/configure.ac
-@@ -2633,6 +2633,11 @@
- AC_CHECK_FUNCS(pthread_atfork)
- fi
-
-+AC_SUBST(PYDOC)
-+
-+AC_ARG_ENABLE(pydoc,
-+ AS_HELP_STRING([--disable-pydoc], [disable pydoc]),
-+ [ PYDOC="${enableval}" ], [ PYDOC=yes ])
-
- AC_SUBST(TEST_MODULES)
-
-Index: b/setup.py
-===================================================================
---- a/setup.py
-+++ b/setup.py
-@@ -2211,6 +2211,12 @@
- # turn off warnings when deprecated modules are imported
- import warnings
- warnings.filterwarnings("ignore",category=DeprecationWarning)
-+
-+ scripts = ['Tools/scripts/idle', 'Tools/scripts/2to3',
-+ 'Lib/smtpd.py']
-+ if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"):
-+ scripts += [ 'Tools/scripts/pydoc' ]
-+
- setup(# PyPI Metadata (PEP 301)
- name = "Python",
- version = sys.version.split()[0],
-@@ -2231,9 +2237,7 @@
- ext_modules=[Extension('_struct', ['_struct.c'])],
-
- # Scripts to install
-- scripts = ['Tools/scripts/pydoc', 'Tools/scripts/idle',
-- 'Tools/scripts/2to3',
-- 'Lib/smtpd.py']
-+ scripts = scripts,
- )
-
- # --install-platlib
+++ /dev/null
-Add an option to disable lib2to3
-
-lib2to3 is a library to convert Python 2.x code to Python 3.x. As
-such, it is probably not very useful on embedded system targets.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Signed-off-by: Samuel Martin <s.martin49@gmail.com>
-
----
- Makefile.pre.in | 24 +++++++++++++++++-------
- configure.in | 6 ++++++
- setup.py | 5 +++--
- 3 files changed, 26 insertions(+), 9 deletions(-)
-
-Index: b/Makefile.pre.in
-===================================================================
---- a/Makefile.pre.in
-+++ b/Makefile.pre.in
-@@ -967,7 +967,6 @@
- json \
- sqlite3 \
- logging bsddb csv importlib wsgiref \
-- lib2to3 lib2to3/fixes lib2to3/pgen2 \
- ctypes ctypes/macholib \
- idlelib idlelib/Icons \
- distutils distutils/command $(XMLLIBSUBDIRS) \
-@@ -986,8 +985,6 @@
- json/tests \
- sqlite3/test \
- bsddb/test \
-- lib2to3/tests \
-- lib2to3/tests/data lib2to3/tests/data/fixers lib2to3/tests/data/fixers/myfixes \
- ctypes/test \
- idlelib/idle_test \
- distutils/tests \
-@@ -1001,6 +998,14 @@
- LIBSUBDIRS += pydoc_data
- endif
-
-+ifeq (@LIB2TO3@,yes)
-+LIBSUBDIRS += lib2to3 lib2to3/fixes lib2to3/pgen2
-+TESTSUBDIRS += lib2to3/tests \
-+ lib2to3/tests/data \
-+ lib2to3/tests/data/fixers \
-+ lib2to3/tests/data/fixers/myfixes
-+endif
-+
- libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
- @for i in $(SCRIPTDIR) $(LIBDEST); \
- do \
-Index: b/configure.ac
-===================================================================
---- a/configure.ac
-+++ b/configure.ac
-@@ -2645,6 +2645,12 @@
- AS_HELP_STRING([--disable-test-modules], [disable test modules]),
- [ TEST_MODULES="${enableval}" ], [ TEST_MODULES=yes ])
-
-+AC_SUBST(LIB2TO3)
-+
-+AC_ARG_ENABLE(lib2to3,
-+ AS_HELP_STRING([--disable-lib2to3], [disable lib2to3]),
-+ [ LIB2TO3="${enableval}" ], [ LIB2TO3=yes ])
-+
- # Check for enable-ipv6
- AH_TEMPLATE(ENABLE_IPV6, [Define if --enable-ipv6 is specified])
- AC_MSG_CHECKING([if --enable-ipv6 is specified])
-Index: b/setup.py
-===================================================================
---- a/setup.py
-+++ b/setup.py
-@@ -2212,10 +2212,11 @@
- import warnings
- warnings.filterwarnings("ignore",category=DeprecationWarning)
-
-- scripts = ['Tools/scripts/idle', 'Tools/scripts/2to3',
-- 'Lib/smtpd.py']
-+ scripts = ['Tools/scripts/idle', 'Lib/smtpd.py']
- if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"):
- scripts += [ 'Tools/scripts/pydoc' ]
-+ if not '--disable-lib2to3' in sysconfig.get_config_var("CONFIG_ARGS"):
-+ scripts += [ 'Tools/scripts/2to3' ]
-
- setup(# PyPI Metadata (PEP 301)
- name = "Python",
+++ /dev/null
-Add option to disable the sqlite3 module
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Signed-off-by: Samuel Martin <s.martin49@gmail.com>
-
----
- Makefile.pre.in | 24 +++++++++++++++++-------
- configure.in | 9 +++++++++
- 2 file changed, 9 insertions(+)
-
-Index: b/configure.ac
-===================================================================
---- a/configure.ac
-+++ b/configure.ac
-@@ -2633,6 +2633,15 @@
- AC_CHECK_FUNCS(pthread_atfork)
- fi
-
-+AC_SUBST(SQLITE3)
-+AC_ARG_ENABLE(sqlite3,
-+ AS_HELP_STRING([--disable-sqlite3], [disable sqlite3]),
-+ [ SQLITE3="${enableval}" ], [ SQLITE3=yes ])
-+
-+if test "$SQLITE3" = "no" ; then
-+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3"
-+fi
-+
- AC_SUBST(PYDOC)
-
- AC_ARG_ENABLE(pydoc,
-Index: b/Makefile.pre.in
-===================================================================
---- a/Makefile.pre.in
-+++ b/Makefile.pre.in
-@@ -965,7 +965,6 @@
- email email/mime \
- ensurepip ensurepip/_bundled \
- json \
-- sqlite3 \
- logging bsddb csv importlib wsgiref \
- ctypes ctypes/macholib \
- idlelib idlelib/Icons \
-@@ -983,7 +982,6 @@
- test/tracedmodules \
- email/test email/test/data \
- json/tests \
-- sqlite3/test \
- bsddb/test \
- ctypes/test \
- idlelib/idle_test \
-@@ -1006,6 +1004,11 @@
- lib2to3/tests/data/fixers/myfixes
- endif
-
-+ifeq (@SQLITE3@,yes)
-+LIBSUBDIRS += sqlite3
-+TESTSUBDIRS += sqlite3/test
-+endif
-+
- libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
- @for i in $(SCRIPTDIR) $(LIBDEST); \
- do \
+++ /dev/null
-Add an option to disable the tk module
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Signed-off-by: Samuel Martin <s.martin49@gmail.com>
-
----
- Makefile.pre.in | 14 ++++++++++----
- configure.in | 9 +++++++++
- 2 files changed, 19 insertions(+), 4 deletions(-)
-
-Index: b/Makefile.pre.in
-===================================================================
---- a/Makefile.pre.in
-+++ b/Makefile.pre.in
-@@ -960,7 +960,7 @@
- plat-mac/lib-scriptpackages/SystemEvents \
- plat-mac/lib-scriptpackages/Terminal
- PLATMACPATH=:plat-mac:plat-mac/lib-scriptpackages
--LIBSUBDIRS= lib-tk site-packages \
-+LIBSUBDIRS= site-packages \
- encodings compiler hotshot \
- email email/mime \
- ensurepip ensurepip/_bundled \
-@@ -974,8 +974,7 @@
- lib-old \
- curses $(MACHDEPS)
-
--TESTSUBDIRS = lib-tk/test lib-tk/test/test_tkinter \
-- lib-tk/test/test_ttk test test/audiodata test/capath test/data \
-+TESTSUBDIRS = test test/audiodata test/capath test/data \
- test/cjkencodings test/decimaltestdata test/xmltestdata \
- test/imghdrdata \
- test/subprocessdata \
-@@ -1009,6 +1008,12 @@
- TESTSUBDIRS += sqlite3/test
- endif
-
-+ifeq (@TK@,yes)
-+LIBSUBDIRS += lib-tk
-+TESTSUBDIRS += lib-tk/test lib-tk/test/test_tkinter \
-+ lib-tk/test/test_ttk
-+endif
-+
- libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
- @for i in $(SCRIPTDIR) $(LIBDEST); \
- do \
-Index: b/configure.ac
-===================================================================
---- a/configure.ac
-+++ b/configure.ac
-@@ -2642,6 +2642,15 @@
- DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3"
- fi
-
-+AC_SUBST(TK)
-+AC_ARG_ENABLE(tk,
-+ AS_HELP_STRING([--disable-tk], [disable tk]),
-+ [ TK="${enableval}" ], [ TK=yes ])
-+
-+if test "$TK" = "no"; then
-+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter"
-+fi
-+
- AC_SUBST(PYDOC)
-
- AC_ARG_ENABLE(pydoc,
+++ /dev/null
-Add an option to disable the curses module
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Signed-off-by: Samuel Martin <s.martin49@gmail.com>
-
----
- Makefile.pre.in | 6 +++++-
- configure.in | 9 +++++++++
- 2 files changed, 14 insertions(+), 1 deletion(-)
-
-Index: b/Makefile.pre.in
-===================================================================
---- a/Makefile.pre.in
-+++ b/Makefile.pre.in
-@@ -972,7 +972,7 @@
- multiprocessing multiprocessing/dummy \
- unittest \
- lib-old \
-- curses $(MACHDEPS)
-+ $(MACHDEPS)
-
- TESTSUBDIRS = test test/audiodata test/capath test/data \
- test/cjkencodings test/decimaltestdata test/xmltestdata \
-@@ -1014,6 +1014,10 @@
- lib-tk/test/test_ttk
- endif
-
-+ifeq (@CURSES@,yes)
-+LIBSUBDIRS += curses
-+endif
-+
- libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
- @for i in $(SCRIPTDIR) $(LIBDEST); \
- do \
-Index: b/configure.ac
-===================================================================
---- a/configure.ac
-+++ b/configure.ac
-@@ -2651,6 +2651,15 @@
- DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter"
- fi
-
-+AC_SUBST(CURSES)
-+AC_ARG_ENABLE(curses,
-+ AS_HELP_STRING([--disable-curses], [disable curses]),
-+ [ CURSES="${enableval}" ], [ CURSES=yes ])
-+
-+if test "$CURSES" = "no"; then
-+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _curses _curses_panel"
-+fi
-+
- AC_SUBST(PYDOC)
-
- AC_ARG_ENABLE(pydoc,
+++ /dev/null
-Add an option to disable expat
-
-This patch replaces the existing --with-system-expat option with a
---with-expat={system,builtin,none} option, which allows to tell Python
-whether we want to use the system expat (already installed), the expat
-builtin the Python sources, or no expat at all (which disables the
-installation of XML modules).
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Signed-off-by: Samuel Martin <s.martin49@gmail.com>
-
----
- Makefile.pre.in | 6 +++++-
- configure.in | 18 +++++++++++++-----
- setup.py | 2 +-
- 3 files changed, 19 insertions(+), 7 deletions(-)
-
-Index: b/Makefile.pre.in
-===================================================================
---- a/Makefile.pre.in
-+++ b/Makefile.pre.in
-@@ -968,7 +968,7 @@
- logging bsddb csv importlib wsgiref \
- ctypes ctypes/macholib \
- idlelib idlelib/Icons \
-- distutils distutils/command $(XMLLIBSUBDIRS) \
-+ distutils distutils/command \
- multiprocessing multiprocessing/dummy \
- unittest \
- lib-old \
-@@ -1018,6 +1018,10 @@
- LIBSUBDIRS += curses
- endif
-
-+ifeq (@EXPAT@,yes)
-+LIBSUBDIRS += $(XMLLIBSUBDIRS)
-+endif
-+
- libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
- @for i in $(SCRIPTDIR) $(LIBDEST); \
- do \
-Index: b/configure.ac
-===================================================================
---- a/configure.ac
-+++ b/configure.ac
-@@ -2298,13 +2298,21 @@
- AC_SUBST(DISABLED_EXTENSIONS)
-
- # Check for use of the system expat library
--AC_MSG_CHECKING(for --with-system-expat)
--AC_ARG_WITH(system_expat,
-- AS_HELP_STRING([--with-system-expat], [build pyexpat module using an installed expat library]),
-+AC_MSG_CHECKING(for --with-expat)
-+AC_ARG_WITH(expat,
-+ AS_HELP_STRING([--with-expat], [select which expat version to use: system, builtin, none]),
- [],
-- [with_system_expat="no"])
-+ [with_expat="builtin"])
-
--AC_MSG_RESULT($with_system_expat)
-+AC_MSG_RESULT($with_expat)
-+
-+if test "$with_expat" != "none"; then
-+ EXPAT=yes
-+else
-+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} pyexpat"
-+ EXPAT=no
-+fi
-+AC_SUBST(EXPAT)
-
- # Check for use of the system libffi library
- AC_MSG_CHECKING(for --with-system-ffi)
-Index: b/setup.py
-===================================================================
---- a/setup.py
-+++ b/setup.py
-@@ -1463,7 +1463,7 @@
- #
- # More information on Expat can be found at www.libexpat.org.
- #
-- if '--with-system-expat' in sysconfig.get_config_var("CONFIG_ARGS"):
-+ if '--with-expat=system' in sysconfig.get_config_var("CONFIG_ARGS"):
- expat_inc = []
- define_macros = []
- expat_lib = ['expat']
+++ /dev/null
-Add an option to disable CJK codecs
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-
----
- configure.in | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-Index: b/configure.ac
-===================================================================
---- a/configure.ac
-+++ b/configure.ac
-@@ -2650,6 +2650,12 @@
- DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3"
- fi
-
-+AC_ARG_ENABLE(codecs-cjk,
-+ AS_HELP_STRING([--disable-codecs-cjk], [disable CJK codecs]),
-+ [ if test "$enableval" = "no"; then
-+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk"
-+ fi])
-+
- AC_SUBST(TK)
- AC_ARG_ENABLE(tk,
- AS_HELP_STRING([--disable-tk], [disable tk]),
+++ /dev/null
-Add an option to disable NIS
-
-NIS is not necessarily available in uClibc, so we need an option to
-not compile support for it.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-
----
- configure.in | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-Index: b/configure.ac
-===================================================================
---- a/configure.ac
-+++ b/configure.ac
-@@ -2656,6 +2656,12 @@
- DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk"
- fi])
-
-+AC_ARG_ENABLE(nis,
-+ AS_HELP_STRING([--disable-nis], [disable NIS]),
-+ [ if test "$enableval" = "no"; then
-+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis"
-+ fi])
-+
- AC_SUBST(TK)
- AC_ARG_ENABLE(tk,
- AS_HELP_STRING([--disable-tk], [disable tk]),
+++ /dev/null
-Add an option to disable unicodedata
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-
----
- configure.in | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-Index: b/configure.ac
-===================================================================
---- a/configure.ac
-+++ b/configure.ac
-@@ -2662,6 +2662,12 @@
- DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis"
- fi])
-
-+AC_ARG_ENABLE(unicodedata,
-+ AS_HELP_STRING([--disable-unicodedata], [disable unicodedata]),
-+ [ if test "$enableval" = "no"; then
-+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} unicodedata"
-+ fi])
-+
- AC_SUBST(TK)
- AC_ARG_ENABLE(tk,
- AS_HELP_STRING([--disable-tk], [disable tk]),
+++ /dev/null
-Add an option to disable bsddb
-
-bsddb has an external dependency on Berkeley DB. Since we want to be
-able to build Python without it, this patch adds an option to disable
-the build/installation of this Python module.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Signed-off-by: Samuel Martin <s.martin49@gmail.com>
-
----
- Makefile.pre.in | 10 ++++++++--
- configure.in | 22 ++++++++++++++++++++++
- 2 files changed, 30 insertions(+), 2 deletions(-)
-
-Index: b/Makefile.pre.in
-===================================================================
---- a/Makefile.pre.in
-+++ b/Makefile.pre.in
-@@ -965,7 +965,7 @@
- email email/mime \
- ensurepip ensurepip/_bundled \
- json \
-- logging bsddb csv importlib wsgiref \
-+ logging csv importlib wsgiref \
- ctypes ctypes/macholib \
- idlelib idlelib/Icons \
- distutils distutils/command \
-@@ -981,7 +981,6 @@
- test/tracedmodules \
- email/test email/test/data \
- json/tests \
-- bsddb/test \
- ctypes/test \
- idlelib/idle_test \
- distutils/tests \
-@@ -1022,6 +1021,11 @@
- LIBSUBDIRS += $(XMLLIBSUBDIRS)
- endif
-
-+ifeq (@BSDDB@,yes)
-+LIBSUBDIRS += bsddb
-+TESTSUBDIRS += bsddb/test
-+endif
-+
- libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
- @for i in $(SCRIPTDIR) $(LIBDEST); \
- do \
-Index: b/configure.ac
-===================================================================
---- a/configure.ac
-+++ b/configure.ac
-@@ -2662,6 +2662,28 @@
- DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis"
- fi])
-
-+AC_ARG_ENABLE(dbm,
-+ AS_HELP_STRING([--disable-dbm], [disable DBM]),
-+ [ if test "$enableval" = "no"; then
-+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} dbm"
-+ fi])
-+
-+AC_ARG_ENABLE(gdbm,
-+ AS_HELP_STRING([--disable-gdbm], [disable GDBM]),
-+ [ if test "$enableval" = "no"; then
-+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} gdbm"
-+ fi])
-+
-+AC_SUBST(BSDDB)
-+AC_ARG_ENABLE(bsddb,
-+ AS_HELP_STRING([--disable-bsddb], [disable BerkeyleyDB]),
-+ [ if test "$enableval" = "no"; then
-+ BSDDB=no
-+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _bsddb"
-+ else
-+ BSDDB=yes
-+ fi], [ BSDDB=yes ])
-+
- AC_ARG_ENABLE(unicodedata,
- AS_HELP_STRING([--disable-unicodedata], [disable unicodedata]),
- [ if test "$enableval" = "no"; then
+++ /dev/null
-Add an option to disable the ssl module
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-
----
- configure.in | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-Index: b/configure.ac
-===================================================================
---- a/configure.ac
-+++ b/configure.ac
-@@ -2662,6 +2662,12 @@
- DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis"
- fi])
-
-+AC_ARG_ENABLE(ssl,
-+ AS_HELP_STRING([--disable-ssl], [disable SSL]),
-+ [ if test "$enableval" = "no"; then
-+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ssl"
-+ fi])
-+
- AC_ARG_ENABLE(dbm,
- AS_HELP_STRING([--disable-dbm], [disable DBM]),
- [ if test "$enableval" = "no"; then
+++ /dev/null
-Add an option to disable the bz2 module
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- configure.in | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-Index: b/configure.ac
-===================================================================
---- a/configure.ac
-+++ b/configure.ac
-@@ -2668,6 +2668,12 @@
- DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ssl"
- fi])
-
-+AC_ARG_ENABLE(bz2,
-+ AS_HELP_STRING([--disable-bz2], [disable BZIP2]),
-+ [ if test "$enableval" = "no"; then
-+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} bz2"
-+ fi])
-+
- AC_ARG_ENABLE(dbm,
- AS_HELP_STRING([--disable-dbm], [disable DBM]),
- [ if test "$enableval" = "no"; then
+++ /dev/null
-Add an option to disable the zlib module
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- configure.in | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-Index: b/configure.ac
-===================================================================
---- a/configure.ac
-+++ b/configure.ac
-@@ -2674,6 +2674,12 @@
- DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} bz2"
- fi])
-
-+AC_ARG_ENABLE(zlib,
-+ AS_HELP_STRING([--disable-zlib], [disable ZLIB]),
-+ [ if test "$enableval" = "no"; then
-+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} zlib"
-+ fi])
-+
- AC_ARG_ENABLE(dbm,
- AS_HELP_STRING([--disable-dbm], [disable DBM]),
- [ if test "$enableval" = "no"; then
+++ /dev/null
-Do not install the idle editor
-
-IDLE is the Python IDE built with the tkinter GUI toolkit. Since it's
-highly unlikely to ever be useful in an embedded Linux system
-generated by Buildroot, this patch simply disables the installation of
-idle and the related Python modules. It saves 800 KB-900 KB of
-installed .pyc files.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-
-Index: b/Makefile.pre.in
-===================================================================
---- a/Makefile.pre.in
-+++ b/Makefile.pre.in
-@@ -967,7 +967,6 @@
- json \
- logging csv importlib wsgiref \
- ctypes ctypes/macholib \
-- idlelib idlelib/Icons \
- distutils distutils/command \
- multiprocessing multiprocessing/dummy \
- unittest \
-@@ -982,7 +981,6 @@
- email/test email/test/data \
- json/tests \
- ctypes/test \
-- idlelib/idle_test \
- distutils/tests \
- unittest/test
-
-Index: b/setup.py
-===================================================================
---- a/setup.py
-+++ b/setup.py
-@@ -2212,7 +2212,7 @@
- import warnings
- warnings.filterwarnings("ignore",category=DeprecationWarning)
-
-- scripts = ['Tools/scripts/idle', 'Lib/smtpd.py']
-+ scripts = ['Lib/smtpd.py']
- if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"):
- scripts += [ 'Tools/scripts/pydoc' ]
- if not '--disable-lib2to3' in sysconfig.get_config_var("CONFIG_ARGS"):
+++ /dev/null
-From 30351d9b41a03c43d627d52d46e49ab91bfe342d Mon Sep 17 00:00:00 2001
-From: Zoltan Gyarmati <mr.zoltan.gyarmati@gmail.com>
-Date: Thu, 8 Jan 2015 11:41:40 +0100
-Subject: [PATCH 1/1] Add an option to disable the ossaudiodev module
-
-Signed-off-by: Zoltan Gyarmati <mr.zoltan.gyarmati@gmail.com>
----
- configure.ac | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-Index: b/configure.ac
-===================================================================
---- a/configure.ac
-+++ b/configure.ac
-@@ -2726,6 +2726,12 @@
- DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _curses _curses_panel"
- fi
-
-+AC_ARG_ENABLE(ossaudiodev,
-+ AS_HELP_STRING([--disable-ossaudiodev], [disable OSSAUDIODEV]),
-+ [ if test "$enableval" = "no"; then
-+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ossaudiodev"
-+ fi])
-+
- AC_SUBST(PYDOC)
-
- AC_ARG_ENABLE(pydoc,