1 |
578 |
markom |
This is the directory where you configure, compile, test, and install
|
2 |
|
|
UNIX versions of Tk. This directory also contains source files for Tk
|
3 |
|
|
that are specific to UNIX.
|
4 |
|
|
|
5 |
|
|
The rest of this file contains instructions on how to do this. The
|
6 |
|
|
release should compile and run either "out of the box" or with trivial
|
7 |
|
|
changes on any UNIX-like system that approximates POSIX, BSD, or System
|
8 |
|
|
V. We know that it runs on workstations from Sun, H-P, DEC, IBM, and
|
9 |
|
|
SGI, as well as PCs running Linux, BSDI, and SCO UNIX. To compile for
|
10 |
|
|
a PC running Windows, see the README file in the directory ../win. To
|
11 |
|
|
compile for a Macintosh, see the README file in the directory ../mac.
|
12 |
|
|
|
13 |
|
|
RCS: @(#) $Id: README,v 1.1.1.1 2002-01-16 10:26:00 markom Exp $
|
14 |
|
|
|
15 |
|
|
How To Compile And Install Tk:
|
16 |
|
|
------------------------------
|
17 |
|
|
|
18 |
|
|
(a) Make sure that the Tcl 8.0 release is present in the directory
|
19 |
|
|
../../tcl8.0 (or else use the "--with-tcl" switch described below).
|
20 |
|
|
This release of Tk will only work with Tcl 8.0. Also, be sure that
|
21 |
|
|
you have configured Tcl before you configure Tk.
|
22 |
|
|
|
23 |
|
|
(b) Check for patches as described in ../README.
|
24 |
|
|
|
25 |
|
|
(c) If you have already compiled Tk once in this directory and are now
|
26 |
|
|
preparing to compile again in the same directory but for a different
|
27 |
|
|
platform, or if you have applied patches, type "make distclean" to
|
28 |
|
|
discard all the configuration information computed previously.
|
29 |
|
|
|
30 |
|
|
(d) Type "./configure". This runs a configuration script created by GNU
|
31 |
|
|
autoconf, which configures Tcl for your system and creates a
|
32 |
|
|
Makefile. The configure script allows you to customize the Tcl
|
33 |
|
|
configuration for your site; for details on how you can do this,
|
34 |
|
|
type "./configure -help" or refer to the autoconf documentation (not
|
35 |
|
|
included here). Tk's "configure" script supports the following
|
36 |
|
|
special switches in addition to the standard ones:
|
37 |
|
|
--enable-gcc If this switch is set, Tk will configure
|
38 |
|
|
itself to use gcc if it is available on your
|
39 |
|
|
system. Note: it is not safe to modify the
|
40 |
|
|
Makefile to use gcc after configure is run.
|
41 |
|
|
--with-tcl=DIR Specifies the directory containing the Tcl
|
42 |
|
|
binaries and Tcl's platform-dependent
|
43 |
|
|
configuration information. By default
|
44 |
|
|
the Tcl directory is assumed to be in the
|
45 |
|
|
location given by (a) above.
|
46 |
|
|
--enable-shared If this switch is specified, Tk 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 |
|
|
(e) Type "make". This will create a library archive called "libtk.a"
|
53 |
|
|
or "libtk.so" and an interpreter application called "wish" that
|
54 |
|
|
allows you to type Tcl commands interactively or execute script files.
|
55 |
|
|
|
56 |
|
|
(f) 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,
|
61 |
|
|
there are comments at the beginning of it that describe the things
|
62 |
|
|
you might want to change and how to change them.
|
63 |
|
|
|
64 |
|
|
(g) Type "make install" to install Tk's binaries and script files in
|
65 |
|
|
standard places. You'll need write permission on the installation
|
66 |
|
|
directoryies 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 |
|
|
(h) At this point you can play with Tk by invoking the "wish"
|
74 |
|
|
program and typing Tcl commands. However, if you haven't installed
|
75 |
|
|
Tk then you'll first need to set your TK_LIBRARY environment
|
76 |
|
|
variable to hold the full path name of the "library" subdirectory.
|
77 |
|
|
If you haven't installed Tcl either then you'll need to set your
|
78 |
|
|
TCL_LIBRARY environment variable as well (see the Tcl README file
|
79 |
|
|
for information on this). Note that installed versions of wish,
|
80 |
|
|
libtk.a, libtk.so, and the Tk library have a version number in their
|
81 |
|
|
names, such as "wish8.0" or "libtk8.0.so"; to use the installed
|
82 |
|
|
versions, either specify the version number or create a symbolic
|
83 |
|
|
link (e.g. from "wish" to "wish8.0").
|
84 |
|
|
|
85 |
|
|
If you have trouble compiling Tk, read through the file "porting.notes".
|
86 |
|
|
It contains information that people have provided about changes they had
|
87 |
|
|
to make to compile Tcl in various environments. Or, check out the
|
88 |
|
|
following Web URL:
|
89 |
|
|
http://www.sunlabs.com/cgi-bin/tcl/info.8.0
|
90 |
|
|
This is an on-line database of porting information. We make no guarantees
|
91 |
|
|
that this information is accurate, complete, or up-to-date, but you may
|
92 |
|
|
find it useful. If you get Tk running on a new configuration and had to
|
93 |
|
|
make non-trivial changes to do it, we'd be happy to receive new information
|
94 |
|
|
to add to "porting.notes". You can also make a new entry into the
|
95 |
|
|
on-line Web database. We're also interested in hearing how to change the
|
96 |
|
|
configuration setup so that Tcl compiles on additional platforms "out of
|
97 |
|
|
the box".
|
98 |
|
|
|
99 |
|
|
Test suite
|
100 |
|
|
----------
|
101 |
|
|
|
102 |
|
|
Tk has a substantial self-test suite, consisting of a set of scripts in
|
103 |
|
|
the subdirectory "tests". To run the test suite just type "make test"
|
104 |
|
|
in this directory. You should then see a printout of the test files
|
105 |
|
|
processed. If any errors occur, you'll see a much more substantial
|
106 |
|
|
printout for each error. In order to avoid false error reports, be sure
|
107 |
|
|
to run the tests with an empty resource database (e.g., remove your
|
108 |
|
|
.Xdefaults file or delete any entries starting with *). Also, don't
|
109 |
|
|
try to do anything else with your display or keyboard whlie the tests
|
110 |
|
|
are running, or you may get false violations. See the README file in
|
111 |
|
|
the "tests" directory for more information on the test suite.
|
112 |
|
|
|
113 |
|
|
If the test suite generates errors, most likely they are due to non-
|
114 |
|
|
portable tests that are interacting badly with your system configuration.
|
115 |
|
|
We are gradually eliminating the non-portable tests, but this release
|
116 |
|
|
includes many new tests so there will probably be some portability
|
117 |
|
|
problems. As long as the test suite doesn't core dump, it's probably
|
118 |
|
|
safe to conclude that any errors represent portability problems in the
|
119 |
|
|
test suite and not fundamental flaws with Tk.
|
120 |
|
|
|
121 |
|
|
There are also a number of visual tests for things such as screen layout,
|
122 |
|
|
Postscript generation, etc. These tests all have to be run manually and
|
123 |
|
|
the results have to be verified visually. To run the tests, cd to the
|
124 |
|
|
"tests" directory and run the script "visual". It will present a main
|
125 |
|
|
window with a bunch of menus, which you can use to select various tests.
|