1 |
578 |
markom |
Tcl 8.0.3 for Macintosh
|
2 |
|
|
|
3 |
|
|
by Ray Johnson
|
4 |
|
|
Scriptics Corporation
|
5 |
|
|
rjohnson@scriptics.com
|
6 |
|
|
with major help from
|
7 |
|
|
Jim Ingham
|
8 |
|
|
Cygnus Solutions
|
9 |
|
|
jingham@cygnus.com
|
10 |
|
|
|
11 |
|
|
RCS: @(#) $Id: README,v 1.1.1.1 2002-01-16 10:25:30 markom Exp $
|
12 |
|
|
|
13 |
|
|
1. Introduction
|
14 |
|
|
---------------
|
15 |
|
|
|
16 |
|
|
This is the README file for the Macintosh version of the Tcl
|
17 |
|
|
scripting language. The file consists of information specific
|
18 |
|
|
to the Macintosh version of Tcl. For more general information
|
19 |
|
|
please read the README file in the main Tcl directory.
|
20 |
|
|
|
21 |
|
|
2. What's new?
|
22 |
|
|
--------------
|
23 |
|
|
|
24 |
|
|
The main new feature is the Tcl compilier. You should certainly
|
25 |
|
|
notice the speed improvements. Any problems are probably
|
26 |
|
|
generic rather than Mac specific. If you have questions or
|
27 |
|
|
comments about the compilier feel free to forward them to the
|
28 |
|
|
author of the compilier: Brian Lewis .
|
29 |
|
|
Several things were fixed/changed since the a1 release so be
|
30 |
|
|
sure to check this out.
|
31 |
|
|
|
32 |
|
|
The largest incompatible change on the Mac is the removal of the
|
33 |
|
|
following commands: "rm", "rmdir", "mkdir", "mv" and "cp". These
|
34 |
|
|
commands were never really supported and their functionality is
|
35 |
|
|
superceded by the file command.
|
36 |
|
|
|
37 |
|
|
I've also added in a new "AppleScript" command. This was contributed
|
38 |
|
|
by Jim Ingham who is a new member of the Tcl group. It's very cool.
|
39 |
|
|
The command isn't actually in the core - you need to do a "package
|
40 |
|
|
require Tclapplescript" to get access to it. This code is officially
|
41 |
|
|
unsupported and will change in the next release. However, the core
|
42 |
|
|
functionality is there and is stable enough to use. Documentation
|
43 |
|
|
can be found in "AppleScript.html" in the mac subdirectory.
|
44 |
|
|
|
45 |
|
|
The resource command has also been rewacked. You can now read and
|
46 |
|
|
write any Mac resource. Tcl now has the new (and VERY COOL) binary
|
47 |
|
|
command that will allow you to pack and unpack the resources into
|
48 |
|
|
useful Tcl code. We will eventually provide Tcl libraries for
|
49 |
|
|
accessing the most common resources.
|
50 |
|
|
|
51 |
|
|
See the main Tcl README for other features new to Tcl 8.0.
|
52 |
|
|
|
53 |
|
|
3. Mac specific features
|
54 |
|
|
------------------------
|
55 |
|
|
|
56 |
|
|
There are several features or enhancements in Tcl that are unique to
|
57 |
|
|
the Macintosh version of Tcl. Here is a list of those features and
|
58 |
|
|
pointers to where you can find more information about the feature.
|
59 |
|
|
|
60 |
|
|
* The "resource" command allows you manipulate Macintosh resources.
|
61 |
|
|
A complete man page is available for this command.
|
62 |
|
|
|
63 |
|
|
* The Mac version of the "source" command has an option to source from
|
64 |
|
|
a Macintosh resource. Check the man page from the source command
|
65 |
|
|
for details.
|
66 |
|
|
|
67 |
|
|
* The only command NOT available on the Mac is the exec command.
|
68 |
|
|
However, we include a Mac only package called Tclapplescript that
|
69 |
|
|
provides access to Mac's AppleScript system. This command is still
|
70 |
|
|
under design & construction. Documentatin can be found in the mac
|
71 |
|
|
subdirectory in a file called "AppleScript.html".
|
72 |
|
|
|
73 |
|
|
* The env variable on the Macintosh works rather differently than on
|
74 |
|
|
Windows or UNIX platforms. Check out the tclvars man page for
|
75 |
|
|
details.
|
76 |
|
|
|
77 |
|
|
* The command "file volumes" returns the available volumes on your
|
78 |
|
|
Macintosh. Check out the file command for details.
|
79 |
|
|
|
80 |
|
|
* The command "file attributes" has the Mac specific options of
|
81 |
|
|
-creator and -type which allow you to query and set the Macintosh
|
82 |
|
|
creator and type codes for Mac files. See file man page for details.
|
83 |
|
|
|
84 |
|
|
* We have added a template for creating a Background-only Tcl application.
|
85 |
|
|
So you can use Tcl as a faceless server process. For more details, see
|
86 |
|
|
the file background.doc.
|
87 |
|
|
|
88 |
|
|
If you are writing cross platform code but would still like to use
|
89 |
|
|
some of these Mac specific commands, please remember to use the
|
90 |
|
|
tcl_platform variable to special case your code.
|
91 |
|
|
|
92 |
|
|
4. The Distribution
|
93 |
|
|
-------------------
|
94 |
|
|
|
95 |
|
|
Macintosh Tcl is distributed in three different forms. This
|
96 |
|
|
should make it easier to only download what you need. The
|
97 |
|
|
packages are as follows:
|
98 |
|
|
|
99 |
|
|
mactk8.0.3.sea.hqx
|
100 |
|
|
|
101 |
|
|
This distribution is a "binary" only release. It contains an
|
102 |
|
|
installer program that will install a 68k, PowerPC, or Fat
|
103 |
|
|
version of the "Tcl Shell" and "Wish" applications. In addition,
|
104 |
|
|
it installs the Tcl & Tk libraries in the Extensions folder inside
|
105 |
|
|
your System Folder.
|
106 |
|
|
|
107 |
|
|
mactcltk-full-8.0.3.sea.hqx
|
108 |
|
|
|
109 |
|
|
This release contains the full release of Tcl and Tk for the
|
110 |
|
|
Macintosh plus the More Files packages which Macintosh Tcl and Tk
|
111 |
|
|
rely on.
|
112 |
|
|
|
113 |
|
|
mactcl-source-8.0.3.sea.hqx
|
114 |
|
|
|
115 |
|
|
This release contains the complete source for Tcl 8.0. In
|
116 |
|
|
addition, Metrowerks CodeWarrior libraries and project files
|
117 |
|
|
are included. However, you must already have the More Files
|
118 |
|
|
package to compile this code.
|
119 |
|
|
|
120 |
|
|
5. Documentation
|
121 |
|
|
----------------
|
122 |
|
|
|
123 |
|
|
The "html" subdirectory contains reference documentation in
|
124 |
|
|
in the HTML format. You may also find these pages at:
|
125 |
|
|
|
126 |
|
|
http://www.scriptics.com/man/tcl8.0/contents.html
|
127 |
|
|
|
128 |
|
|
Other documentation and sample Tcl scripts can be found at
|
129 |
|
|
the Tcl archive site:
|
130 |
|
|
|
131 |
|
|
ftp://ftp.neosoft.com/tcl/
|
132 |
|
|
|
133 |
|
|
and the Tcl resource center:
|
134 |
|
|
|
135 |
|
|
http://www.scriptics.com/resource/
|
136 |
|
|
|
137 |
|
|
The internet news group comp.lang.tcl is also a valuable
|
138 |
|
|
source of information about Tcl. A mailing list is also
|
139 |
|
|
available (see below).
|
140 |
|
|
|
141 |
|
|
6. Compiling Tcl
|
142 |
|
|
----------------
|
143 |
|
|
|
144 |
|
|
In order to compile Macintosh Tcl you must have the
|
145 |
|
|
following items:
|
146 |
|
|
|
147 |
|
|
CodeWarrior Pro 2 or 3
|
148 |
|
|
Mac Tcl 8.0 (source)
|
149 |
|
|
More Files 1.4.3
|
150 |
|
|
|
151 |
|
|
There are two sets of project files included with the package. The ones
|
152 |
|
|
we use for the release are for CodeWarrior Pro 3, and are not compatible
|
153 |
|
|
with CodeWarrior Gold release 11 and earlier. We have included the files
|
154 |
|
|
for earlier versions of CodeWarrior in the folder tcl8.0:mac:CW11 Projects,
|
155 |
|
|
but they are unsupported, and a little out of date.
|
156 |
|
|
|
157 |
|
|
As of Tcl8.0p2, the code will also build under CW Pro 2. The only
|
158 |
|
|
change that needs to be made is that float.mac.c should be replaced by
|
159 |
|
|
float.c in the MacTcl MSL project file.
|
160 |
|
|
|
161 |
|
|
However, there seems to be a bug in the CFM68K Linker in CW Pro 2,
|
162 |
|
|
which renders the CFM68K Version under CW Pro 2 very unstable. I am
|
163 |
|
|
working with MetroWerks to resolve this issue. The PPC version is
|
164 |
|
|
fine, as is the Traditional 68K Shell. But if you need to use the
|
165 |
|
|
CFM68K, then you must stay with CW Pro 1 for now.
|
166 |
|
|
|
167 |
|
|
The project files included with the Mac Tcl source should work
|
168 |
|
|
fine. The only thing you may need to update are the access paths.
|
169 |
|
|
Unfortunantly, it's somewhat common for the project files to become
|
170 |
|
|
slightly corrupted. The most common problem is that the "Prefix file"
|
171 |
|
|
found in the "C/C++ Preference" panel is incorrect. This should be
|
172 |
|
|
set to MW_TclHeaderPPC, MW_TclHeader68K or MW_TclHeaderCFM68K.
|
173 |
|
|
|
174 |
|
|
To build the fat version of TclShell, open the project file "TclShells.¼",
|
175 |
|
|
select the "TclShell" target, and build. All of the associated binaries will
|
176 |
|
|
be built automoatically. There are also targets for building static 68K
|
177 |
|
|
and Power PC builds, for building a CFM 68K build, and for building a
|
178 |
|
|
shared library Power PC only build.
|
179 |
|
|
|
180 |
|
|
Special notes:
|
181 |
|
|
|
182 |
|
|
* There is a small bug in More Files 1.4.3. Also you should not use
|
183 |
|
|
MoreFiles 1.4.4 - 1.4.6. Look in the file named morefiles.doc for
|
184 |
|
|
more details.
|
185 |
|
|
|
186 |
|
|
* You may not have the libmoto library which will cause a compile
|
187 |
|
|
error. You don't REALLY need it - it can be removed. Look at the
|
188 |
|
|
file libmoto.doc for more details.
|
189 |
|
|
|
190 |
|
|
* Check out the file bugs.doc for information about known bugs.
|
191 |
|
|
|
192 |
|
|
If you have comments or Bug reports send them to:
|
193 |
|
|
Jim Ingham
|
194 |
|
|
jingham@cygnus.com
|
195 |
|
|
|