1 |
578 |
markom |
<TITLE>Building the Unix Binaries</TITLE>
|
2 |
|
|
<Center><H1>Building the Unix Binaries</H1></Center>
|
3 |
|
|
|
4 |
|
|
There are several versions of Tcl/Tk being used today. The newer
|
5 |
|
|
<b>Tcl 7.5, 7.6 and 8.0</b> releases are becoming popular
|
6 |
|
|
because they can run on Windows, Unix and Macintosh. However, many
|
7 |
|
|
people are still using <b>Tcl 7.4</b>. Another popular variant of
|
8 |
|
|
Tcl is <a href="http"//www.tcltk.com/"> <b>Itcl</b> </a>, which adds
|
9 |
|
|
object-oriented functionality to the Tcl language. Version <b>Itcl
|
10 |
|
|
2.0, 2.1 and 2.2</b> are being widely used now. <p>
|
11 |
|
|
|
12 |
|
|
Tix supports all of these versions of Tcl and Itcl so you can freely
|
13 |
|
|
choose a version of Tcl or Itcl that works best for you. The
|
14 |
|
|
following steps guide you through the process of building the Tix
|
15 |
|
|
binary for your choice of the version(s) of Tcl or Itcl on Unix
|
16 |
|
|
platforms.
|
17 |
|
|
|
18 |
|
|
<h3> 1. Download the Tcl, Tk and/or Itcl sources </h3>
|
19 |
|
|
|
20 |
|
|
You may have already installed Tcl, Tk and Itcl on your system. The
|
21 |
|
|
installed binaries usually reside in the <b>/usr/local/</b>
|
22 |
|
|
directory. However, the build process of Tix doesn't use the
|
23 |
|
|
installed binaries because doing that may result in subtle version
|
24 |
|
|
conflects. Instead, Tix uses only the binaries from the Tcl, Tk and
|
25 |
|
|
Itcl source directories. Install sources of these packages if they
|
26 |
|
|
are not already in your system. <p>
|
27 |
|
|
|
28 |
|
|
<ul>
|
29 |
|
|
|
30 |
|
|
<li> <b>Tcl 7.4, 7.5, 7.6 and 8.0</b>: The source code of these
|
31 |
|
|
Tcl releases can be found at <a href="ftp://ftp.sunlabs.com/pub">
|
32 |
|
|
ftp://ftp.sunlabs.com/pub </a>. Remember to download the source
|
33 |
|
|
code of the corresponding versions of Tk as well. <p>
|
34 |
|
|
|
35 |
|
|
|
36 |
|
|
<li> <b>Itcl 2.0</b>: The source code can be found at <a
|
37 |
|
|
href="ftp://ftp.neosoft.com/pub/tcl/alcatel/extensions/itcl2.0.tar.gz">
|
38 |
|
|
ftp://ftp.neosoft.com/pub/tcl/alcatel/extensions/itcl2.0.tar.gz
|
39 |
|
|
</a>. <p>
|
40 |
|
|
|
41 |
|
|
<li> <b>Itcl 2.1 and 2.2</b>: Download the source code from <a
|
42 |
|
|
href="ftp://www.tcltk.com/pub/itcl">ftp://www.tcltk.com/pub/itcl</a><p>
|
43 |
|
|
|
44 |
|
|
</ul>
|
45 |
|
|
|
46 |
|
|
Make sure that the source directory of these package reside in the
|
47 |
|
|
same directory as Tix. For example, to compile Tix 4.1.0 for Tcl 7.6
|
48 |
|
|
and Itcl 2.1, a typical source directory would look like this:<p>
|
49 |
|
|
|
50 |
|
|
<blockquote><pre><b>
|
51 |
|
|
/home/src/tcl7.6/
|
52 |
|
|
/home/src/tk4.2/
|
53 |
|
|
/home/src/itcl2.1/
|
54 |
|
|
/home/src/Tix4.1.0/
|
55 |
|
|
</b></pre></blockquote>
|
56 |
|
|
|
57 |
|
|
<b> IMPORTANT: </b> <i>Do not arrange your source directory in any
|
58 |
|
|
other way. Do not change the names for these directories. Otherwise
|
59 |
|
|
Tix will not be configured properly.</i><p>
|
60 |
|
|
|
61 |
|
|
<h3> 2. Configure and compile the desired version(s) of Tcl and/or Itcl</h3>
|
62 |
|
|
|
63 |
|
|
Tcl, Tk and Itcl comes with installation guides and should be easy
|
64 |
|
|
to build. In case you have any problems building these packages, you
|
65 |
|
|
can send your questions to the comp.lang.tcl newsgroup or to the
|
66 |
|
|
respective authors of these packages. You may also send mail to
|
67 |
|
|
<a href="mailto:tix-support@xpi.com">tix-support@xpi.com</a>. <p>
|
68 |
|
|
|
69 |
|
|
For example, assuming your source directory is structured as above,
|
70 |
|
|
you can build Tcl 7.6 and Tk 4.2 by issuing the following Unix commands:
|
71 |
|
|
|
72 |
|
|
<blockquote><pre><b>
|
73 |
|
|
cd /home/src/tcl7.6/unix
|
74 |
|
|
./configure --enable-shared
|
75 |
|
|
make
|
76 |
|
|
cd /home/src/tk4.2/unix
|
77 |
|
|
./configure --enable-shared
|
78 |
|
|
make
|
79 |
|
|
</b></pre></blockquote>
|
80 |
|
|
<p>
|
81 |
|
|
|
82 |
|
|
<h3> 3. Configure and compile Tix </h3>
|
83 |
|
|
|
84 |
|
|
<ol>
|
85 |
|
|
|
86 |
|
|
<li> Make sure you have configured and build the desired
|
87 |
|
|
version(s) of Tcl and/or Itcl. <p>
|
88 |
|
|
|
89 |
|
|
|
90 |
|
|
<li> Change into the <code><b>Tix4.1.0/unix</b></code>
|
91 |
|
|
directory and execute the configure script:
|
92 |
|
|
|
93 |
|
|
<blockquote><pre><b>
|
94 |
|
|
cd /home/src/Tix4.1.0/unix
|
95 |
|
|
./configure
|
96 |
|
|
</b></pre></blockquote>
|
97 |
|
|
|
98 |
|
|
<li> Inside the <code><b>Tix4.1.0/unix</b></code> directory, you
|
99 |
|
|
will see several subdirectories for building Tix for specific
|
100 |
|
|
version of Tcl/Tk or Itcl. Change into the appropriate
|
101 |
|
|
subdirectory. For example, if you want to build Tix for
|
102 |
|
|
Tcl7.6/Tk4.2, execute the following commands:
|
103 |
|
|
|
104 |
|
|
|
105 |
|
|
<blockquote><pre><b>
|
106 |
|
|
cd tk4.2
|
107 |
|
|
./configure --enable-shared
|
108 |
|
|
make
|
109 |
|
|
</b></pre></blockquote>
|
110 |
|
|
|
111 |
|
|
Before you run the <code><b>configure</b></code> script, you can type:
|
112 |
|
|
|
113 |
|
|
<blockquote><pre><b>
|
114 |
|
|
./configure --help
|
115 |
|
|
</b></pre></blockquote>
|
116 |
|
|
|
117 |
|
|
to find out the available options.
|
118 |
|
|
|
119 |
|
|
<li> Repeat step 3 for any other versions of Tcl/Tk or
|
120 |
|
|
Itcl that you want to build Tix for. <p>
|
121 |
|
|
|
122 |
|
|
</ol>
|
123 |
|
|
|
124 |
|
|
<h3> 4. Experimenting with Tix</h3>
|
125 |
|
|
|
126 |
|
|
When you finish building Tix, you will find the
|
127 |
|
|
<code><b>tixwish</b></code> program inside the build directories
|
128 |
|
|
(e.g., <code><b>Tix4.1.0/unix/tk4.2/tixwish</b></code>). Or, if you
|
129 |
|
|
build Tix for Itcl, the program will be called
|
130 |
|
|
<code><b>itixwish</b></code>. <p>
|
131 |
|
|
|
132 |
|
|
Tix comes with a number of demo programs. You can run these
|
133 |
|
|
program by running the <b>demos/widget</b> script with
|
134 |
|
|
<b>tixwish</b> or <b>itixwish</b>. Make sure that you have set the
|
135 |
|
|
<b>TIX_LIBRARY</b> variable accordingly (see below). If you haven't
|
136 |
|
|
installed Tcl and/or Tk then you'll need to set your
|
137 |
|
|
<b>TCL_LIBRARY</b> and <b>TK_LIBRARY</b> environment variable as
|
138 |
|
|
well (see the Tcl and Tk README files for information on this). <p>
|
139 |
|
|
|
140 |
|
|
You can type the following command in your shell:<p>
|
141 |
|
|
|
142 |
|
|
<blockquote><pre><b>
|
143 |
|
|
cd /home/src/Tix4.1.0/demos
|
144 |
|
|
env TIX_LIBRARY=/home/src/Tix4.1.0/library ../unix/tk4.2/tixwish widget
|
145 |
|
|
</b></pre></blockquote>
|
146 |
|
|
|
147 |
|
|
This will open up the Tix demo window. You can click on the "<b>Run
|
148 |
|
|
Sample Programs</b>" tab and execute the sample programs: <p>
|
149 |
|
|
|
150 |
|
|
<center><IMG SRC="img/demo1.gif"> <p> <b>(Screen 4.1 Tix widget
|
151 |
|
|
demostration program)</b></center> <p>
|
152 |
|
|
|
153 |
|
|
<h3> 5. Installing Tix</h3>
|
154 |
|
|
|
155 |
|
|
If you are sufficiently convinced that Tix works properly, you can
|
156 |
|
|
install the Tix binaries and scripts on your system. If you are
|
157 |
|
|
paranoid, these is a small set of test scripts that tests the
|
158 |
|
|
behavior of Tix under various configurations. You can do this by
|
159 |
|
|
typing "<b>make tests</b>" inside the build-subdirectories, e.g.:
|
160 |
|
|
|
161 |
|
|
<blockquote><pre><b>
|
162 |
|
|
cd /home/src/Tix4.1.0/unix/tk4.2
|
163 |
|
|
make tests
|
164 |
|
|
</b></pre></blockquote>
|
165 |
|
|
|
166 |
|
|
Hopefully it will report "<b>0 error(s) found</b>". <p>
|
167 |
|
|
|
168 |
|
|
Type "<b>make install</b>" to install Tix's binaries and script
|
169 |
|
|
files in standard places: <p>
|
170 |
|
|
|
171 |
|
|
<blockquote><pre><b>
|
172 |
|
|
cd /home/src/Tix4.1.0/unix
|
173 |
|
|
make install
|
174 |
|
|
</b></pre></blockquote>
|
175 |
|
|
|
176 |
|
|
In the default configuration information will be installed in
|
177 |
|
|
<b>/usr/local</b> so you'll need write permission on this
|
178 |
|
|
directory. If you'd like to use a different installation directory,
|
179 |
|
|
you can specify the "<b>--exec-prefix</b>" and "<b>--prefix</b>"
|
180 |
|
|
options for the configure script in step <b>3</b> and then rebuild
|
181 |
|
|
Tix.<p>
|
182 |
|
|
|
183 |
|
|
|
184 |
|
|
<h3> 6. Trouble Shooting</h3>
|
185 |
|
|
|
186 |
|
|
If <b>make</b> fails then you'll have to personalize the
|
187 |
|
|
<b>Makefile</b>'s for your site or possibly modify the distribution
|
188 |
|
|
in other ways. First check the files <a href="FAQ.html">
|
189 |
|
|
docs/FAQ.html </a> and <a href="Porting.html">docs/Porting.html</a>
|
190 |
|
|
to see if there are hints for compiling on your system. If you need
|
191 |
|
|
to modify <b>Makefile</b>'s, there are comments at the beginning of
|
192 |
|
|
it that describe the things you might want to change and how to
|
193 |
|
|
change them.<p>
|
194 |
|
|
|
195 |
|
|
If you have trouble compiling Tix, I'd suggest looking at the files
|
196 |
|
|
<a href="FAQ.html">docs/FAQ.html</a> and <a
|
197 |
|
|
href="Porting.html">docs/Porting.html</a>. It contains information
|
198 |
|
|
that people have sent me about changes they had to make to compile
|
199 |
|
|
Tix in various environments.<p>
|
200 |
|
|
|
201 |
|
|
I make no guarantees that this information is accurate, complete, or
|
202 |
|
|
up-to-date, but you may find it useful. If you get Tix running on a
|
203 |
|
|
new configuration and had to make non-trivial changes to do it, I'd
|
204 |
|
|
be happy to receive new information to add to <a
|
205 |
|
|
href="Porting.html">docs/Porting.html</a>. I'm also interested in
|
206 |
|
|
hearing how to change the configuration setup so that Tix compiles
|
207 |
|
|
on additional platforms "out of the box". <p>
|
208 |
|
|
|
209 |
|
|
<!Serial 851729141>
|
210 |
|
|
<hr><i>Last modified Wed Feb 12 16:01:33 EST 1997 </i> ---
|
211 |
|
|
<i>Serial 856069650</i>
|