Skip to content

Commit 5a951b4

Browse files
committed
Configuration - VCPKG add TclTk support (#580)
Introduces a new "tcltk" feature in vcpkg.json with relevant dependencies. Updates tcl portfiles and patches to incorporate Tk building, installation, and cleanup. Modifies CMake and batch environment templates to align with the new TclTk support.
1 parent 4febba4 commit 5a951b4

10 files changed

Lines changed: 431 additions & 102 deletions

CMakeLists.txt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -479,7 +479,12 @@ OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_csf")
479479
# Tcl (mandatory for Draw Harness)
480480
if (USE_TCL)
481481
message (STATUS "Info: TCL is used by OCCT")
482-
OCCT_ADD_VCPKG_FEATURE ("tcl")
482+
if (CAN_USE_TK AND USE_TK)
483+
OCCT_ADD_VCPKG_FEATURE ("tcltk")
484+
else()
485+
OCCT_ADD_VCPKG_FEATURE ("tcl")
486+
OCCT_UNSET_VCPKG_FEATURE ("tcltk")
487+
endif()
483488
list (APPEND OCCT_3RDPARTY_CMAKE_LIST "adm/cmake/tcl")
484489
else()
485490
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TCL")
@@ -490,15 +495,13 @@ endif()
490495
# Tk (optional for Draw Harness)
491496
if (CAN_USE_TK AND USE_TK)
492497
message (STATUS "Info: TK is used by OCCT")
493-
OCCT_ADD_VCPKG_FEATURE ("tk")
494498
list (APPEND OCCT_3RDPARTY_CMAKE_LIST "adm/cmake/tk")
495499
else()
496500
if (NOT CAN_USE_TK)
497501
OCCT_CHECK_AND_UNSET ("USE_TK")
498502
endif()
499503
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TK")
500504
OCCT_CHECK_AND_UNSET ("INSTALL_TK")
501-
OCCT_UNSET_VCPKG_FEATURE ("tk")
502505
endif()
503506

504507
# Xlib

adm/cmake/tk.cmake

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@ if (NOT DEFINED 3RDPARTY_TK_INCLUDE_DIR)
1818
set (3RDPARTY_TK_INCLUDE_DIR "" CACHE FILEPATH "The directory containing headers of tk")
1919
endif()
2020

21-
# if (BUILD_USE_VCPKG)
22-
# set (3RDPARTY_TK_DIR "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" CACHE PATH "The directory containing tk" FORCE)
23-
# set (3RDPARTY_TCLTK_DIR "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" CACHE PATH "The directory containing tcltk" FORCE)
24-
# set (3RDPARTY_TK_INCLUDE_DIR "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include" CACHE FILEPATH "The directory containing headers of tk" FORCE)
25-
# endif()
21+
if (BUILD_USE_VCPKG)
22+
set (3RDPARTY_TK_DIR "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" CACHE PATH "The directory containing tk" FORCE)
23+
set (3RDPARTY_TCLTK_DIR "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" CACHE PATH "The directory containing tcltk" FORCE)
24+
set (3RDPARTY_TK_INCLUDE_DIR "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include" CACHE FILEPATH "The directory containing headers of tk" FORCE)
25+
endif()
2626

2727
if (BUILD_SHARED_LIBS)
2828
# tk library file (with absolute path)

adm/templates/env.bat.in

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -166,10 +166,8 @@ if not "%CSF_OCCTBinPath%" == "" (
166166
set "PATH=%CSF_OCCTBinPath%;%PATH%"
167167
)
168168

169-
if not ["%TK_DIR%"] == ["%TCL_DIR%"] (
170-
if not ["%TK_DIR%"] == [""] set "TK_LIBRARY=%TK_DIR%/../lib/tk%TK_VERSION_WITH_DOT%"
171-
if not ["%TCL_DIR%"] == [""] set "TCL_LIBRARY=%TCL_DIR%/../lib/tcl%TCL_VERSION_WITH_DOT%"
172-
)
169+
if not ["%TK_DIR%"] == [""] set "TK_LIBRARY=%TK_DIR%/../lib/tk%TK_VERSION_WITH_DOT%"
170+
if not ["%TCL_DIR%"] == [""] set "TCL_LIBRARY=%TCL_DIR%/../lib/tcl%TCL_VERSION_WITH_DOT%"
173171

174172
rem ----- Set envoronment variables used by OCCT -----
175173
set CSF_LANGUAGE=us
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
diff --git a/win/makefile.vc b/win/makefile.vc
2+
index c88c0ec3dc..6c9dd624d7 100644
3+
--- a/win/makefile.vc
4+
+++ b/win/makefile.vc
5+
@@ -466,13 +466,13 @@ TESTFLAGS = $(TESTFLAGS) -file $(TESTPAT)
6+
# release - Everything that builds as part of a release
7+
#---------------------------------------------------------------------
8+
9+
-release: setup $(TCLSH) $(TCLSTUBLIB) dlls pkgs
10+
+release: setup $(TCLSH) $(TCLSTUBLIB) dlls pkgs tk-build
11+
all: setup $(TCLSH) $(TCLSTUBLIB) dlls $(CAT32) pkgs
12+
core: setup $(TCLLIB) $(TCLSTUBLIB)
13+
shell: setup $(TCLSH)
14+
dlls: setup $(TCLREGLIB) $(TCLDDELIB) $(OUT_DIR)\zlib1.dll
15+
tcltest: setup $(TCLTEST) dlls $(CAT32)
16+
-install: install-binaries install-libraries install-docs install-pkgs
17+
+install: install-binaries install-libraries install-docs install-pkgs tk-build tk-install
18+
!if $(SYMBOLS)
19+
install: install-pdbs
20+
!endif
21+
@@ -569,6 +569,24 @@ pkgs:
22+
popd \
23+
)
24+
25+
+tk-build:
26+
+!if defined(TKDIR) && defined(INSTALLDIR)
27+
+ @if exist "$(TKDIR)\win\makefile.vc" ( \
28+
+ pushd "$(TKDIR)\win" & \
29+
+ $(MAKE) -$(MAKEFLAGS) -f makefile.vc TCLDIR=$(ROOT) INSTALLDIR=$(INSTALLDIR) OPTS=$(OPTS) STATS=$(STATS) CHECKS=$(CHECKS) MACHINE=$(MACHINE) &\
30+
+ popd \
31+
+ )
32+
+!endif
33+
+
34+
+tk-install:
35+
+!if defined(TKDIR) && defined(INSTALLDIR)
36+
+ @if exist "$(TKDIR)\win\makefile.vc" ( \
37+
+ pushd "$(TKDIR)\win" & \
38+
+ $(MAKE) -$(MAKEFLAGS) -f makefile.vc TCLDIR=$(ROOT) INSTALLDIR=$(INSTALLDIR) OPTS=$(OPTS) STATS=$(STATS) CHECKS=$(CHECKS) MACHINE=$(MACHINE) install &\
39+
+ popd \
40+
+ )
41+
+!endif
42+
+
43+
test-pkgs:
44+
@for /d %d in ($(PKGSDIR)\*) do \
45+
@if exist "%~fd\win\makefile.vc" ( \
46+
--
47+
2.47.1.windows.2
48+
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
diff --git a/win/makefile.vc b/win/makefile.vc
2+
index 6c9dd624d7..d29185feed 100644
3+
--- a/win/makefile.vc
4+
+++ b/win/makefile.vc
5+
@@ -420,6 +420,7 @@ TCLSTUBOBJS = \
6+
### the left side of implicit rules.
7+
TOMMATHDIR = $(ROOT)\libtommath
8+
PKGSDIR = $(ROOT)\pkgs
9+
+WINDIR = $(ROOT)\win
10+
11+
# Additional include and C macro definitions for the implicit rules
12+
# defined in rules.vc
13+
@@ -438,6 +439,7 @@ TESTFLAGS = $(TESTFLAGS) -file $(TESTPAT)
14+
!endif
15+
16+
17+
+
18+
#---------------------------------------------------------------------
19+
# Project specific targets
20+
# There are 4 primary build configurations to consider from the combination
21+
@@ -466,18 +468,24 @@ TESTFLAGS = $(TESTFLAGS) -file $(TESTPAT)
22+
# release - Everything that builds as part of a release
23+
#---------------------------------------------------------------------
24+
25+
-release: setup $(TCLSH) $(TCLSTUBLIB) dlls pkgs tk-build
26+
-all: setup $(TCLSH) $(TCLSTUBLIB) dlls $(CAT32) pkgs
27+
+release: setup $(TCLSH) $(TCLSTUBLIB) dlls setpath pkgs tk-build
28+
+all: setup $(TCLSH) $(TCLSTUBLIB) dlls $(CAT32) setpath pkgs
29+
core: setup $(TCLLIB) $(TCLSTUBLIB)
30+
shell: setup $(TCLSH)
31+
dlls: setup $(TCLREGLIB) $(TCLDDELIB) $(OUT_DIR)\zlib1.dll
32+
tcltest: setup $(TCLTEST) dlls $(CAT32)
33+
-install: install-binaries install-libraries install-docs install-pkgs tk-build tk-install
34+
+install: setpath install-binaries install-libraries install-docs install-pkgs tk-build tk-install
35+
!if $(SYMBOLS)
36+
install: install-pdbs
37+
!endif
38+
setup: default-setup
39+
40+
+# Add TCL win directory to PATH for current session
41+
+setpath:
42+
+ @echo Adding $(WINDIR) to PATH
43+
+ @set PATH=$(WINDIR);$(PATH)
44+
+ @echo PATH updated for current session
45+
+
46+
test: test-core test-pkgs
47+
test-core: setup $(TCLTEST) dlls $(CAT32)
48+
set TCL_LIBRARY=$(ROOT:\=/)/library
49+
--
50+
2.47.1.windows.2
51+
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
From 34a5ac55260871875c3ad678df8c21ef31500d21 Mon Sep 17 00:00:00 2001
2+
From: dpasukhi <dpasukhi@opencascade.com>
3+
Date: Sun, 22 Jun 2025 14:18:19 +0100
4+
Subject: [PATCH] Add Tk build and install support to Makefile; include
5+
automatic clean and distclean steps
6+
7+
---
8+
unix/Makefile.in | 69 ++++++++++++++++++++++++++++++++++++++++++++++++
9+
1 file changed, 69 insertions(+)
10+
11+
diff --git a/unix/Makefile.in b/unix/Makefile.in
12+
index bc743b3892..7464e3f930 100644
13+
--- a/unix/Makefile.in
14+
+++ b/unix/Makefile.in
15+
@@ -95,6 +95,12 @@ TCL_PACKAGE_PATH = @TCL_PACKAGE_PATH@
16+
# Tcl Module default path roots (TIP189).
17+
TCL_MODULE_PATH = @TCL_MODULE_PATH@
18+
19+
+# Tk-related directories and settings
20+
+# These can be overridden on the command line or set via environment
21+
+TKDIR = @TKDIR@
22+
+TK_BUILD_TOP = $(TKDIR)/unix
23+
+TK_SRC_DIR = $(TKDIR)
24+
+
25+
# warning flags
26+
CFLAGS_WARNING = @CFLAGS_WARNING@
27+
28+
@@ -623,6 +629,34 @@ SRCS = $(GENERIC_SRCS) $(UNIX_SRCS) $(NOTIFY_SRCS) \
29+
#--------------------------------------------------------------------------
30+
31+
all: binaries libraries doc packages
32+
+ @if test -n "$(TKDIR)" && test -d "$(TKDIR)"; then \
33+
+ echo "TKDIR detected - automatically building Tk..."; \
34+
+ echo "========== TK BUILD PARAMETERS =========="; \
35+
+ echo "TKDIR=$(TKDIR)"; \
36+
+ echo "TCLDIR=$(TOP_DIR)"; \
37+
+ echo "prefix=$(prefix)"; \
38+
+ echo "exec_prefix=$(exec_prefix)"; \
39+
+ echo "TCL_TCLSH=$(BIN_INSTALL_DIR)/tclsh$(VERSION)${EXE_SUFFIX}"; \
40+
+ echo "=========================================="; \
41+
+ if test -f "$(TK_BUILD_TOP)/Makefile"; then \
42+
+ echo "Building Tk using existing Makefile..."; \
43+
+ (cd "$(TK_BUILD_TOP)" && $(MAKE)) || exit $$?; \
44+
+ elif test -f "$(TK_SRC_DIR)/unix/configure"; then \
45+
+ echo "Configuring and building Tk..."; \
46+
+ mkdir -p "$(TK_BUILD_TOP)"; \
47+
+ (cd "$(TK_BUILD_TOP)" && \
48+
+ "$(TK_SRC_DIR)/unix/configure" \
49+
+ --prefix="$(prefix)" \
50+
+ --exec-prefix="$(exec_prefix)" \
51+
+ --with-tcl="$(CONFIG_INSTALL_DIR)" && \
52+
+ $(MAKE)) || exit $$?; \
53+
+ else \
54+
+ echo "ERROR: Tk configure script not found at $(TK_SRC_DIR)/unix/configure"; \
55+
+ exit 1; \
56+
+ fi; \
57+
+ else \
58+
+ echo "TKDIR not set or directory does not exist - skipping Tk build"; \
59+
+ fi
60+
61+
binaries: ${LIB_FILE} ${TCL_EXE}
62+
63+
@@ -671,11 +705,25 @@ clean: clean-packages
64+
errors ${TCL_EXE} ${TCLTEST_EXE} lib.exp Tcl @DTRACE_HDR@ \
65+
minizip${HOST_EXEEXT} *.${HOST_OBJEXT} *.zip *.vfs
66+
(cd dltest ; $(MAKE) clean)
67+
+ @if test -n "$(TKDIR)" && test -d "$(TKDIR)" && test -f "$(TK_BUILD_TOP)/Makefile"; then \
68+
+ echo "TKDIR detected - automatically cleaning Tk..."; \
69+
+ echo "Cleaning Tk build..."; \
70+
+ (cd "$(TK_BUILD_TOP)" && $(MAKE) clean) || exit $$?; \
71+
+ else \
72+
+ echo "TKDIR not set, directory does not exist, or no Tk build to clean"; \
73+
+ fi
74+
75+
distclean: distclean-packages clean
76+
rm -rf Makefile config.status config.cache config.log tclConfig.sh \
77+
tclConfig.h *.plist Tcl.framework tcl.pc tclUuid.h
78+
(cd dltest ; $(MAKE) distclean)
79+
+ @if test -n "$(TKDIR)" && test -d "$(TKDIR)" && test -f "$(TK_BUILD_TOP)/Makefile"; then \
80+
+ echo "TKDIR detected - automatically distcleaning Tk..."; \
81+
+ echo "Distcleaning Tk build..."; \
82+
+ (cd "$(TK_BUILD_TOP)" && $(MAKE) distclean) || exit $$?; \
83+
+ else \
84+
+ echo "TKDIR not set, directory does not exist, or no Tk build to distclean"; \
85+
+ fi
86+
87+
depend:
88+
makedepend -- $(DEPEND_SWITCHES) -- $(SRCS)
89+
@@ -796,6 +844,27 @@ INSTALL_TARGETS = $(INSTALL_BASE_TARGETS) $(INSTALL_DOC_TARGETS) $(INSTALL_DEV_T
90+
$(INSTALL_PACKAGE_TARGETS) $(INSTALL_EXTRA_TARGETS)
91+
92+
install: $(INSTALL_TARGETS)
93+
+ @if test -n "$(TKDIR)" && test -d "$(TKDIR)"; then \
94+
+ echo "TKDIR detected - automatically installing Tk..."; \
95+
+ echo "========== TK INSTALL PARAMETERS =========="; \
96+
+ echo "TKDIR=$(TKDIR)"; \
97+
+ echo "TCLDIR=$(TOP_DIR)"; \
98+
+ echo "prefix=$(prefix)"; \
99+
+ echo "exec_prefix=$(exec_prefix)"; \
100+
+ echo "DESTDIR=$(INSTALL_ROOT)"; \
101+
+ echo "TCL_TCLSH=$(BIN_INSTALL_DIR)/tclsh$(VERSION)${EXE_SUFFIX}"; \
102+
+ echo "==========================================="; \
103+
+ if test -f "$(TK_BUILD_TOP)/Makefile"; then \
104+
+ echo "Installing Tk..."; \
105+
+ (cd "$(TK_BUILD_TOP)" && $(MAKE) install DESTDIR="$(INSTALL_ROOT)") || exit $$?; \
106+
+ else \
107+
+ echo "ERROR: Tk Makefile not found at $(TK_BUILD_TOP)/Makefile"; \
108+
+ echo "Please run 'make all' first to build Tk"; \
109+
+ exit 1; \
110+
+ fi; \
111+
+ else \
112+
+ echo "TKDIR not set or directory does not exist - skipping Tk install"; \
113+
+ fi
114+
115+
install-strip:
116+
$(MAKE) $(INSTALL_TARGETS) \
117+
--
118+
2.47.1.windows.2
119+
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
From bf55f8558b8ca6603f6539c6421391f26ab6139a Mon Sep 17 00:00:00 2001
2+
From: dpasukhi <dpasukhi@opencascade.com>
3+
Date: Sun, 22 Jun 2025 15:20:03 +0100
4+
Subject: [PATCH] Add Tk build and install automation to Makefile; include
5+
clean and distclean targets
6+
7+
---
8+
win/Makefile.in | 68 +++++++++++++++++++++++++++++++++++++++++++++++++
9+
1 file changed, 68 insertions(+)
10+
11+
diff --git a/win/Makefile.in b/win/Makefile.in
12+
index 8dd107670f..f0cf267329 100644
13+
--- a/win/Makefile.in
14+
+++ b/win/Makefile.in
15+
@@ -129,6 +129,11 @@ ROOT_DIR_WIN_NATIVE = $(shell cd '$(ROOT_DIR)' ; pwd -W 2>/dev/null || pwd -P)
16+
ZLIB_DIR_NATIVE = $(shell $(CYGPATH) '$(ZLIB_DIR)')
17+
TOMMATH_DIR_NATIVE = $(shell $(CYGPATH) '$(TOMMATH_DIR)')
18+
19+
+# Tk-related directories (TKDIR can be set by user)
20+
+TK_SRC_DIR = $(TKDIR)
21+
+TK_BUILD_TOP = $(TKDIR)/win
22+
+CONFIG_INSTALL_DIR = $(LIB_INSTALL_DIR)
23+
+
24+
# Fully qualify library path so that `make test`
25+
# does not depend on the current directory.
26+
LIBRARY_DIR1 = $(shell cd '$(ROOT_DIR_NATIVE)/library' ; pwd -P)
27+
@@ -432,6 +437,34 @@ TCL_OBJS = ${GENERIC_OBJS} ${WIN_OBJS} @ZLIB_OBJS@ $(TOMMATH_OBJS)
28+
TCL_DOCS = "$(ROOT_DIR_NATIVE)"/doc/*.[13n]
29+
30+
all: binaries libraries doc packages
31+
+ @if test -n "$(TKDIR)" && test -d "$(TKDIR)"; then \
32+
+ echo "TKDIR detected - automatically building Tk..."; \
33+
+ echo "========== TK BUILD PARAMETERS =========="; \
34+
+ echo "TKDIR=$(TKDIR)"; \
35+
+ echo "TCLDIR=$(TOP_DIR)"; \
36+
+ echo "prefix=$(prefix)"; \
37+
+ echo "exec_prefix=$(exec_prefix)"; \
38+
+ echo "TCL_TCLSH=$(BIN_INSTALL_DIR)/tclsh$(VER)${EXESUFFIX}"; \
39+
+ echo "=========================================="; \
40+
+ if test -f "$(TK_BUILD_TOP)/Makefile"; then \
41+
+ echo "Building Tk using existing Makefile..."; \
42+
+ (cd "$(TK_BUILD_TOP)" && $(MAKE)) || exit $$?; \
43+
+ elif test -f "$(TK_SRC_DIR)/win/configure"; then \
44+
+ echo "Configuring and building Tk..."; \
45+
+ mkdir -p "$(TK_BUILD_TOP)"; \
46+
+ (cd "$(TK_BUILD_TOP)" && \
47+
+ "$(TK_SRC_DIR)/win/configure" \
48+
+ --prefix="$(prefix)" \
49+
+ --exec-prefix="$(exec_prefix)" \
50+
+ --with-tcl="$(CONFIG_INSTALL_DIR)" && \
51+
+ $(MAKE)) || exit $$?; \
52+
+ else \
53+
+ echo "ERROR: Tk configure script not found at $(TK_SRC_DIR)/win/configure"; \
54+
+ exit 1; \
55+
+ fi; \
56+
+ else \
57+
+ echo "TKDIR not set or directory does not exist - skipping Tk build"; \
58+
+ fi
59+
60+
# Test-suite helper (can be used to test Tcl from build directory with all expected modules).
61+
# To start from windows shell use:
62+
@@ -648,6 +681,27 @@ gentommath_h:
63+
> "$(GENERIC_DIR_NATIVE)/tclTomMath.h"
64+
65+
install: all install-binaries install-libraries install-doc install-packages
66+
+ @if test -n "$(TKDIR)" && test -d "$(TKDIR)"; then \
67+
+ echo "TKDIR detected - automatically installing Tk..."; \
68+
+ echo "========== TK INSTALL PARAMETERS =========="; \
69+
+ echo "TKDIR=$(TKDIR)"; \
70+
+ echo "TCLDIR=$(TOP_DIR)"; \
71+
+ echo "prefix=$(prefix)"; \
72+
+ echo "exec_prefix=$(exec_prefix)"; \
73+
+ echo "DESTDIR=$(INSTALL_ROOT)"; \
74+
+ echo "TCL_TCLSH=$(BIN_INSTALL_DIR)/tclsh$(VER)${EXESUFFIX}"; \
75+
+ echo "==========================================="; \
76+
+ if test -f "$(TK_BUILD_TOP)/Makefile"; then \
77+
+ echo "Installing Tk..."; \
78+
+ (cd "$(TK_BUILD_TOP)" && $(MAKE) install DESTDIR="$(INSTALL_ROOT)") || exit $$?; \
79+
+ else \
80+
+ echo "ERROR: Tk Makefile not found at $(TK_BUILD_TOP)/Makefile"; \
81+
+ echo "Please run 'make all' first to build Tk"; \
82+
+ exit 1; \
83+
+ fi; \
84+
+ else \
85+
+ echo "TKDIR not set or directory does not exist - skipping Tk install"; \
86+
+ fi
87+
88+
install-binaries: binaries
89+
@for i in "$(LIB_INSTALL_DIR)" "$(BIN_INSTALL_DIR)"; \
90+
@@ -848,10 +902,24 @@ clean: cleanhelp clean-packages
91+
$(RM) $(TCLSH) $(CAT32) $(TEST_EXE_FILE) $(TEST_DLL_FILE) tcltest.cmd tcltest.sh
92+
$(RM) *.pch *.ilk *.pdb *.zip
93+
$(RMDIR) *.vfs
94+
+ @if test -n "$(TKDIR)" && test -d "$(TKDIR)" && test -f "$(TK_BUILD_TOP)/Makefile"; then \
95+
+ echo "TKDIR detected - automatically cleaning Tk..."; \
96+
+ echo "Cleaning Tk build..."; \
97+
+ (cd "$(TK_BUILD_TOP)" && $(MAKE) clean) || exit $$?; \
98+
+ else \
99+
+ echo "TKDIR not set, directory does not exist, or no Tk build to clean"; \
100+
+ fi
101+
102+
distclean: distclean-packages clean
103+
$(RM) Makefile config.status config.cache config.log tclConfig.sh \
104+
tcl.hpj config.status.lineno tclsh.exe.manifest tclUuid.h
105+
+ @if test -n "$(TKDIR)" && test -d "$(TKDIR)" && test -f "$(TK_BUILD_TOP)/Makefile"; then \
106+
+ echo "TKDIR detected - automatically distcleaning Tk..."; \
107+
+ echo "Distcleaning Tk build..."; \
108+
+ (cd "$(TK_BUILD_TOP)" && $(MAKE) distclean) || exit $$?; \
109+
+ else \
110+
+ echo "TKDIR not set, directory does not exist, or no Tk build to distclean"; \
111+
+ fi
112+
113+
#
114+
# Bundled package targets
115+
--
116+
2.47.1.windows.2
117+

0 commit comments

Comments
 (0)