1 |
578 |
markom |
This is the directory where you configure, compile, test, and install
|
2 |
|
|
UNIX versions of Tcl. This directory also contains source files for Tcl
|
3 |
|
|
that are specific to UNIX. Some of the files in this directory are
|
4 |
|
|
used on the PC or Mac platform too, but they all depend on UNIX
|
5 |
|
|
(POSIX/ANSI C) interfaces and some of them only make sense under UNIX.
|
6 |
|
|
|
7 |
|
|
The rest of this file contains instructions on how to do this. The
|
8 |
|
|
release should compile and run either "out of the box" or with trivial
|
9 |
|
|
changes on any UNIX-like system that approximates POSIX, BSD, or System
|
10 |
|
|
V. We know that it runs on workstations from Sun, H-P, DEC, IBM, and
|
11 |
|
|
SGI, as well as PCs running Linux, BSDI, and SCO UNIX. To compile for
|
12 |
|
|
a PC running Windows, see the README file in the directory ../win. To
|
13 |
|
|
compile for a Macintosh, see the README file in the directory ../mac.
|
14 |
|
|
|
15 |
|
|
RCS: @(#) $Id: README,v 1.1.1.1 2002-01-16 10:25:37 markom Exp $
|
16 |
|
|
|
17 |
|
|
How To Compile And Install Tcl:
|
18 |
|
|
-------------------------------
|
19 |
|
|
|
20 |
|
|
(a) Check for patches as described in ../README.
|
21 |
|
|
|
22 |
|
|
(b) If you have already compiled Tcl once in this directory and are now
|
23 |
|
|
preparing to compile again in the same directory but for a different
|
24 |
|
|
platform, or if you have applied patches, type "make distclean" to
|
25 |
|
|
discard all the configuration information computed previously.
|
26 |
|
|
|
27 |
|
|
(c) Type "./configure". This runs a configuration script created by GNU
|
28 |
|
|
autoconf, which configures Tcl for your system and creates a
|
29 |
|
|
Makefile. The configure script allows you to customize the Tcl
|
30 |
|
|
configuration for your site; for details on how you can do this,
|
31 |
|
|
type "./configure -help" or refer to the autoconf documentation (not
|
32 |
|
|
included here). Tcl's "configure" supports the following special
|
33 |
|
|
switches in addition to the standard ones:
|
34 |
|
|
--enable-gcc If this switch is set, Tcl will configure
|
35 |
|
|
itself to use gcc if it is available on your
|
36 |
|
|
system. Note: it is not safe to modify the
|
37 |
|
|
Makefile to use gcc after configure is run;
|
38 |
|
|
if you do this, then information related to
|
39 |
|
|
dynamic linking will be incorrect.
|
40 |
|
|
--disable-load If this switch is specified then Tcl will
|
41 |
|
|
configure itself not to allow dynamic loading,
|
42 |
|
|
even if your system appears to support it.
|
43 |
|
|
Normally you can leave this switch out and
|
44 |
|
|
Tcl will build itself for dynamic loading
|
45 |
|
|
if your system supports it.
|
46 |
|
|
--enable-shared If this switch is specified, Tcl will compile
|
47 |
|
|
itself as a shared library if it can figure
|
48 |
|
|
out how to do that on this platform.
|
49 |
|
|
Note: be sure to use only absolute path names (those starting with "/")
|
50 |
|
|
in the --prefix and --exec_prefix options.
|
51 |
|
|
|
52 |
|
|
(d) Type "make". This will create a library archive called "libtcl.a"
|
53 |
|
|
or "libtcl.so" and an interpreter application called "tclsh" that
|
54 |
|
|
allows you to type Tcl commands interactively or execute script files.
|
55 |
|
|
|
56 |
|
|
(e) If the make fails then you'll have to personalize the Makefile
|
57 |
|
|
for your site or possibly modify the distribution in other ways.
|
58 |
|
|
First check the file "porting.notes" to see if there are hints
|
59 |
|
|
for compiling on your system. Then look at the porting Web page
|
60 |
|
|
described later in this file. If you need to modify Makefile, there
|
61 |
|
|
are comments at the beginning of it that describe the things you
|
62 |
|
|
might want to change and how to change them.
|
63 |
|
|
|
64 |
|
|
(f) Type "make install" to install Tcl binaries and script files in
|
65 |
|
|
standard places. You'll need write permission on the installation
|
66 |
|
|
directories to do this. The installation directories are
|
67 |
|
|
determined by the "configure" script and may be specified with
|
68 |
|
|
the --prefix and --exec_prefix options to "configure". See the
|
69 |
|
|
Makefile for information on what directories were chosen; you
|
70 |
|
|
can override these choices by modifying the "prefix" and
|
71 |
|
|
"exec_prefix" variables in the Makefile.
|
72 |
|
|
|
73 |
|
|
(g) At this point you can play with Tcl by invoking the "tclsh"
|
74 |
|
|
program and typing Tcl commands. However, if you haven't installed
|
75 |
|
|
Tcl then you'll first need to set your TCL_LIBRARY variable to
|
76 |
|
|
hold the full path name of the "library" subdirectory. Note that
|
77 |
|
|
the installed versions of tclsh, libtcl.a, and libtcl.so have a
|
78 |
|
|
version number in their names, such as "tclsh8.0" or "libtcl8.0.so";
|
79 |
|
|
to use the installed versions, either specify the version number
|
80 |
|
|
or create a symbolic link (e.g. from "tclsh" to "tclsh8.0").
|
81 |
|
|
|
82 |
|
|
If you have trouble compiling Tcl, read through the file" porting.notes".
|
83 |
|
|
It contains information that people have provided about changes they had
|
84 |
|
|
to make to compile Tcl in various environments. Or, check out the
|
85 |
|
|
following Web URL:
|
86 |
|
|
http://www.sunlabs.com/cgi-bin/tcl/info.8.0
|
87 |
|
|
This is an on-line database of porting information. We make no guarantees
|
88 |
|
|
that this information is accurate, complete, or up-to-date, but you may
|
89 |
|
|
find it useful. If you get Tcl running on a new configuration, we would
|
90 |
|
|
be happy to receive new information to add to "porting.notes". You can
|
91 |
|
|
also make a new entry into the on-line Web database. We're also interested
|
92 |
|
|
in hearing how to change the configuration setup so that Tcl compiles out
|
93 |
|
|
of the box on more platforms.
|
94 |
|
|
|
95 |
|
|
Test suite
|
96 |
|
|
----------
|
97 |
|
|
|
98 |
|
|
There is a relatively complete test suite for all of the Tcl core in
|
99 |
|
|
the subdirectory "tests". To use it just type "make test" in this
|
100 |
|
|
directory. You should then see a printout of the test files processed.
|
101 |
|
|
If any errors occur, you'll see a much more substantial printout for
|
102 |
|
|
each error. See the README file in the "tests" directory for more
|
103 |
|
|
information on the test suite. Note: don't run the tests as superuser:
|
104 |
|
|
this will cause several of them to fail.
|
105 |
|
|
|
106 |
|
|
The Tcl test suite is very sensitive to proper implementation of
|
107 |
|
|
ANSI C library procedures such as sprintf and sscanf. If the test
|
108 |
|
|
suite generates errors, most likely they are due to non-conformance
|
109 |
|
|
of your system's ANSI C library; such problems are unlikely to
|
110 |
|
|
affect any real applications so it's probably safe to ignore them.
|