source: trunk/src/3rdparty/libmng/libmng_conf.h@ 122

Last change on this file since 122 was 2, checked in by Dmitry A. Kuminov, 16 years ago

Initially imported qt-all-opensource-src-4.5.1 from Trolltech.

File size: 12.9 KB
Line 
1/* ************************************************************************** */
2/* * * */
3/* * project : libmng * */
4/* * file : libmng_conf.h copyright (c) G.Juyn 2000-2004 * */
5/* * version : 1.0.9 * */
6/* * * */
7/* * purpose : main configuration file * */
8/* * * */
9/* * author : G.Juyn * */
10/* * * */
11/* * comment : The configuration file. Change this to include/exclude * */
12/* * the options you want or do not want in libmng. * */
13/* * * */
14/* * changes : 0.5.2 - 06/02/2000 - G.Juyn * */
15/* * - separated configuration-options into this file * */
16/* * - changed to most likely configuration (?) * */
17/* * 0.5.2 - 06/03/2000 - G.Juyn * */
18/* * - changed options to create a standard so-library * */
19/* * with everything enabled * */
20/* * 0.5.2 - 06/04/2000 - G.Juyn * */
21/* * - changed options to create a standard win32-dll * */
22/* * with everything enabled * */
23/* * * */
24/* * 0.9.2 - 08/05/2000 - G.Juyn * */
25/* * - changed file-prefixes * */
26/* * * */
27/* * 0.9.3 - 08/12/2000 - G.Juyn * */
28/* * - added workaround for faulty PhotoShop iCCP chunk * */
29/* * 0.9.3 - 09/16/2000 - G.Juyn * */
30/* * - removed trace-options from default SO/DLL builds * */
31/* * * */
32/* * 1.0.4 - 06/22/2002 - G.Juyn * */
33/* * - B526138 - returned IJGSRC6B calling convention to * */
34/* * default for MSVC * */
35/* * * */
36/* * 1.0.5 - 09/14/2002 - G.Juyn * */
37/* * - added event handling for dynamic MNG * */
38/* * - added 'supports' call to check function availability * */
39/* * * */
40/* * 1.0.6 - 06/22/2002 - G.R-P * */
41/* * - added MNG_NO_INCLUDE_JNG conditional * */
42/* * - added MNG_SKIPCHUNK_evNT conditional * */
43/* * 1.0.6 - 07/14/2002 - G.R-P * */
44/* * - added MNG_NO_SUPPORT_FUNCQUERY conditional * */
45/* * * */
46/* * 1.0.7 - 03/07/2004 - G.R-P * */
47/* * - added MNG_VERSION_QUERY_SUPPORT_ conditional * */
48/* * * */
49/* * 1.0.9 - 05/12/2004 - G.Juyn * */
50/* * - clearified MNG_BIGENDIAN_SUPPORTED conditional * */
51/* * - added MNG_LITTLEENDIAN_SUPPORTED conditional * */
52/* * * */
53/* ************************************************************************** */
54
55
56#if defined(__BORLANDC__) && defined(MNG_STRICT_ANSI)
57#pragma option -A /* force ANSI-C */
58#endif
59
60#ifndef _libmng_conf_h_
61#define _libmng_conf_h_
62
63#ifdef MNG_MOZILLA_CFG
64#include "special\mozcfg\mozlibmngconf.h"
65#endif
66
67/* ************************************************************************** */
68/* * * */
69/* * User-selectable compile-time options * */
70/* * * */
71/* ************************************************************************** */
72
73/* enable exactly one(1) of the MNG-(sub)set selectors */
74/* use this to select which (sub)set of the MNG specification you wish
75 to support */
76/* generally you'll want full support as the library provides it automatically
77 for you! if you're really strung on memory-requirements you can opt
78 to enable less support (but it's just NOT a good idea!) */
79/* NOTE that this isn't actually implemented yet */
80
81#if !defined(MNG_SUPPORT_FULL) && !defined(MNG_SUPPORT_LC) && !defined(MNG_SUPPORT_VLC)
82#define MNG_SUPPORT_FULL
83/* #define MNG_SUPPORT_LC */
84/* #define MNG_SUPPORT_VLC */
85#endif
86
87/* ************************************************************************** */
88
89/* enable JPEG support if required */
90/* use this to enable the JNG support routines */
91/* this requires an external jpeg package;
92 currently only IJG's jpgsrc6b is supported! */
93/* NOTE that the IJG code can be either 8- or 12-bit (eg. not both);
94 so choose the one you've defined in jconfig.h; if you don't know what
95 the heck I'm talking about, just leave it at 8-bit support (thank you!) */
96
97#ifndef MNG_NO_INCLUDE_JNG
98#ifdef MNG_SUPPORT_FULL /* full support includes JNG */
99#define MNG_SUPPORT_IJG6B
100#endif
101
102#ifndef MNG_SUPPORT_IJG6B
103#if defined(MNG_BUILD_SO) || defined(MNG_USE_SO) || defined(MNG_BUILD_DLL) || defined(MNG_USE_DLL)
104#define MNG_SUPPORT_IJG6B
105#endif
106#endif
107
108#if defined(MNG_SUPPORT_IJG6B) && !defined(MNG_SUPPORT_JPEG8) && !defined(MNG_SUPPORT_JPEG12)
109#define MNG_SUPPORT_JPEG8
110/* #define MNG_SUPPORT_JPEG12 */
111#endif
112
113/* The following is required to export the IJG routines from the DLL in
114 the Windows-standard calling convention;
115 currently this only works for Borland C++ !!! */
116
117#if defined(MNG_BUILD_DLL) || defined(MNG_USE_DLL)
118#if defined(MNG_SUPPORT_IJG6B) && defined(__BORLANDC__)
119#define MNG_DEFINE_JPEG_STDCALL
120#endif
121#endif
122#endif
123
124/* ************************************************************************** */
125
126/* enable required high-level functions */
127/* use this to select the high-level functions you require */
128/* if you only need to display a MNG, disable write support! */
129/* if you only need to examine a MNG, disable write & display support! */
130/* if you only need to copy a MNG, disable display support! */
131/* if you only need to create a MNG, disable read & display support! */
132/* NOTE that turning all options off will be very unuseful! */
133
134#if !defined(MNG_SUPPORT_READ) && !defined(MNG_SUPPORT_WRITE) && !defined(MNG_SUPPORT_DISPLAY)
135#define MNG_SUPPORT_READ
136#if defined(MNG_BUILD_SO) || defined(MNG_USE_SO) || defined(MNG_BUILD_DLL) || defined(MNG_USE_DLL)
137#define MNG_SUPPORT_WRITE
138#endif
139#define MNG_SUPPORT_DISPLAY