aboutsummaryrefslogtreecommitdiff
path: root/README
blob: f50c7e4273db01c7ce7ec9e264a355d72079ac21 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234





	*===========================================*
		The TkZinc widget version 3.3
	*===========================================*



WHAT IS THIS?

  TkZinc is a canvas like widget extension to Tcl/Tk. It adds
support for ATC displays, provides structured assembly of
items, transformations, clipping, and openGL based rendering
features such as gradients and alpha blending.

  It is currently available on Unices (tested on Linux) and
Windows.


WHERE DOES IT COME FROM?

  The newest version is found at: http://www.openatc.org/zinc
  It should be at least available in source form in a file
  named Tkzinc<version>.tgz.
  Distribution specific packages may also be available for
  Debian/Mandrake/Red Hat distributions, most likely for stable
  versions.
  As a convenience the documentation (pdf+html) is made available
  on the web site as a separate package.


BUILDING AND INSTALLATION


0. Get, build and _install_ the Tcl/Tk distribution. You need a 8.4
   distribution to use TkZinc. On Windows there is currently an
   incompatibility when using a TkZinc compiled under mingw32 with
   a core Tcl/Tk compiled with visual C++. You need to grab a Tcl/Tk
   compiled with the same environment as TkZinc.


1. Unpack the distribution

   On Unix/Linux:

	tar zxf Tkzinc<version>.tgz

   On Windows:

	Use WinZip or something like this to unpack

   This creates a directory Tkzinc<version> with all the
   needed files. This directory should be in the same
   directory as the Tcl/Tk sources.


2. Configure

   On Unix/Linux:

	cd Tkzinc<version>
	./configure  <option>*

   This will configure the package for your platform. It
   will install it in /usr/local. If you want it elsewhere
   you can use the --prefix and --exec-prefix options of
   configure to assign another location.

   On Windows:

   TkZinc has been built using the msys/mingw32 environment.
   It is known to work with Tcl/Tk 8.4.2 compiled using the
   same environment. CAUTION: It doesn't work with Tcl/Tk 8.4.1
   using mingw32.
   The steps for building under mingw32 are the same as on Unices.
   Currently there is no support for building with visual C++.

   On MacOSX

   requirements:
	- X11 et X11 sdk from apple http://www.apple.com/macosx/x11/
	- fink with tcl tk dev package http://fink.sf.net
	- tcl/tk sources. I couldn't install them using fink, d/l them instead: http://prdownloads.sourceforge.net/fink/direct_download/source

	say we have unpacked tlc/tk sources in $HOME/src. The configure line is as follows:
	env "CPPFLAGS=-I/sw/include -I$HOME/src/tcl8.4.1/generic -I$HOME/src/tk8.4.1/generic" ./configure --with-tcl=/sw/lib --with-tk=/sw/lib --enable-gl=damage


   On all platforms:

   It is possible to customize TkZinc through configure options:

	--enable-gl=[yes|no|damage]
	--disable-gl

	This is turned off by default. Building with --enable-gl=damage
	is the recommanded way for openGL support.

	--enable-om=[yes|no]
	--disable-om

	This is turned on by default. It controls the inclusion of
	code for avoid overlap between track labels in radar images.

	--enable-shape=[yes|no]
	--disable-shape

	This is turned on by default except on Windows where support
	code is not currently available (it may become available).
	It allows for non rectangular TkZinc windows optionally including 
	the top level window.

	--enable-ptk=[yes|no]
	--disable-ptk

	This is turned off by default. It builds TkZinc for use in
	perl/tk. This is not currently supported on Windows.

   And the Tcl standards:

	--enable-threads=[yes|no]
	--disable-threads

	Compile a thread aware/thread safe version (not tested in multi
	threaded environment). Needed if Tcl/Tk has been compiled with
	the same configure option.

	--enable-symbols=[yes|no|mem|all]
	--disable-symbols

	Turn on debugging symbols. If the form --enable-symbols=mem is 
	used, turn on memory debugging as well.


3. Make and Install

   For use with Tcl on Unix/Linux and Windows using mingw32:

	make
	make install-tcl

   It is recommended to do a make distclean before actual building if you
   have done a previous build, especially between Tcl and Perl variants.

   The warnings while compiling libtess are harmless (or so I believe ;-).
   libtess is a tesselation library extracted from GLU/Mesa. I trust it as
   robust unless proven wrong. I do not want to modify the code just to
   shut up some warnings.


   For use with Tcl on Windows using Visual C++:

	nmake /F win/makefile.vc

   There is no install target. You are left with the dlls and the start of
   pkgIndex.tcl (it lacks the entries for the Tcl modules in library).
   It is needed to compile with Visual C++ if TkZinc is to be used with a
   Tcl/Tk compiled with Visual C++.

   P.S: If a pkgIndex.tcl for Tkzinc exists in the autoload path before
   installing, it will interfere with the generation of the new pkgIndex.tcl.
   It should be removed or renamed. echo 'puts $auto_path' | tclsh will
   tell the current load path.


   For use with Perl/Tk only on Unix/Linux, the better would be to read
   the README.PERL file, which describres the usual way of buildind, testing,
   and installing TkZinc. You can also do the following:  

	## Remember: you must use the --enable-ptk=yes option in ./configure

	make perl
	make testperl ## this currently does not test many thing
	make demoperl ## launches a demo similar to the Perl/Tk widget demo
	make install  
   

4. Run the demos

   In the Tkzinc<version> directory run:

	wish8.4 demos/zinc-widget

   Under windows do:

	wish84 demos/zinc-widget

   It should start a Tk like 'widget' demo showing TkZinc
   features. You can also run the demo with: demos/zinc-widget
   if you have in the PATH a wish that is greater or equal to
   8.4.2.

   If the perl/tk version is installed you can run a
   similar demo with:

	zinc-demos


5. Make and read the documentation

   It is available in pdf and html forms.
   To make the pdf doc you need pdflatex installed. Then do:

	cd Tkzinc<version>
	make pdf

   This should create a refman.pdf in the doc directory.

   To make the html doc you need latex and latex2html. Then do:

	cd Tkzinc<version>
	make html

   This should create a refman directory in the doc directory
   with all the html pages and images. The entry point is
   index.html.

   You can also download the doc on TkZinc website:
   http://www.openatc.org/zinc/documentation.html


6. Report bugs and wishes

   Please report bugs and suggestions to the TkZinc mailing list
   at zinc@tls.cena.fr.

   When reporting bugs try to be as specific as possible.
   Include, if possible, the output from the program. Compile
   TkZinc with debugging symbols and include a backtrace of the
   debugger. Send a small Tcl (or Perl) script reproducing the problem.
   The availability of a correction may dependent on these infos.