From c1ec9fa46cd7679fd009f66a3ebed8de95d84f10 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Wed, 22 Feb 2017 17:23:42 -0800
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>
[ Andrey Smirnov: ported to Python 3.6 ]
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
[ Adam Duskett: ported to Python 3.10.0 ]
Signed-off-by: Adam Duskett <aduskett@gmail.com>
[ Bernd Kuhls: ported to Python 3.11.4]
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[ Adam Duskett: ported to Python 3.12.1 ]
Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
---
 Makefile.pre.in | 8 +++++---
 configure.ac    | 7 +++++++
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/Makefile.pre.in b/Makefile.pre.in
index 7b6c9811a6..6d9527ddd0 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -2108,7 +2108,6 @@ LIBSUBDIRS=	asyncio \
 		multiprocessing multiprocessing/dummy \
 		re \
 		site-packages \
-		tkinter \
 		tomllib \
 		turtledemo \
 		unittest \
@@ -2212,7 +2211,6 @@ TESTSUBDIRS=	idlelib/idle_test \
 		test/test_peg_generator \
 		test/test_pydoc \
 		test/test_sqlite3 \
-		test/test_tkinter \
 		test/test_tomllib \
 		test/test_tomllib/data \
 		test/test_tomllib/data/invalid \
@@ -2232,7 +2230,6 @@ TESTSUBDIRS=	idlelib/idle_test \
 		test/test_tomllib/data/valid/dates-and-times \
 		test/test_tomllib/data/valid/multiline-basic-str \
 		test/test_tools \
-		test/test_ttk \
 		test/test_unittest \
 		test/test_unittest/testmock \
 		test/test_warnings \
@@ -2253,6 +2250,11 @@ TESTSUBDIRS=	idlelib/idle_test \
 		test/test_multiprocessing_forkserver \
 		test/test_multiprocessing_spawn
 
+ifeq (@TK@,yes)
+LIBSUBDIRS += tkinter
+TESTSUBDIRS += test/test_tkinter test/test_ttk
+endif
+
 COMPILEALL_OPTS=-j0
 
 ifeq (@PYDOC@,yes)
diff --git a/configure.ac b/configure.ac
index d1c54bd67c..4c5cbe4153 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4529,6 +4529,13 @@ AC_ARG_ENABLE(pydoc,
 	AS_HELP_STRING([--disable-pydoc], [disable pydoc]),
 	[ PYDOC="${enableval}" ], [ PYDOC=yes ])
 
+AC_SUBST(TK)
+AC_ARG_ENABLE(tk,
+	AS_HELP_STRING([--disable-tk], [disable tk]),
+	[ TK="${enableval}" ], [ TK=yes ])
+AS_IF([test "$TK" = "no"],
+	[PY_STDLIB_MOD_SET_NA([_tkinter])])
+
 # Check for enable-ipv6
 AH_TEMPLATE([ENABLE_IPV6], [Define if --enable-ipv6 is specified])
 AC_MSG_CHECKING([if --enable-ipv6 is specified])
-- 
2.34.1

