diff options
Diffstat (limited to 'tiff/html/build.html')
-rwxr-xr-x | tiff/html/build.html | 524 |
1 files changed, 0 insertions, 524 deletions
diff --git a/tiff/html/build.html b/tiff/html/build.html deleted file mode 100755 index ad8e189..0000000 --- a/tiff/html/build.html +++ /dev/null @@ -1,524 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> -<meta name="generator" content= -"HTML Tidy for Linux (vers 25 March 2009), see www.w3.org"> -<title>Building the TIFF Software Distribution</title> -</head> -<body bgcolor="white"> -<h1><font face="Arial, Helvetica, Sans"><img src= -"images/cramps.gif" width="159" height="203" align="left" border= -"1" hspace="6"> Building the Software Distribution</font></h1> -<ul> -<li><a href="#UNIX">Building on a UNIX system</a>.</li> -<li><a href="#PC">Building on an MS-DOS or Windows system</a>.</li> -<li><a href="#VMS">Building on a VMS system</a>.</li> -<li><a href="#Other">Building the Software on Other -Systems</a></li> -</ul> -<br clear="left"> -This chapter contains step-by-step instructions on how to configure -and build the TIFF software distribution. The software is most -easily built on a UNIX system, but with a little bit of work it can -easily be built and used on other non-UNIX platforms. -<hr> -<a name="UNIX" id="UNIX"></a> -<h2>Building on a UNIX System</h2> -To build the software on a UNIX system you need to first run the -configure shell script that is located in the top level of the -source directory. This script probes the target system for -necessary tools and functions and constructs a build environment in -which the software may be compiled. Once configuration is done, you -simply run <tt>make</tt> (or <tt>gmake</tt>) to build the software -and then <tt>make install</tt> to do the installation; for example: -<div style="margin-left: 2em"> -<pre> -hyla% <b>cd ./tiff-4.0.0</b> -hyla% <b>./configure</b> - <i>...lots of messages...</i> -hyla% <b>make</b> - <i>...lots of messages...</i> -hyla% <b>make check</b> - <i>...lots of messages...</i> -hyla# <b>make install</b> -</pre></div> -Supplied makefiles are dependent on a <tt>make</tt> utility and a C -(and optionally a C++ compiler), so you will need these tools. -<p>In general, the software is designed such that the following -should be ``<i>make-able</i>'' in each directory:</p> -<div style="margin-left: 2em"> -<pre> -make [all] build stuff -make check run the test suite -make install build&install stuff -make clean remove .o files, executables and cruft -make distclean remove everything, that can be recreated -</pre></div> -Note that after running "<tt>make distclean</tt>" the -<tt>configure</tt> script must be run again to create the Makefiles -and other make-related files. <a name="BuildTrees" id= -"BuildTrees"></a> -<hr width="65%" align="right"> -<h3>Build Trees</h3> -There are two schemes for configuring and building the software. If -you intend to build the software for only one target system, you -can configure the software so that it is built in the same -directories as the source code. -<div style="margin-left: 2em"> -<pre> -hyla% <b>gzip -dc tiff-4.0.0.tar.gz | tar -xf -</b> -hyla% <b>cd ./tiff-4.0.0</b> -hyla% <b>./configure</b> -hyla% <b>make</b> -hyla% <b>make check</b> -hyla% <b>make install</b> -</pre></div> -<p>Otherwise, you can configure a build tree that is parallel to -the source tree hierarchy (or in some completely different place) -but which contains only configured files and files created during -the build procedure.</p> -<div style="margin-left: 2em"> -<pre> -hyla% <b>gzip -dc tiff-4.0.0.tar.gz | tar -xf -</b> -hyla% <b>mkdir tiff-4.0.0-build</b> -hyla% <b>cd ./tiff-4.0.0-build</b> -hyla% <b>../tiff-4.0.0/configure</b> -hyla% <b>make</b> -hyla% <b>make check</b> -hyla% <b>make install</b> -</pre></div> -This second scheme is useful for: -<ul> -<li>building multiple targets from a single source tree</li> -<li>building from a read-only source tree (e.g. if you receive the -distribution on CD-ROM)</li> -<li>sharing the source files via a network, but building on -multiple systems</li> -</ul> -<a name="ConfigOptions" id="ConfigOptions"></a> -<hr width="65%" align="right"> -<h3>Configuration Options</h3> -The configuration process is critical to the proper compilation, -installation, and operation of the software. The configure script -runs a series of tests to decide whether or not the target system -supports required functionality and, if it does not, whether it can -emulate or workaround the missing functions. This procedure is -fairly complicated and, due to the nonstandard nature of most UNIX -systems, prone to error. The first time that you configure the -software for use you should check the output from the configure -script and look for anything that does not make sense for your -system. -<p>A second function of the configure script is to set the default -configuration parameters for the software. Of particular note are -the directories where the software is to be installed. By default -the software is installed in the <b>/usr/local</b> hierarchy. To -change this behaviour the appropriate parameters can be specified -on the command line to configure. Run <b>./configure --help</b> to -get a full list of possible options. Standard installation related -options are shown below.</p> -<pre> -<tt> -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - [/usr/local] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] - -By default, `make install' will install all the files in -`/usr/local/bin', `/usr/local/lib' etc. You can specify -an installation prefix other than `/usr/local' using `--prefix', -for instance `--prefix=$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/tiff] - --htmldir=DIR html documentation [DOCDIR] - -Program names: - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM run sed PROGRAM on installed program names -</tt> -</pre> -<a name="Packages" id="Packages"></a> -<hr width="65%" align="right"> -<h3>Configuring Optional Packages/Support</h3> -The TIFF software comes with several packages that are installed -only as needed, or only if specifically configured at the time the -configure script is run. Packages can be configured via the -<b>configure</b> script commandline parameters. -<dl> -<dt><i>Static/Shared Objects Support</i></dt> -<dd><tt>--enable-shared[=PKGS] build shared -libraries [default=yes]<br> ---enable-static[=PKGS] build static -libraries [default=yes]</tt> -<p>These options control whether or not to configure the software -to build a shared and static binaries for the TIFF library. Use of -shared libraries can significantly reduce the disk space needed for -users of the TIFF software. If shared libarries are not used then -the code is statically linked into each application that uses it. -By default both types of binaries is configured.</p> -<p> -<tt>--enable-rpath Enable -runtime linker paths (-R libtool option)</tt></p> -<p>Add library directories (see other options below) to the TIFF -library run-time linker path.</p> -<p><tt>--enable-ld-version-script Enable linker version -script (default is disabled)</tt></p> -<p>Add shared library symbol versioning on ELF-based systems (e.g. -Linux and FreeBSD) which use the GNU linker. This is needed if -several major versions of libtiff might be loaded at once into the -same program.</p> -</dd> -<dt><i>JPEG Support</i></dt> -<dd><tt>--disable-jpeg disable IJG JPEG -library usage (required for JPEG compression, enabled by default) ---with-jpeg-include-dir=DIR location of IJG -JPEG library headers ---with-jpeg-lib-dir=DIR location of IJG JPEG -library binary)</tt></dd> -<dd>The <tt>JPEG</tt> package enables support for the handling of -TIFF images with JPEG-encoded data. Support for JPEG-encoded data -requires the Independent JPEG Group (IJG) <tt>libjpeg</tt> -distribution; this software is available at <a href= -"http://www.ijg.org/">http://www.ijg.org/</a>. <b>configure</b> -script automatically tries to search for a working IJG JPEG -installation. If it fails to find library, JPEG support will be -automatically disabled.If you want specify the exact paths to -library binary and headers, use above switches for that.</dd> -<dt><i>ZIP Support</i></dt> -<dd>The <tt>ZIP</tt> support enables support for the handling of -TIFF images with deflate-encoded data. Support for deflate-encoded -data requires the freely available <tt>zlib</tt> distribution -written by Jean-loup Gailly and Mark Adler; this software is -available at <a href= -"http://www.zlib.org/">http://www.zlib.org/</a>. If ZIP support is -enabled the <tt>DIRS_LIBINC</tt> and <tt>DIR_GZLIB</tt> parameters -should also be set (see below). By default this package is not -configured.</dd> -</dl> -<a name="Sample" id="Sample"></a> -<hr width="65%" align="right"> -<a name="PC" id="PC"></a> -<h2>Building the Software under Windows 95/98/NT/2000 with MS -VC++</h2> -With Microsoft Visual C++ installed, and properly configured for -commandline use (you will likely need to source VCVARS32.BAT in -AUTOEXEC.bAT or somewhere similar) you should be able to use the -provided <tt>makefile.vc</tt>. -<p>The source package is delivered using Unix line termination -conventions, which work with MSVC but do not work with Windows -'notepad'. If you use unzip from the <a href= -"http://www.info-zip.org/pub/infozip/">Info-Zip</a> package, you -can extract the files using Windows normal line termination -conventions with a command similar to:</p> -<pre> - unzip -aa -a tiff-4.0.0.zip -</pre> -<p>By default libtiff expects that a pre-built zlib and jpeg -library are provided by the user. If this is not the case, then you -may edit libtiff\tiffconf.h using a text editor (e.g. notepad) and -comment out the entries for JPEG_SUPPORT, PIXARLOG_SUPPORT, and -ZIP_SUPPORT. Ignore the comment at the top of the file which says -that it has no influence on the build, because the statement is not -true for Windows. However, by taking this approach, libtiff will -not be able to open some TIFF files.</p> -<p>To build using the provided makefile.vc you may use:</p> -<pre> - C:\tiff-4.0.0> nmake /f makefile.vc clean - C:\tiff-4.0.0> nmake /f makefile.vc - - or (the hard way) - - C:\tiff-4.0.0> cd port - C:\tiff-4.0.0\port> nmake /f makefile.vc clean - C:\tiff-4.0.0\port> nmake /f makefile.vc - C:\tiff-4.0.0> cd ../libtiff - C:\tiff-4.0.0\libtiff> nmake /f makefile.vc clean - C:\tiff-4.0.0\libtiff> nmake /f makefile.vc - C:\tiff-4.0.0\libtiff> cd ..\tools - C:\tiff-4.0.0\tools> nmake /f makefile.vc clean - C:\tiff-4.0.0\tools> nmake /f makefile.vc -</pre> -<p>This will build the library file -<tt>libtiff\libtiff\libtiff.lib</tt>. This can be used in Win32 -programs. You may want to adjust the build options before start -compiling. All parameters contained in the <tt>nmake.opt</tt> -file.This is a plain text file you can open with your favorite text -editor.</p> -<p>The makefile also builds a DLL (libtiff.dll) with an associated -import library (libtiff_i.lib). Any builds using libtiff will need -to include the LIBTIFF\LIBTIFF directory in the include path.</p> -<p>The <tt>libtiff\tools\makefile.vc</tt> should build .exe's for -all the standard TIFF tool programs.</p> -<hr> -<a name="VMS" id="VMS"></a> -<h2>Building the Software on a VMS System</h2> -The VMS port was done by Karsten Spang (<a href= -"mailto:krs@kampsax.dk">krs@kampsax.dk</a>), who also "sort of" -maintains it. The VMS specific files are not in the main -directories. Instead they are placed under -<tt>[.CONTRIB.VMS...]</tt> in the distribution tree. Installation: -It is assumed that you have unpacked the tar file into a VMS -directory tree, in this text called DISK:[TIFF]. -<ol> -<li>Move the VMS specific files to their proper directories. -<pre> -$ SET DEFAULT DISK:[TIFF.CONTRIB.VMS] -$ RENAME [.LIBTIFF]*.* [-.-.LIBTIFF] -$ RENAME [.TOOLS]*.* [-.-.TOOLS] -</pre></li> -<li>Compile the library. -<pre> -$ SET DEFAULT DISK:[TIFF.LIBTIFF] -$ @MAKEVMS -</pre></li> -<li>Compile the tools. -<pre> -$ SET DEFAULT DISK:[TIFF.TOOLS] -$ @MAKEVMS -</pre></li> -<li>Define the programs. -<pre> -$ DEFINE TIFFSHR DISK:[TIFF.LIBTIFF]TIFFSHR -$ FAX2PS :==$DISK:[TIFF.TOOLS]FAX2PS -$ FAX2TIFF :==$DISK:[TIFF.TOOLS]FAX2TIFF -$ GIF2TIFF :==$DISK:[TIFF.TOOLS]GIF2TIFF -$ PAL2RGB :==$DISK:[TIFF.TOOLS]PAL2RGB -$ PPM2TIFF :==$DISK:[TIFF.TOOLS]PPM2TIFF -$ RAS2TIFF :==$DISK:[TIFF.TOOLS]RAS2TIFF -$ RGB2YCBCR :==$DISK:[TIFF.TOOLS]RGB2YCBCR -$ THUMBNAIL :==$DISK:[TIFF.TOOLS]THUMBNAIL -$ TIFF2BW :==$DISK:[TIFF.TOOLS]TIFF2BW -$ TIFF2PS :==$DISK:[TIFF.TOOLS]TIFF2PS -$ TIFFCMP :==$DISK:[TIFF.TOOLS]TIFFCMP -$ TIFFCP :==$DISK:[TIFF.TOOLS]TIFFCP -$ TIFFDITHER:==$DISK:[TIFF.TOOLS]TIFFDITHER -$ TIFFDUMP :==$DISK:[TIFF.TOOLS]TIFFDUMP -$ TIFFINFO :==$DISK:[TIFF.TOOLS]TIFFINFO -$ TIFFMEDIAN:==$DISK:[TIFF.TOOLS]TIFFMEDIAN -$ TIFFSPLIT :==$DISK:[TIFF.TOOLS]TIFFSPLIT -$ YCBCR :==$DISK:[TIFF.TOOLS]YCBCR -</pre></li> -</ol> -You will want to add these lines to your <tt>LOGIN.COM</tt> file, -after changing the name of the directory that you have used on your -machine. -<p>This release has been tested on OpenVMS/VAX 5.5-2, using VAX C -3.2. A previous release was tested under OpenVMS/AXP ?.? using DEC -C ?.?, it is believed that this release as well works on AXP. The -code contains some GNU C specific things. This does *not* imply, -however, that the VAX/GCC configuration has been tested, *it has -not*.</p> -<p>The command procedures (<tt>MAKEVMS.COM</tt>) for building the -library and tools, is believed to choose the correct options for -the VAX and AXP cases automatically.</p> -<p>On the AXP, IEEE floating point is used by default. If you want -VAX floating point, remove the <tt>/FLOAT=IEEE_FLOAT</tt> -qualifier, and change <tt>HAVE_IEEEFP=1</tt> to -<tt>HAVE_IEEEFP=0</tt> in the <tt>MAKEVMS.COM</tt> files in both -the <b>libtiff</b> and <b>tools</b> directories.</p> -<h3>Compiling your own program on a VMS system:</h3> -When compiling a source file in which you <tt>"#include -<tiffio.h>"</tt>, use the following command -<pre> - $ CC/INCLUDE=DISK:[TIFF.LIBTIFF] -</pre> -This ensures that the header file is found. On the AXP, also add -<tt>/FLOAT=IEEE_FLOAT</tt> (if used when building the library). -<h3>Linking your own program to the TIFF library on a VMS -system:</h3> -You can link to the library in two ways: Either using the shareable -library, or using the object library. On the VAX these -possibilities are: -<ol> -<li>Using the shareable TIFF library. -<pre> -$ LINK MY_PROGRAM,DISK:[TIFF.LIBTIFF]TIFF/OPTIONS,SYS$INPUT:/OPTIONS - SYS$SHARE:VAXCRTL/SHAREABLE -</pre></li> -<li>Using the TIFF object library. -<pre> -$ LINK MY_PROGRAM, - - DISK:[TIFF.LIBTIFF]TIFF/LIBRARY/INCLUDE=(TIF_FAX3SM,TIF_CODEC), - - SYS$INPUT:/OPTIONS - SYS$SHARE:VAXCRTL/SHAREABLE -</pre></li> -</ol> -On AXP (and possibly also using DEC C on VAX) the corresponding -commands are -<ol> -<li>Using the shareable TIFF library. -<pre> -$ LINK MY_PROGRAM,DISK:[TIFF.LIBTIFF]TIFF/OPTIONS -</pre></li> -<li>Using the TIFF object library. -<pre> -$ LINK MY_PROGRAM,DISK:[TIFF.LIBTIFF]TIFF/LIBRARY -</pre></li> -</ol> -Method 1 uses the shortest link time and smallest <tt>.EXE</tt> -files, but it requires that <tt>TIFFSHR</tt> is defined as above at -link time and <strong>at run time</strong>. Using the compilation -procedure above, the tools are linked in this way. -<p>Method 2 gives somewhat longer link time and larger -<tt>.EXE</tt> files, but does not require <tt>TIFFSHR</tt> to be -defined. This method is recommended if you want to run your program -on another machine, and for some reason don't want to have the -library on that machine. If you plan to have more than one program -(including the tools) on the machine, it is recommended that you -copy the library to the other machine and use method 1.</p> -<hr> -<a name="Other" id="Other"></a> -<h2>Building the Software on Other Systems</h2> -This section contains information that might be useful if you are -working on a non-UNIX system that is not directly supported. All -library-related files described below are located in the -<b>libtiff</b> directory. -<p>The library requires two files that are generated -<i>on-the-fly</i>. The file <b>tif_fax3sm.c</b> has the state -tables for the Group 3 and Group 4 decoders. This file is generated -by the <tt>mkg3states</tt> program on a UNIX system; for -example,</p> -<div style="margin-left: 2em"> -<pre> -<tt> -cd libtiff -cc -o mkg3states mkg3states.c -rm -f tif_fax3sm.c -./mkg3states -c const tif_fax3sm.c -</tt> -</pre></div> -The <tt>-c</tt> option can be used to control whether or not the -resutling tables are generated with a <tt>const</tt> declaration. -The <tt>-s</tt> option can be used to specify a C storage class for -the table declarations. The <tt>-b</tt> option can be used to force -data values to be explicitly bracketed with ``{}'' (apparently -needed for some MS-Windows compilers); otherwise the structures are -emitted in as compact a format as possible. Consult the source code -for this program if you have questions. -<p>The second file required to build the library, <b>version.h</b>, -contains the version information returned by the -<tt>TIFFGetVersion</tt> routine. This file is built on most systems -using the <tt>mkversion</tt> program and the contents of the -<tt>VERSION</tt> and <tt>tiff.alpha</tt> files; for example,</p> -<div style="margin-left: 2em"> -<pre> -cd libtiff -cc -o mkversion mkversion.c -rm -f version.h -./mkversion -v ../VERSION -a ../dist/tiff.alpha version.h -</pre></div> -<p>Otherwise, when building the library on a non-UNIX system be -sure to consult the files <b>tiffcomp.h</b> and <b>tiffconf.h</b>. -The former contains system compatibility definitions while the -latter is provided so that the software configuration can be -controlled on systems that do not support the make facility for -building the software.</p> -<p>Systems without a 32-bit compiler may not be able to handle some -of the codecs in the library; especially the Group 3 and 4 decoder. -If you encounter problems try disabling support for a particular -codec; consult the <a href= -"internals.html#Config">documentation</a>.</p> -<p>Programs in the tools directory are written to assume an ANSI C -compilation environment. There may be a few POSIX'isms as well. The -code in the <b>port</b> directory is provided to emulate routines -that may be missing on some systems. On UNIX systems the -<tt>configure</tt> script automatically figures out which routines -are not present on a system and enables the use of the equivalent -emulation routines from the <b>port</b> directory. It may be -necessary to manually do this work on a non-UNIX system. <a name= -"Testing" id="Testing"></a></p> -<hr> -<h2>Checking out the Software</h2> -<p>Assuming you have working versions of <tt>tiffgt</tt> and -<tt>tiffsv</tt>, you can just use them to view any of the sample -images available for testing (see the <a href="images.html">section -on obtaining the test images</a>). Otherwise, you can do a cursory -check of the library with the <tt>tiffcp</tt> and <tt>tiffcmp</tt> -programs. For example,</p> -<div style="margin-left: 2em"> -<pre> -tiffcp -lzw cramps.tif x.tif -tiffcmp cramps.tif x.tif -</pre></div> -<p>(<tt>tiffcmp</tt> should be silent if the files compare -correctly). <a name="TOC" id="TOC"></a></p> -<hr> -<h2>Table of Contents</h2> -The following files makup the core library: -<pre> -libtiff/tiff.h TIFF spec definitions -libtiff/tiffcomp.h non-UNIX OS-compatibility definitions -libtiff/tiffconf.h non-UNIX configuration definitions -libtiff/tiffio.h public TIFF library definitions -libtiff/tiffiop.h private TIFF library definitions -libtiff/t4.h CCITT Group 3/4 code tables+definitions -libtiff/tif_dir.h private defs for TIFF directory handling -libtiff/tif_fax3.h CCITT Group 3/4-related definitions -libtiff/tif_predict.h private defs for Predictor tag support -libtiff/uvcode.h LogL/LogLuv codec-specific definitions -libtiff/version.h version string (generated by Makefile) -libtiff/tif_apple.c Apple-related OS support -libtiff/tif_atari.c Atari-related OS support -libtiff/tif_aux.c auxilary directory-related functions -libtiff/tif_close.c close an open TIFF file -libtiff/tif_codec.c configuration table of builtin codecs -libtiff/tif_compress.c compression scheme support -libtiff/tif_dir.c directory tag interface code -libtiff/tif_dirinfo.c directory known tag support code -libtiff/tif_dirread.c directory reading code -libtiff/tif_dirwrite.c directory writing code -libtiff/tif_dumpmode.c "no" compression codec -libtiff/tif_error.c library error handler -libtiff/tif_fax3.c CCITT Group 3 and 4 codec -libtiff/tif_fax3sm.c G3/G4 state tables (generated by mkg3states) -libtiff/tif_flush.c i/o and directory state flushing -libtiff/tif_getimage.c TIFFRGBAImage support -libtiff/tif_jpeg.c JPEG codec (interface to the IJG distribution) -libtiff/tif_luv.c SGI LogL/LogLuv codec -libtiff/tif_lzw.c LZW codec -libtiff/tif_msdos.c MSDOS-related OS support -libtiff/tif_next.c NeXT 2-bit scheme codec (decoding only) -libtiff/tif_open.c open and simply query code -libtiff/tif_packbits.c Packbits codec -libtiff/tif_pixarlog.c Pixar codec -libtiff/tif_predict.c Predictor tag support -libtiff/tif_print.c directory printing support -libtiff/tif_read.c image data reading support -libtiff/tif_strip.c some strip-related code -libtiff/tif_swab.c byte and bit swapping support -libtiff/tif_thunder.c Thunderscan codec (decoding only) -libtiff/tif_tile.c some tile-related code -libtiff/tif_unix.c UNIX-related OS support -libtiff/tif_version.c library version support -libtiff/tif_vms.c VMS-related OS support -libtiff/tif_warning.c library warning handler -libtiff/tif_win3.c Windows-3.1-related OS support -libtiff/tif_win32.c Win32 (95/98/NT) related OS support -libtiff/tif_write.c image data writing support -libtiff/tif_zip.c Deflate codec - -libtiff/mkg3states.c program to generate G3/G4 decoder state tables -libtiff/mkspans.c program to generate black-white span tables -libtiff/mkversion.c program to generate libtiff/version.h. -</pre> -<hr> -Last updated: $Date: 2012-02-18 21:36:31 $ -</body> -</html> |