This provides a script that can be used to quickly build one or more tcl scripts or applications into an executable [Starpack] (windows only at the moment). Sources at https://fossil.mpcjanssen.nl/site-tcl/dir?ci=tip&name=scripts/tcl2exe. ====== tcl2exe wraps a script using tclkit and sdx including provided libraries and other assets. Usage: tcl2exe gui[0|1] file.tcl file.exe ?extra-from extra-to? .... Quickly wrap a single script from the command line while including the provide extras. Extras are copied from `extra-from` into `extra-to` in the created starpack. tcl2exe pkgfile Build all packages from `pkgfile` matching pkg-glob (* if omitted). tcl2exe sdx ... Call embedded sdx ... tcl2exe Build all packages from all *.tpkg files in current folder. tcl2exe -h|--help|/? Show this screen. ====== Example `*.tpkg` This is a one element list with a dict where the first key is the package name. `$pkg` will be replaced by this. * script: Single script file to wrap, omit if application is copied in extras. * target: Target executable name * GUI: GUI app yes/no. Whether to use tclkit or tclkitsh as runtime * extras: List of `from` -> `to` mappings. `from` can be a file or a folder and is relative to the `tpkg` file. The file or folders are recursively copied into `to` which is relative to the starpack root. ====== { tcl2exe { script scripts/$pkg/$pkg.tcl target bin/$pkg.exe gui 0 extras { scripts/$pkg/bin bin scripts/$pkg/doc doc scripts/$pkg/lib lib } } tsd { script scripts/$pkg.tcl target bin/$pkg.exe gui 0 extras { c:/Tcl/lib/tdom0.8.3 lib/tdom } } tkcon { script scripts/$pkg.tcl target bin/$pkg.exe gui 1 extras { c:/Tcl/lib/tcllib1.18 lib/tcllib } } remark { script scripts/$pkg.tcl target bin/$pkg.exe gui 0 extras { } } tkchat { target bin/$pkg.exe gui 1 extras { scripts/$pkg . } } } ======