From b53a2758ac431bc2493a460e6c886561e2397518 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

Upstream: N/A

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>
[ Vincent Fazio: ported to Python 3.13.2 ]
Signed-off-by: Vincent Fazio <vfazio@gmail.com>
[ Vincent Fazio: fix Python 3.13.3 conflict ]
Signed-off-by: Vincent Fazio <vfazio@xes-inc.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 a45a76cce45..76d67ce7185 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -2337,7 +2337,6 @@ LIBSUBDIRS=	asyncio \
 		re \
 		site-packages \
 		sysconfig \
-		tkinter \
 		tomllib \
 		turtledemo \
 		unittest \
@@ -2445,7 +2444,6 @@ TESTSUBDIRS=	idlelib/idle_test \
 		test/test_pydoc \
 		test/test_pyrepl \
 		test/test_sqlite3 \
-		test/test_tkinter \
 		test/test_tomllib \
 		test/test_tomllib/data \
 		test/test_tomllib/data/invalid \
@@ -2467,7 +2465,6 @@ TESTSUBDIRS=	idlelib/idle_test \
 		test/test_tools \
 		test/test_tools/i18n_data \
 		test/test_tools/msgfmt_data \
-		test/test_ttk \
 		test/test_unittest \
 		test/test_unittest/testmock \
 		test/test_warnings \
@@ -2489,6 +2486,11 @@ TESTSUBDIRS=	idlelib/idle_test \
 		test/xmltestdata/c14n-20 \
 		test/zipimport_data
 
+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 8153b738b2f..0cf06a50c71 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4768,6 +4768,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.50.1

