Tcl 8.3 for Windows CE

by Akos Polster

Based on Tcl 8.3 for Windows by Scott Stanton/Scriptics Corporation,



1. Introduction

Welcome to the Windows CE port of Tcl 8.3.2. The project is hosted at SourceForge; you can access the CVS repository at, or via the web interface.

2. Compiling Tcl

In order to compile Tcl for Windows CE, you need the following items:

In the "ce" subdirectory of the source release, you will find a batch file "setupenv.bat". Modify its contents to match your EVT installation environment, then execute it with the target OS version, platform and CPU type specified on the command line. Run setupenv --help for a complete list of valid parameters.

For example, to set the iPAQ as a target device, run setupenv wce300 mspocketpc arm (Windows CE 3.0, Pocket PC platform, ARM processor).

After setting up the environment, run nmake all to build the Tcl libraries, the tclsh executable and the Registry package.

3. Installation

At the moment, the installation process is manual and the directory names are hard-coded. The installation steps are:

  1. Create the following directories on the CE device:

    \Program Files\tcl83
    \Program Files\tcl83\bin
    \Program Files\tcl83\lib
    \Program Files\tcl83\lib\tcl83

  2. Copy tclsh83.exe and tcl83.dll from ce\Release\<osversion>\<platform>\<cpu> on the PC to \Program Files\tcl83\bin on the CE device

  3. Copy all files from the library directory on the PC to \Program Files\tcl83\lib\tcl83 on the CE device

  4. Copy tclreg83.dll from ce\Release\<osversion>\<platform>\<cpu> on the PC to \Program Files\tcl83\lib\tcl83\reg1.0 on the CE device

4. Test suite

This distribution contains an extensive test suite for Tcl. Some of the tests are timing dependent and will fail from time to time. If a test is failing consistently, please send us a bug report with as much detail as you can manage.

In order to run the test suite, you build the "test" target using the appropriate makefile for your compiler.

5. Limitations

The Windows CE operating system does not support the followings:

6. Current state of the port

This is a work in progress. All modules compile now, and all the missing standard C and Win32 functionalities are implemented.

The following configurations were tested (lightly):

Sockets are not supported.

No automatic installation. Installation directory names are hard-coded.

See changes.txt and todo.txt for further details.

Hosted at SourceForge