hc
2025-02-14 bbb9540dc49f70f6b703d1c8d1b85fa5f602d86e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
From 0337342d413d13f437fd089de91faee70a8bf3f9 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Wed, 22 Feb 2017 17:01:18 -0800
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>
[ Andrey Smirnov: ported to Python 3.6 ]
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
[james.hilliard1@gmail.com: adapt to python 3.9]
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
 Makefile.pre.in | 56 ++++++++++++++++++++++++++++++++-----------------
 configure.ac    |  5 +++++
 2 files changed, 42 insertions(+), 19 deletions(-)
 
diff --git a/Makefile.pre.in b/Makefile.pre.in
index 7c3dde8dd4..204f293d53 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1406,8 +1406,29 @@ maninstall:    altmaninstall
 
 # Install the library
 XMLLIBSUBDIRS=  xml xml/dom xml/etree xml/parsers xml/sax
-LIBSUBDIRS=    tkinter tkinter/test tkinter/test/test_tkinter \
-        tkinter/test/test_ttk site-packages test \
+
+LIBSUBDIRS=    tkinter site-packages \
+        asyncio \
+        collections concurrent concurrent/futures encodings \
+        email email/mime \
+        ensurepip ensurepip/_bundled \
+        html json http dbm xmlrpc \
+        sqlite3 \
+        logging csv wsgiref urllib \
+        lib2to3 lib2to3/fixes lib2to3/pgen2 \
+        ctypes ctypes/macholib \
+        idlelib idlelib/Icons \
+        distutils distutils/command $(XMLLIBSUBDIRS) \
+        importlib \
+        turtledemo \
+        multiprocessing multiprocessing/dummy \
+        unittest \
+        venv venv/scripts venv/scripts/common venv/scripts/posix \
+        curses pydoc_data \
+        zoneinfo
+
+TESTSUBDIRS=    tkinter/test tkinter/test/test_tkinter \
+        tkinter/test/test_ttk test \
         test/audiodata \
         test/capath test/data \
         test/cjkencodings test/decimaltestdata \
@@ -1468,28 +1489,25 @@ LIBSUBDIRS=    tkinter tkinter/test tkinter/test/test_tkinter \
         test/test_importlib/zipdata02 \
         test/test_zoneinfo test/test_zoneinfo/data \
         test/ziptestdata \
-        asyncio \
         test/test_asyncio \
-        collections concurrent concurrent/futures encodings \
-        email email/mime test/test_email test/test_email/data \
-        ensurepip ensurepip/_bundled \
-        html json test/test_json http dbm xmlrpc \
-        sqlite3 sqlite3/test \
-        logging csv wsgiref urllib \
-        lib2to3 lib2to3/fixes lib2to3/pgen2 lib2to3/tests \
+        test/test_email test/test_email/data \
+        test/test_json \
+        sqlite3/test \
+        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) \
+        ctypes/test \
+        idlelib/idle_test \
+        distutils/tests \
         test/test_peg_generator \
+        test/test_importlib test/test_importlib/builtin \
         test/test_tools test/test_warnings test/test_warnings/data \
-        turtledemo \
-        multiprocessing multiprocessing/dummy \
-        unittest unittest/test unittest/test/testmock \
-        venv venv/scripts venv/scripts/common venv/scripts/posix \
-        curses pydoc_data \
-        zoneinfo
+        unittest/test unittest/test/testmock
+
+ifeq (@TEST_MODULES@,yes)
+LIBSUBDIRS += $(TESTSUBDIRS)
+endif
+
 libinstall:    build_all $(srcdir)/Modules/xxmodule.c
     @for i in $(SCRIPTDIR) $(LIBDEST); \
     do \
diff --git a/configure.ac b/configure.ac
index 73d66167de..92e28d02ee 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3358,6 +3358,11 @@ if test "$posix_threads" = "yes"; then
       AC_CHECK_FUNCS(pthread_getcpuclockid)
 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])
-- 
2.25.1