[devel] Added PNG_{READ,WRITE}_INT_FUNCTIONS_SUPPORTED.

This allows the functions
to read and write ints to be disabled independently of PNG_USE_READ_MACROS,
which allows libpng to be built with the functions even though the default
is to use the macros - this allows applications to choose at app build
time whether or not to use macros (previously impossible because the
functions weren't in the default build.)
This commit is contained in:
Glenn Randers-Pehrson
2010-04-24 09:18:57 -05:00
parent 1ff571914c
commit c3d73f4da9
6 changed files with 55 additions and 17 deletions

View File

@@ -137,6 +137,18 @@ setting API_RULE default 0
# Default to using the read macros
setting DEFAULT_READ_MACROS default 1
# The alternative is to call functions to read PNG values, if
# the functions are turned *off* the read macros must always
# be enabled, so turning this off will actually force the
# USE_READ_MACROS option on (see pngconf.h)
option READ_INT_FUNCTIONS requires READ
# The same for write, but these can only be switched off if
# no writing is required at all - hence the use of an 'enables'
# not a 'requires' below:
option WRITE_INT_FUNCTIONS off
option WRITE enables WRITE_INT_FUNCTIONS
# Generic options - affect both read and write.
option BENIGN_ERRORS off
option MNG_FEATURES
@@ -361,7 +373,7 @@ option WRITE_UNKNOWN_CHUNKS requires WRITE
option HANDLE_AS_UNKNOWN
option GET_INT_32 requires READ
option GET_INT_32 requires READ READ_INT_FUNCTIONS
# png_get_int_32 is required by the ancillary chunks oFFs and pCAL
option READ_oFFs enables GET_INT_32
option READ_pCAL enables GET_INT_32

View File

@@ -1,7 +1,7 @@
/* 1.5.0beta17 STANDARD API DEFINITION */
/* 1.5.0beta19 STANDARD API DEFINITION */
/* pnglibconf.h - library build configuration */
/* libpng version 1.5.0beta17 - April 2, 2010 */
/* libpng version 1.5.0beta19 - April 2, 2010 */
/* Copyright (c) 1998-2010 Glenn Randers-Pehrson */
@@ -48,6 +48,7 @@
#define PNG_IO_STATE_SUPPORTED
#define PNG_SET_USER_LIMITS_SUPPORTED
#define PNG_READ_ANCILLARY_CHUNKS_SUPPORTED
#define PNG_WRITE_INT_FUNCTIONS_SUPPORTED
#define PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED
#define PNG_WRITE_FILTER_SUPPORTED
#define PNG_SET_CHUNK_CACHE_LIMIT_SUPPORTED
@@ -84,14 +85,15 @@
#define PNG_READ_SHIFT_SUPPORTED
#define PNG_CONVERT_tIME_SUPPORTED
#define PNG_READ_USER_TRANSFORM_SUPPORTED
#define PNG_READ_INT_FUNCTIONS_SUPPORTED
#define PNG_READ_USER_CHUNKS_SUPPORTED
#define PNG_READ_hIST_SUPPORTED
#define PNG_READ_QUANTIZE_SUPPORTED
#define PNG_WRITE_WEIGHTED_FILTER_SUPPORTED
#define PNG_READ_SWAP_ALPHA_SUPPORTED
#define PNG_READ_COMPOSITE_NODIV_SUPPORTED
#define PNG_SEQUENTIAL_READ_SUPPORTED
#define PNG_READ_BACKGROUND_SUPPORTED
#define PNG_READ_QUANTIZE_SUPPORTED
#define PNG_READ_iCCP_SUPPORTED
#define PNG_READ_STRIP_ALPHA_SUPPORTED
#define PNG_READ_PACKSWAP_SUPPORTED