There are a bunch of #define's in pngconf.h that control what
parts of libpng are compiled. All the defines end in
_SUPPORTED. If you are never going to use a capability, you
can change the #define to #undef before recompiling libpng
and save yourself code and data space, or you can turn off
individual capabilities with defines that begin with PNG_NO_.
You can also turn all of the transforms and ancillary chunk
capabilities off en masse with compiler directives that define
PNG_NO_READ[or WRITE]_TRANSFORMS, or PNG_NO_READ[or
WRITE]_ANCILLARY_CHUNKS, or all four, along with directives
to turn on any of the capabilities that you do want. The
PNG_NO_READ[or WRITE]_TRANSFORMS directives disable the
extra transformations but still leave the library fully capable of
reading and writing PNG files with all known public chunks Use
of the PNG_NO_READ[or WRITE]_ANCILLARY_CHUNKS
directive produces a library that is incapable of reading or
writing ancillary chunks. If you are not using the progressive
reading capability, you can turn that off with
PNG_NO_PROGRESSIVE_READ (don't confuse this with the
INTERLACING capability, which you'll still have).
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Logged In: YES
user_id=513437
See
http://www.mirror.ac.uk/sites/www.libpng.org/pub/png/libpng-
1.2.5-manual.html#section-5.10
regarding how to do this.
Excerpt:
There are a bunch of #define's in pngconf.h that control what
parts of libpng are compiled. All the defines end in
_SUPPORTED. If you are never going to use a capability, you
can change the #define to #undef before recompiling libpng
and save yourself code and data space, or you can turn off
individual capabilities with defines that begin with PNG_NO_.
You can also turn all of the transforms and ancillary chunk
capabilities off en masse with compiler directives that define
PNG_NO_READ[or WRITE]_TRANSFORMS, or PNG_NO_READ[or
WRITE]_ANCILLARY_CHUNKS, or all four, along with directives
to turn on any of the capabilities that you do want. The
PNG_NO_READ[or WRITE]_TRANSFORMS directives disable the
extra transformations but still leave the library fully capable of
reading and writing PNG files with all known public chunks Use
of the PNG_NO_READ[or WRITE]_ANCILLARY_CHUNKS
directive produces a library that is incapable of reading or
writing ancillary chunks. If you are not using the progressive
reading capability, you can turn that off with
PNG_NO_PROGRESSIVE_READ (don't confuse this with the
INTERLACING capability, which you'll still have).