Complete TCL Port to CodeWarrior
Vik Rubenfeld, TCL Developer

Download TCL for CodeWarrior

The CodeWarrior TCL package is currently available via HTTP (binhexed) or FTP (binary). If you haven't already got it, you will also need the TCL version 1.1.2 upgrade to use the CodeWarrior TCL port. You can get either of these downloads from the following sites:

Download Size
CodeWarrior TCL Port v1.2 223k
TCL Version 1.1.2 Upgrade 229k

Have questions about porting your TCL code? <Click here>

About This Version of TCL

This is a version of TCL that works with CodeWarrior's Pascal compilers for 68K and for PPC. Revisions to TCL were made by Marcel Achim of Metrowerks so that it would compile using the CW compilers. I beta-tested this version of TCL on a 100,000 line+ (not counting TCL) program, and it seems to work just like TCL 1.1.2 did when compiled with Think Pascal. Marcel even ported the exceptions-handling mechanisms for both 68K and PPC.

A Note From Marcel

Marcel sent me email containing the following:

"I just did some coding... note that Metrowerks doesn't support TCL. I did it to test my compiler, that's all; but if it can help someone else that's even better."

Thank you, Marcel and Metrowerks, for CW Pascal, CW Object Pascal, and CW PPC Pascal, and thank you Marcel for your great contribution to the Pascal programming community with this version of TCL.

Installing this Version of TCL

Start with a fresh copy of TCL version 1.1.2 from your master disks (if you do not have it, click here to get the 1.1.2 upgrade). Put this copy in a folder by itself - you can name this folder whatever you want.

Launch the enclosed application, MultiDiff. Select Apply Diff from the File menu. Select the enclosed file called Patch File in the Open File dialog. Next you will get a dialog that permits you to select a folder. Select the folder containing your copy of TCL 1.1.2.

MultiDiff will crunch away, updating your copy of TCL.

In my original copy of TCL 1.1.2, the file TCL.p is not a text file - it is in the internal Think Pascal QPED format. For this reason MultiDiff can't convert it, so I have enclosed the updated version of TCL.p with this package. Move it into the Core Classes folder after MultiDiffs is finished.

That's it, you're ready to rock and roll.

About MultiDiff

This distribution is made possible by an application called MultiDiff, by Jon Watte. MultiDiff goes through a folder, examining all sub-folders and the files they contain, and updates all those files. MultiDiff has been widely used in connection with the port of the C version of TCL for use with CW. Thanks to Jon Watte for this indispensable app.

Using Universal Interfaces

This version of TCL requires the Universal Interfaces, so if you are porting a TCL application from Think to CW, you will need to update your code to use the Universal Interfaces. The Universal Interfaces come with your CodeWarrior CDs. See the enclosed file, Porting to UPI FAQ v1.0, for information on preparing your application to use the Universal Interfaces.

Updates to the Universal Interfaces

In beta-testing, Marcel and I found a number of anomalies in the Pascal Universal Interfaces, and had to correct them in order to get my application to compile.

The revised UPI files have been included in the folder Updated UPIs. Please move them into the folder MacOS Support:Interfaces:Universal Interfaces.

(Note: if your version of the UPIs is dated later than April, 1996, these updates to the UPIs should be disregarded).

Legal Notices

This package and its contents is made available to you an an "as is" basis. No warranty is made, either express or implied, by statute or otherwise, regarding this package - including TCL, this version of TCL, and the MultiDiff application - its quality, its performance, its merchantability, or its fitness for any particular purpose. All of the authors assume no liability for damages, direct or consequential, which may result from the use of this package or any of its contents.

Version History

April 18 1996 - Version - First release.

April 24 1996 - Version - mods to CMenuDefProc.p to support PPC.

April 29 1996 - Version - updates to MethTableUtils.p and TCL.p.

June 28 1996 - Version - updates to CMenuDefProc.p, cw_gluePPC.c, FW_Tearoffs.p and TCL.p.

April 25 1996 - Version - mods to MethTableUtils.p.

July 10 1996 - Version 1.2 - mods to CMenuDefProc.p, cw_gluePPC.c, FW_Tearoffs.p, MethTableUtils.p, & CompilerVars.prefix. TCL lib files updated. Starter App project files included.

Copyright © 1996, 1999 Vik Rubenfeld & Marcel Achim. All Rights Reserved.