Announcement: Tcl/Tk 8.3.2 Binary Release for Macintosh
November 14, 2000
This is the long overdue 8.3.2 binary release for MacOS. See the list of
mac specific changes below.
I’m releasing this with the blessing of the usual maintainer of the mac
port, Jim Inham (firstname.lastname@example.org).
At the moment it’s only available on (http://homepage.mac.com/tcltk/), Jim
Inham is working on getting it onto sourceforge.
Daniel A. Steffen
————————–Mac specific changes/fixes————————–
* Switched to “Installer VISE for Freeware”, two installer formats:
Small standalone runtime installer: will allow you to install the Tcl/Tk
runtime files offline; it contains just the bare essentials: Wish,
TclShell, Tcl/Tk shared libraries, Tclapplescript extension, runtime
script libraries and html documentation files. This installer is
sufficient if you are only using Tcl/Tk to run other people’s programs or
scripts, it may not contain everything you need if you are an advanced
user or Tcl developer. Note that on PPC machines the installer will
strip all 68k code from the binaries (resp. the PPC code on 68k
machines), if you need FAT binaries, use the web installer. (e.g. if you
plan to deploy droplets to other users with different platforms from your
own) The 68k binaries require CFM68k to be installed.
Full active web installer: an active installer that downloads its data
from a website during installation, it only fetches exactly the files
needed for your chosen install options. It does everything the
standalone installer does but also allows you to install FAT versions of
the runtime files, more binaries useful for Tcl developers (e.g. stub
libraries; unmerged and static applications & libraries), test binaries &
files and the full source distribution including CodeWarrior Pro 6
project files. (this last option installs a full cvs pull into the “tcl”
and “tk” folders with the mac specific 8.3.2 modifications applied.)
* Everything is now installed into a single folder “Tcl/Tk Folder 8.3.2”,
and only an alias to “Tcl/Tk Folder 8.3.2:Tool Command Language” is
installed into your Extensions folder, nothing else. This makes
uninstalling trivially easy and also allows to switch between different
Tcl/Tk installs very quickly by changing only this alias.
The “Tool Command Language” folder itself contains aliases to the
binaries in “Tcl/Tk Folder 8.3.2:Build”. On some system configurations,
where the “Tcl/Tk Folder 8.3.2” folder is located on another disk from
the startup disk, cross-volume alias resolution may cause a slight
slowdown in fragment loading times e.g. when executing “package require
Tclapplescript”. It is possible to avoid this delay by replacing all the
aforementioned aliases by the actual files. (e.g. if you are seeing this
slowdown and are running a lot of little scripts that use AppleScript,
you could get them to start up more quickly this way.)
* Built with CodeWarrior Pro6, UnivIntf 3.4 & shared runtime libraries: the
MSL libraries and MoreFiles are no longer compiled into Tcl.shlb, all the
non-static binaries now use the Pro6 shared runtime libraries and
MoreFiles.shlb. These shlbs are merged into the standard Wish and
TclShell, but 3rd party applications linking with Tcl.shlb or Tk.shlb
will need to setup access to them. (see the “(sh-ppc)” targets from the
“Tcl Developers” install option for an example on how to do this.)
Merging the full MSL.shlb and the other shlbs into Wish & TclShell makes
these applications quite a bit larger than they have been the past, the
“Tcl Developers” installer option has unmerged binaries for those who
don’t want to copy this shared code with every application, e.g. when
deploying numerous Wish based droplets.
If you absolutely need project files for CW Pro5 or binaries using the
old Pro5 shared runtime libraries, contact me. To avoid confusion, I do
not want to distribute these publicly, as there is no easy way to
distinguish between binaries built by Pro6 and by Pro5.
Four mac only export symbols in Tcl.shlb had to be renamed to avoid
conflicts with the new UnivIntf or MoreFiles.shlb. If you are linking
directly against Tcl.shlb or Tk.shlb, you will need to change these in
your code as well, if you link against the stub libraries everything
should still work and you should be fine as is. List of renamed symbols:
GetGlobalMouse -) GetGlobalMouseTcl
FSpGetDirectoryID -) FSpGetDirectoryIDTcl
FSpOpenResFileCompat -) FSpOpenResFileCompatTcl
FSpCreateResFileCompat -) FSpCreateResFileCompatTcl
* Fixed a nasty bug in the StdFile code that caused crashes when
NavigationMgr was disabled or wasn’t present.
* Fixed a number of 68k and CFM68k issues:
– the static Wish 68k now runs again on recent OS versions and PPC
machines, but still without the custom MDEF.
– the CFM68k binaries now work on all OS versions from the free 7.5.5
onwards, with or without AppearanceMgr and/or NavigationMgr installed
and the custom MDEF works.
– Tclapplescript now loads and runs on CFM68k.
* Highly experimental “pseudoCarbon” support for Tcl only on OS 8/9: the
binaries in “Build:(Carbon):” link against CarbonLib instead of
InterfaceLib, however the actual code has not been carbonized! i.e. it
will not run on OSX and may not even run properly with CarbonLib.
However, they should still allow you to build & test OS9 CFM Carbon
binaries that need to link with Tcl.shlb. On OSX you can use the native
Tcl.framework, but at the moment, you have to build a MachO binary as
there is no CFM glue lib for Tcl.framework.
pseudoCarbonSupport.shlb is a library that manually loads the symbols from
InterfaceLib that are not in CarbonLib but are needed by the uncarbonized
code in Tcl.shlb and TclShell.