tclexecomp is a TclTk executable wrapper, which creates a single executable file from a Tcl script.
Currently it can create binaries for Linux (x86_64, 64 Bit), Raspi (Linux Arm, 32 Bit), Windows (64 Bit) and MACOS (64 Bit).
In V2.0.0 there is an integration of CloudTk, so it is very easy to bring your TclTk-Application into the Browser.
For more information see http://tclexecomp.sourceforge.net/
Latest releases: http://tclexecomp.sourceforge.net/downloads/
The latest version (released 22.07.2024) is V2.0.0 and uses Tcl 8.6.14.
You can also find the source code on Sourceforge: https://sourceforge.net/p/tclexecomp/code/ci/master/tree/ .
MFZ - 2021-11-15 20:46:25
Cannot find the source code of the latest version of this good tool. Also not clear which license it uses.
https://sourceforge.net/p/tclexecomp/src/ci/master/tree/src/
MFZ - 2024-07-31 04:38:14
Thank you very much for releasing 2.0! Freewrap is a bit slow to release support for newer Tcl/Tk versions... Any plans to release a preview support for 9.0 soon?
Tclexecomp allows creating smaller executables by removing unused packages. It also allows changing windows icons in a very intuitive way (unlike Freewrap), though I noticed it used c:\tmp folder for that, which should be created.
I assumed the license of Tclexecomp is the same as of Freewrap, but it would be nice if the author will say that clearly. It is important to say that free commercial use of the resulting executable is allowed.
Also waiting for the source code to be released.
The source code for the previous version was eventually uploaded to Sourceforge. Though the following method does not work: git clone https://git.code.sf.net/p/tclexecomp/code tclexecomp-code, looks like git.code.sf.net does not exist.
MN - 2024-08-01 13:53:18
Source Code is updated on Sourceforge for V2.0.0
I've tried out tcl/tk 9.0, but i run into trouble with some used modules (tbcload, TclX, Trf, expect, ...). Maybe i can make a version with all modules from tclexecomp which are currently running on tcl9.
MFZ - 2024-08-02 04:17:15
Thanks!
Could you please clarify about the license (even here).
MFZ - 2024-08-10 05:27:52
I am looking for a way to extract 3rd party executable(s) which I wrap together with the script.
In my case the script uses plink.exe and pscp.exe apps and when using freewrap I can do something like this:
set plink [::freewrap::unpack /zvfs/$name/plink.exe] set pscp [::freewrap::unpack /zvfs/$name/pscp.exe]
The above gives me a full path to a the applications in a temp folder (created by the freewrap).
Did not find how to do something similar with tclexecomp.
MFZ - 2024-08-10 05:58:27
For now the following seems to work:
catch {file copy /cvfs/wrap/plink.exe ./plink.exe} catch {file copy /cvfs/wrap/pscp.exe ./pscp.exe}
MN - 2024-08-10 14:46:32
yes, that's it, thanks to cookfs, a simple copy does it.
MFZ - 2024-08-11 06:17:47
Thanks! Since you like cookfs, maybe it makes sense to include tclmtls into the list of packages tclexecomp provides (?)
https://github.com/chpock/tclmtls - by the same engineer who decided to provide a second life to cookfs
MN - 2024-08-12 11:14:22
i tried, but tclmtls does segfault when using with cloudtk, and i was not able to fix it. Maybe i will do the next try if i got time ...