1/* PDFlib GmbH cvsid: $Id: tiffconf.h 14574 2005-10-29 16:27:43Z bonefish $ */
2/*
3 * Copyright (c) 1988-1997 Sam Leffler
4 * Copyright (c) 1991-1997 Silicon Graphics, Inc.
5 *
6 * Permission to use, copy, modify, distribute, and sell this software and
7 * its documentation for any purpose is hereby granted without fee, provided
8 * that (i) the above copyright notices and this permission notice appear in
9 * all copies of the software and related documentation, and (ii) the names of
10 * Sam Leffler and Silicon Graphics may not be used in any advertising or
11 * publicity relating to the software without the specific, prior written
12 * permission of Sam Leffler and Silicon Graphics.
13 *
14 * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
15 * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
16 * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
17 *
18 * IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
19 * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
20 * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
21 * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
22 * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
23 * OF THIS SOFTWARE.
24 */
25
26#ifndef _TIFFCONF_
27#define	_TIFFCONF_
28/*
29 * Library Configuration Definitions.
30 *
31 * This file defines the default configuration for the library.
32 * If the target system does not have make or a way to specify
33 * #defines on the command line, this file can be edited to
34 * configure the library.  Otherwise, one can override portability
35 * and configuration-related definitions from a Makefile or command
36 * line by defining FEATURE_SUPPORT and COMPRESSION_SUPPORT (see below).
37 */
38
39/*
40 * General portability-related defines:
41 *
42 * HAVE_IEEEFP		define as 0 or 1 according to the floating point
43 *			format suported by the machine
44 * BSDTYPES		define this if your system does NOT define the
45 *			usual 4BSD typedefs tif_int et. al.
46 * HAVE_MMAP		enable support for memory mapping read-only files;
47 *			this is typically deduced by the configure script
48 * HOST_FILLORDER	native cpu bit order: one of FILLORDER_MSB2LSB
49 *			or FILLODER_LSB2MSB; this is typically set by the
50 *			configure script
51 * HOST_BIGENDIAN	native cpu byte order: 1 if big-endian (Motorola)
52 *			or 0 if little-endian (Intel); this may be used
53 *			in codecs to optimize code
54 * USE_64BIT_API	set to 1 if tif_unix.c should use lseek64(),
55 *                      fstat64() and stat64 allowing 2-4GB files.
56 */
57#ifndef HAVE_IEEEFP
58#define	HAVE_IEEEFP	1
59#endif
60/* not uesd: PDFlib GmbH:
61#ifndef HOST_FILLORDER
62#define	HOST_FILLORDER	FILLORDER_MSB2LSB
63#endif
64#ifndef	HOST_BIGENDIAN
65#define	HOST_BIGENDIAN	1
66#endif
67*/
68
69#ifndef USE_64BIT_API
70#  define USE_64BIT_API	0
71#endif
72
73#ifndef FEATURE_SUPPORT
74/*
75 * Feature support definitions:
76 *
77 *    COLORIMETRY_SUPPORT enable support for 6.0 colorimetry tags
78 *    YCBCR_SUPPORT	enable support for 6.0 YCbCr tags
79 *    CMYK_SUPPORT	enable support for 6.0 CMYK tags
80 *    ICC_SUPPORT	enable support for ICC profile tag
81 *    PHOTOSHOP_SUPPORT enable support for PHOTOSHOP resource tag
82 *    IPTC_SUPPORT  enable support for RichTIFF IPTC tag
83 */
84#define	COLORIMETRY_SUPPORT
85#define	YCBCR_SUPPORT
86#define	CMYK_SUPPORT
87#define	ICC_SUPPORT
88#define PHOTOSHOP_SUPPORT
89#define IPTC_SUPPORT
90#endif /* FEATURE_SUPPORT */
91
92#ifndef COMPRESSION_SUPPORT
93/*
94 * Compression support defines:
95 *
96 *    CCITT_SUPPORT	enable support for CCITT Group 3 & 4 algorithms
97 *    PACKBITS_SUPPORT	enable support for Macintosh PackBits algorithm
98 *    LZW_SUPPORT	enable support for LZW algorithm
99 *    THUNDER_SUPPORT	enable support for ThunderScan 4-bit RLE algorithm
100 *    NEXT_SUPPORT	enable support for NeXT 2-bit RLE algorithm
101 *    OJPEG_SUPPORT	enable support for 6.0-style JPEG DCT algorithms
102 *			(requires IJG software)
103 *    JPEG_SUPPORT	enable support for post-6.0-style JPEG DCT algorithms
104 *			(requires freely available IJG software, see tif_jpeg.c)
105 *    ZIP_SUPPORT	enable support for Deflate algorithm
106 *			(requires freely available zlib software, see tif_zip.c)
107 *    PIXARLOG_SUPPORT	enable support for Pixar log-format algorithm
108 *    LOGLUV_SUPPORT	enable support for LogLuv high dynamic range encoding
109 */
110#define	CCITT_SUPPORT
111#define	PACKBITS_SUPPORT
112#define	LZW_SUPPORT		/* PDFlib GmbH, required for predictor tag */
113#undef	THUNDER_SUPPORT		/* PDFlib GmbH */
114#undef OJPEG_SUPPORT		/* PDFlib GmbH */
115#undef JPEG_SUPPORT		/* PDFlib GmbH */
116#define ZIP_SUPPORT		/* PDFlib GmbH */
117#define	NEXT_SUPPORT
118#define LOGLUV_SUPPORT
119#endif /* COMPRESSION_SUPPORT */
120
121/*
122 * If JPEG compression is enabled then we must also include
123 * support for the colorimetry and YCbCr-related tags.
124 */
125#ifdef JPEG_SUPPORT
126#ifndef YCBCR_SUPPORT
127#define	YCBCR_SUPPORT
128#endif
129#ifndef COLORIMETRY_SUPPORT
130#define	COLORIMETRY_SUPPORT
131#endif
132#endif /* JPEG_SUPPORT */
133
134/*
135 * ``Orthogonal Features''
136 *
137 * STRIPCHOP_DEFAULT	default handling of strip chopping support (whether
138 *			or not to convert single-strip uncompressed images
139 *			to mutiple strips of ~8Kb--to reduce memory use)
140 * SUBIFD_SUPPORT	enable support for SubIFD tag (thumbnails and such)
141 */
142#ifndef STRIPCHOP_DEFAULT
143#define	STRIPCHOP_DEFAULT	TIFF_STRIPCHOP	/* default is to enable */
144#endif
145#ifndef SUBIFD_SUPPORT
146#define	SUBIFD_SUPPORT		1	/* enable SubIFD tag (330) support */
147#endif
148#endif /* _TIFFCONF_ */
149