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
@@ -2639,6 +2639,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
@@ -2223,10 +2223,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",
