| 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
|
|---|
| 140 | #endif
|
|---|
| 141 |
|
|---|
| 142 | /* ************************************************************************** */
|
|---|
| 143 |
|
|---|
| 144 | /* enable chunk access functions */
|
|---|
| 145 | /* use this to select whether you need access to the individual chunks */
|
|---|
| 146 | /* useful if you want to examine a read MNG (you'll also need MNG_STORE_CHUNKS !)*/
|
|---|
| 147 | /* required if you need to create & write a new MNG! */
|
|---|
| 148 |
|
|---|
| 149 | #ifndef MNG_ACCESS_CHUNKS
|
|---|
| 150 | #if defined(MNG_BUILD_SO) || defined(MNG_USE_SO) || defined(MNG_BUILD_DLL) || defined(MNG_USE_DLL)
|
|---|
| 151 | #define MNG_ACCESS_CHUNKS
|
|---|
| 152 | #endif
|
|---|
| 153 | #endif
|
|---|
| 154 |
|
|---|
| 155 | /* ************************************************************************** */
|
|---|
| 156 |
|
|---|
| 157 | /* enable exactly one(1) of the color-management functionality selectors */
|
|---|
| 158 | /* use this to select the level of automatic color support */
|
|---|
| 159 | /* MNG_FULL_CMS requires the lcms (little cms) external package ! */
|
|---|
| 160 | /* if you want your own app (or the OS) to handle color-management
|
|---|
| 161 | select MNG_APP_CMS */
|
|---|
| 162 |
|
|---|
| 163 | #define MNG_GAMMA_ONLY
|
|---|
| 164 | /* #define MNG_FULL_CMS */
|
|---|
| 165 | /* #define MNG_APP_CMS */
|
|---|
| 166 |
|
|---|
| 167 | /* ************************************************************************** */
|
|---|
| 168 |
|
|---|
| 169 | /* enable automatic dithering */
|
|---|
| 170 | /* use this if you need dithering support to convert high-resolution
|
|---|
| 171 | images to a low-resolution output-device */
|
|---|
| 172 | /* NOTE that this is not supported yet */
|
|---|
| 173 |
|
|---|
| 174 | /* #define MNG_AUTO_DITHER */
|
|---|
| 175 |
|
|---|
| 176 | /* ************************************************************************** */
|
|---|
| 177 |
|
|---|
| 178 | /* enable whether chunks should be stored for reference later */
|
|---|
| 179 | /* use this if you need to examine the chunks of a MNG you have read,
|
|---|
| 180 | or (re-)write a MNG you have read */
|
|---|
| 181 | /* turn this off if you want to reduce memory-consumption */
|
|---|
| 182 |
|
|---|
| 183 | #ifndef MNG_STORE_CHUNKS
|
|---|
| 184 | #if defined(MNG_BUILD_SO) || defined(MNG_USE_SO) || defined(MNG_BUILD_DLL) || defined(MNG_USE_DLL)
|
|---|
| 185 | #define MNG_STORE_CHUNKS
|
|---|
| 186 | #endif
|
|---|
| 187 | #endif
|
|---|
| 188 |
|
|---|
| 189 | /* ************************************************************************** */
|
|---|
| 190 |
|
|---|
| 191 | /* enable internal memory management (if your compiler supports it) */
|
|---|
| 192 | /* use this if your compiler supports the 'standard' memory functions
|
|---|
| 193 | (calloc & free), and you want the library to use these functions and not
|
|---|
| 194 | bother your app with memory-callbacks */
|
|---|
| 195 |
|
|---|
| 196 | /* #define MNG_INTERNAL_MEMMNGMT */
|
|---|
| 197 |
|
|---|
| 198 | /* ************************************************************************** */
|
|---|
| 199 |
|
|---|
| 200 | /* enable internal tracing-functionality (manual debugging purposes) */
|
|---|
| 201 | /* use this if you have trouble location bugs or problems */
|
|---|
| 202 | /* NOTE that you'll need to specify the trace callback function! */
|
|---|
| 203 |
|
|---|
| 204 | /* #define MNG_SUPPORT_TRACE */
|
|---|
| 205 |
|
|---|
| 206 | /* ************************************************************************** */
|
|---|
| 207 |
|
|---|
| 208 | /* enable extended error- and trace-telltaling */
|
|---|
| 209 | /* use this if you need explanatory messages with errors and/or tracing */
|
|---|
| 210 |
|
|---|
| 211 | #if !defined(MNG_ERROR_TELLTALE) && !defined(MNG_TRACE_TELLTALE)
|
|---|
| 212 | #if defined(MNG_BUILD_SO) || defined(MNG_USE_SO) || defined(MNG_BUILD_DLL) || defined(MNG_USE_DLL)
|
|---|
| 213 | #define MNG_ERROR_TELLTALE
|
|---|
| 214 | #define MNG_TRACE_TELLTALE
|
|---|
| 215 | #endif
|
|---|
| 216 | #endif
|
|---|
| 217 |
|
|---|
| 218 | /* ************************************************************************** */
|
|---|
| 219 |
|
|---|
| 220 | /* enable BIG/LITTLE endian optimizations */
|
|---|
| 221 | /* enable BIG if you're on an architecture that supports big-endian reads
|
|---|
| 222 | and writes that aren't word-aligned */
|
|---|
| 223 | /* according to reliable sources this only works for PowerPC (bigendian mode)
|
|---|
| 224 | and 680x0 */
|
|---|
| 225 | /* enable LITTLE if you're on an architecture that supports little-endian */
|
|---|
| 226 | /* when in doubt leave both off !!! */
|
|---|
| 227 |
|
|---|
| 228 | /* #define MNG_BIGENDIAN_SUPPORTED */
|
|---|
| 229 | /* #define MNG_LITTLEENDIAN_SUPPORTED */
|
|---|
| 230 |
|
|---|
| 231 | /* ************************************************************************** */
|
|---|
| 232 | /* enable 'version' functions */
|
|---|
| 233 | #if !defined(MNG_VERSION_QUERY_SUPPORT) && \
|
|---|
| 234 | !defined(MNG_NO_VERSION_QUERY_SUPPORT)
|
|---|
| 235 | #define MNG_VERSION_QUERY_SUPPORT
|
|---|
| 236 | #endif
|
|---|
| 237 |
|
|---|
| 238 | /* enable 'supports' function */
|
|---|
| 239 | /* use this if you need to query the availability of functions at runtime;
|
|---|
| 240 | useful for apps that dynamically load the library and that need specific
|
|---|
| 241 | functions */
|
|---|
| 242 |
|
|---|
| 243 | #if !defined(MNG_NO_SUPPORT_FUNCQUERY) && !defined(MNG_SUPPORT_FUNCQUERY)
|
|---|
| 244 | #if defined(MNG_BUILD_SO) || defined(MNG_USE_SO) || \
|
|---|
| 245 | defined(MNG_BUILD_DLL) || defined(MNG_USE_DLL)
|
|---|
| 246 | #define MNG_SUPPORT_FUNCQUERY
|
|---|
| 247 | #endif
|
|---|
| 248 | #endif
|
|---|
| 249 |
|
|---|
| 250 | /* ************************************************************************** */
|
|---|
| 251 |
|
|---|
| 252 | /* enable dynamic MNG features */
|
|---|
| 253 | /* use this if you would like to have dynamic support for specifically
|
|---|
| 254 | designed MNGs; eg. this is useful for 'rollover' effects such as common
|
|---|
| 255 | on the world wide web */
|
|---|
| 256 |
|
|---|
| 257 | #ifndef MNG_SUPPORT_DYNAMICMNG
|
|---|
| 258 | #if defined(MNG_BUILD_SO) || defined(MNG_USE_SO) || defined(MNG_BUILD_DLL) || defined(MNG_USE_DLL)
|
|---|
| 259 | #define MNG_SUPPORT_DYNAMICMNG
|
|---|
| 260 | #endif
|
|---|
| 261 | #endif
|
|---|
| 262 | #ifndef MNG_SUPPORT_DYNAMICMNG
|
|---|
| 263 | #ifndef MNG_SKIPCHUNK_evNT
|
|---|
| 264 | #define MNG_SKIPCHUNK_evNT
|
|---|
| 265 | #endif
|
|---|
| 266 | #endif
|
|---|
| 267 |
|
|---|
| 268 | #ifdef MNG_INCLUDE_JNG
|
|---|
| 269 | #ifndef MNG_NO_ACCESS_JPEG
|
|---|
| 270 | #ifndef MNG_ACCESS_JPEG
|
|---|
| 271 | #define MNG_ACCESS_JPEG
|
|---|
| 272 | #endif
|
|---|
| 273 | #endif
|
|---|
| 274 | #endif
|
|---|
| 275 |
|
|---|
| 276 | #ifdef MNG_INCLUDE_ZLIB
|
|---|
| 277 | #ifndef MNG_NO_ACCESS_ZLIB
|
|---|
| 278 | #ifndef MNG_ACCESS_ZLIB
|
|---|
| 279 | #define MNG_ACCESS_ZLIB
|
|---|
| 280 | #endif
|
|---|
| 281 | #endif
|
|---|
| 282 | #endif
|
|---|
| 283 |
|
|---|
| 284 | /* ************************************************************************** */
|
|---|
| 285 | /* * * */
|
|---|
| 286 | /* * End of user-selectable compile-time options * */
|
|---|
| 287 | /* * * */
|
|---|
| 288 | /* ************************************************************************** */
|
|---|
| 289 |
|
|---|
| 290 | #endif /* _libmng_conf_h_ */
|
|---|
| 291 |
|
|---|
| 292 | /* ************************************************************************** */
|
|---|
| 293 | /* * end of file * */
|
|---|
| 294 | /* ************************************************************************** */
|
|---|
| 295 |
|
|---|