2.8 KiB
runtime Tcl Executables are installed here under the appropriate os_architecture folder. e.g windows 64bit binaries under win32-x86_64 windows 32bit binaries under win32-ix86 linux 64 bit binaries under linux-x86_64
What belongs in a platform folder
A platform folder is a store TIER: it holds runtime executables FOR that platform. The folder need not match the machine you are on - a tier for another platform is a first-class thing to populate, because the kit build reads each kit's tier from that kit's target platform rather than from the driving tclsh (see src/AGENTS.md).
Everything in the folder that is not recognised as a support file is treated as a
selectable runtime by bin/punk-runtime.cmd list and use. Support files are
recognised by extension and are tolerated beside the runtimes without appearing as
candidates:
docs/text .txt .md .html .htm .pdf .url config/meta .toml .json .xml .yml .yaml .ini .cfg dev leftovers .tm .tmp .log .bak .old checksums .sha1 .sha256 .asc .sig archives .zip .tar .gz .bz2 .xz .7z
plus any name containing _BUILDCOPY. That covers what legitimately accumulates here:
active.toml (which runtime run launches - per-machine, not versioned), a runtime's
<rootname>.toml artifact-metadata record, a cached sha1sums.txt, a downloaded
checksum or signature, notes about where a runtime came from, and a build-request file
such as the .cfg a Lean Undroidwish Construction Kit build is reproducible from.
Anything else - including a stray binary that is not a Tcl runtime - WILL be offered as
a runtime, so keep unrelated executables out of these folders. If a new kind of support
file starts appearing here regularly, extend the recognised set in BOTH payloads
(src/scriptapps/bin/punk-runtime.ps1 and .bash - see the shared
PunkRuntimeSupportExt / is_punk_support_name definitions) and re-wrap; the two
listings are required to agree byte-for-byte.
The folders themselves are not versioned (the bin/* ignore globs cover them), so
nothing here is a place to keep anything you cannot re-fetch or rebuild.
The bin/punk-runtime.cmd cross-platform script can be used to download prebuilt Tcl binaries. e.g ./bin/punk-runtime.cmd fetch This will detect the platform and architecture, creating the containing folder as necessary.
To see existing installed runtimes: ./bin/punk-runtime.cmd list Or to compare local runtimes with those available on the artifact server: ./bin/punk-runtime.cmd list -remote
An installed runtime can then be used to call the src/make.tcl file.
e.g - initial check ./bin/punk-runtime.cmd run src/make.tcl check
e.g - to build (or just copy with latest version number from src if build not required) modules to projectdir/modules ./bin/punk-runtime.cmd run src/make.tcl modules for libs & modules ./bin/punk-runtime.cmd run src/make.tcl packages