Starting with tcl/tk 8.7 it is possible to build zip based executables with core tcl commands. To simplify this task a shell script is provided.

AuthorRené Zaumseil

The list of supported packages can be found with: info

To get all package sources use: sources ?package ..?

To compile packages or build executables or plain zip files use (macos is not tested!): win|unix|macos ?--* ..? ?tclsh|wish|zip name? ?package ..?

MHo 2020-12-15: What about Windows? No .sh Skripts there.

RZ I use msys/mingw. Try p.e. the following bat file:

:: External programs
set CMD_ZIP1="C:\Programme\WinZip\wzunzip.exe"
set CMD_ZIP2="C:\Programme\7-zip\7z.exe"
set VOL=D:
set DIR=%~dp0
echo === Install mingw/msys system ...
call :_UNZIP %VOL% mingw32 %DIR%\i686-6.3.0-release-win32-sjlj-rt_v5-rev1.7z
call :_UNZIP %VOL%\mingw32 msys %DIR%\msys+7za+wget+svn+git+mercurial+cvs-rev13.7z
echo %VOL%/mingw32 /mingw > %VOL%\mingw32\msys\etc\fstab
echo === Create tclsh/wish binaries ...
%VOL%\mingw32\msys\bin\sh.exe --login %DIR%\ <here come your args>
echo === Done
exit /B 0
:: call :_UNZIP targetdir zipdir zipfile
  if not exist "%1\%2" (
    if exist %CMD_ZIP1% (
      echo %CMD_ZIP1% -d %3 %1
      %CMD_ZIP1% -d %3 %1 > nul
  if not exist "%1\%2" (
    if exist %CMD_ZIP2% (
      echo %CMD_ZIP2% x %3 -o%1
      %CMD_ZIP2% x %3 -o%1 > nul
  if not exist "%1\%2" (
    echo ABORT Missing unzip dir "%1\%2"
  echo --- Unzip %1\%2 OK
exit /B 0