#single line per runtime executable. Name of runtime followed by list of kit configuration lists. #Each kit config list is from 1 to 3 elements #1) .vfs folder with path relative to src folder. #2) name of wrapped kit binary to create (default to rootname of .vfs folder e.g myapp.vfs will create a kit named myapp (or myapp.exe) on windows) #3) Type of kit to create (zip or kit) - default kit. kit for metakit or vlerq based kit, zip for more modern zipkit. # # e.g The following creates 2 zipkits from the same runtime and 2 different .vfs folder # mytcl90kit.exe {mainapp.vfs myapp.exe zip} {test.vfs testapp.exe zip} # #if runtime has no entry - it will only match a .vfs folder with a matching filename e.g runtime1.exe runtime1.vfs #Use a runtime with a name of dash (-) to build a .kit file from the .vfs folder using no runtime #e.g #- myproject.vfs #- punk86.vfs # #0 tclkit86bi.exe {punk8win.vfs punkbi kit} #tclkit-win64-dyn.exe {punk86bawt.vfs punkbawt kit} #------------------------------------------------------------------------ #broken 'lreplace' - but runtime beforehand is ok - thread library issue? #tclkit-win64-dyn.exe {punk86bawt.vfs punksys kit} #------------------------------------------------------------------------ #same kit with different .vfs is ok #1 tclkit-win64-dyn.exe {punk8win.vfs punksys kit} #punk86: the Tcl 8.6 reference punk kit (8.6-behaviour checks - see src/tests/AGENTS.md and the #test-interpreter notes). Remapped 2026-07-21: the previous unmapped tclkit8613-era build had #fossilized (kit-stamped punk::args 0.1.0 winning unversioned requires while versioned requires #pulled modern modules - the runtests punk::args::define skew). Rebuilt from the 8.6.17 dyn #tclkit, matching the native Tcl86 test interpreter patchlevel (punksys stays on the 8.6.13 dyn). tclkit-win64-dyn-8617.exe {punk8win.vfs punk86 kit} #tclkit87a5.exe {punk86.vfs punk87} {punk.vfs punkmain} #TCL9 #tclsh902z.exe {project.vfs project zip} #2 #tclsh90b2 {punk9wintk90b2.vfs punk90b2 zip} #3 #tclsh90b4_piperepl.exe {punk9wintk90b2.vfs punk90b4 zip} #tclsh901t.exe {punk92in.vfs punk901t zip} tclsh90magic.exe {punk9magicsplat.vfs punkmagic zipcat} #made with Bawt (2025-08) #tclkit #tclkit902.exe {punk9win_for_tkruntime.vfs punk902kit kit} #static build - with tk dll and tk lib added to zip #4 tclsh902z.exe {punk9win_for_tkruntime.vfs punk902z zip} #apn's tcl-sfe #https://github.com/apnadkarni/tcl-sfe/releases #tclsfe-x64.exe is not a tk runtime. The versions with tk are 'wish' based so unsuitable. #punk9win_for_tkruntime.vfs is intended for kits which already have Tk tclsfe-x64.exe {punk9wintk903.vfs punk91 zip} #suite_tcl90 zig build (G-096/G-098, both achieved 2026-07-20) - runtime copied manually from # src/buildsuites/_build/suite_tcl90/out/bin/tclsh90szip.exe (static tclsh 9.0.5 with attached zip # carrying the tcl library). tk/thread dlls + script libs ride in the .vfs for this entry; the # G-103 family runtimes below supersede that arrangement. #_beta convention: wrap freshly suite-built runtimes as *_beta kits even BEFORE they have passed the # punk test suites - so new-runtime behaviour can be trialled interactively. Drop _beta on acceptance. # (punk905_beta trialled and PROMOTED to punk905 2026-07-21.) #todo: 'make.tcl bake' enhancement - build a single configured kit by name + list configured kits # (sibling-ergonomics wish recorded in G-104, achieved 2026-07-25 WITHOUT this item - # see goals/archive/G-104-maketcl-buildsuite-surface.md; still open) #5 tclsh905.exe {punk9wintk905.vfs punk905 zip} #G-103 runtime kit family (suite_tcl90 'kit-family' step): self-contained runtimes whose attached # zip already carries the tcl library PLUS Thread/tclvfs/tcllib+tcllibc (bi adds Tk+tklib). WORKING # names per the G-103 naming decision (dotted tcl patchlevel; piperepl-patched runtimes carry # 'punk'; -r stays on the immutable punkbin artifact tier - 'runtime use' materializes an # artifact into these names). Copied from src/buildsuites/_build/suite_tcl90/out/family/. #punk runtime + the full punk vfs (which still carries its own tk/thread/etc payload - duplicated # batteries resolve to the highest version, i.e. the runtime's; the vfs payload slims as G-103 # progresses): tclsh9.0.5-punk.exe {punk9wintk905.vfs punk9_beta zip} #bi runtime already carries Tk - pair with the for-tkruntime vfs (no tk payload in the vfs): tclsh9.0.5-punk-bi.exe {punk9win_for_tkruntime.vfs punk9bi_beta zip} #---------------------------------------------- #experiment - what happens when we run against a 'wish' runtime? Will we have stdin stdout problems? #tksfe-twapi-x64.exe {punk9wintk903.vfs punkwish91 zip} # result so far: the kit builds - but the tk console doesn't display. # we can run tk apps e.g punkwish91 lib:tkhello # - todo - consider if we can first get the built in tk console showing for initial exploration, although it is unsuitable for a punk console as it doesn't handle any ansi. # - see if we can develop a textwidget based virtual console that we can get punk shell running in. #---------------------------------------------- #---------------------------------------------- #testing wrong target kit type for runtime #tclkit902.exe {punk9win_for_tkruntime.vfs punkwrongruntime zip} #only tclkit based runtime avail for linux for now - todo make zip-based runtime and install as artifact on gitea1.intx.com.au tclkit-902-Linux64-intel-dyn {punk9linux.vfs punkshell902 kit}