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
@@ -2627,6 +2627,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
@@ -2222,6 +2222,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],
@@ -2242,9 +2248,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
