Version 5 of How to build for WinCE

Updated 2003-10-15 01:20:09

This page tries to collect information needed to build Tcl/Tk and extensions for WinCE as of October 2003. It's not for comments regarding writing Tcl for these devices (see PocketPC for that), nor for adjusting the GUI to fit the small screens. -jcw


In 2001/2002, Rainer Keuchel built Tcl/Tk 8.4a2, see [L1 ]. As side effect of this great job, he wrote the "celib" utility library and headers which provide wrappers and replacement definitions for things needed to make this work.

And it does, indeed. The challenge now is to take this further with newer releases of Tcl (8.4a2 does not support VFS, hence no Starkits).

In July 2003, Jeff Hobbs then built Tcl/Tk 8.4.4, and announced it here [L2 ]. This is based on having Cygwin and EVC3 installed in their standard locations on the C drive.

Some important comments about that:

  The sources are set up in such that they coexist in 
  the regular win/ subdir, you just configure like so: 

  $ /cygdrive/z/cvs/tcl/tcl8.4ce/win/configure \ 
    --prefix=C:/build/inst/tclce \ 
    --enable-wince=300,ARM \ 
    --with-celib=/cygdrive/z/src/celib-palm-3.0 

  Also, they require changes to the default celib devel stuff from 
  Rainer Keuchel ( http://www.rainer-keuchel.de/software.html - thanks 
  for the porting library Rainer!), in order to be more WinCE3.0 compliant.

In September 2003, jcw did some work to try and get Starkits going. The original goal was to build Tclkit, but there were some issues with finding encodings, so this was changed to creating a "starkit" package with all the necessary scripts and code inside. In October, this appears to be nearly done. The WinCE Mk4tcl.dll is available here [L3 ] (but read on, no need to get it separately). The rechan and zlib binaries were built with EVC3 and work. The last hurdle is TclVFS, which digs a little into Tcl's internals, and seems to have a configure mismatch right now (e.g. "vfs::filesystem fullynormalize ." crashes).

It's now Oct 7, 2003 - the "package starkit" that is intended to make starkits work is described here [L4 ]. The starkit.tar.gz download at [L5 ] now also includes WinCE binaries, but at this moment the vfs12.dll in there is not right.

Stay tooned...


JH Steps to building for WinCE from scratch.

* Obtain WinCE sources from http://sourceforge.net/projects/tcltkce/ Files section.

* Install cygwin on your machine from http://www.cygwin.org/ . Ensure that you include make.

* Get Rainer Keuchel's celib binaries [L6 ].

* Install MSVC++ 6 or other functional compiler (this is kind of bogus ... we need to get past the working compiler part of configure that I haven't figured out how to avoid).

* Install embedded Visual Tools 3 - 2002 Edition[L7 ]. You can skip embedded VB, but let it install in the default C:\Windows CE Tools\. This should also install MS Windows SDK for Pocket PC 2002.

* Pray that it all installed OK ... you should have the following:

 * An installed Win32 compiler found on the path
 * Various CE Tools in ''C:/Windows CE Tools''.
 * The embedded VC in ''C:/Program Files/Microsoft eMbedded Tools''
 * The PPC 2002 SDK in ''C:/Windows CE Tools/wce300/Pocket PC 2002''

* Configure the system in the cygwin shell with:

    /path/to/tclce-src/win/configure --enable-wince=300,ARM --with-celib=/path/to/celib

* make

* Repeat for Tk.