|
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
|
2 <html> |
|
3 <head> |
|
4 <meta name="generator" content= |
|
5 "HTML Tidy for Solaris (vers 12 April 2005), see www.w3.org"> |
|
6 <title>Building the TIFF Software Distribution</title> |
|
7 </head> |
|
8 <body bgcolor="white"> |
|
9 <h1><font face="Arial, Helvetica, Sans"><img src= |
|
10 "images/cramps.gif" width="159" height="203" align="left" border= |
|
11 "1" hspace="6"> Building the Software Distribution</font></h1> |
|
12 <ul> |
|
13 <li><a href="#UNIX">Building on a UNIX system</a>.</li> |
|
14 <li><a href="#MacMPW">Building on a Macintosh system with |
|
15 MPW</a>.</li> |
|
16 <li><a href="#MacCW">Building on a Macintosh system with |
|
17 CodeWarrior</a>.</li> |
|
18 <li><a href="#PC">Building on an MS-DOS or Windows system</a>.</li> |
|
19 <li><a href="#DJGPP">Building on MS-DOS with the DJGPP v2 |
|
20 compiler</a>.</li> |
|
21 <li><a href="#VMS">Building on a VMS system</a>.</li> |
|
22 <li><a href="#Acorn">Building on an Acorn RISC OS system</a>.</li> |
|
23 <li><a href="#Other">Building the Software on Other |
|
24 Systems</a></li> |
|
25 </ul> |
|
26 <br clear="left"> |
|
27 This chapter contains step-by-step instructions on how to configure |
|
28 and build the TIFF software distribution. The software is most |
|
29 easily built on a UNIX system, but with a little bit of work it can |
|
30 easily be built and used on other non-UNIX platforms. <a name= |
|
31 "UNIX" id="UNIX"></a> |
|
32 <hr> |
|
33 <h2>Building on a UNIX System</h2> |
|
34 To build the software on a UNIX system you need to first run the |
|
35 configure shell script that is located in the top level of the |
|
36 source directory. This script probes the target system for |
|
37 necessary tools and functions and constructs a build environment in |
|
38 which the software may be compiled. Once configuration is done, you |
|
39 simply run <tt>make</tt> (or <tt>gmake</tt>) to build the software |
|
40 and then <tt>make install</tt> to do the installation; for example: |
|
41 <div style="margin-left: 2em"> |
|
42 <pre> |
|
43 hyla% <b>cd tiff-v3.4beta099</b> |
|
44 hyla% <b>./configure</b> |
|
45 <i>...lots of messages...</i> |
|
46 hyla% <b>make</b> |
|
47 <i>...lots of messages...</i> |
|
48 hyla# <b>make install</b> |
|
49 </pre></div> |
|
50 Supplied makefiles are depend on GNU <tt>make</tt> utility, so you |
|
51 will need the one. Depending on your installation <b>make</b> |
|
52 command may invoke standard system <tt>make</tt> and <b>gmake</b> |
|
53 invoke GNU make. In this case you should use former. If you don't |
|
54 have <tt>make</tt> at all, but only <tt>gmake</tt>, you should |
|
55 export environment variable <tt>MAKE=gmake</tt> before |
|
56 <b>./configure</b>. |
|
57 <p>In general, the software is designed such that the following |
|
58 should be ``<i>make-able</i>'' in each directory:</p> |
|
59 <div style="margin-left: 2em"> |
|
60 <pre> |
|
61 make [all] build stuff |
|
62 make install build&install stuff |
|
63 make clean remove .o files, executables and cruft |
|
64 make distclean remove everything, that can be recreated |
|
65 </pre></div> |
|
66 Note that after running "<tt>make distclean</tt>" the |
|
67 <tt>configure</tt> script must be run again to create the Makefiles |
|
68 and other make-related files. <a name="BuildTrees" id= |
|
69 "BuildTrees"></a> |
|
70 <hr width="65%" align="right"> |
|
71 <h3>Build Trees</h3> |
|
72 There are two schemes for configuring and building the software. If |
|
73 you intend to build the software for only one target system, you |
|
74 can configure the software so that it is built in the same |
|
75 directories as the source code. |
|
76 <div style="margin-left: 2em"> |
|
77 <pre> |
|
78 hyla% <b>cd tiff-v3.4beta099</b> |
|
79 hyla% <b>ls</b> |
|
80 COPYRIGHT VERSION config.sub dist man |
|
81 Makefile.in config.guess configure html port |
|
82 README config.site contrib libtiff tools |
|
83 hyla% <b>./configure</b> |
|
84 </pre></div> |
|
85 <p>Otherwise, you can configure a build tree that is parallel to |
|
86 the source tree hierarchy but which contains only configured files |
|
87 and files created during the build procedure.</p> |
|
88 <div style="margin-left: 2em"> |
|
89 <pre> |
|
90 hyla% <b>cd tiff-v3.4beta099</b> |
|
91 hyla% <b>mkdir obj obj/mycpu</b> |
|
92 hyla% <b>cd obj/mycpu</b> |
|
93 hyla% <b>../../configure</b> |
|
94 </pre></div> |
|
95 This second scheme is useful for: |
|
96 <ul> |
|
97 <li>building multiple targets from a single source tree</li> |
|
98 <li>building from a read-only source tree (e.g. if you receive the |
|
99 distribution on CD-ROM)</li> |
|
100 </ul> |
|
101 <a name="ConfigOptions" id="ConfigOptions"></a> |
|
102 <hr width="65%" align="right"> |
|
103 <h3>Configuration Options</h3> |
|
104 The configuration process is critical to the proper compilation, |
|
105 installation, and operation of the software. The configure script |
|
106 runs a series of tests to decide whether or not the target system |
|
107 supports required functionality and, if it does not, whether it can |
|
108 emulate or workaround the missing functions. This procedure is |
|
109 fairly complicated and, due to the nonstandard nature of most UNIX |
|
110 systems, prone to error. The first time that you configure the |
|
111 software for use you should check the output from the configure |
|
112 script and look for anything that does not make sense for your |
|
113 system. |
|
114 <p>A second function of the configure script is to set the default |
|
115 configuration parameters for the software. Of particular note are |
|
116 the directories where the software is to be installed. By default |
|
117 the software is installed in the <b>/usr/local</b> hierarchy. To |
|
118 change this behaviour the appropriate parameters can be specified |
|
119 on the command line to configure. Run <b>./configure --help</b> to |
|
120 get a list of possible options. Installation related options are |
|
121 shown below.</p> |
|
122 <pre> |
|
123 <tt> |
|
124 Installation directories: |
|
125 --prefix=PREFIX install architecture-independent files in PREFIX |
|
126 [/usr/local] |
|
127 --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX |
|
128 [PREFIX] |
|
129 |
|
130 By default, `make install' will install all the files in |
|
131 `/usr/local/bin', `/usr/local/lib' etc. You can specify |
|
132 an installation prefix other than `/usr/local' using `--prefix', |
|
133 for instance `--prefix=$HOME'. |
|
134 |
|
135 For better control, use the options below. |
|
136 |
|
137 Fine tuning of the installation directories: |
|
138 --bindir=DIR user executables [EPREFIX/bin] |
|
139 --sbindir=DIR system admin executables [EPREFIX/sbin] |
|
140 --libexecdir=DIR program executables [EPREFIX/libexec] |
|
141 --datadir=DIR read-only architecture-independent data [PREFIX/share] |
|
142 --sysconfdir=DIR read-only single-machine data [PREFIX/etc] |
|
143 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] |
|
144 --localstatedir=DIR modifiable single-machine data [PREFIX/var] |
|
145 --libdir=DIR object code libraries [EPREFIX/lib] |
|
146 --includedir=DIR C header files [PREFIX/include] |
|
147 --oldincludedir=DIR C header files for non-gcc [/usr/include] |
|
148 --infodir=DIR info documentation [PREFIX/info] |
|
149 --mandir=DIR man documentation [PREFIX/man] |
|
150 |
|
151 Program names: |
|
152 --program-prefix=PREFIX prepend PREFIX to installed program names |
|
153 --program-suffix=SUFFIX append SUFFIX to installed program names |
|
154 --program-transform-name=PROGRAM run sed PROGRAM on installed program names |
|
155 </tt> |
|
156 </pre> |
|
157 <a name="Packages" id="Packages"></a> |
|
158 <hr width="65%" align="right"> |
|
159 <h3>Configuring Optional Packages/Support</h3> |
|
160 The TIFF software comes with several packages that are installed |
|
161 only as needed, or only if specifically configured at the time the |
|
162 configure script is run. Packages can be configured via the |
|
163 <b>configure</b> script commandline parameters. |
|
164 <dl> |
|
165 <dt><i>Static/Shared Objects Support</i></dt> |
|
166 <dd><tt>--enable-shared[=PKGS] build shared |
|
167 libraries [default=yes]<br> |
|
168 --enable-static[=PKGS] build static |
|
169 libraries [default=yes]</tt> |
|
170 <p>These options control whether or not to configure the software |
|
171 to build a shared and static binaries for the TIFF library. Use of |
|
172 shared libraries can significantly reduce the disk space needed for |
|
173 users of the TIFF software. If shared libarries are not used then |
|
174 the code is statically linked into each application that uses it. |
|
175 By default both types of binaries is configured.</p> |
|
176 <p><tt>--enable-rpath Enable runtime linker |
|
177 paths (-R libtool option)</tt></p> |
|
178 <p>Add library directories (see other options below) to the TIFF |
|
179 library run-time linker path.</p> |
|
180 </dd> |
|
181 <dt><i>JPEG Support</i></dt> |
|
182 <dd><tt>--disable-jpeg disable IJG JPEG |
|
183 library usage (required for JPEG compression, enabled by default) |
|
184 --with-jpeg-include-dir=DIR location of IJG |
|
185 JPEG library headers |
|
186 --with-jpeg-lib-dir=DIR location of IJG JPEG |
|
187 library binary)</tt></dd> |
|
188 <dd>The <tt>JPEG</tt> package enables support for the handling of |
|
189 TIFF images with JPEG-encoded data. Support for JPEG-encoded data |
|
190 requires the Independent JPEG Group (IJG) <tt>libjpeg</tt> |
|
191 distribution; this software is available at <a href= |
|
192 "ftp://ftp.uu.net/graphics/jpeg/">ftp.uu.net:/graphics/jpeg/</a>. |
|
193 <b>configure</b> script automatically tries to search the working |
|
194 IJG JPEG installation. If it fails to find library, JPEG support |
|
195 will be automatically disabled.If you want specify the exact paths |
|
196 to library binary and headers, use above switches for that.</dd> |
|
197 <dt><i>ZIP Support</i></dt> |
|
198 <dd>The <tt>ZIP</tt> support enables support for the handling of |
|
199 TIFF images with deflate-encoded data. Support for deflate-encoded |
|
200 data requires the freely available <tt>zlib</tt> distribution |
|
201 written by Jean-loup Gailly and Mark Adler; this software is |
|
202 available at <a href= |
|
203 "ftp://ftp.uu.net/pub/archiving/zip/zlib/">ftp.uu.net:/pub/archiving/zip/zlib/</a> |
|
204 (or try <a href= |
|
205 "ftp://quest.jpl.nasa.gov/beta/zlib/">quest.jpl.nasa.gov:/beta/zlib/</a>). |
|
206 If ZIP support is enabled the <tt>DIRS_LIBINC</tt> and |
|
207 <tt>DIR_GZLIB</tt> parameters should also be set (see below). By |
|
208 default this package is not configured.</dd> |
|
209 </dl> |
|
210 <a name="Sample" id="Sample"></a> |
|
211 <hr width="65%" align="right"> |
|
212 <h3>A Sample Configuration Session</h3> |
|
213 This section shows a sample configuration session and describes the |
|
214 work done. The session is shown indented in a <tt>fixed width |
|
215 font</tt> with user-supplied input in a <tt><b>bold font</b></tt>. |
|
216 Comments are shown in a normal or <i>italic</i> font. This session |
|
217 was collected on a 486 machine running BSDI 1.1. |
|
218 <div style="margin-left: 2em"> |
|
219 <pre> |
|
220 <tt> |
|
221 wullbrandt% <b>mkdir tiff</b> |
|
222 wullbrandt% <b>cd tiff</b> |
|
223 wullbrandt% <b>ln -s /hosts/oxford/usr/people/sam/tiff src</b> |
|
224 </tt> |
|
225 </pre></div> |
|
226 A build tree separate from the source tree is used here. In fact, |
|
227 in this case the distribution is accessed from a read-only |
|
228 NFS-mounted filesystem. |
|
229 <div style="margin-left: 2em"> |
|
230 <pre> |
|
231 <tt> |
|
232 wullbrandt% <b>src/configure</b> |
|
233 Configuring TIFF Software v3.4beta015. |
|
234 |
|
235 Reading site-wide parameters from ../tiff-v3.4beta015/config.site. |
|
236 Reading local parameters from config.local. |
|
237 Gosh, aren't you lucky to have a i386-unknown-bsdi1.1 system! |
|
238 </tt> |
|
239 </pre></div> |
|
240 Note that configure announces the distribution version and the |
|
241 deduced target configuration (<tt>i386-unknown-bsdi1.1</tt> here). |
|
242 <div style="margin-left: 2em"> |
|
243 <pre> |
|
244 <tt> |
|
245 Using /usr/local/bin/gcc for a C compiler (set CC to override). |
|
246 Looks like /usr/local/bin/gcc supports the -g option. |
|
247 Using " -g" for C compiler options. |
|
248 </tt> |
|
249 </pre></div> |
|
250 configure checked the normal shell search path for potential ANSI C |
|
251 compilers. The compiler is selected according to it properly |
|
252 compiling a small ANSI C test program. A specific compiler may be |
|
253 requested by setting the <tt>CC</tt> environment variable to the |
|
254 appropriate pathname, by supplying the parameter on the command |
|
255 line, e.g. <tt>-with-CC=gcc</tt>, or by setting <tt>CC</tt> in a |
|
256 configuration file. |
|
257 <p><img src="images/info.gif" align="left" hspace="10"> <em>Note |
|
258 that an ANSI C compiler is required to build the software. If a C |
|
259 compiler requires options to enable ANSI C compilation, they can be |
|
260 specified with the <tt>ENVOPTS</tt> parameter.</em></p> |
|
261 <p>Once a compiler is selected configure checks to see if the |
|
262 compiler accepts a -g option to enable the generation of debugging |
|
263 symbols, and if the compiler includes an ANSI C preprocessor.</p> |
|
264 <div style="margin-left: 2em"> |
|
265 <pre> |
|
266 <tt> |
|
267 Using /usr/ucb/make to configure the software. |
|
268 </tt> |
|
269 </pre></div> |
|
270 Next various system-specific libraries that may or may not be |
|
271 needed are checked for (none are needed in this case). If your |
|
272 system requires a library that is not automatically included it can |
|
273 be specified by setting the <tt>MACHDEPLIBS</tt> parameter. |
|
274 <p><i>Creating port.h.</i> The <b>port.h</b> file is included by |
|
275 all the C code in the library (but not the tools). It includes |
|
276 definitions for functions and type definitions that are missing |
|
277 from system include files, <tt>#defines</tt> to enable or disable |
|
278 system-specific functionality, and other odds and ends.</p> |
|
279 <div style="margin-left: 2em"> |
|
280 <pre> |
|
281 <tt> |
|
282 Creating libtiff/port.h with necessary definitions. |
|
283 ... using LSB2MSB bit order for your i386 cpu |
|
284 ... using big-endian byte order for your i386 cpu |
|
285 ... configure use of mmap for memory-mapped files |
|
286 ... O_RDONLY is in <fcntl.h> |
|
287 ... using double for promoted floating point parameters |
|
288 ... enabling use of inline functions |
|
289 Done creating libtiff/port.h. |
|
290 </tt> |
|
291 </pre></div> |
|
292 This file can take a long time to create so configure generates the |
|
293 file only when it is needed, either because the file does not exist |
|
294 or because a different target or compiler is to be used. Note that |
|
295 running "<tt>make distclean</tt>" in the top-level directory of the |
|
296 build tree will remove the <b>port.h</b> file (along with all the |
|
297 other files generated by configure). |
|
298 <p><i>Selecting emulated library functions.</i> Certain library |
|
299 functions used by the tools are not present on all systems and can |
|
300 be emulated using other system functionality. configure checks for |
|
301 the presence of such functions and if they are missing, will |
|
302 configure emulation code from the <b>port</b> directory to use |
|
303 instead. Building the TIFF software on unsupported systems may |
|
304 require adding to the code to the <b>port</b> directory.</p> |
|
305 <div style="margin-left: 2em"> |
|
306 <pre> |
|
307 <tt> |
|
308 Checking system libraries for functionality to emulate. |
|
309 Done checking system libraries. |
|
310 </tt> |
|
311 </pre></div> |
|
312 If a routine must be emulated and configure does not automatically |
|
313 check for it, the routine name can be specified using the |
|
314 <tt>PORTFUNCS</tt> parameter. To add emulation support for a new |
|
315 function <tt>foo</tt>, create a file <b>port/foo.c</b> that |
|
316 contains the emulation code and then set <tt>PORTFUNCS=foo</tt> in |
|
317 a configuration file or modify the configure script to |
|
318 automatically check for the missing function. |
|
319 <div style="margin-left: 2em"> |
|
320 <pre> |
|
321 <tt> |
|
322 Checking for Dynamic Shared Object (DSO) support. |
|
323 Done checking for DSO support. |
|
324 </tt> |
|
325 </pre></div> |
|
326 If the <tt>DSO</tt> package is enabled (<tt>DSO=auto</tt> or |
|
327 <tt>DSO=yes</tt>), then configure will verify the system and |
|
328 compiler are capable of constructing SVR4-style DSO's in the |
|
329 expected way. Note that while a system may support DSO's the |
|
330 compiler may not be capable of generating the required |
|
331 position-independent code and/or the compiler may not pass the |
|
332 needed options through to the loader. |
|
333 <p><i>Selecting utility programs.</i> configure locates various |
|
334 system utility programs that are used during installation of the |
|
335 software.</p> |
|
336 <div style="margin-left: 2em"> |
|
337 <pre> |
|
338 <tt> |
|
339 Selecting programs used during installation. |
|
340 Looks like mv supports the -f option to force a move. |
|
341 Looks like /bin/ln supports the -s option to create a symbolic link. |
|
342 Done selecting programs. |
|
343 </tt> |
|
344 </pre></div> |
|
345 <p><i>Selecting default configuration parameters.</i> The remainder |
|
346 of the work done by configure involves setting up configuration |
|
347 parameters that control the placement and setup of files during the |
|
348 installation procedure.</p> |
|
349 <div style="margin-left: 2em"> |
|
350 <pre> |
|
351 <tt> |
|
352 Selecting default TIFF configuration parameters. |
|
353 |
|
354 Looks like manual pages go in /usr/contrib/man. |
|
355 Looks like manual pages should be installed with bsd-nroff-gzip-0.gz. |
|
356 |
|
357 TIFF configuration parameters are: |
|
358 |
|
359 [ 1] Directory for tools: /usr/contrib/bin |
|
360 [ 2] Directory for libraries: /usr/contrib/lib |
|
361 [ 3] Directory for include files: /usr/contrib/include |
|
362 [ 4] Directory for manual pages: /usr/contrib/man |
|
363 [ 5] Manual page installation scheme: bsd-nroff-gzip-0.gz |
|
364 |
|
365 Are these ok [yes]? |
|
366 </tt> |
|
367 </pre></div> |
|
368 At this point you can interactively modify any of the displayed |
|
369 parameters. Hitting a carriage return or typing <tt>yes</tt> will |
|
370 accept the current parameters. Typing one of the number displayed |
|
371 along the left hand side causes configure to prompt for a new value |
|
372 of the specified parameter. Typing anything else causes configure |
|
373 to prompt for a new value <em>for each parameter</em>. In general |
|
374 hitting carriage return will accept the current value and typing |
|
375 anything that is unacceptable will cause a help message to be |
|
376 displayed. A description of each of the configuration parameters is |
|
377 given below. |
|
378 <p>Once acceptable parameters are setup configure will generate all |
|
379 the files that depend on these parameters. Note that certain files |
|
380 may or may not be created based on the configuration of optional |
|
381 packages and/or the functions supported by target system.</p> |
|
382 <div style="margin-left: 2em"> |
|
383 <pre> |
|
384 <tt> |
|
385 Creating Makefile from ../tiff-v3.4beta015/Makefile.in |
|
386 Creating libtiff/Makefile from ../tiff-v3.4beta015/libtiff/Makefile.in |
|
387 Creating man/Makefile from ../tiff-v3.4beta015/man/Makefile.in |
|
388 Creating tools/Makefile from ../tiff-v3.4beta015/tools/Makefile.in |
|
389 Creating port/install.sh from ../tiff-v3.4beta015/port/install.sh.in |
|
390 Done. |
|
391 </tt> |
|
392 </pre></div> |
|
393 <a name="DSOSupport" id="DSOSupport"></a> |
|
394 <hr> |
|
395 <h3>Shared Library Support</h3> |
|
396 It is desirable to make the TIFF library be a shared object on |
|
397 systems that have support for shared libraries. Unfortunately the |
|
398 rules to use to build a shared library vary between operating |
|
399 systems and even compilers. The distributed software includes |
|
400 support for building a shared version of the library on a number of |
|
401 different systems. This support is split between rules in the file |
|
402 <b>libtiff/Makefile.in</b> that construct the shared library and |
|
403 checks done by the <tt>configure</tt> script to verify that the |
|
404 expected rules are supported by compilation tools for the target |
|
405 system. |
|
406 <p>To add new support for building a shared library both these |
|
407 files must be updated. In the configure script search for the |
|
408 section where the autoconfiguration setting of the <tt>DSO</tt> |
|
409 parameter is handled and add a new case for the target system that |
|
410 sets the <tt>DSOSUF</tt>, <tt>DSOLD</tt>, <tt>DSOOPTS</tt>, and |
|
411 <tt>LIBCOPTS</tt> options as appropriate for the system. |
|
412 <tt>DSOSUF</tt> specifies the filename suffix used for the shared |
|
413 library (e.g. ``.so'' for Dynamic Shared Objects on most SVR4-based |
|
414 systems). <tt>DSOLD</tt> specifies the program to use to build the |
|
415 shared library from a compiled object file; typically ``${LD}'' |
|
416 though on some systems it is better to use the C compiler directly |
|
417 so system-dependent options and libraries are automatically |
|
418 supplied. <tt>DSOOPTS</tt> are options that must be specified to |
|
419 <tt>DSOLD</tt> when building the shared library. <tt>LIBCOPTS</tt> |
|
420 are options to pass to the C compiler when constructing a |
|
421 relocatable object file to include in a shared library; e.g. ``-K |
|
422 PIC'' on a Sun system. The <tt>DSO</tt> parameter must also be set |
|
423 to a unique label that identifies the target system and compilation |
|
424 tools. This label is used to select a target in |
|
425 <b>libtiff/Makefile.in</b> to do the actual work in building the |
|
426 shared library. Finally, to complete support for the shared library |
|
427 added the appropriate rules to <b>libtiff/Makefile.in</b> under the |
|
428 target specified in the <tt>configure</tt> script. <a name="PC" id= |
|
429 "PC"></a></p> |
|
430 <hr> |
|
431 <h2>Building the Software under Windows 95/98/NT/2000 with MS |
|
432 VC++</h2> |
|
433 With Microsoft Visual C++ installed, and properly configured for |
|
434 commandline use (you will likely need to source VCVARS32.BAT in |
|
435 AUTOEXEC.bAT or somewhere similar) you should be able to use the |
|
436 provided <tt>makefile.vc</tt>. |
|
437 <p>The source package is delivered using Unix line termination |
|
438 conventions, which work with MSVC but do not work with Windows |
|
439 'notepad'. If you use unzip from the <a href= |
|
440 "http://www.info-zip.org/pub/infozip/">Info-Zip</a> package, you |
|
441 can extract the files using Windows normal line termination |
|
442 conventions with a command similar to:</p> |
|
443 <pre> |
|
444 unzip -aa -a tiff-3.7.4.zip |
|
445 </pre> |
|
446 <p>By default libtiff expects that a pre-built zlib and jpeg |
|
447 library are provided by the user. If this is not the case, then you |
|
448 may edit libtiff\tiffconf.h using a text editor (e.g. notepad) and |
|
449 comment out the entries for JPEG_SUPPORT, PIXARLOG_SUPPORT, and |
|
450 ZIP_SUPPORT. Ignore the comment at the top of the file which says |
|
451 that it has no influence on the build, because the statement is not |
|
452 true for Windows. However, by taking this approach, libtiff will |
|
453 not be able to open some TIFF files.</p> |
|
454 <p>To build using the provided makefile.vc you may use:</p> |
|
455 <pre> |
|
456 C:\tiff-3.7.4> nmake /f makefile.vc clean |
|
457 C:\tiff-3.7.4> nmake /f makefile.vc |
|
458 |
|
459 or (the hard way) |
|
460 |
|
461 C:\tiff-3.7.4> cd port |
|
462 C:\tiff-3.7.4\port> nmake /f makefile.vc clean |
|
463 C:\tiff-3.7.4\port> nmake /f makefile.vc |
|
464 C:\tiff-3.7.4> cd ../libtiff |
|
465 C:\tiff-3.7.4\libtiff> nmake /f makefile.vc clean |
|
466 C:\tiff-3.7.4\libtiff> nmake /f makefile.vc |
|
467 C:\tiff-3.7.4\libtiff> cd ..\tools |
|
468 C:\tiff-3.7.4\tools> nmake /f makefile.vc clean |
|
469 C:\tiff-3.7.4\tools> nmake /f makefile.vc |
|
470 </pre> |
|
471 <p>This will build the library file |
|
472 <tt>libtiff\libtiff\libtiff.lib</tt>. This can be used in Win32 |
|
473 programs. You may want to adjust the build options before start |
|
474 compiling. All parameters contained in the <tt>nmake.opt</tt> |
|
475 file.This is a plain text file you can open with your favorite text |
|
476 editor.</p> |
|
477 <p>The makefile also builds a DLL (libtiff.dll) with an associated |
|
478 import library (libtiff_i.lib). Any builds using libtiff will need |
|
479 to include the LIBTIFF\LIBTIFF directory in the include path.</p> |
|
480 <p>The <tt>libtiff\tools\makefile.vc</tt> should build .exe's for |
|
481 all the standard TIFF tool programs.</p> |
|
482 <p><a name="DJGPP" id="DJGPP"></a></p> |
|
483 <hr> |
|
484 <h2>Building the Software under MS/DOS with the DJGPP v2 |
|
485 compiler</h2> |
|
486 [<i>From the file <b>contrib/dosdjgpp/README</b>.</i>] |
|
487 <p>The directory <b>contrib/dosdjgpp</b> contains the files |
|
488 necessary to build the library and tools with the DJGPP v2 compiler |
|
489 under MSDOS.</p> |
|
490 <p>All you have to do is copy the files in the directory into the |
|
491 respective directories and run make. If you want, you can use the |
|
492 <b>conf.bat</b> script to do that for you, make sure that the file |
|
493 is stored with MSDOS text EOL-convention (CR/LF), otherwise the |
|
494 <b>command.com</b> will not do anything.</p> |
|
495 <p>Note that you probably will not be able to build the library |
|
496 with the v1.x versions of djgpp, due to two problems. First, the |
|
497 top makefile calls a sub-make for each directory and you are likely |
|
498 to run out of memory, since each recursive invocation of a djgpp |
|
499 v1.x program requires about 130k, to avoid that, you can enter the |
|
500 directories manually and call make (well, there are only two dirs). |
|
501 The 2nd problem is that djgpp 1.x doesn't call the coff2exe |
|
502 (stubify) program when creating an executable. This means that all |
|
503 programs compiled are not converted to exe and consequently are not |
|
504 available for calling directly. For the tools directory, you can |
|
505 just call coff2exe for each program after make finishes, but in the |
|
506 libtiff directory, a few programs are created during the make |
|
507 process that have to be called for make to continue (e.g. |
|
508 mkg3states). Make will probably report an error at each such stage. |
|
509 To fix that, either add a coff2exe call before each program is |
|
510 called or call coff2exe manually and rerun make (there 2-3 such |
|
511 programs). <a name="MacMPW" id="MacMPW"></a></p> |
|
512 <hr> |
|
513 <h2>Building the Software on a Macintosh with MPW</h2> |
|
514 The directory <b>contrib/mac-mpw</b> contains support for compiling |
|
515 the library and tools under the MPW Shell on a Macintosh system. |
|
516 This support was contributed by Niles Ritter (<a href= |
|
517 "mailto:ndr@tazboy.jpl.nasa.gov">ndr@tazboy.jpl.nasa.gov</a>). |
|
518 <p>[<i>From the file <b>contrib/mac-mpw/README</b>.</i>]</p> |
|
519 <p>This directory contains all of the utilities and makefile source |
|
520 to build the LIBTIFF library and tools from the MPW Shell. The file |
|
521 BUILD.mpw in this directory is an executable script which uses all |
|
522 of these files to create the MPW makefiles and run them.</p> |
|
523 <p>The <file>.make files are not MPW makefiles as such, but |
|
524 are when run through the "mactrans" program, which turns the ascii |
|
525 "%nn" metacharacters into the standard weird MPW make |
|
526 characters.</p> |
|
527 <p>This translation trick is necessary to protect the files when |
|
528 they are put into unix tarfiles, which tend to mangle the special |
|
529 characters. <a name="MacCW" id="MacCW"></a></p> |
|
530 <hr> |
|
531 <h2>Building the Software on a Macintosh with CodeWarrior</h2> |
|
532 The directory <b>contrib/mac-cw</b> contains support for compiling |
|
533 the library and tools with MetroWerks CodeWarrior 6.1 on a |
|
534 Macintosh system. This support was contributed by Niles Ritter |
|
535 (<a href= |
|
536 "mailto:ndr@tazboy.jpl.nasa.gov">ndr@tazboy.jpl.nasa.gov</a>). |
|
537 <p>[<i>From the file <b>contrib/mac-cw/README</b>.</i>] In this |
|
538 directory you will find a Makefile.script Applescript file, which |
|
539 should be run in order to build the libtiff code using MetroWerks |
|
540 CodeWarrior. Refer to the "metrowerks.note" instructions on |
|
541 building the library for 68k and PowerPC native code, as well as |
|
542 building some of the libtiff tools, which are rather unix-like, but |
|
543 at least give an example of how to link everything together. |
|
544 <a name="VMS" id="VMS"></a></p> |
|
545 <hr> |
|
546 <h2>Building the Software on a VMS System</h2> |
|
547 The VMS port was done by Karsten Spang (<a href= |
|
548 "mailto:krs@kampsax.dk">krs@kampsax.dk</a>), who also "sort of" |
|
549 maintains it. The VMS specific files are not in the main |
|
550 directories. Instead they are placed under |
|
551 <tt>[.CONTRIB.VMS...]</tt> in the distribution tree. Installation: |
|
552 It is assumed that you have unpacked the tar file into a VMS |
|
553 directory tree, in this text called DISK:[TIFF]. |
|
554 <ol> |
|
555 <li>Move the VMS specific files to their proper directories. |
|
556 <pre> |
|
557 $ SET DEFAULT DISK:[TIFF.CONTRIB.VMS] |
|
558 $ RENAME [.LIBTIFF]*.* [-.-.LIBTIFF] |
|
559 $ RENAME [.TOOLS]*.* [-.-.TOOLS] |
|
560 </pre></li> |
|
561 <li>Compile the library. |
|
562 <pre> |
|
563 $ SET DEFAULT DISK:[TIFF.LIBTIFF] |
|
564 $ @MAKEVMS |
|
565 </pre></li> |
|
566 <li>Compile the tools. |
|
567 <pre> |
|
568 $ SET DEFAULT DISK:[TIFF.TOOLS] |
|
569 $ @MAKEVMS |
|
570 </pre></li> |
|
571 <li>Define the programs. |
|
572 <pre> |
|
573 $ DEFINE TIFFSHR DISK:[TIFF.LIBTIFF]TIFFSHR |
|
574 $ FAX2PS :==$DISK:[TIFF.TOOLS]FAX2PS |
|
575 $ FAX2TIFF :==$DISK:[TIFF.TOOLS]FAX2TIFF |
|
576 $ GIF2TIFF :==$DISK:[TIFF.TOOLS]GIF2TIFF |
|
577 $ PAL2RGB :==$DISK:[TIFF.TOOLS]PAL2RGB |
|
578 $ PPM2TIFF :==$DISK:[TIFF.TOOLS]PPM2TIFF |
|
579 $ RAS2TIFF :==$DISK:[TIFF.TOOLS]RAS2TIFF |
|
580 $ RGB2YCBCR :==$DISK:[TIFF.TOOLS]RGB2YCBCR |
|
581 $ THUMBNAIL :==$DISK:[TIFF.TOOLS]THUMBNAIL |
|
582 $ TIFF2BW :==$DISK:[TIFF.TOOLS]TIFF2BW |
|
583 $ TIFF2PS :==$DISK:[TIFF.TOOLS]TIFF2PS |
|
584 $ TIFFCMP :==$DISK:[TIFF.TOOLS]TIFFCMP |
|
585 $ TIFFCP :==$DISK:[TIFF.TOOLS]TIFFCP |
|
586 $ TIFFDITHER:==$DISK:[TIFF.TOOLS]TIFFDITHER |
|
587 $ TIFFDUMP :==$DISK:[TIFF.TOOLS]TIFFDUMP |
|
588 $ TIFFINFO :==$DISK:[TIFF.TOOLS]TIFFINFO |
|
589 $ TIFFMEDIAN:==$DISK:[TIFF.TOOLS]TIFFMEDIAN |
|
590 $ TIFFSPLIT :==$DISK:[TIFF.TOOLS]TIFFSPLIT |
|
591 $ YCBCR :==$DISK:[TIFF.TOOLS]YCBCR |
|
592 </pre></li> |
|
593 </ol> |
|
594 You will want to add these lines to your <tt>LOGIN.COM</tt> file, |
|
595 after changing the name of the directory that you have used on your |
|
596 machine. |
|
597 <p>This release has been tested on OpenVMS/VAX 5.5-2, using VAX C |
|
598 3.2. A previous release was tested under OpenVMS/AXP ?.? using DEC |
|
599 C ?.?, it is believed that this release as well works on AXP. The |
|
600 code contains some GNU C specific things. This does *not* imply, |
|
601 however, that the VAX/GCC configuration has been tested, *it has |
|
602 not*.</p> |
|
603 <p>The command procedures (<tt>MAKEVMS.COM</tt>) for building the |
|
604 library and tools, is believed to choose the correct options for |
|
605 the VAX and AXP cases automatically.</p> |
|
606 <p>On the AXP, IEEE floating point is used by default. If you want |
|
607 VAX floating point, remove the <tt>/FLOAT=IEEE_FLOAT</tt> |
|
608 qualifier, and change <tt>HAVE_IEEEFP=1</tt> to |
|
609 <tt>HAVE_IEEEFP=0</tt> in the <tt>MAKEVMS.COM</tt> files in both |
|
610 the <b>libtiff</b> and <b>tools</b> directories.</p> |
|
611 <h3>Compiling your own program on a VMS system:</h3> |
|
612 When compiling a source file in which you <tt>"#include |
|
613 <tiffio.h>"</tt>, use the following command |
|
614 <pre> |
|
615 $ CC/INCLUDE=DISK:[TIFF.LIBTIFF] |
|
616 </pre> |
|
617 This ensures that the header file is found. On the AXP, also add |
|
618 <tt>/FLOAT=IEEE_FLOAT</tt> (if used when building the library). |
|
619 <h3>Linking your own program to the TIFF library on a VMS |
|
620 system:</h3> |
|
621 You can link to the library in two ways: Either using the shareable |
|
622 library, or using the object library. On the VAX these |
|
623 possibilities are: |
|
624 <ol> |
|
625 <li>Using the shareable TIFF library. |
|
626 <pre> |
|
627 $ LINK MY_PROGRAM,DISK:[TIFF.LIBTIFF]TIFF/OPTIONS,SYS$INPUT:/OPTIONS |
|
628 SYS$SHARE:VAXCRTL/SHAREABLE |
|
629 </pre></li> |
|
630 <li>Using the TIFF object library. |
|
631 <pre> |
|
632 $ LINK MY_PROGRAM, - |
|
633 DISK:[TIFF.LIBTIFF]TIFF/LIBRARY/INCLUDE=(TIF_FAX3SM,TIF_CODEC), - |
|
634 SYS$INPUT:/OPTIONS |
|
635 SYS$SHARE:VAXCRTL/SHAREABLE |
|
636 </pre></li> |
|
637 </ol> |
|
638 On AXP (and possibly also using DEC C on VAX) the corresponding |
|
639 commands are |
|
640 <ol> |
|
641 <li>Using the shareable TIFF library. |
|
642 <pre> |
|
643 $ LINK MY_PROGRAM,DISK:[TIFF.LIBTIFF]TIFF/OPTIONS |
|
644 </pre></li> |
|
645 <li>Using the TIFF object library. |
|
646 <pre> |
|
647 $ LINK MY_PROGRAM,DISK:[TIFF.LIBTIFF]TIFF/LIBRARY |
|
648 </pre></li> |
|
649 </ol> |
|
650 Method 1 uses the shortest link time and smallest <tt>.EXE</tt> |
|
651 files, but it requires that <tt>TIFFSHR</tt> is defined as above at |
|
652 link time and <strong>at run time</strong>. Using the compilation |
|
653 procedure above, the tools are linked in this way. |
|
654 <p>Method 2 gives somewhat longer link time and larger |
|
655 <tt>.EXE</tt> files, but does not require <tt>TIFFSHR</tt> to be |
|
656 defined. This method is recommended if you want to run your program |
|
657 on another machine, and for some reason don't want to have the |
|
658 library on that machine. If you plan to have more than one program |
|
659 (including the tools) on the machine, it is recommended that you |
|
660 copy the library to the other machine and use method 1. <a name= |
|
661 "Acorn" id="Acorn"></a></p> |
|
662 <hr> |
|
663 <h2>Building the Software on an Acorn RISC OS system</h2> |
|
664 The directory <b>contrib/acorn</b> contains support for compiling |
|
665 the library under Acorn C/C++ under Acorn's RISC OS 3.10 or above. |
|
666 Subsequent pathnames will use the Acorn format: The full-stop or |
|
667 period character is a pathname delimeter, and the slash character |
|
668 is not interpreted; the reverse position from Unix. Thus |
|
669 "libtiff/tif_acorn.c" becomes "libtiff.tif_acorn/c". |
|
670 <p>This support was contributed by Peter Greenham. (<a href= |
|
671 "mailto:peter@enlarion.demon.co.uk">peter@enlarion.demon.co.uk</a>).</p> |
|
672 <h3>Installing LibTIFF:</h3> |
|
673 <p>LIBTIFF uses several files which have names longer than the |
|
674 normal RISC OS maximum of ten characters. This complicates matters. |
|
675 Maybe one day Acorn will address the problem and implement long |
|
676 filenames properly. Until then this gets messy, especially as I'm |
|
677 trying to do this with obeyfiles and not have to include binaries |
|
678 in this distribution.</p> |
|
679 <p>First of all, ensure you have Truncate configured on (type |
|
680 <tt>*Configure Truncate On</tt>)</p> |
|
681 <p>Although it is, of course, preferable to have long filenames, |
|
682 LIBTIFF can be installed with short filenames, and it will compile |
|
683 and link without problems. However, <i>getting</i> it there is more |
|
684 problematic. <b>contrib.acorn.install</b> is an installation |
|
685 obeyfile which will create a normal Acorn-style library from the |
|
686 source (ie: with c, h and o folders etc.), but needs the |
|
687 distribution library to have been unpacked into a location which is |
|
688 capable of supporting long filenames, even if only temporarily.</p> |
|
689 <p>My recommendation, until Acorn address this problem properly, is |
|
690 to use Jason Tribbeck's <a href= |
|
691 "ftp://ftp.demon.co.uk/pub/mirrors/hensa/micros/arch/riscos/c/c020/longfiles.arc"> |
|
692 LongFilenames</a>, or any other working system that gives you long |
|
693 filenames, like a nearby NFS server for instance.</p> |
|
694 <p>If you are using Longfilenames, even if only temporarily to |
|
695 install LIBTIFF, unpack the TAR into a RAMDisc which has been |
|
696 longfilenamed (ie: <tt>*addlongfs ram</tt>) and then install from |
|
697 there to the hard disk. Unfortunately Longfilenames seems a bit |
|
698 unhappy about copying a bunch of long-named files across the same |
|
699 filing system, but is happy going between systems. You'll need to |
|
700 create a ramdisk of about 2Mb.</p> |
|
701 <p>Now you can run the installation script I've supplied (in |
|
702 contrib.acorn), which will automate the process of installing |
|
703 LIBTIFF as an Acorn-style library. The syntax is as follows:</p> |
|
704 <p><tt>install <source_dir> <dest_dir></tt></p> |
|
705 <p>Install will then create <dest_dir> and put the library in |
|
706 there. For example, having used LongFilenames on the RAMDisk and |
|
707 unpacked the library into there, you can then type:</p> |
|
708 <p><tt>Obey RAM::RamDisc0.$.contrib.acorn.install RAM::RamDisc0.$ |
|
709 ADFS::4.$.LIBTIFF</tt></p> |
|
710 <p>It doesn't matter if the destination location can cope with long |
|
711 filenames or not. The filenames will be truncated if necessary |
|
712 (*Configure Truncate On if you get errors) and all will be |
|
713 well.</p> |
|
714 <h3>Compiling LibTIFF:</h3> |
|
715 <p>Once the LibTIFF folder has been created and the files put |
|
716 inside, making the library should be just a matter of running |
|
717 '<b>SetVars</b>' to set the appropriate system variables, then |
|
718 running '<b>Makefile</b>'.</p> |
|
719 <p><b>OSLib</b></p> |
|
720 <p><a href= |
|
721 "ftp://ftp.acorn.co.uk/pub/riscos/releases/oslib/oslib.arc">OSLib</a> |
|
722 is a comprehensive API for RISC OS machines, written by Jonathan |
|
723 Coxhead of Acorn Computers (although OSLib is not an official Acorn |
|
724 product). Using the OSLib SWI veneers produces code which is more |
|
725 compact and more efficient than code written using _kernel_swi or |
|
726 _swi. The Acorn port of LibTIFF can take advantage of this if |
|
727 present. Edit the Makefile and go to the Static dependencies |
|
728 section. The first entry is:</p> |
|
729 <pre> |
|
730 # Static dependencies: |
|
731 @.o.tif_acorn: @.c.tif_acorn |
|
732 cc $(ccflags) -o @.o.tif_acorn @.c.tif_acorn |
|
733 </pre> |
|
734 <p>Change the cc line to:</p> |
|
735 <pre> |
|
736 cc $(ccflags) -DINCLUDE_OSLIB -o @.o.tif_acorn @.c.tif_acorn |
|
737 </pre> |
|
738 <p>Remember, however, that OSLib is only <i>recommended</i> for |
|
739 efficiency's sake. It is not required. <a name="Other" id= |
|
740 "Other"></a></p> |
|
741 <hr> |
|
742 <h2>Building the Software on Other Systems</h2> |
|
743 This section contains information that might be useful if you are |
|
744 working on a non-UNIX system that is not directly supported. All |
|
745 library-related files described below are located in the |
|
746 <b>libtiff</b> directory. |
|
747 <p>The library requires two files that are generated |
|
748 <i>on-the-fly</i>. The file <b>tif_fax3sm.c</b> has the state |
|
749 tables for the Group 3 and Group 4 decoders. This file is generated |
|
750 by the <tt>mkg3states</tt> program on a UNIX system; for |
|
751 example,</p> |
|
752 <div style="margin-left: 2em"> |
|
753 <pre> |
|
754 <tt> |
|
755 cd libtiff |
|
756 cc -o mkg3states mkg3states.c |
|
757 rm -f tif_fax3sm.c |
|
758 ./mkg3states -c const tif_fax3sm.c |
|
759 </tt> |
|
760 </pre></div> |
|
761 The <tt>-c</tt> option can be used to control whether or not the |
|
762 resutling tables are generated with a <tt>const</tt> declaration. |
|
763 The <tt>-s</tt> option can be used to specify a C storage class for |
|
764 the table declarations. The <tt>-b</tt> option can be used to force |
|
765 data values to be explicitly bracketed with ``{}'' (apparently |
|
766 needed for some MS-Windows compilers); otherwise the structures are |
|
767 emitted in as compact a format as possible. Consult the source code |
|
768 for this program if you have questions. |
|
769 <p>The second file required to build the library, <b>version.h</b>, |
|
770 contains the version information returned by the |
|
771 <tt>TIFFGetVersion</tt> routine. This file is built on most systems |
|
772 using the <tt>mkversion</tt> program and the contents of the |
|
773 <tt>VERSION</tt> and <tt>tiff.alpha</tt> files; for example,</p> |
|
774 <div style="margin-left: 2em"> |
|
775 <pre> |
|
776 cd libtiff |
|
777 cc -o mkversion mkversion.c |
|
778 rm -f version.h |
|
779 ./mkversion -v ../VERSION -a ../dist/tiff.alpha version.h |
|
780 </pre></div> |
|
781 <p>Otherwise, when building the library on a non-UNIX system be |
|
782 sure to consult the files <b>tiffcomp.h</b> and <b>tiffconf.h</b>. |
|
783 The former contains system compatibility definitions while the |
|
784 latter is provided so that the software configuration can be |
|
785 controlled on systems that do not support the make facility for |
|
786 building the software.</p> |
|
787 <p>Systems without a 32-bit compiler may not be able to handle some |
|
788 of the codecs in the library; especially the Group 3 and 4 decoder. |
|
789 If you encounter problems try disabling support for a particular |
|
790 codec; consult the <a href= |
|
791 "internals.html#Config">documentation</a>.</p> |
|
792 <p>Programs in the tools directory are written to assume an ANSI C |
|
793 compilation environment. There may be a few POSIX'isms as well. The |
|
794 code in the <b>port</b> directory is provided to emulate routines |
|
795 that may be missing on some systems. On UNIX systems the |
|
796 <tt>configure</tt> script automatically figures out which routines |
|
797 are not present on a system and enables the use of the equivalent |
|
798 emulation routines from the <b>port</b> directory. It may be |
|
799 necessary to manually do this work on a non-UNIX system. <a name= |
|
800 "Testing" id="Testing"></a></p> |
|
801 <hr> |
|
802 <h2>Checking out the Software</h2> |
|
803 <p>Assuming you have working versions of <tt>tiffgt</tt> and |
|
804 <tt>tiffsv</tt>, you can just use them to view any of the sample |
|
805 images available for testing (see the <a href="images.html">section |
|
806 on obtaining the test images</a>). Otherwise, you can do a cursory |
|
807 check of the library with the <tt>tiffcp</tt> and <tt>tiffcmp</tt> |
|
808 programs. For example,</p> |
|
809 <div style="margin-left: 2em"> |
|
810 <pre> |
|
811 tiffcp -lzw cramps.tif x.tif |
|
812 tiffcmp cramps.tif x.tif |
|
813 </pre></div> |
|
814 <p>(<tt>tiffcmp</tt> should be silent if the files compare |
|
815 correctly). <a name="TOC" id="TOC"></a></p> |
|
816 <hr> |
|
817 <h2>Table of Contents</h2> |
|
818 The following files makup the core library: |
|
819 <pre> |
|
820 libtiff/tiff.h TIFF spec definitions |
|
821 libtiff/tiffcomp.h non-UNIX OS-compatibility definitions |
|
822 libtiff/tiffconf.h non-UNIX configuration definitions |
|
823 libtiff/tiffio.h public TIFF library definitions |
|
824 libtiff/tiffiop.h private TIFF library definitions |
|
825 libtiff/t4.h CCITT Group 3/4 code tables+definitions |
|
826 libtiff/tif_dir.h private defs for TIFF directory handling |
|
827 libtiff/tif_fax3.h CCITT Group 3/4-related definitions |
|
828 libtiff/tif_predict.h private defs for Predictor tag support |
|
829 libtiff/uvcode.h LogL/LogLuv codec-specific definitions |
|
830 libtiff/version.h version string (generated by Makefile) |
|
831 |
|
832 libtiff/tif_acorn.c Acorn-related OS support |
|
833 libtiff/tif_apple.c Apple-related OS support |
|
834 libtiff/tif_atari.c Atari-related OS support |
|
835 libtiff/tif_aux.c auxilary directory-related functions |
|
836 libtiff/tif_close.c close an open TIFF file |
|
837 libtiff/tif_codec.c configuration table of builtin codecs |
|
838 libtiff/tif_compress.c compression scheme support |
|
839 libtiff/tif_dir.c directory tag interface code |
|
840 libtiff/tif_dirinfo.c directory known tag support code |
|
841 libtiff/tif_dirread.c directory reading code |
|
842 libtiff/tif_dirwrite.c directory writing code |
|
843 libtiff/tif_dumpmode.c "no" compression codec |
|
844 libtiff/tif_error.c library error handler |
|
845 libtiff/tif_fax3.c CCITT Group 3 and 4 codec |
|
846 libtiff/tif_fax3sm.c G3/G4 state tables (generated by mkg3states) |
|
847 libtiff/tif_flush.c i/o and directory state flushing |
|
848 libtiff/tif_getimage.c TIFFRGBAImage support |
|
849 libtiff/tif_jpeg.c JPEG codec (interface to the IJG distribution) |
|
850 libtiff/tif_luv.c SGI LogL/LogLuv codec |
|
851 libtiff/tif_lzw.c LZW codec |
|
852 libtiff/tif_msdos.c MSDOS-related OS support |
|
853 libtiff/tif_next.c NeXT 2-bit scheme codec (decoding only) |
|
854 libtiff/tif_open.c open and simply query code |
|
855 libtiff/tif_packbits.c Packbits codec |
|
856 libtiff/tif_pixarlog.c Pixar codec |
|
857 libtiff/tif_predict.c Predictor tag support |
|
858 libtiff/tif_print.c directory printing support |
|
859 libtiff/tif_read.c image data reading support |
|
860 libtiff/tif_strip.c some strip-related code |
|
861 libtiff/tif_swab.c byte and bit swapping support |
|
862 libtiff/tif_thunder.c Thunderscan codec (decoding only) |
|
863 libtiff/tif_tile.c some tile-related code |
|
864 libtiff/tif_unix.c UNIX-related OS support |
|
865 libtiff/tif_version.c library version support |
|
866 libtiff/tif_vms.c VMS-related OS support |
|
867 libtiff/tif_warning.c library warning handler |
|
868 libtiff/tif_win3.c Windows-3.1-related OS support |
|
869 libtiff/tif_win32.c Win32 (95/98/NT) related OS support |
|
870 libtiff/tif_write.c image data writing support |
|
871 libtiff/tif_zip.c Deflate codec |
|
872 |
|
873 libtiff/mkg3states.c program to generate G3/G4 decoder state tables |
|
874 libtiff/mkspans.c program to generate black-white span tables |
|
875 libtiff/mkversion.c program to generate libtiff/version.h. |
|
876 </pre> |
|
877 <hr> |
|
878 Last updated: $Date: 2005/12/24 22:25:05 $ |
|
879 </body> |
|
880 </html> |