aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/irrlicht-1.8/source/Irrlicht/libpng/scripts/pnglibconf.dfa
diff options
context:
space:
mode:
authorDavid Walter Seikel2013-01-13 18:54:10 +1000
committerDavid Walter Seikel2013-01-13 18:54:10 +1000
commit959831f4ef5a3e797f576c3de08cd65032c997ad (patch)
treee7351908be5995f0b325b2ebeaa02d5a34b82583 /libraries/irrlicht-1.8/source/Irrlicht/libpng/scripts/pnglibconf.dfa
parentAdd info about changes to Irrlicht. (diff)
downloadSledjHamr-959831f4ef5a3e797f576c3de08cd65032c997ad.zip
SledjHamr-959831f4ef5a3e797f576c3de08cd65032c997ad.tar.gz
SledjHamr-959831f4ef5a3e797f576c3de08cd65032c997ad.tar.bz2
SledjHamr-959831f4ef5a3e797f576c3de08cd65032c997ad.tar.xz
Remove damned ancient DOS line endings from Irrlicht. Hopefully I did not go overboard.
Diffstat (limited to 'libraries/irrlicht-1.8/source/Irrlicht/libpng/scripts/pnglibconf.dfa')
-rw-r--r--libraries/irrlicht-1.8/source/Irrlicht/libpng/scripts/pnglibconf.dfa1156
1 files changed, 578 insertions, 578 deletions
diff --git a/libraries/irrlicht-1.8/source/Irrlicht/libpng/scripts/pnglibconf.dfa b/libraries/irrlicht-1.8/source/Irrlicht/libpng/scripts/pnglibconf.dfa
index b0ccd39..a740d68 100644
--- a/libraries/irrlicht-1.8/source/Irrlicht/libpng/scripts/pnglibconf.dfa
+++ b/libraries/irrlicht-1.8/source/Irrlicht/libpng/scripts/pnglibconf.dfa
@@ -1,578 +1,578 @@
1# scripts/pnglibconf.dfa - library build configuration control 1# scripts/pnglibconf.dfa - library build configuration control
2# 2#
3@/*- pnglibconf.dfn intermediate file 3@/*- pnglibconf.dfn intermediate file
4@ * generated from scripts/pnglibconf.dfa 4@ * generated from scripts/pnglibconf.dfa
5@ */ 5@ */
6# 6#
7com pnglibconf.h - library build configuration 7com pnglibconf.h - library build configuration
8com 8com
9version 9version
10com 10com
11com Copyright (c) 1998-2011 Glenn Randers-Pehrson 11com Copyright (c) 1998-2011 Glenn Randers-Pehrson
12com 12com
13com This code is released under the libpng license. 13com This code is released under the libpng license.
14com For conditions of distribution and use, see the disclaimer 14com For conditions of distribution and use, see the disclaimer
15com and license in png.h 15com and license in png.h
16com 16com
17 17
18file pnglibconf.h scripts/pnglibconf.dfa PNGLCONF_H 18file pnglibconf.h scripts/pnglibconf.dfa PNGLCONF_H
19 19
20# This file is preprocessed by scripts/options.awk and the 20# This file is preprocessed by scripts/options.awk and the
21# C compiler to generate 'pnglibconf.h' - a list of all the 21# C compiler to generate 'pnglibconf.h' - a list of all the
22# configuration options. The file lists the various options 22# configuration options. The file lists the various options
23# that can *only* be specified during the libpng build; 23# that can *only* be specified during the libpng build;
24# pnglibconf.h freezes the definitons selected for the specific 24# pnglibconf.h freezes the definitons selected for the specific
25# build. 25# build.
26# 26#
27# The syntax is detailed in scripts/options.awk, this is a summary 27# The syntax is detailed in scripts/options.awk, this is a summary
28# only: 28# only:
29# 29#
30# setting <name> [requires ...] [default] 30# setting <name> [requires ...] [default]
31# #define PNG_<name> <value> /* value comes from current setting */ 31# #define PNG_<name> <value> /* value comes from current setting */
32# option <name> [requires ...] [if ...] [enables ...] [disabled] 32# option <name> [requires ...] [if ...] [enables ...] [disabled]
33# #define PNG_<name>_SUPPORTED if the requirements are met and 33# #define PNG_<name>_SUPPORTED if the requirements are met and
34# enable the other options listed 34# enable the other options listed
35# chunk <name> [requires ...] [disabled] 35# chunk <name> [requires ...] [disabled]
36# Enable chunk processing for the given ancillary chunk 36# Enable chunk processing for the given ancillary chunk
37# 37#
38# Note that the 'on' and 'off' keywords, while valid on both option 38# Note that the 'on' and 'off' keywords, while valid on both option
39# and chunk, should not be used in this file because they force the 39# and chunk, should not be used in this file because they force the
40# relevant options on or off. 40# relevant options on or off.
41 41
42#---------------------------------------------------------------------- 42#----------------------------------------------------------------------
43 43
44# The following setting, option and chunk values can all be changed 44# The following setting, option and chunk values can all be changed
45# while building libpng: 45# while building libpng:
46# 46#
47# setting: change 'setting' lines to fine tune library performance, 47# setting: change 'setting' lines to fine tune library performance,
48# changes to the settings don't affect the libpng API functionally 48# changes to the settings don't affect the libpng API functionally
49# 49#
50# option: change 'option' lines to remove or add capabilities from 50# option: change 'option' lines to remove or add capabilities from
51# or to the library; options change the library API 51# or to the library; options change the library API
52# 52#
53# chunk: change 'chunk' lines to remove capabilities to process 53# chunk: change 'chunk' lines to remove capabilities to process
54# optional ('ancillary') chunks. This does not prevent PNG 54# optional ('ancillary') chunks. This does not prevent PNG
55# decoding but does change the libpng API because some chunks 55# decoding but does change the libpng API because some chunks
56# will be ignored. 56# will be ignored.
57# 57#
58# There are three ways of disabling features, in no particular order: 58# There are three ways of disabling features, in no particular order:
59# 59#
60# 1) Create 'pngusr.h', enter the required private build information 60# 1) Create 'pngusr.h', enter the required private build information
61# detailed below and #define PNG_NO_<option> for each option you 61# detailed below and #define PNG_NO_<option> for each option you
62# don't want in that file in that file. You can also turn on options 62# don't want in that file in that file. You can also turn on options
63# using PNG_<option>_SUPPORTED. When you have finished rerun 63# using PNG_<option>_SUPPORTED. When you have finished rerun
64# configure and rebuild pnglibconf.h file with -DPNG_USER_CONFIG: 64# configure and rebuild pnglibconf.h file with -DPNG_USER_CONFIG:
65# 65#
66# make clean 66# make clean
67# CPPFLAGS='-DPNG_USER_CONFIG' ./configure 67# CPPFLAGS='-DPNG_USER_CONFIG' ./configure
68# make pnglibconf.h 68# make pnglibconf.h
69# 69#
70# pngusr.h is only used during the creation of pnglibconf.h, but it 70# pngusr.h is only used during the creation of pnglibconf.h, but it
71# is safer to ensure that -DPNG_USER_CONFIG is specified throughout 71# is safer to ensure that -DPNG_USER_CONFIG is specified throughout
72# the build by changing the CPPFLAGS passed to the initial ./configure 72# the build by changing the CPPFLAGS passed to the initial ./configure
73# 73#
74# 2) Add definitions of the settings you want to change to 74# 2) Add definitions of the settings you want to change to
75# CPPFLAGS; for example: 75# CPPFLAGS; for example:
76# 76#
77# -DPNG_DEFAULT_READ_MACROS=0 77# -DPNG_DEFAULT_READ_MACROS=0
78# 78#
79# (This would change the default to *not* use read macros.) Be 79# (This would change the default to *not* use read macros.) Be
80# very careful to change only settings that don't alter the API 80# very careful to change only settings that don't alter the API
81# because this approach bypasses the private build checking. You 81# because this approach bypasses the private build checking. You
82# can also change settings from pngpriv.h (read pngpriv.h) safely 82# can also change settings from pngpriv.h (read pngpriv.h) safely
83# without API changes. Do that in the same way. 83# without API changes. Do that in the same way.
84# 84#
85# 3) Write a new '.dfa' file (say 'pngusr.dfa') and in this file 85# 3) Write a new '.dfa' file (say 'pngusr.dfa') and in this file
86# provide override values for setting entries and turn option or 86# provide override values for setting entries and turn option or
87# chunk values explicitly 'on' or 'off': 87# chunk values explicitly 'on' or 'off':
88# 88#
89# setting FOO default VALUE 89# setting FOO default VALUE
90# option BAR [on|off] 90# option BAR [on|off]
91# 91#
92# Then add this file to the options.awk command line (the *first* 92# Then add this file to the options.awk command line (the *first*
93# one) after this file. The make macro DFA_XTRA is provided to make 93# one) after this file. The make macro DFA_XTRA is provided to make
94# this easier (set it like CPPFLAGS prior to running ./configure). 94# this easier (set it like CPPFLAGS prior to running ./configure).
95# Look at the builds below contrib/pngminim for some extreme examples 95# Look at the builds below contrib/pngminim for some extreme examples
96# of how this can be used. 96# of how this can be used.
97# 97#
98# Don't edit this file unless you are contributing a patch to 98# Don't edit this file unless you are contributing a patch to
99# libpng and need new or modified options/settings. 99# libpng and need new or modified options/settings.
100#---------------------------------------------------------------------- 100#----------------------------------------------------------------------
101 101
102# The following causes commented out #undef lines to be written to 102# The following causes commented out #undef lines to be written to
103# pnglibconf.h; this can be stopped by logunsupported=0 in a later 103# pnglibconf.h; this can be stopped by logunsupported=0 in a later
104# file or on the command line (after pnglibconf.dfa) 104# file or on the command line (after pnglibconf.dfa)
105 105
106logunsupported = 1 106logunsupported = 1
107 107
108# PNG_USER_CONFIG has to be defined on the compiler command line 108# PNG_USER_CONFIG has to be defined on the compiler command line
109# to cause pngusr.h to be read while constructing pnglibconf.h 109# to cause pngusr.h to be read while constructing pnglibconf.h
110# 110#
111# If you create a private DLL you need to define the following 111# If you create a private DLL you need to define the following
112# macros in the file 'pngusr.h' and set -DPNG_USER_CONFIG for 112# macros in the file 'pngusr.h' and set -DPNG_USER_CONFIG for
113# compilation (i.e. in CFLAGS.) 113# compilation (i.e. in CFLAGS.)
114# #define PNG_USER_PRIVATEBUILD \ 114# #define PNG_USER_PRIVATEBUILD \
115# <Describes by whom and why this version of the DLL was built> 115# <Describes by whom and why this version of the DLL was built>
116# e.g. #define PNG_USER_PRIVATEBUILD "Build by MyCompany for xyz reasons." 116# e.g. #define PNG_USER_PRIVATEBUILD "Build by MyCompany for xyz reasons."
117# #define PNG_USER_DLLFNAME_POSTFIX <two-letter postfix that serve to 117# #define PNG_USER_DLLFNAME_POSTFIX <two-letter postfix that serve to
118# distinguish your DLL from those of the official release. These 118# distinguish your DLL from those of the official release. These
119# correspond to the trailing letters that come after the version 119# correspond to the trailing letters that come after the version
120# number and must match your private DLL name> 120# number and must match your private DLL name>
121# e.g. // private DLL "libpng13gx.dll" 121# e.g. // private DLL "libpng13gx.dll"
122# #define PNG_USER_DLLFNAME_POSTFIX "gx" 122# #define PNG_USER_DLLFNAME_POSTFIX "gx"
123# 123#
124# The following macros are also at your disposal if you want to complete the 124# The following macros are also at your disposal if you want to complete the
125# DLL VERSIONINFO structure. 125# DLL VERSIONINFO structure.
126# - PNG_USER_VERSIONINFO_COMMENTS 126# - PNG_USER_VERSIONINFO_COMMENTS
127# - PNG_USER_VERSIONINFO_COMPANYNAME 127# - PNG_USER_VERSIONINFO_COMPANYNAME
128# - PNG_USER_VERSIONINFO_LEGALTRADEMARKS 128# - PNG_USER_VERSIONINFO_LEGALTRADEMARKS
129 129
130@#ifdef PNG_USER_CONFIG 130@#ifdef PNG_USER_CONFIG
131@# include "pngusr.h" 131@# include "pngusr.h"
132@#endif 132@#endif
133 133
134# This is a special fixup for the Watcom C compiler on Windows, which has 134# This is a special fixup for the Watcom C compiler on Windows, which has
135# multiple procedure call standards. Unless PNG_API_RULE is set explicitly 135# multiple procedure call standards. Unless PNG_API_RULE is set explicitly
136# (i.e. if it is not defined at this point) it will be forced to '2' here when 136# (i.e. if it is not defined at this point) it will be forced to '2' here when
137# using Watcom. This indicates to the other header files that Watcom behaviour 137# using Watcom. This indicates to the other header files that Watcom behaviour
138# is required where appropriate. 138# is required where appropriate.
139 139
140@#ifdef __WATCOMC__ 140@#ifdef __WATCOMC__
141@# ifndef PNG_API_RULE 141@# ifndef PNG_API_RULE
142@# define PNG_API_RULE 2 /* Use Watcom calling conventions */ 142@# define PNG_API_RULE 2 /* Use Watcom calling conventions */
143@# endif 143@# endif
144@#endif 144@#endif
145 145
146# Note that PNG_USR_CONFIG only has an effect when building 146# Note that PNG_USR_CONFIG only has an effect when building
147# pnglibconf.h 147# pnglibconf.h
148 148
149setting USER_CONFIG 149setting USER_CONFIG
150setting USER_PRIVATEBUILD 150setting USER_PRIVATEBUILD
151setting USER_DLLFNAME_POSTFIX 151setting USER_DLLFNAME_POSTFIX
152setting USER_VERSIONINFO_COMMENTS 152setting USER_VERSIONINFO_COMMENTS
153setting USER_VERSIONINFO_COMPANYNAME 153setting USER_VERSIONINFO_COMPANYNAME
154setting USER_VERSIONINFO_LEGALTRADEMARKS 154setting USER_VERSIONINFO_LEGALTRADEMARKS
155 155
156# Record the 'API rule' used to select calling conventions on 156# Record the 'API rule' used to select calling conventions on
157# those systems that support such things (see all the comments in 157# those systems that support such things (see all the comments in
158# pngconf.h) 158# pngconf.h)
159# Changing this setting has a fundamental affect on the PNG ABI, 159# Changing this setting has a fundamental affect on the PNG ABI,
160# do not release shared libraries with this changed. 160# do not release shared libraries with this changed.
161 161
162setting API_RULE default 0 162setting API_RULE default 0
163 163
164# Default to using the read macros 164# Default to using the read macros
165 165
166setting DEFAULT_READ_MACROS default 1 166setting DEFAULT_READ_MACROS default 1
167 167
168# The alternative is to call functions to read PNG values, if 168# The alternative is to call functions to read PNG values, if
169# the functions are turned *off* the read macros must always 169# the functions are turned *off* the read macros must always
170# be enabled, so turning this off will actually force the 170# be enabled, so turning this off will actually force the
171# USE_READ_MACROS option on (see pngconf.h) 171# USE_READ_MACROS option on (see pngconf.h)
172 172
173option READ_INT_FUNCTIONS requires READ 173option READ_INT_FUNCTIONS requires READ
174 174
175# The same for write, but these can only be switched off if 175# The same for write, but these can only be switched off if
176# no writing is required at all - hence the use of an 'enables' 176# no writing is required at all - hence the use of an 'enables'
177# not a 'requires' below: 177# not a 'requires' below:
178 178
179option WRITE_INT_FUNCTIONS disabled 179option WRITE_INT_FUNCTIONS disabled
180option WRITE enables WRITE_INT_FUNCTIONS 180option WRITE enables WRITE_INT_FUNCTIONS
181 181
182# Generic options - affect both read and write. 182# Generic options - affect both read and write.
183 183
184option WARNINGS 184option WARNINGS
185option BENIGN_ERRORS 185option BENIGN_ERRORS
186option MNG_FEATURES 186option MNG_FEATURES
187 187
188# Arithmetic options, the first is the big switch that chooses between internal 188# Arithmetic options, the first is the big switch that chooses between internal
189# floating and fixed point arithmetic implementations - it does not affect any 189# floating and fixed point arithmetic implementations - it does not affect any
190# APIs. The second two (the _POINT settings) switch off individual APIs. 190# APIs. The second two (the _POINT settings) switch off individual APIs.
191 191
192option FLOATING_ARITHMETIC 192option FLOATING_ARITHMETIC
193option FLOATING_POINT enables ok_math 193option FLOATING_POINT enables ok_math
194option FIXED_POINT enables ok_math 194option FIXED_POINT enables ok_math
195 195
196# Added at libpng version 1.4.0 196# Added at libpng version 1.4.0
197 197
198option ERROR_TEXT 198option ERROR_TEXT
199 199
200# The following is always on (defined empty) 200# The following is always on (defined empty)
201 201
202setting CALLOC_SUPPORTED default 202setting CALLOC_SUPPORTED default
203 203
204# This protects us against compilers that run on a windowing system 204# This protects us against compilers that run on a windowing system
205# and thus don't have or would rather us not use the stdio types: 205# and thus don't have or would rather us not use the stdio types:
206# stdin, stdout, and stderr. The only one currently used is stderr 206# stdin, stdout, and stderr. The only one currently used is stderr
207# in png_error() and png_warning(). #defining PNG_NO_CONSOLE_IO will 207# in png_error() and png_warning(). #defining PNG_NO_CONSOLE_IO will
208# prevent these from being compiled and used. #defining PNG_NO_STDIO 208# prevent these from being compiled and used. #defining PNG_NO_STDIO
209# will also prevent these, plus will prevent the entire set of stdio 209# will also prevent these, plus will prevent the entire set of stdio
210# macros and functions (FILE *, printf, etc.) from being compiled and used, 210# macros and functions (FILE *, printf, etc.) from being compiled and used,
211# unless (PNG_DEBUG > 0) has been #defined. 211# unless (PNG_DEBUG > 0) has been #defined.
212 212
213option STDIO 213option STDIO
214option CONSOLE_IO requires STDIO 214option CONSOLE_IO requires STDIO
215 215
216# Note: prior to 1.5.0 this option could not be disabled if STDIO 216# Note: prior to 1.5.0 this option could not be disabled if STDIO
217# was enabled. Prior to 1.5.3 this option required STDIO 217# was enabled. Prior to 1.5.3 this option required STDIO
218 218
219option TIME_RFC1123 219option TIME_RFC1123
220 220
221# PNG_SETJMP_NOT_SUPPORTED is an old equivalent for NO_SETJMP 221# PNG_SETJMP_NOT_SUPPORTED is an old equivalent for NO_SETJMP
222 222
223option SETJMP 223option SETJMP
224= NO_SETJMP SETJMP_NOT_SUPPORTED 224= NO_SETJMP SETJMP_NOT_SUPPORTED
225 225
226# For the moment this is disabled (no code support): 226# For the moment this is disabled (no code support):
227 227
228option ERROR_NUMBERS disabled 228option ERROR_NUMBERS disabled
229 229
230# If this is disabled it is not possible for apps to get the 230# If this is disabled it is not possible for apps to get the
231# values from the 'info' structure, this effectively removes 231# values from the 'info' structure, this effectively removes
232# quite a lot of the READ API. 232# quite a lot of the READ API.
233 233
234option EASY_ACCESS 234option EASY_ACCESS
235 235
236# Added at libpng-1.2.0 236# Added at libpng-1.2.0
237 237
238option USER_MEM 238option USER_MEM
239 239
240# Added at libpng-1.4.0 240# Added at libpng-1.4.0
241 241
242option IO_STATE 242option IO_STATE
243 243
244# This is only for PowerPC big-endian and 680x0 systems 244# This is only for PowerPC big-endian and 680x0 systems
245# some testing, not enabled by default. 245# some testing, not enabled by default.
246# NO LONGER USED 246# NO LONGER USED
247 247
248#option READ_BIG_ENDIAN disabled 248#option READ_BIG_ENDIAN disabled
249 249
250# Allow users to control limits on what the READ code will 250# Allow users to control limits on what the READ code will
251# read: 251# read:
252 252
253# Added at libpng-1.2.43; adds limit fields to png_struct, 253# Added at libpng-1.2.43; adds limit fields to png_struct,
254# allows some usages of these fields 254# allows some usages of these fields
255 255
256option USER_LIMITS 256option USER_LIMITS
257 257
258# Added at libpng-1.2.6; adds setting APIs, allows additional 258# Added at libpng-1.2.6; adds setting APIs, allows additional
259# usage of this field (UTSL) 259# usage of this field (UTSL)
260 260
261option SET_USER_LIMITS requires USER_LIMITS 261option SET_USER_LIMITS requires USER_LIMITS
262 262
263# Feature added at libpng-1.4.0, this flag added at 1.4.1 263# Feature added at libpng-1.4.0, this flag added at 1.4.1
264option SET_USER_LIMITS enables SET_CHUNK_CACHE_LIMIT 264option SET_USER_LIMITS enables SET_CHUNK_CACHE_LIMIT
265# Feature added at libpng-1.4.1, this flag added at 1.4.1 265# Feature added at libpng-1.4.1, this flag added at 1.4.1
266 266
267option SET_USER_LIMITS enables SET_CHUNK_MALLOC_LIMIT 267option SET_USER_LIMITS enables SET_CHUNK_MALLOC_LIMIT
268 268
269# Added at libpng-1.0.16 and 1.2.6. To accept all valid PNGs no matter 269# Added at libpng-1.0.16 and 1.2.6. To accept all valid PNGs no matter
270# how large, set these two limits to 0x7fffffff 270# how large, set these two limits to 0x7fffffff
271 271
272setting USER_WIDTH_MAX default 1000000 272setting USER_WIDTH_MAX default 1000000
273setting USER_HEIGHT_MAX default 1000000 273setting USER_HEIGHT_MAX default 1000000
274 274
275# Added at libpng-1.2.43. To accept all valid PNGs no matter 275# Added at libpng-1.2.43. To accept all valid PNGs no matter
276# how large, set these two limits to 0. 276# how large, set these two limits to 0.
277 277
278setting USER_CHUNK_CACHE_MAX default 0 278setting USER_CHUNK_CACHE_MAX default 0
279 279
280# Added at libpng-1.2.43 280# Added at libpng-1.2.43
281 281
282setting USER_CHUNK_MALLOC_MAX default 0 282setting USER_CHUNK_MALLOC_MAX default 0
283 283
284# All of the following options relate to code capabilities for 284# All of the following options relate to code capabilities for
285# processing image data before creating a PNG or after reading one. 285# processing image data before creating a PNG or after reading one.
286# You can remove these capabilities safely and still be PNG 286# You can remove these capabilities safely and still be PNG
287# conformant, however the library that results is still non-standard. 287# conformant, however the library that results is still non-standard.
288# See the comments above about how to change options and settings. 288# See the comments above about how to change options and settings.
289 289
290# READ options 290# READ options
291 291
292option READ enables READ_INTERLACING 292option READ enables READ_INTERLACING
293 293
294# Disabling READ_16BIT does not disable reading 16-bit PNG files, but it 294# Disabling READ_16BIT does not disable reading 16-bit PNG files, but it
295# forces them to be chopped down to 8-bit, and disables any 16-bit 295# forces them to be chopped down to 8-bit, and disables any 16-bit
296# processing after that has happened. You need to be sure to enable 296# processing after that has happened. You need to be sure to enable
297# READ_SCALE_16_TO_8 or READ_STRIP_16_TO_8 when you disable READ_16BIT for 297# READ_SCALE_16_TO_8 or READ_STRIP_16_TO_8 when you disable READ_16BIT for
298# this to work properly. You should disable the other option if you need to 298# this to work properly. You should disable the other option if you need to
299# ensure a particular conversion (otherwise the app can chose.) 299# ensure a particular conversion (otherwise the app can chose.)
300 300
301option READ_16BIT requires READ enables 16BIT 301option READ_16BIT requires READ enables 16BIT
302 302
303option READ_QUANTIZE requires READ 303option READ_QUANTIZE requires READ
304 304
305option READ_TRANSFORMS requires READ 305option READ_TRANSFORMS requires READ
306= NO_READ_TRANSFORMS READ_TRANSFORMS_NOT_SUPPORTED 306= NO_READ_TRANSFORMS READ_TRANSFORMS_NOT_SUPPORTED
307 307
308option READ_EXPAND requires READ_TRANSFORMS 308option READ_EXPAND requires READ_TRANSFORMS
309option READ_EXPAND_16 requires READ_TRANSFORMS READ_16BIT enables READ_EXPAND 309option READ_EXPAND_16 requires READ_TRANSFORMS READ_16BIT enables READ_EXPAND
310option READ_SHIFT requires READ_TRANSFORMS 310option READ_SHIFT requires READ_TRANSFORMS
311option READ_PACK requires READ_TRANSFORMS 311option READ_PACK requires READ_TRANSFORMS
312option READ_BGR requires READ_TRANSFORMS 312option READ_BGR requires READ_TRANSFORMS
313option READ_SWAP requires READ_TRANSFORMS READ_16BIT 313option READ_SWAP requires READ_TRANSFORMS READ_16BIT
314option READ_PACKSWAP requires READ_TRANSFORMS 314option READ_PACKSWAP requires READ_TRANSFORMS
315option READ_INVERT requires READ_TRANSFORMS 315option READ_INVERT requires READ_TRANSFORMS
316option READ_BACKGROUND requires READ_TRANSFORMS enables READ_STRIP_ALPHA 316option READ_BACKGROUND requires READ_TRANSFORMS enables READ_STRIP_ALPHA
317option READ_STRIP_16_TO_8 requires READ_TRANSFORMS 317option READ_STRIP_16_TO_8 requires READ_TRANSFORMS
318option READ_SCALE_16_TO_8 requires READ_TRANSFORMS 318option READ_SCALE_16_TO_8 requires READ_TRANSFORMS
319option READ_FILLER requires READ_TRANSFORMS 319option READ_FILLER requires READ_TRANSFORMS
320option READ_GAMMA requires READ_TRANSFORMS enables READ_gAMA 320option READ_GAMMA requires READ_TRANSFORMS enables READ_gAMA
321option READ_GRAY_TO_RGB requires READ_TRANSFORMS 321option READ_GRAY_TO_RGB requires READ_TRANSFORMS
322 322
323option READ_ALPHA_MODE requires READ_TRANSFORMS enables READ_GAMMA 323option READ_ALPHA_MODE requires READ_TRANSFORMS enables READ_GAMMA
324option READ_SWAP_ALPHA requires READ_TRANSFORMS 324option READ_SWAP_ALPHA requires READ_TRANSFORMS
325option READ_INVERT_ALPHA requires READ_TRANSFORMS 325option READ_INVERT_ALPHA requires READ_TRANSFORMS
326option READ_STRIP_ALPHA requires READ_TRANSFORMS 326option READ_STRIP_ALPHA requires READ_TRANSFORMS
327option READ_USER_TRANSFORM requires READ_TRANSFORMS 327option READ_USER_TRANSFORM requires READ_TRANSFORMS
328option READ_RGB_TO_GRAY requires READ_TRANSFORMS 328option READ_RGB_TO_GRAY requires READ_TRANSFORMS
329 329
330option PROGRESSIVE_READ requires READ 330option PROGRESSIVE_READ requires READ
331option SEQUENTIAL_READ requires READ 331option SEQUENTIAL_READ requires READ
332 332
333# You can define PNG_NO_PROGRESSIVE_READ if you don't do progressive reading. 333# You can define PNG_NO_PROGRESSIVE_READ if you don't do progressive reading.
334# This is not talking about interlacing capability! You'll still have 334# This is not talking about interlacing capability! You'll still have
335# interlacing unless you turn off the following which is required 335# interlacing unless you turn off the following which is required
336# for PNG-compliant decoders. (In other words, do not do this - in 336# for PNG-compliant decoders. (In other words, do not do this - in
337# fact it can't be disabled from the command line!) 337# fact it can't be disabled from the command line!)
338#option READ_INTERLACING requires READ 338#option READ_INTERLACING requires READ
339 339
340option READ_COMPOSITE_NODIV requires READ 340option READ_COMPOSITE_NODIV requires READ
341= NO_READ_COMPOSITE_NODIV NO_READ_COMPOSITED_NODIV 341= NO_READ_COMPOSITE_NODIV NO_READ_COMPOSITED_NODIV
342 342
343# Inch conversions 343# Inch conversions
344 344
345option INCH_CONVERSIONS 345option INCH_CONVERSIONS
346= INCH_CONVERSIONS INCH_CONVERSIONS 346= INCH_CONVERSIONS INCH_CONVERSIONS
347 347
348# API to build a grayscale palette 348# API to build a grayscale palette
349 349
350option BUILD_GRAYSCALE_PALETTE 350option BUILD_GRAYSCALE_PALETTE
351 351
352# IN DEVELOPMENT 352# IN DEVELOPMENT
353# These are currently experimental features; define them if you want 353# These are currently experimental features; define them if you want
354 354
355# NOTHING HERE 355# NOTHING HERE
356 356
357# WRITE options 357# WRITE options
358 358
359option WRITE 359option WRITE
360 360
361# Disabling WRITE_16BIT prevents 16-bit PNG files from being 361# Disabling WRITE_16BIT prevents 16-bit PNG files from being
362# generated. 362# generated.
363option WRITE_16BIT requires WRITE enables 16BIT 363option WRITE_16BIT requires WRITE enables 16BIT
364 364
365option WRITE_TRANSFORMS requires WRITE 365option WRITE_TRANSFORMS requires WRITE
366= NO_WRITE_TRANSFORMS WRITE_TRANSFORMS_NOT_SUPPORTED 366= NO_WRITE_TRANSFORMS WRITE_TRANSFORMS_NOT_SUPPORTED
367 367
368option WRITE_SHIFT requires WRITE_TRANSFORMS 368option WRITE_SHIFT requires WRITE_TRANSFORMS
369option WRITE_PACK requires WRITE_TRANSFORMS 369option WRITE_PACK requires WRITE_TRANSFORMS
370option WRITE_BGR requires WRITE_TRANSFORMS 370option WRITE_BGR requires WRITE_TRANSFORMS
371option WRITE_SWAP requires WRITE_TRANSFORMS WRITE_16BIT 371option WRITE_SWAP requires WRITE_TRANSFORMS WRITE_16BIT
372option WRITE_PACKSWAP requires WRITE_TRANSFORMS 372option WRITE_PACKSWAP requires WRITE_TRANSFORMS
373option WRITE_INVERT requires WRITE_TRANSFORMS 373option WRITE_INVERT requires WRITE_TRANSFORMS
374option WRITE_FILLER requires WRITE_TRANSFORMS 374option WRITE_FILLER requires WRITE_TRANSFORMS
375option WRITE_SWAP_ALPHA requires WRITE_TRANSFORMS 375option WRITE_SWAP_ALPHA requires WRITE_TRANSFORMS
376option WRITE_INVERT_ALPHA requires WRITE_TRANSFORMS 376option WRITE_INVERT_ALPHA requires WRITE_TRANSFORMS
377option WRITE_USER_TRANSFORM requires WRITE_TRANSFORMS 377option WRITE_USER_TRANSFORM requires WRITE_TRANSFORMS
378 378
379# This is not required for PNG-compliant encoders, but can cause 379# This is not required for PNG-compliant encoders, but can cause
380# trouble if left undefined 380# trouble if left undefined
381 381
382option WRITE_INTERLACING requires WRITE 382option WRITE_INTERLACING requires WRITE
383 383
384# The following depends, internally, on WEIGHT_SHIFT and COST_SHIFT 384# The following depends, internally, on WEIGHT_SHIFT and COST_SHIFT
385# where are set below. 385# where are set below.
386 386
387option WRITE_WEIGHTED_FILTER requires WRITE 387option WRITE_WEIGHTED_FILTER requires WRITE
388 388
389option WRITE_FLUSH requires WRITE 389option WRITE_FLUSH requires WRITE
390 390
391# Note: these can be turned off explicitly if not required by the 391# Note: these can be turned off explicitly if not required by the
392# apps implementing the user transforms 392# apps implementing the user transforms
393option USER_TRANSFORM_PTR if READ_USER_TRANSFORM WRITE_USER_TRANSFORM 393option USER_TRANSFORM_PTR if READ_USER_TRANSFORM WRITE_USER_TRANSFORM
394option USER_TRANSFORM_INFO if READ_USER_TRANSFORM WRITE_USER_TRANSFORM 394option USER_TRANSFORM_INFO if READ_USER_TRANSFORM WRITE_USER_TRANSFORM
395 395
396# This enables API to set compression parameters for compressing 396# This enables API to set compression parameters for compressing
397# non-IDAT chunks (zTXt, iTXt, iCCP, and unknown chunks). This feature 397# non-IDAT chunks (zTXt, iTXt, iCCP, and unknown chunks). This feature
398# was added at libpng-1.5.3. 398# was added at libpng-1.5.3.
399option WRITE_CUSTOMIZE_ZTXT_COMPRESSION requires WRITE 399option WRITE_CUSTOMIZE_ZTXT_COMPRESSION requires WRITE
400 400
401# Any chunks you are not interested in, you can undef here. The 401# Any chunks you are not interested in, you can undef here. The
402# ones that allocate memory may be expecially important (hIST, 402# ones that allocate memory may be expecially important (hIST,
403# tEXt, zTXt, tRNS, pCAL). Others will just save time and make png_info 403# tEXt, zTXt, tRNS, pCAL). Others will just save time and make png_info
404# a bit smaller. 404# a bit smaller.
405 405
406# The size of the png_text structure changed in libpng-1.0.6 when 406# The size of the png_text structure changed in libpng-1.0.6 when
407# iTXt support was added. iTXt support was turned off by default through 407# iTXt support was added. iTXt support was turned off by default through
408# libpng-1.2.x, to support old apps that malloc the png_text structure 408# libpng-1.2.x, to support old apps that malloc the png_text structure
409# instead of calling png_set_text() and letting libpng malloc it. It 409# instead of calling png_set_text() and letting libpng malloc it. It
410# was turned on by default in libpng-1.4.0. 410# was turned on by default in libpng-1.4.0.
411 411
412option READ_ANCILLARY_CHUNKS requires READ 412option READ_ANCILLARY_CHUNKS requires READ
413# PNG_READ_ANCILLARY_CHUNKS_NOT_SUPPORTED is deprecated. 413# PNG_READ_ANCILLARY_CHUNKS_NOT_SUPPORTED is deprecated.
414= NO_READ_ANCILLARY_CHUNKS READ_ANCILLARY_CHUNKS_NOT_SUPPORTED 414= NO_READ_ANCILLARY_CHUNKS READ_ANCILLARY_CHUNKS_NOT_SUPPORTED
415 415
416option WRITE_ANCILLARY_CHUNKS requires WRITE 416option WRITE_ANCILLARY_CHUNKS requires WRITE
417# PNG_WRITE_ANCILLARY_CHUNKS_NOT_SUPPORTED is deprecated. 417# PNG_WRITE_ANCILLARY_CHUNKS_NOT_SUPPORTED is deprecated.
418= NO_WRITE_ANCILLARY_CHUNKS WRITE_ANCILLARY_CHUNKS_NOT_SUPPORTED 418= NO_WRITE_ANCILLARY_CHUNKS WRITE_ANCILLARY_CHUNKS_NOT_SUPPORTED
419 419
420# These options disable *all* the text chunks if turned off 420# These options disable *all* the text chunks if turned off
421 421
422option READ_TEXT requires READ_ANCILLARY_CHUNKS enables TEXT 422option READ_TEXT requires READ_ANCILLARY_CHUNKS enables TEXT
423option WRITE_TEXT requires WRITE_ANCILLARY_CHUNKS enables TEXT 423option WRITE_TEXT requires WRITE_ANCILLARY_CHUNKS enables TEXT
424 424
425# Moved to pnglibconf.h at libpng-1.5.0 425# Moved to pnglibconf.h at libpng-1.5.0
426# Feature support: in 1.4 this was in pngconf.h, but the following 426# Feature support: in 1.4 this was in pngconf.h, but the following
427# features have no affect on the libpng API. Add library 427# features have no affect on the libpng API. Add library
428# only features to the end of this list. Add features that 428# only features to the end of this list. Add features that
429# affect the API above. (Note: the list of chunks follows 429# affect the API above. (Note: the list of chunks follows
430# the library-only settings.) 430# the library-only settings.)
431# 431#
432# BUILD TIME ONLY OPTIONS 432# BUILD TIME ONLY OPTIONS
433# These options do not affect the API but rather alter how the 433# These options do not affect the API but rather alter how the
434# API is implemented, they get recorded in pnglibconf.h, but 434# API is implemented, they get recorded in pnglibconf.h, but
435# can't be changed by the application. 435# can't be changed by the application.
436 436
437# Check the correctness of cHRM chunks 437# Check the correctness of cHRM chunks
438 438
439option CHECK_cHRM requires cHRM 439option CHECK_cHRM requires cHRM
440 440
441# 441#
442# Artificially align memory - the code typically aligns to 8 byte 442# Artificially align memory - the code typically aligns to 8 byte
443# boundaries if this is switched on, it's a small waste of space 443# boundaries if this is switched on, it's a small waste of space
444# but can help (in theory) on some architectures. Only affects 444# but can help (in theory) on some architectures. Only affects
445# internal structures. Added at libpng 1.4.0 445# internal structures. Added at libpng 1.4.0
446 446
447option ALIGN_MEMORY 447option ALIGN_MEMORY
448 448
449# Buggy compilers (e.g., gcc 2.7.2.2) need PNG_NO_POINTER_INDEXING 449# Buggy compilers (e.g., gcc 2.7.2.2) need PNG_NO_POINTER_INDEXING
450# See png[wr]util.c, normally this should always be *on* 450# See png[wr]util.c, normally this should always be *on*
451 451
452option POINTER_INDEXING 452option POINTER_INDEXING
453 453
454# Other defines for things like memory and the like can go here. 454# Other defines for things like memory and the like can go here.
455 455
456# BUILD TIME SETTINGS 456# BUILD TIME SETTINGS
457# Like build time options these do not affect the API, but they 457# Like build time options these do not affect the API, but they
458# may be useful to applications because they record details of 458# may be useful to applications because they record details of
459# how the API will behave particularly with regard to overall 459# how the API will behave particularly with regard to overall
460# accuracy. 460# accuracy.
461 461
462# This controls how fine the quantizing gets. As this allocates 462# This controls how fine the quantizing gets. As this allocates
463# a largish chunk of memory (32K), those who are not as concerned 463# a largish chunk of memory (32K), those who are not as concerned
464# with quantizing quality can decrease some or all of these. 464# with quantizing quality can decrease some or all of these.
465 465
466setting QUANTIZE_RED_BITS default 5 466setting QUANTIZE_RED_BITS default 5
467setting QUANTIZE_GREEN_BITS default 5 467setting QUANTIZE_GREEN_BITS default 5
468setting QUANTIZE_BLUE_BITS default 5 468setting QUANTIZE_BLUE_BITS default 5
469 469
470# This controls how fine the gamma correction becomes when you 470# This controls how fine the gamma correction becomes when you
471# are only interested in 8 bits anyway. Increasing this value 471# are only interested in 8 bits anyway. Increasing this value
472# results in more memory being used, and more pow() functions 472# results in more memory being used, and more pow() functions
473# being called to fill in the gamma tables. Don't set this value 473# being called to fill in the gamma tables. Don't set this value
474# less then 8, and even that may not work (I haven't tested it). 474# less then 8, and even that may not work (I haven't tested it).
475 475
476setting MAX_GAMMA_8 default 11 476setting MAX_GAMMA_8 default 11
477 477
478# This controls how much a difference in gamma we can tolerate before 478# This controls how much a difference in gamma we can tolerate before
479# we actually start doing gamma conversion, it's a fixed point value, 479# we actually start doing gamma conversion, it's a fixed point value,
480# so the default below is 0.05, meaning libpng ignores corrections in 480# so the default below is 0.05, meaning libpng ignores corrections in
481# the range 0.95 to 1.05 481# the range 0.95 to 1.05
482 482
483setting GAMMA_THRESHOLD_FIXED default 5000 483setting GAMMA_THRESHOLD_FIXED default 5000
484 484
485# Scaling factor for filter heuristic weighting calculations 485# Scaling factor for filter heuristic weighting calculations
486 486
487setting WEIGHT_SHIFT default 8 487setting WEIGHT_SHIFT default 8
488setting COST_SHIFT default 3 488setting COST_SHIFT default 3
489 489
490# Precision to use when converting a floating point value to a PNG 490# Precision to use when converting a floating point value to a PNG
491# extension format string in an sCAL chunk (only relevant if the 491# extension format string in an sCAL chunk (only relevant if the
492# floating point API is enabled) 492# floating point API is enabled)
493 493
494setting sCAL_PRECISION default 5 494setting sCAL_PRECISION default 5
495 495
496# This is the size of the compression buffer, and thus the size of 496# This is the size of the compression buffer, and thus the size of
497# an IDAT chunk. Make this whatever size you feel is best for your 497# an IDAT chunk. Make this whatever size you feel is best for your
498# machine. One of these will be allocated per png_struct. When this 498# machine. One of these will be allocated per png_struct. When this
499# is full, it writes the data to the disk, and does some other 499# is full, it writes the data to the disk, and does some other
500# calculations. Making this an extremely small size may slow 500# calculations. Making this an extremely small size may slow
501# the library down, but you may want to experiment to determine 501# the library down, but you may want to experiment to determine
502# where it becomes significant, if you are concerned with memory 502# where it becomes significant, if you are concerned with memory
503# usage. Note that zlib allocates at least 32Kb also. For readers, 503# usage. Note that zlib allocates at least 32Kb also. For readers,
504# this describes the size of the buffer available to read the data in. 504# this describes the size of the buffer available to read the data in.
505# Unless this gets smaller than the size of a row (compressed), 505# Unless this gets smaller than the size of a row (compressed),
506# it should not make much difference how big this is. 506# it should not make much difference how big this is.
507 507
508setting ZBUF_SIZE default 8192 508setting ZBUF_SIZE default 8192
509 509
510# Ancillary chunks 510# Ancillary chunks
511chunk bKGD 511chunk bKGD
512chunk cHRM 512chunk cHRM
513chunk gAMA 513chunk gAMA
514chunk hIST 514chunk hIST
515chunk iCCP 515chunk iCCP
516chunk iTXt 516chunk iTXt
517chunk oFFs 517chunk oFFs
518chunk pCAL 518chunk pCAL
519chunk sCAL 519chunk sCAL
520chunk pHYs 520chunk pHYs
521chunk sBIT 521chunk sBIT
522chunk sPLT 522chunk sPLT
523chunk sRGB 523chunk sRGB
524chunk tEXt requires TEXT 524chunk tEXt requires TEXT
525chunk tIME 525chunk tIME
526chunk tRNS 526chunk tRNS
527chunk zTXt 527chunk zTXt
528 528
529# This only affects support of the optional PLTE chunk in RGB and RGBA 529# This only affects support of the optional PLTE chunk in RGB and RGBA
530# images. Notice that READ_ANCILLARY_CHUNKS therefore disables part 530# images. Notice that READ_ANCILLARY_CHUNKS therefore disables part
531# of the regular chunk reading too. 531# of the regular chunk reading too.
532 532
533option READ_OPT_PLTE requires READ_ANCILLARY_CHUNKS 533option READ_OPT_PLTE requires READ_ANCILLARY_CHUNKS
534 534
535option READ_UNKNOWN_CHUNKS requires READ 535option READ_UNKNOWN_CHUNKS requires READ
536option READ_UNKNOWN_CHUNKS enables UNKNOWN_CHUNKS READ_USER_CHUNKS 536option READ_UNKNOWN_CHUNKS enables UNKNOWN_CHUNKS READ_USER_CHUNKS
537option READ_USER_CHUNKS requires READ enables USER_CHUNKS 537option READ_USER_CHUNKS requires READ enables USER_CHUNKS
538 538
539option CONVERT_tIME requires WRITE_ANCILLARY_CHUNKS 539option CONVERT_tIME requires WRITE_ANCILLARY_CHUNKS
540# The "tm" structure is not supported on WindowsCE 540# The "tm" structure is not supported on WindowsCE
541 541
542@#ifdef _WIN32_WCE 542@#ifdef _WIN32_WCE
543@# define PNG_NO_CONVERT_tIME 543@# define PNG_NO_CONVERT_tIME
544@#endif 544@#endif
545 545
546option WRITE_FILTER requires WRITE 546option WRITE_FILTER requires WRITE
547 547
548option WRITE_UNKNOWN_CHUNKS requires WRITE 548option WRITE_UNKNOWN_CHUNKS requires WRITE
549 549
550option HANDLE_AS_UNKNOWN 550option HANDLE_AS_UNKNOWN
551 551
552option SAVE_INT_32 requires WRITE 552option SAVE_INT_32 requires WRITE
553 553
554# png_save_int_32 is required by the ancillary chunks oFFs and pCAL 554# png_save_int_32 is required by the ancillary chunks oFFs and pCAL
555 555
556# added at libpng-1.5.4 556# added at libpng-1.5.4
557 557
558option WRITE_OPTIMIZE_CMF requires WRITE 558option WRITE_OPTIMIZE_CMF requires WRITE
559 559
560option READ_COMPRESSED_TEXT disabled 560option READ_COMPRESSED_TEXT disabled
561option READ_iCCP enables READ_COMPRESSED_TEXT 561option READ_iCCP enables READ_COMPRESSED_TEXT
562option READ_iTXt enables READ_COMPRESSED_TEXT 562option READ_iTXt enables READ_COMPRESSED_TEXT
563option READ_zTXt enables READ_COMPRESSED_TEXT 563option READ_zTXt enables READ_COMPRESSED_TEXT
564option READ_COMPRESSED_TEXT enables READ_TEXT 564option READ_COMPRESSED_TEXT enables READ_TEXT
565 565
566option WRITE_oFFs enables SAVE_INT_32 566option WRITE_oFFs enables SAVE_INT_32
567option WRITE_pCAL enables SAVE_INT_32 567option WRITE_pCAL enables SAVE_INT_32
568 568
569option WRITE_COMPRESSED_TEXT disabled 569option WRITE_COMPRESSED_TEXT disabled
570option WRITE_iCCP enables WRITE_COMPRESSED_TEXT 570option WRITE_iCCP enables WRITE_COMPRESSED_TEXT
571option WRITE_iTXt enables WRITE_COMPRESSED_TEXT 571option WRITE_iTXt enables WRITE_COMPRESSED_TEXT
572option WRITE_zTXt enables WRITE_COMPRESSED_TEXT 572option WRITE_zTXt enables WRITE_COMPRESSED_TEXT
573option WRITE_COMPRESSED_TEXT enables WRITE_TEXT 573option WRITE_COMPRESSED_TEXT enables WRITE_TEXT
574 574
575# Turn this off to disable png_read_png() and png_write_png() and 575# Turn this off to disable png_read_png() and png_write_png() and
576# leave the row_pointers member out of the info structure. 576# leave the row_pointers member out of the info structure.
577 577
578option INFO_IMAGE 578option INFO_IMAGE