I'm pleased to announce immediate availability of eTcl 1.0-rc30 for
Windows, linux (x86, x86_64, arm, mipsel, powerpc), Windows Mobile
(2003, 2003SE, 5.x and 6.x) pocketPC and smartphones, and Mac OS X
(Aqua) as universal binary (x86 and PPC).
WHERE TO GET
============
It is available from:
http://www.evolane.com/software/etcl/index.html
http://www.evolane.com/
WHAT'S NEW
==========
Some extras features since previous announcement:
- Tcl/Tk 8.5.5, supported on all architectures including WinCE.
- Support for OOP thanks to TclOO 0.6
- New commands have been added to wce package (Windows Mobile
extension) to access GPSID (GPS intermediate driver) and handle power
management.
- Full version delivered with ready to use kits for tcllib 1.11,
tklib and bwidgets
- Pixane 0.8, including extended BMP support and faster image
subsampling.
- ::etcl::snapshot command to capture window content into Tk photo
- Sqlite 3.6.6.1
- applets to wrap sources into a standalone executable has been added
eTcl 1.0-rc30 also comes with up to date versions of several packages.
As usual, it also includes fixed for several bugs. See changelog at:
http://www.evolane.com/software/etcl/CHANGES.txt
WHAT IS IT
==========
eTcl is a "batteries-included", thread enabled Tcl/Tk runtime, available
as a single standalone executable for Linux (x86, x86_64, ARM, Mips and
PowerPC), Win32 (Win98 to Vista), Windows Mobile (2003 or better) and
MacOSX (universal binary). On all architectures, executable has no
external dependencies, and requires no installation except copying
executable wherever you want.
Distributions for all architecture include a common set of core components:
- Tcl/Tk 8.5.5 (thread enabled)
- Pixane: script your image transformation, support for reading and
writing several popular image formats (PNG, JPEG), support for TrueType
fonts, several truetype builtin fonts (serif, sansserif and monotype)
- Sqlite (3.6.6.1): A SQL server in your hand.
- Zlib: native deflate/inflate support
- Zipfs: easily Mount your ZIP files into Tcl Virtual Filesystem
- TclThread (2.6.5): run multi-threaded applications
- TclXML (3.1): XML parsing, using expat parser
- tDOM (0.8.2): Another XML parser, sharing expat library with TclXML
- Memchan: memory channels (memchan, fifo, fifo2, ...)
- Tls (1.6): support for SSLv2/SSLv3/Tls1.0
- TkTable (2.9)
- TkTreeCtrl (2.2.8)
- Tkhtml3 (latest CVS snapshot)
- Scene: 3D widget based on OpenGL (except on WinCE)
- Odyce: embedded C compiler
- Evodio: portable support to play WAY/RIFF files
All comments, bug reporting and feedbacks are much appreciated. You may
send them to <etcl at evlane.com>. To be informed of releases, or
contribute to future improvements, consider:
- sharing your experience with eTcl on wiki:
http://wiki.tcl.tk/eTcl
http://wiki.tcl.tk/15260
http://wiki.tcl.tk/19642
or french wiki:
http://wfr.tcl.tk/1078
- subscribing to eTcl and Pixane projects on freshmeat:
http://freshmeat.net/projects/etcl/
http://freshmeat.net/projects/pixane/
- joining (new) eTcl group on facebook:
http://www.facebook.com/group.php?gid=71473125424
Regards,
Eric Hassold
Evolane - http://www.evolane.com/
Why so early version used? ;)
--
ZB
you wrote in the changelog:
> - applets to wrap sources into a standalone executable has been added
Could you please explain how to generate an standalone executable from my
sources with eTcl ?
Regards,
Michael
Hello Michael,
There are several methods to wrap your Tcl applications:
- assisted, using 'wrap' applet:
+ put all your application into a directory (any depth), with a
'main.tcl' file at root. If a 'lib' directory exists at the root, it
will be automatically added to auto_path. From now, assume this
directory is named 'myapp' Then you may
+ create a eTcl kit (actually, just a ZIP file) either using any ZIP
tool, or using embedded ZIP support in eTcl, that is, from system
command line, and assuming 'etcl' executable is in your path:
etcl -applet wrap myapp
This will create a myapp.etk archive in current directory.
OR
+ create an executable by specifying executable for your target
architecture.
=> If target architecture is current one, run:
etcl -applet wrap -runtime - myapp
and you will get a myapp.exe (or myapp.bin on linux) binary, ready to use.
=> to generate executable for any other executable, run:
etcl -applet wrap -runtime <path to etcl exe for target arch> myapp
The 'wrap' applet also accepts a '-compact bool' option, defaulting to
false. If true, all Tcl codes will be parsed to remove comments, useless
blanks, etc... before being wrapped into kit, which somehow obfuscate
code, and make kit smaller for deployment.
- manual:
As mentionned above, eTcl kits are just plain ZIP files. If you don't
want to use the embedded 'wrap' applet, you may generate one using any
ZIP tool. Then, to "convert" this into an executable, just concatenate
it to executable for target architecture. For example, assuming you have
a myapp.etk archive, on linux, you may use:
cat etcl-full myapp.etk > myapp.bin ; chmod 755 myapp.bin
which, on Win32, is equivalent to:
copy /b etcl-full.exe + myapp.etk myapp.exe
Hope that helps.
Regards,
Eric
-----
License question:
Quoting http://www.evolane.com/software/etcl/license.html
1. You may use this Package for commercial or non-commercial
purposes without charge.
2. You may make and give away verbatim copies of this Package for
personal use, or for use within your organization, provided that you
duplicate all of the original copyright notices and associated
disclaimers. You may not distribute copies of this Package, or
copies of packages derived from this Package, to others outside your
organization without specific prior written permission from
Evolane (although you are encouraged to direct them to sources
from which they may obtain it for themselves).
I read (1.) that while I can *use* eTcl *in* my company, (2.) I cannot
redistribute a commercial product *based* on eTcl as described by the
'wrap applet' or 'cat etcl-full' procedure (since this would include a
copy of eTcl)? Or is 'etcl-full' something else than eTcl?
R'
thanks for your detailed description, that's what i want to know :-))
kind regards,
Michael
Hello,
First, to answer your specific question about 'etcl-full' terminology:
eTcl philosophy is to provide an install-free Tcl distribution, as a
all-on-one single executable. However, since embedded systems and
mobiles are one of our major targets, and because of contraints on
memory and storage footprint on those systems, eTcl is available in
several configurations, ranging from etcl-compact (Tcl/Tk core and very
few extensions) to etcl-normal (typical Tcl/Tk distribution, with most
common extensions) and etcl-full (even more extensions, embedded
truetype fonts in VFS, ...). Full version fits well and is recommended
on any desktop configuration, while mileage may vary on which
configuration better fits user's needs on phones and embedded systems
(STB, ...). All are eTcl.
Then, about license: questions and discussions about eTcl license seem
to be recurring those days. Whereas I'm not a big fan of all those
license issues, let me try to clarify our position.
When eTcl was first made available for download, focusing on alternative
target architectures (WinCE, embedded linux), we decided, for sake of
simplicity, to adopt licensing conditions strictly similar to those
attached to the other most popular Tcl distribution for desktop and
mainframe, i.e. ActiveTcl. Snippet from eTcl license above is similar to
what one may find in:
http://www.activestate.com/Products/activetcl/license_agreement.mhtml
We believed that using a license already well spread in Tcl community
would make things more convenient.
Then, capabilities to combine eTcl executable with user application was
added, as described in previous mail, but license terms have not (yet)
been updated to deal with this usage. Meantime, we invite anyone wishing
to redistribute a combined executable in a commercial application or
needing support or custom build for eTcl binaries to contact us. We
believe anyone wishing to deploy a Tcl runtime as part of a commercial
product will expect support, possibility to apply updates for major
fixes, etc., and this comes as part of a OEM licensing partnership. This
is especially true for mobile versions of eTcl, which are in permanent
development, and for which final user's feedbacks and frequent updates
matter. Now, if one wish to take the risk to distribute a desktop
(Win32/linux-x86) commercial application with a not professionally
supported core runtime, we also invite him to contact us to get a free
permission to do so.
Thanks for clarifying.
R'