mirror of
https://git.code.sf.net/p/libpng/code.git
synced 2025-07-10 18:04:09 +02:00
Compare commits
167 Commits
v1.4.0beta
...
v1.2.32bet
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4489dbc630 | ||
|
|
5c31bc8ffc | ||
|
|
baee5f46cf | ||
|
|
66ab7ffa15 | ||
|
|
32df7eb346 | ||
|
|
576b532b45 | ||
|
|
b520414d5a | ||
|
|
b54fd5c588 | ||
|
|
d9b4c01719 | ||
|
|
84d5d968a6 | ||
|
|
9c8717e42f | ||
|
|
3215e97b17 | ||
|
|
975e721432 | ||
|
|
b8bccdd081 | ||
|
|
4310a4d813 | ||
|
|
b96b342561 | ||
|
|
eb1cd11d57 | ||
|
|
a55c72890d | ||
|
|
247e230581 | ||
|
|
1586ea6fe9 | ||
|
|
ae505c50b0 | ||
|
|
fce1b4b1fb | ||
|
|
c6bcbf4951 | ||
|
|
6ed6086da5 | ||
|
|
9f7b16ad19 | ||
|
|
fc70a92071 | ||
|
|
ccaaab2898 | ||
|
|
8d36e630f2 | ||
|
|
eb1f347bca | ||
|
|
7db798186c | ||
|
|
a1cd94bfbb | ||
|
|
d9d2a6f6d9 | ||
|
|
b8c4b82d18 | ||
|
|
b8f615d7a1 | ||
|
|
35d97eb5c5 | ||
|
|
fc15b2e479 | ||
|
|
936df0d290 | ||
|
|
3236beddf8 | ||
|
|
c13f8f10e6 | ||
|
|
d8b530b93c | ||
|
|
2296f211e8 | ||
|
|
a5136b8863 | ||
|
|
913bc38217 | ||
|
|
4b7dca3d2c | ||
|
|
5c58e3ee31 | ||
|
|
49f304bd07 | ||
|
|
c95be42221 | ||
|
|
dbc07e13bb | ||
|
|
5ca40ebc22 | ||
|
|
a8e07274ae | ||
|
|
af99dba018 | ||
|
|
03dfa028d2 | ||
|
|
541b47ac2a | ||
|
|
507a35a9be | ||
|
|
1eddb5463e | ||
|
|
d91769efd4 | ||
|
|
134a8eb272 | ||
|
|
930be98598 | ||
|
|
28e3cb3e93 | ||
|
|
6328671ef8 | ||
|
|
fab1959d00 | ||
|
|
5ab788cd84 | ||
|
|
ce2a6d3739 | ||
|
|
40dd10dfb2 | ||
|
|
e41076e082 | ||
|
|
582fec4e11 | ||
|
|
42ae02aa08 | ||
|
|
79e3fc64c4 | ||
|
|
b188d671d1 | ||
|
|
5ecf1b53ea | ||
|
|
0636311d37 | ||
|
|
219d3b449f | ||
|
|
22eaa89c5a | ||
|
|
79e28a4c2e | ||
|
|
db05b1eb2b | ||
|
|
d20666a228 | ||
|
|
9cc7b03503 | ||
|
|
b38f12d519 | ||
|
|
e736f1ead9 | ||
|
|
b56c1f6023 | ||
|
|
268f0d64fc | ||
|
|
b3ea17736b | ||
|
|
963daeaec5 | ||
|
|
249bd44ebc | ||
|
|
04a1b1c123 | ||
|
|
3922e7afc3 | ||
|
|
f0a97a0d80 | ||
|
|
88713fd590 | ||
|
|
394759e0c8 | ||
|
|
c229f65dcf | ||
|
|
f929861609 | ||
|
|
f024ce7675 | ||
|
|
f3fcf00392 | ||
|
|
08313ef870 | ||
|
|
911c469d69 | ||
|
|
07c089ee04 | ||
|
|
dadc944810 | ||
|
|
80663032a9 | ||
|
|
67c75ee7f0 | ||
|
|
62626737a5 | ||
|
|
e404eed318 | ||
|
|
3c115428ea | ||
|
|
db40ca4aca | ||
|
|
f456d0d6bb | ||
|
|
06fe17eb9f | ||
|
|
7945bdb88f | ||
|
|
f7794ec181 | ||
|
|
16851b3eb3 | ||
|
|
c72d8d4d29 | ||
|
|
2b7436558e | ||
|
|
e59c47d5b1 | ||
|
|
c1523ad16d | ||
|
|
d0be8e27de | ||
|
|
5c66b81289 | ||
|
|
1a42cb2013 | ||
|
|
cf2978cbbb | ||
|
|
8a9733e777 | ||
|
|
ba880c5501 | ||
|
|
788f962fbd | ||
|
|
12f8283560 | ||
|
|
4d27f6b77b | ||
|
|
413ed28246 | ||
|
|
ad084f559a | ||
|
|
3832ab1c21 | ||
|
|
999bceb413 | ||
|
|
e8f6605642 | ||
|
|
3148c65323 | ||
|
|
0a3d2cc68b | ||
|
|
11cf76edb3 | ||
|
|
8833ad415c | ||
|
|
bc290d8e6c | ||
|
|
9c5b3a4060 | ||
|
|
04bbba55c7 | ||
|
|
40b70d5373 | ||
|
|
833d32646e | ||
|
|
6cdefb3cac | ||
|
|
f959d3ee7a | ||
|
|
b0952eabc7 | ||
|
|
43bb4ba4bf | ||
|
|
c2de22abeb | ||
|
|
a0113ee049 | ||
|
|
05db10fda3 | ||
|
|
948ee23a2a | ||
|
|
271a2931b6 | ||
|
|
9fe05edd47 | ||
|
|
c2573702cf | ||
|
|
b8e76b586e | ||
|
|
11a89964b9 | ||
|
|
b5bfcbae59 | ||
|
|
efe95a6953 | ||
|
|
e88a5eca8b | ||
|
|
2e3980e1de | ||
|
|
0ff85c6923 | ||
|
|
e3358d1839 | ||
|
|
f5eac0c7fa | ||
|
|
6034592a27 | ||
|
|
7b00d826d3 | ||
|
|
52ef3586b9 | ||
|
|
4118fcdd14 | ||
|
|
d9e18047d3 | ||
|
|
734f320ade | ||
|
|
79f25cdeb2 | ||
|
|
413f3db617 | ||
|
|
4db11d5143 | ||
|
|
78d28c6b96 | ||
|
|
24df7333a2 | ||
|
|
8694cd8bf5 |
352
ANNOUNCE
352
ANNOUNCE
@@ -1,5 +1,5 @@
|
||||
|
||||
Libpng 1.4.0beta37 - November 13, 2008
|
||||
Libpng 1.2.32beta01 - September 6, 2008
|
||||
|
||||
This is not intended to be a public release. It will be replaced
|
||||
within a few weeks by a public version or by another test version.
|
||||
@@ -9,341 +9,61 @@ Files available for download:
|
||||
Source files with LF line endings (for Unix/Linux) and with a
|
||||
"configure" script
|
||||
|
||||
1.4.0beta37.tar.gz
|
||||
1.4.0beta37.tar.bz2
|
||||
libpng-1.2.32beta01.tar.gz
|
||||
libpng-1.2.32beta01.tar.lzma
|
||||
(Get the lzma codec from <http://tukaani.org/lzma>).
|
||||
libpng-1.2.32beta01.tar.bz2
|
||||
|
||||
Source files with LF line endings (for Unix/Linux) without the
|
||||
"configure" script
|
||||
|
||||
1.4.0beta37-no-config.tar.gz
|
||||
1.4.0beta37-no-config.tar.bz2
|
||||
libpng-1.2.32beta01-no-config.tar.gz
|
||||
libpng-1.2.32beta01-no-config.tar.lzma
|
||||
libpng-1.2.32beta01-no-config.tar.bz2
|
||||
|
||||
Source files with CRLF line endings (for Windows), without the
|
||||
"configure" script
|
||||
|
||||
lp140b37.zip
|
||||
lp140b37.tar.bz2
|
||||
lp1232b01.zip
|
||||
lp1232b01.7z
|
||||
lp1232b01.tar.bz2
|
||||
|
||||
Project files
|
||||
|
||||
libpng-1.2.32beta01-project-netware.zip
|
||||
libpng-1.2.32beta01-project-wince.zip
|
||||
|
||||
Other information:
|
||||
|
||||
1.4.0beta37-README.txt
|
||||
1.4.0beta37-KNOWNBUGS.txt
|
||||
1.4.0beta37-LICENSE.txt
|
||||
1.4.0beta37-Y2K-compliance.txt
|
||||
libpng-1.2.32beta01-README.txt
|
||||
libpng-1.2.32beta01-KNOWNBUGS.txt
|
||||
libpng-1.2.32beta01-LICENSE.txt
|
||||
libpng-1.2.32beta01-Y2K-compliance.txt
|
||||
libpng-1.2.32beta01-[previous version]-diff.txt
|
||||
|
||||
Changes since the last public release (1.2.10):
|
||||
Changes since the last public release (1.2.30):
|
||||
|
||||
version 1.2.10beta1 [April 15, 2006]
|
||||
Renamed "config.h" to "png_conf.h" and revised Makefile.am to add
|
||||
-DPNG_BUILDING_LIBPNG to compile directive, and modified pngconf.h
|
||||
to include png_conf.h only when PNG_BUILDING_LIBPNG is defined.
|
||||
|
||||
version 1.2.10beta2 [April 15, 2006]
|
||||
Manually updated Makefile.in and configure. Changed png_conf.h.in
|
||||
back to config.h.
|
||||
|
||||
version 1.2.10beta3 [April 15, 2006]
|
||||
Change png_conf.h back to config.h in pngconf.h.
|
||||
|
||||
version 1.2.10beta4 [April 16, 2006]
|
||||
Change PNG_BUILDING_LIBPNG to PNG_CONFIGURE_LIBPNG in config/Makefile*.
|
||||
|
||||
version 1.2.10beta5 [April 16, 2006]
|
||||
Added a configure check for compiling assembler code in pnggccrd.c
|
||||
|
||||
version 1.2.10beta6 [April 17, 2006]
|
||||
Revised the configure check for pnggccrd.c
|
||||
Moved -DPNG_CONFIGURE_LIBPNG into @LIBPNG_DEFINES@
|
||||
Added @LIBPNG_DEFINES@ to arguments when building libpng.sym
|
||||
|
||||
version 1.2.10beta7 [April 18, 2006]
|
||||
Change "exec_prefix=$prefix" to "exec_prefix=$(prefix)" in makefiles.
|
||||
|
||||
version 1.2.10rc1 [April 19, 2006]
|
||||
Ensure pngconf.h doesn't define both PNG_USE_PNGGCCRD and PNG_USE_PNGVCRD
|
||||
Fixed "LN_FS" typo in makefile.sco and makefile.solaris.
|
||||
|
||||
version 1.2.10rc2 [April 19, 2006]
|
||||
Added a backslash between -DPNG_CONFIGURE_LIBPNG and -DPNG_NO_ASSEMBLER_CODE
|
||||
in configure.ac
|
||||
Made the configure warning about versioned symbols less arrogant.
|
||||
|
||||
version 1.2.10rc3 [April 20, 2006]
|
||||
Added a note in libpng.txt that png_set_sig_bytes(8) can be used when
|
||||
writing an embedded PNG without the 8-byte signature.
|
||||
|
||||
version 1.4.0beta1 [April 20, 2006]
|
||||
Enabled iTXt support (changes png_struct, thus requires so-number change).
|
||||
Cleaned up PNG_ASSEMBLER_CODE_SUPPORTED vs PNG_MMX_CODE_SUPPORTED
|
||||
Eliminated PNG_1_0_X and PNG_1_2_X macros.
|
||||
Removed deprecated functions png_read_init, png_write_init, png_info_init,
|
||||
png_permit_empty_plte, png_set_gray_1_2_4_to_8, and removed the
|
||||
deprecated macro PNG_MAX_UINT.
|
||||
Moved "PNG_INTERNAL" parts of png.h and pngconf.h into pngintrn.h
|
||||
Removed many WIN32_WCE #ifdefs (Cosmin).
|
||||
Reduced dependency on C-runtime library when on Windows (Simon-Pierre)
|
||||
Replaced sprintf() with png_sprintf() (Simon-Pierre)
|
||||
|
||||
version 1.4.0beta2 [April 20, 2006]
|
||||
Revised makefiles to avoid making links to libpng.so.*
|
||||
Moved some leftover MMX-related defines from pngconf.h to pngintrn.h
|
||||
Updated scripts/pngos2.def, pngw32.def, and projects/wince/png32ce.def
|
||||
Updated scripts/pngw32.def to comment out MMX functions.
|
||||
|
||||
version 1.2.11beta1 [May 31, 2006]
|
||||
scripts/libpng.pc.in contained "configure" style version info and would
|
||||
not work with makefiles.
|
||||
The shared-library makefiles were linking to libpng.so.0 instead of
|
||||
libpng.so.3 compatibility as the library.
|
||||
|
||||
version 1.4.0beta3 [May 10, 2006]
|
||||
Updated scripts/pngw32.def to comment out MMX functions.
|
||||
Added PNG_NO_GET_INT_32 and PNG_NO_SAVE_INT_32 macros.
|
||||
Revised pngconf.h and added pngconf.h.in so makefiles and configure can
|
||||
pass defines to libpng and applications.
|
||||
|
||||
version 1.4.0beta4 [May 11, 2006]
|
||||
Revised configure.ac, Makefile.am, and many of the makefiles to write
|
||||
their defines in pngconf.h.
|
||||
|
||||
version 1.4.0beta5 [May 15, 2006]
|
||||
Added a missing semicolon in Makefile.am and Makefile.in
|
||||
Deleted extraneous square brackets from configure.ac
|
||||
|
||||
version 1.2.11beta2 [June 2, 2006]
|
||||
Increased sprintf buffer from 50 to 52 chars in pngrutil.c to avoid
|
||||
buffer overflow.
|
||||
Fixed bug in example.c (png_set_palette_rgb -> png_set_palette_to_rgb))
|
||||
|
||||
version 1.4.0beta6 [June 2, 2006]
|
||||
Changed sonum from 0 to 1.
|
||||
Removed unused prototype for png_check_sig() from png.h
|
||||
|
||||
version 1.2.11beta3 [June 5, 2006]
|
||||
Prepended "#! /bin/sh" to ltmail.sh and contrib/pngminus/*.sh (Cosmin).
|
||||
Removed the accidental leftover Makefile.in~ (Cosmin).
|
||||
Avoided potential buffer overflow and optimized buffer in
|
||||
png_write_sCAL(), png_write_sCAL_s() (Cosmin).
|
||||
Removed the include directories and libraries from CFLAGS and LDFLAGS
|
||||
in scripts/makefile.gcc (Nelson A. de Oliveira, Cosmin).
|
||||
|
||||
version 1.2.11beta4 [June 6, 2006]
|
||||
Allow zero-length IDAT chunks after the entire zlib datastream, but not
|
||||
after another intervening chunk type.
|
||||
|
||||
version 1.2.11rc2 [June 14, 2006]
|
||||
Added prototypes for PNG_INCH_CONVERSIONS functions to png.h
|
||||
Revised INSTALL and autogen.sh
|
||||
Fixed typo in several makefiles (-W1 should be -Wl)
|
||||
|
||||
version 1.2.11rc3 [June 15, 2006]
|
||||
Added one zero element to png_gamma_shift[] array in pngrtran.c to avoid
|
||||
reading out of bounds.
|
||||
|
||||
version 1.4.0beta7 [June 16, 2006]
|
||||
Exported png_write_sig (Cosmin).
|
||||
Optimized buffer in png_handle_cHRM() (Cosmin).
|
||||
Set pHYs = 2835 x 2835 pixels per meter, and added
|
||||
sCAL = 0.352778e-3 x 0.352778e-3 meters, in pngtest.png (Cosmin).
|
||||
Added png_set_benign_errors(), png_benign_error(), png_chunk_benign_error().
|
||||
Added typedef for png_int_32 and png_uint_32 on 64-bit systems.
|
||||
|
||||
version 1.4.0beta8 [June 21, 2006]
|
||||
Added demonstration of user chunk support in pngtest.c, to support the
|
||||
public sTER chunk and a private vpAg chunk.
|
||||
|
||||
version 1.4.0beta9 [July 3, 2006]
|
||||
Removed ordinals from scripts/pngw32.def and removed png_info_int and
|
||||
png_set_gray_1_2_4_to_8 entries.
|
||||
Inline call of png_get_uint_32() in png_get_uint_31().
|
||||
Use png_get_uint_31() to get vpAg width and height in pngtest.c
|
||||
Removed WINCE and Netware projects.
|
||||
Removed standalone Y2KINFO file.
|
||||
|
||||
version 1.4.0beta10 [July 12, 2006]
|
||||
Added "all: pngconf.h.in pngconf.h" target to Makefile.am
|
||||
|
||||
version 1.4.0beta11 [August 19, 2006]
|
||||
Removed AC_FUNC_MALLOC from configure.ac.
|
||||
Added a warning when writing iCCP profile with mismatched profile length.
|
||||
Patched pnggccrd.c to assemble on x86_64 platforms.
|
||||
Moved chunk header reading into a separate function png_read_chunk_header()
|
||||
in pngrutil.c. The chunk header (len+sig) is now serialized in a single
|
||||
operation (Cosmin).
|
||||
Implemented support for I/O states. Added png_ptr member io_state, and
|
||||
functions png_get_io_chunk_name() and png_get_io_state() in pngget.c
|
||||
(Cosmin).
|
||||
Added png_get_io_chunk_name and png_get_io_state to scripts/*.def (Cosmin).
|
||||
Renamed scripts/pngw32.* to scripts/pngwin.* (Cosmin).
|
||||
Removed the include directories and libraries from CFLAGS and LDFLAGS
|
||||
in scripts/makefile.gcc (Cosmin).
|
||||
Used png_save_uint_32() to set vpAg width and height in pngtest.c (Cosmin).
|
||||
Cast to proper type when getting/setting vpAg units in pngtest.c (Cosmin).
|
||||
Added pngintrn.h to the Visual C++ projects (Cosmin).
|
||||
Removed scripts/list (Cosmin).
|
||||
Updated copyright year in scripts/pngwin.def (Cosmin).
|
||||
Removed PNG_TYPECAST_NULL and used standard NULL consistently (Cosmin).
|
||||
Disallowed the user to redefine png_size_t, and enforced a consistent use
|
||||
of png_size_t across libpng (Cosmin).
|
||||
Changed the type of png_ptr->rowbytes, PNG_ROWBYTES() and friends
|
||||
to png_size_t (Cosmin).
|
||||
Removed png_convert_size() and replaced png_sizeof with sizeof (Cosmin).
|
||||
Removed some unnecessary type casts (Cosmin).
|
||||
Changed prototype of png_get_compression_buffer_size() and
|
||||
png_set_compression_buffer_size() to work with png_size_t instead of
|
||||
png_uint_32 (Cosmin).
|
||||
Removed png_memcpy_check() and png_memset_check() (Cosmin).
|
||||
Fixed a typo (png_byte --> png_bytep) in libpng.3 and libpng.txt (Cosmin).
|
||||
Clarified that png_zalloc() does not clear the allocated memory,
|
||||
and png_zalloc() and png_zfree() cannot be PNGAPI (Cosmin).
|
||||
Renamed png_mem_size_t to png_alloc_size_t, fixed its definition in
|
||||
pngconf.h, and used it in all memory allocation functions (Cosmin).
|
||||
Renamed pngintrn.h to pngpriv.h, added a comment at the top of the file
|
||||
mentioning that the symbols declared in that file are private, and
|
||||
updated the scripts and the Visual C++ projects accordingly (Cosmin).
|
||||
Removed circular references between pngconf.h and pngconf.h.in in
|
||||
scripts/makefile.vc*win32 (Cosmin).
|
||||
Removing trailing '.' from the warning and error messages (Cosmin).
|
||||
Added pngdefs.h that is built by makefile or configure, instead of
|
||||
pngconf.h.in (Glenn).
|
||||
Detect and fix attempt to write wrong iCCP profile length.
|
||||
|
||||
version 1.4.0beta12 [October 19, 2006]
|
||||
Changed "logical" to "bitwise" in the documentation.
|
||||
Work around Intel-Mac compiler bug by setting PNG_NO_MMX_CODE in pngconf.h
|
||||
Add a typecast to stifle compiler warning in pngrutil.c
|
||||
|
||||
version 1.4.0beta13 [November 10, 2006]
|
||||
Fix potential buffer overflow in sPLT chunk handler.
|
||||
Fix Makefile.am to not try to link to noexistent files.
|
||||
|
||||
version 1.4.0beta14 [November 15, 2006]
|
||||
Check all exported functions for NULL png_ptr.
|
||||
|
||||
version 1.4.0beta15 [November 17, 2006]
|
||||
Relocated two misplaced tests for NULL png_ptr.
|
||||
Built Makefile.in with automake-1.9.6 instead of 1.9.2.
|
||||
Build configure with autoconf-2.60 instead of 2.59.
|
||||
Add "install: all" in Makefile.am so "configure; make install" will work.
|
||||
|
||||
version 1.4.0beta16 [November 17, 2006]
|
||||
Added a typecast in png_zalloc().
|
||||
|
||||
version 1.4.0beta17 [December 4, 2006]
|
||||
Changed "new_key[79] = '\0';" to "(*new_key)[79] = '\0';" in pngwutil.c
|
||||
|
||||
version 1.4.0beta18 [December 7, 2006]
|
||||
Added scripts/CMakeLists.txt
|
||||
|
||||
version 1.4.0beta19 [May 16, 2007]
|
||||
Revised scripts/CMakeLists.txt
|
||||
Rebuilt configure and Makefile.in with newer tools.
|
||||
Added "png_ptr->num_trans=0" before error return in png_handle_tRNS,
|
||||
to eliminate a vulnerability (CVE-2007-2554, CERT VU#684664)
|
||||
|
||||
version 1.4.0beta20 [July 9, 2008]
|
||||
Moved several PNG_HAVE_* macros from pngpriv.h to png.h because applications
|
||||
calling set_unknown_chunk_location() need them.
|
||||
Moved several macro definitions from pngpriv.h to pngconf.h
|
||||
Added png_ptr->unknown_chunk to hold working unknown chunk data, so it
|
||||
can be free'ed in case of error. Revised unknown chunk handling in
|
||||
pngrutil.c and pngpread.c to use this structure.
|
||||
Merge with changes to the 1.2.X branch, as of 1.2.19beta10.
|
||||
Revised makefile.mingw
|
||||
Prefer PNG_USE_PNGVCRD when _MSC_VER is defined in pngconf.h
|
||||
|
||||
version 1.4.0beta21 [July 21, 2008]
|
||||
Moved local array "chunkdata" from pngrutil.c to the png_struct, so
|
||||
it will be freed by png_read_destroy() in case of a read error (Kurt
|
||||
Christensen).
|
||||
|
||||
version 1.4.0beta22 [July 21, 2008]
|
||||
Change "purpose" and "buffer" to png_ptr->chunkdata to avoid memory leaking.
|
||||
|
||||
version 1.4.0beta23 [July 22, 2008]
|
||||
Change "chunkdata = NULL" to "png_ptr->chunkdata = NULL" several places in
|
||||
png_decompress_chunk().
|
||||
|
||||
version 1.4.0beta24 [July 25, 2008]
|
||||
Change all remaining "chunkdata" to "png_ptr->chunkdata" in
|
||||
png_decompress_chunk(), and remove "chunkdata" from parameter list.
|
||||
Put a call to png_check_chunk_name() in png_read_chunk_header().
|
||||
Revised png_check_chunk_name() to reject a name with a lowercase 3rd byte.
|
||||
Removed two calls to png_check_chunk_name() occuring later in the process.
|
||||
Define PNG_NO_ERROR_NUMBERS by default in pngconf.h
|
||||
|
||||
version 1.4.0beta25 [July 30, 2008]
|
||||
Added a call to png_check_chunk_name() in pngpread.c
|
||||
Reverted png_check_chunk_name() to accept a name with a lowercase 3rd byte.
|
||||
Added png_push_have_buffer() function to pngpread.c
|
||||
Eliminated PNG_BIG_ENDIAN_SUPPORTED and associated png_get_* macros.
|
||||
Made inline expansion of png_get_*() optional with PNG_USE_READ_MACROS.
|
||||
Eliminated all PNG_USELESS_TESTS and PNG_CORRECT_PALETTE_SUPPORTED code.
|
||||
Synced contrib directory and configure files with libpng-1.2.30beta06.
|
||||
Eliminated no-longer-used pngdefs.h (but it's still built in the makefiles)
|
||||
Relocated a misplaced "#endif /* PNG_NO_WRITE_FILTER */" in pngwutil.c
|
||||
|
||||
version 1.4.0beta26 [August 4, 2008]
|
||||
Removed png_push_have_buffer() function in pngpread.c. It increased the
|
||||
compiled library size slightly.
|
||||
Changed "-Wall" to "-W -Wall" in the CFLAGS in all makefiles (Cosmin Truta)
|
||||
Declared png_ptr "volatile" in pngread.c and pngwrite.c to avoid warnings.
|
||||
Updated contrib/visupng/cexcept.h to version 2.0.1
|
||||
Added PNG_LITERAL_CHARACTER macros for #, [, and ].
|
||||
|
||||
version 1.4.0beta27 [August 5, 2008]
|
||||
Revised usage of PNG_LITERAL_SHARP in pngerror.c.
|
||||
Moved newline character from individual png_debug messages into the
|
||||
png_debug macros.
|
||||
Allow user to #define their own png_debug, png_debug1, and png_debug2.
|
||||
|
||||
version 1.4.0beta28 [August 5, 2008]
|
||||
Revised usage of PNG_LITERAL_SHARP in pngerror.c.
|
||||
Added PNG_STRING_NEWLINE macro
|
||||
|
||||
version 1.4.0beta29 [August 9, 2008]
|
||||
Revised usage of PNG_STRING_NEWLINE to work on non-ISO compilers.
|
||||
Added PNG_STRING_COPYRIGHT macro.
|
||||
Added non-ISO versions of png_debug macros.
|
||||
|
||||
version 1.4.0beta30 [August 14, 2008]
|
||||
Added premultiplied alpha feature (Volker Wiendl).
|
||||
|
||||
version 1.4.0beta31 [August 18, 2008]
|
||||
Moved png_set_premultiply_alpha from pngtrans.c to pngrtran.c
|
||||
version 1.2.31rc01 [August 19, 2008]
|
||||
Removed extra crc check at the end of png_handle_cHRM(). Bug introduced
|
||||
in libpng-1.4.0beta20.
|
||||
in libpng-1.2.30 (Heiko Nitzsche).
|
||||
|
||||
version 1.4.0beta32 [August 19, 2008]
|
||||
Added PNG_WRITE_FLUSH_SUPPORTED block around new png_flush() call.
|
||||
Revised PNG_NO_STDIO version of png_write_flush()
|
||||
version 1.2.31rc02 [August 19, 2008]
|
||||
Added PNG_WRITE_FLUSH_AFTER_IEND_SUPPORTED block around new png_flush().
|
||||
|
||||
version 1.4.0beta33 [August 20, 2008]
|
||||
Added png_set_chunk_cache_max() to limit the total number of sPLT,
|
||||
text, and unknown chunks that can be stored.
|
||||
version 1.2.31rc03 [August 19, 2008]
|
||||
Added PNG_WRITE_FLUSH_AFTER_IEND_SUPPORTED block, off by default, around
|
||||
new png_flush().
|
||||
|
||||
version 1.4.0beta34 [September 6, 2008]
|
||||
version 1.0.39, 1.2.31 [August 20, 2008]
|
||||
No changes.
|
||||
|
||||
version 1.2.32beta01 [September 6, 2008]
|
||||
Shortened tIME_string to 29 bytes in pngtest.c
|
||||
Fixed off-by-one error introduced in png_push_read_zTXt() function in
|
||||
libpng-1.2.30beta04/pngpread.c (Harald van Dijk)
|
||||
|
||||
version 1.4.0beta35 [October 6, 2008]
|
||||
Changed "trans_values" to "trans_color".
|
||||
Change png_set_gray_1_2_4_to_8() to png_set_expand_gray_1_2_4_to_8()
|
||||
in example.c (debian bug report)
|
||||
|
||||
version 1.4.0beta36 [October 25, 2008]
|
||||
Sync with tEXt vulnerability fix in libpng-1.2.33rc02.
|
||||
|
||||
version 1.4.0beta37 [November 13, 2008]
|
||||
Added png_check_cHRM in png.c and moved checking from pngget.c, pngrutil.c,
|
||||
and pngwrite.c
|
||||
|
||||
version 1.4.0betaN [future]
|
||||
Build shared libraries with -lz and sometimes -lm.
|
||||
Fixed off-by-one error introduced in libpng-1.2.30beta04/pngpread.c
|
||||
|
||||
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
||||
(subscription required; visit
|
||||
|
||||
(subscription required; visit
|
||||
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
|
||||
to subscribe) or to glennrp at users.sourceforge.net
|
||||
|
||||
|
||||
628
CHANGES
628
CHANGES
@@ -1669,7 +1669,7 @@ version 1.2.15rc2 [December 21, 2006]
|
||||
Added scripts/makefile.nommx
|
||||
|
||||
version 1.2.15rc3 [December 25, 2006]
|
||||
Fixed shared library numbering error that was intruduced in 1.2.15beta6.
|
||||
Fixed shared library numbering error that was introduced in 1.2.15beta6.
|
||||
|
||||
version 1.2.15rc4 [December 27, 2006]
|
||||
Fixed handling of rgb_to_gray when png_ptr->color.gray isn't set.
|
||||
@@ -1677,7 +1677,7 @@ version 1.2.15rc4 [December 27, 2006]
|
||||
version 1.2.15rc5 [December 31, 2006]
|
||||
Revised handling of rgb_to_gray.
|
||||
|
||||
version 1.2.15 [January 5, 2007]
|
||||
version 1.0.23, 1.2.15 [January 5, 2007]
|
||||
Added some (unsigned long) typecasts in pngtest.c to avoid printing errors.
|
||||
|
||||
version 1.2.16beta1 [January 6, 2007]
|
||||
@@ -1686,7 +1686,7 @@ version 1.2.16beta1 [January 6, 2007]
|
||||
version 1.2.16beta2 [January 16, 2007]
|
||||
Revised scripts/CMakeLists.txt
|
||||
|
||||
version 1.2.16 [January 31, 2007]
|
||||
version 1.0.24, 1.2.16 [January 31, 2007]
|
||||
No changes.
|
||||
|
||||
version 1.2.17beta1 [March 6, 2007]
|
||||
@@ -1771,251 +1771,477 @@ version 1.2.19beta9 [May 23, 2007]
|
||||
version 1.2.19beta10 [May 24, 2007]
|
||||
Resquelched png_squelch_warnings(), use "__attribute__((used))" instead.
|
||||
|
||||
version 1.4.0beta1 [April 20, 2006]
|
||||
Enabled iTXt support (changes png_struct, thus requires so-number change).
|
||||
Cleaned up PNG_ASSEMBLER_CODE_SUPPORTED vs PNG_MMX_CODE_SUPPORTED
|
||||
Eliminated PNG_1_0_X and PNG_1_2_X macros.
|
||||
Removed deprecated functions png_read_init, png_write_init, png_info_init,
|
||||
png_permit_empty_plte, png_set_gray_1_2_4_to_8, png_check_sig, and
|
||||
removed the deprecated macro PNG_MAX_UINT.
|
||||
Moved "PNG_INTERNAL" parts of png.h and pngconf.h into pngintrn.h
|
||||
Removed many WIN32_WCE #ifdefs (Cosmin).
|
||||
Reduced dependency on C-runtime library when on Windows (Simon-Pierre)
|
||||
Replaced sprintf() with png_sprintf() (Simon-Pierre)
|
||||
version 1.2.19beta11 [May 28, 2007]
|
||||
Return 0 from png_get_sPLT() and png_get_unknown_chunks() if png_ptr is NULL;
|
||||
changed three remaining instances of png_strcpy() to png_strncpy() (David
|
||||
Hill).
|
||||
Make test for NULL row_buf at the beginning of png_do_read_transformations
|
||||
unconditional.
|
||||
|
||||
version 1.4.0beta2 [April 20, 2006]
|
||||
Revised makefiles and configure to avoid making links to libpng.so.*
|
||||
Moved some leftover MMX-related defines from pngconf.h to pngintrn.h
|
||||
Updated scripts/pngos2.def, pngw32.def, and projects/wince/png32ce.def
|
||||
version 1.2.19beta12 [May 28, 2007]
|
||||
Revised pnggccrd.c.
|
||||
|
||||
version 1.4.0beta3 [May 10, 2006]
|
||||
Updated scripts/pngw32.def to comment out MMX functions.
|
||||
Added PNG_NO_GET_INT_32 and PNG_NO_SAVE_INT_32 macros.
|
||||
Scripts/libpng.pc.in contained "configure" style version info and would
|
||||
not work with makefiles.
|
||||
Revised pngconf.h and added pngconf.h.in, so makefiles and configure can
|
||||
pass defines to libpng and applications.
|
||||
version 1.2.19beta13 [June 14, 2007]
|
||||
Prefer PNG_USE_PNGVCRD when _MSC_VER is defined in pngconf.h
|
||||
|
||||
version 1.4.0beta4 [May 11, 2006]
|
||||
Revised configure.ac, Makefile.am, and many of the makefiles to write
|
||||
their defines in pngconf.h.
|
||||
version 1.2.19beta14 [June 16, 2007]
|
||||
Fix bug with handling of 16-bit transparency, introduced in 1.2.19beta2
|
||||
|
||||
version 1.4.0beta5 [May 15, 2006]
|
||||
Added a missing semicolon in Makefile.am and Makefile.in
|
||||
Deleted extraneous square brackets from configure.ac
|
||||
version 1.2.19beta15 [June 17, 2007]
|
||||
Revised pnggccrd.c.
|
||||
|
||||
version 1.4.0beta6 [June 2, 2006]
|
||||
Increased sprintf buffer from 50 to 52 chars in pngrutil.c to avoid
|
||||
buffer overflow.
|
||||
Changed sonum from 0 to 1.
|
||||
Removed unused prototype for png_check_sig() from png.h
|
||||
version 1.2.19beta16 [June 18, 2007]
|
||||
Revised pnggccrd.c again.
|
||||
Updated contrib/gregbook.
|
||||
Changed '#include "pnggccrd.c"' to 'include "$srcdir/pnggccrd.c"'
|
||||
in configure.ac
|
||||
|
||||
version 1.4.0beta7 [June 16, 2006]
|
||||
Exported png_write_sig (Cosmin).
|
||||
Optimized buffer in png_handle_cHRM() (Cosmin).
|
||||
Set pHYs = 2835 x 2835 pixels per meter, and added
|
||||
sCAL = 0.352778e-3 x 0.352778e-3 meters, in pngtest.png (Cosmin).
|
||||
Added png_set_benign_errors(), png_benign_error(), png_chunk_benign_error().
|
||||
Added typedef for png_int_32 and png_uint_32 on 64-bit systems.
|
||||
Added "(unsigned long)" typecast on png_uint_32 variables in printf lists.
|
||||
version 1.2.19beta17 [June 19, 2007]
|
||||
Revised many of the makefiles, to set -DPNG_NO_MMX_CODE where needed
|
||||
and to not use -O3 unless -DPNG_NO_MMX_CODE is also set.
|
||||
|
||||
version 1.4.0beta8 [June 22, 2006]
|
||||
Added demonstration of user chunk support in pngtest.c, to support the
|
||||
public sTER chunk and a private vpAg chunk.
|
||||
version 1.2.19beta18 [June 23, 2007]
|
||||
Replaced some C++ style comments with C style comments in pnggccrd.c.
|
||||
Copied optimized C code from pnggccrd.c to pngrutil.c, removed dependency
|
||||
on pnggccrd.o from many makefiles.
|
||||
Added sl and dylib to list of extensions be installed by Makefile.am
|
||||
|
||||
version 1.4.0beta9 [July 3, 2006]
|
||||
Removed ordinals from scripts/pngw32.def and removed png_info_int and
|
||||
png_set_gray_1_2_4_to_8 entries.
|
||||
Inline call of png_get_uint_32() in png_get_uint_31().
|
||||
Use png_get_uint_31() to get vpAg width and height in pngtest.c
|
||||
Removed WINCE and Netware projects.
|
||||
Removed standalone Y2KINFO file.
|
||||
version 1.2.19beta19 [June 28, 2007]
|
||||
Fixed testing PNG_RGB_TO_GRAY_ERR & PNG_RGB_TO_GRAY_WARN in pngrtran.c
|
||||
More cleanup of pnggccrd.c and pngvcrd.c
|
||||
|
||||
version 1.4.0beta10 [July 12, 2006]
|
||||
Eliminated automatic copy of pngconf.h to pngconf.h.in from configure and
|
||||
some makefiles, because it was not working reliably. Instead, distribute
|
||||
pngconf.h.in along with pngconf.h and cause configure and some of the
|
||||
makefiles to update pngconf.h from pngconf.h.in.
|
||||
Added pngconf.h to DEPENDENCIES in Makefile.am
|
||||
version 1.2.19beta20 [June 29, 2007]
|
||||
Rebuilt Makefile.in and configure using libtool-1.5.24.
|
||||
Fixed typo in pnggccrd.c
|
||||
|
||||
version 1.4.0beta11 [August 19, 2006]
|
||||
Removed AC_FUNC_MALLOC from configure.ac.
|
||||
Added a warning when writing iCCP profile with mismatched profile length.
|
||||
Patched pnggccrd.c to assemble on x86_64 platforms.
|
||||
Moved chunk header reading into a separate function png_read_chunk_header()
|
||||
in pngrutil.c. The chunk header (len+sig) is now serialized in a single
|
||||
operation (Cosmin).
|
||||
Implemented support for I/O states. Added png_ptr member io_state, and
|
||||
functions png_get_io_chunk_name() and png_get_io_state() in pngget.c
|
||||
(Cosmin).
|
||||
Added png_get_io_chunk_name and png_get_io_state to scripts/*.def (Cosmin).
|
||||
Renamed scripts/pngw32.* to scripts/pngwin.* (Cosmin).
|
||||
Removed the include directories and libraries from CFLAGS and LDFLAGS
|
||||
in scripts/makefile.gcc (Cosmin).
|
||||
Used png_save_uint_32() to set vpAg width and height in pngtest.c (Cosmin).
|
||||
Cast to proper type when getting/setting vpAg units in pngtest.c (Cosmin).
|
||||
Added pngintrn.h to the Visual C++ projects (Cosmin).
|
||||
Removed scripts/list (Cosmin).
|
||||
Updated copyright year in scripts/pngwin.def (Cosmin).
|
||||
Removed PNG_TYPECAST_NULL and used standard NULL consistently (Cosmin).
|
||||
Disallowed the user to redefine png_size_t, and enforced a consistent use
|
||||
of png_size_t across libpng (Cosmin).
|
||||
Changed the type of png_ptr->rowbytes, PNG_ROWBYTES() and friends
|
||||
to png_size_t (Cosmin).
|
||||
Removed png_convert_size() and replaced png_sizeof with sizeof (Cosmin).
|
||||
Removed some unnecessary type casts (Cosmin).
|
||||
Changed prototype of png_get_compression_buffer_size() and
|
||||
png_set_compression_buffer_size() to work with png_size_t instead of
|
||||
png_uint_32 (Cosmin).
|
||||
Removed png_memcpy_check() and png_memset_check() (Cosmin).
|
||||
Fixed a typo (png_byte --> png_bytep) in libpng.3 and libpng.txt (Cosmin).
|
||||
Clarified that png_zalloc() does not clear the allocated memory,
|
||||
and png_zalloc() and png_zfree() cannot be PNGAPI (Cosmin).
|
||||
Renamed png_mem_size_t to png_alloc_size_t, fixed its definition in
|
||||
pngconf.h, and used it in all memory allocation functions (Cosmin).
|
||||
Renamed pngintrn.h to pngpriv.h, added a comment at the top of the file
|
||||
mentioning that the symbols declared in that file are private, and
|
||||
updated the scripts and the Visual C++ projects accordingly (Cosmin).
|
||||
Removed circular references between pngconf.h and pngconf.h.in in
|
||||
scripts/makefile.vc*win32 (Cosmin).
|
||||
Removing trailing '.' from the warning and error messages (Cosmin).
|
||||
Added pngdefs.h that is built by makefile or configure, instead of
|
||||
pngconf.h.in (Glenn).
|
||||
Detect and fix attempt to write wrong iCCP profile length.
|
||||
version 1.2.19beta21 [June 30, 2007]
|
||||
More revision of pnggccrd.c
|
||||
Added "test" target to Makefile.in and Makefile.am
|
||||
|
||||
version 1.4.0beta12 [October 19, 2006]
|
||||
Changed "logical" to "bitwise" in the documentation.
|
||||
Work around Intel-Mac compiler bug by setting PNG_NO_MMX_CODE in pngconf.h
|
||||
Add a typecast to stifle compiler warning in pngrutil.c
|
||||
version 1.2.19beta22 [July 3, 2007]
|
||||
Added info about pngrutil/pnggccrd/pngvcrd to png_get_header_version()
|
||||
Fix type definition of dummy_value_a, b in pnggccrd.c
|
||||
|
||||
version 1.4.0beta13 [November 10, 2006]
|
||||
Fix potential buffer overflow in sPLT chunk handler.
|
||||
Fix Makefile.am to not try to link to noexistent files.
|
||||
version 1.2.19beta23 [July 10, 2007]
|
||||
Revert change to type definition of dummy_value_a, b in pnggccrd.c
|
||||
Make sure __PIC__ is defined in pnggccrd.c when PIC is defined.
|
||||
Require gcc-4.1 or better to use PNG_HAVE_MMX_FILTER_ROW on x86_64 platforms
|
||||
|
||||
version 1.4.0beta14 [November 15, 2006]
|
||||
Check all exported functions for NULL png_ptr.
|
||||
version 1.2.19beta24 [July 14, 2007]
|
||||
Added PNG_NO_READ_FILTER, PNG_NO_WRITE_FILTER, PNG_NO_WARNING macros.
|
||||
Added contrib/pngminim to demonstrate building minimal encoder and decoder
|
||||
|
||||
version 1.4.0beta15 [November 17, 2006]
|
||||
Relocated two misplaced tests for NULL png_ptr.
|
||||
Built Makefile.in with automake-1.9.6 instead of 1.9.2.
|
||||
Build configure with autoconf-2.60 instead of 2.59
|
||||
Add "install: all" in Makefile.am so "configure; make install" will work.
|
||||
version 1.2.19beta25 [July 15, 2007]
|
||||
Removed the new PNG_NO_READ_FILTER macro since it would make the library
|
||||
unable to read valid PNG files, and filtering is at the heart of the
|
||||
PNG format.
|
||||
|
||||
version 1.4.0beta16 [November 17, 2006]
|
||||
Added a typecast in png_zalloc().
|
||||
version 1.2.19beta26 [July 16, 2007]
|
||||
Changed "png_free(str)" to "png_free(png_ptr,str)" in pngrutil.c WinCE
|
||||
code (Yves Piguet). This bug was introduced in libpng-1.2.14.
|
||||
Updated scripts/CMakeLists.txt
|
||||
Relocated a misplaced #endif in pnggccrd.c
|
||||
|
||||
version 1.4.0beta17 [December 4, 2006]
|
||||
Changed "new_key[79] = '\0';" to "(*new_key)[79] = '\0';" in pngwutil.c
|
||||
Add "png_bytep" typecast to profile while calculating length in pngwutil.c
|
||||
version 1.2.19beta27 [July 17, 2007]
|
||||
Fixed incorrect stride and number of bytes copied (was 4 instead of
|
||||
6 bytes) in the cleanup loop of pnggccrd.c and pngvcrd.c for handling
|
||||
the end of 48-bit interlaced rows (Glenn R-P).
|
||||
|
||||
version 1.4.0beta18 [December 7, 2006]
|
||||
Added scripts/CMakeLists.txt
|
||||
version 1.2.19beta28 [July 19, 2007]
|
||||
Removed requirement for gcc-4.1 or better to use PNG_HAVE_MMX_FILTER_ROW
|
||||
on x86_64 platforms
|
||||
Added png_warning() in pngrutil.c for short iCCP, iTXt, sPLT, or zTXT chunks.
|
||||
Revised pngtest.c so warnings are displayed regardless of PNG_NO_STDIO.
|
||||
|
||||
version 1.4.0beta19 [May 16, 2007]
|
||||
version 1.2.19beta29 [July 20, 2007]
|
||||
Fix typo in pnggccrd.c (%%eax should be %%ax in secondloop48)
|
||||
|
||||
version 1.2.19beta30 [July 26, 2007]
|
||||
Revised pnggccrd.c
|
||||
|
||||
version 1.2.19beta31 [July 27, 2007]
|
||||
Fix typos in pnggccrd.c
|
||||
|
||||
version 1.0.27rc1 and 1.2.19rc1 [July 31, 2007]
|
||||
Disable PNG_MMX_CODE_SUPPORTED when PNG_ASSEMBLER_CODE_SUPPORTED is off.
|
||||
Enable PNG_MMX_READ_FILTER_* by default, except when gcc-3.x is being
|
||||
used (they were inadvertently disabled in libpng-1.2.19beta23).
|
||||
Fix some debugging statements in pnggccrd.c and pngrutil.c
|
||||
Added information about disabling the MMX code in libpng documentation.
|
||||
|
||||
version 1.0.27rc2 and 1.2.19rc2 [August 4, 2007]
|
||||
Removed some "#if 0" blocks.
|
||||
Made a global struct local in pngvcrd.c to make it thread safe.
|
||||
Issue a png_error() if application attempts to transform a row tht
|
||||
has not been initialized.
|
||||
|
||||
version 1.0.27rc3 and 1.2.19rc3 [August 9, 2007]
|
||||
Slightly revised pngvcrd.c
|
||||
|
||||
version 1.0.27rc4 and 1.2.19rc4 [August 9, 2007]
|
||||
Revised pnggccrd.c debugging change of rc1, which was broken.
|
||||
Revised scripts/CMakeLists.txt
|
||||
Rebuilt configure and Makefile.in with newer tools.
|
||||
Added conditional #undef jmpbuf in pngtest.c to undo #define in AIX headers.
|
||||
Added scripts/makefile.nommx
|
||||
Change default to PNG_NO_GLOBAL_ARRAYS for MSVC.
|
||||
Turn off PNG_FLAG_ROW_INIT flag when setting transforms that expand pixels.
|
||||
|
||||
version 1.4.0beta20 [July 9, 2008]
|
||||
Moved several PNG_HAVE_* macros from pngpriv.h to png.h because applications
|
||||
calling set_unknown_chunk_location() need them.
|
||||
Moved several macro definitions from pngpriv.h to pngconf.h
|
||||
Merge with changes to the 1.2.X branch, as of 1.2.30beta04.
|
||||
Deleted all use of the MMX assembler code and Intel-licensed optimizations.
|
||||
Revised makefile.mingw
|
||||
version 1.0.27rc5 and 1.2.19rc5 [August 10, 2007]
|
||||
Fix typo (missing '"') in pnggccrd.c
|
||||
Revise handling of png_strtod in recent versions of WINCE
|
||||
|
||||
version 1.4.0beta21 [July 21, 2008]
|
||||
version 1.0.27rc6 and 1.2.19rc6 [August 15, 2007]
|
||||
Fix typo (missing ',') in contrib/gregbook/readpng2.c
|
||||
Undid row initialization error exit added to rc2 and rc4.
|
||||
|
||||
version 1.0.27 and 1.2.19 [August 18, 2007]
|
||||
Conditionally restored row initialization error exit.
|
||||
|
||||
version 1.2.20beta01 [August 19, 2007]
|
||||
Fixed problem with compiling pnggccrd.c on Intel-Apple platforms.
|
||||
Changed png_malloc() to png_malloc_warn() in png_set_sPLT().
|
||||
Added PNG_NO_ERROR_TEXT feature, with demo in contrib/pngminim
|
||||
Removed define PNG_WARN_UNINITIALIZED_ROW 1 /* 0: warning; 1: error */
|
||||
because it caused some trouble.
|
||||
|
||||
version 1.2.20beta02 [August 20, 2007]
|
||||
Avoid compiling pnggccrd.c on Intel-Apple platforms.
|
||||
|
||||
version 1.2.20beta03 [August 20, 2007]
|
||||
Added "/D PNG_NO_MMX_CODE" to the non-mmx builds of projects/visualc6
|
||||
and visualc71.
|
||||
|
||||
version 1.2.20beta04 [August 21, 2007]
|
||||
Revised pngvcrd.c for improved efficiency (Steve Snyder).
|
||||
|
||||
version 1.2.20rc1 [August 23, 2007]
|
||||
Revised pngconf.h to set PNG_NO_MMX_CODE for gcc-3.x compilers.
|
||||
|
||||
version 1.2.20rc2 [August 27, 2007]
|
||||
Revised scripts/CMakeLists.txt
|
||||
Revised #ifdefs to ensure one and only one of pnggccrd.c, pngvcrd.c,
|
||||
or part of pngrutil.c is selected.
|
||||
|
||||
version 1.2.20rc3 [August 30, 2007]
|
||||
Remove a little more code in pngwutil.c when PNG_NO_WRITE_FILTER is selected.
|
||||
Added /D _CRT_SECURE_NO_WARNINGS to visual6c and visualc71 projects.
|
||||
Compile png_mmx_support() in png.c even when PNG_NO_MMX_CODE is defined.
|
||||
Restored a "superfluous" #ifdef that was removed from 1.2.20rc2 pnggccrd.c,
|
||||
breaking the png_mmx_support() function.
|
||||
|
||||
version 1.2.20rc4 [September 1, 2007]
|
||||
Removed Intel contributions (MMX, Optimized C).
|
||||
|
||||
version 1.2.20rc5 [September 2, 2007]
|
||||
Restored configure and Makefile.in to rc3 and put a snippet of code in
|
||||
pnggccrd.c, to ensure configure makes the same PNG_NO_MMX_CODE selection
|
||||
|
||||
version 1.2.20rc6 [September 2, 2007]
|
||||
Fixed bugs in scripts/CMakeLists.txt
|
||||
Removed pngvcrd.c references from msvc projects.
|
||||
|
||||
version 1.0.28 and 1.2.20 [September 8, 2007]
|
||||
Removed "(NO READ SUPPORT)" from png_get_header_version() string.
|
||||
|
||||
version 1.2.21beta1 [September 14, 2007]
|
||||
Fixed various mistakes reported by George Cook and Jeff Phillips:
|
||||
logical vs bitwise NOT in pngrtran.c, bug introduced in 1.2.19rc2
|
||||
16-bit cheap transparency expansion, bug introduced in 1.2.19beta2
|
||||
errors with sizeof(unknown_chunk.name), bugs introduced in 1.2.19beta11
|
||||
<= compare with unsigned var in pngset.c, should be ==.
|
||||
|
||||
version 1.2.21beta2 [September 18, 2007]
|
||||
Removed some extraneous typecasts.
|
||||
|
||||
version 1.2.21rc1 [September 25, 2007]
|
||||
Fixed potential out-of-bounds reads in png_handle_pCAL() and
|
||||
png_handle_ztXt() ("flayer" results reported by Tavis Ormandy).
|
||||
|
||||
version 1.2.21rc2 [September 26, 2007]
|
||||
Fixed potential out-of-bounds reads in png_handle_sCAL(),
|
||||
png_handle_iTXt(), and png_push_read_tEXt().
|
||||
Remove some PNG_CONST declarations from pngwutil.c to avoid compiler warnings
|
||||
Revised makefiles to update paths in libpng.pc properly.
|
||||
|
||||
version 1.2.21rc3 [September 27, 2007]
|
||||
Revised makefiles to update "Libs" in libpng.pc properly.
|
||||
|
||||
version 1.0.29 and 1.2.21rc3 [October 4, 2007]
|
||||
No changes.
|
||||
|
||||
version 1.2.22beta1 [October 4, 2007]
|
||||
Again, fixed logical vs bitwise NOT in pngrtran.c, bug introduced
|
||||
in 1.2.19rc2
|
||||
|
||||
version 1.2.22beta2 [October 5, 2007]
|
||||
Fixed string length error in pngset.c (caused crashes while decoding iCCP)
|
||||
Add terminating NULL after each instance of png_strncpy().
|
||||
|
||||
version 1.2.22beta3 [October 6, 2007]
|
||||
Fix two off-by-one terminating NULL after png_strncpy().
|
||||
|
||||
version 1.2.22beta4 [October 7, 2007]
|
||||
Changed some 0 to '\0'.
|
||||
|
||||
version 1.0.30rc1 and 1.2.22rc1 [October 8, 2007]
|
||||
No changes.
|
||||
|
||||
version 1.0.30 and 1.2.22 [October 13, 2007]
|
||||
No changes.
|
||||
|
||||
version 1.2.23beta01 [October 15, 2007]
|
||||
Reduced number of invocations of png_strlen() in pngset.c.
|
||||
Changed [azAZ09_] to [_abcde...89] in Makefile.am for better localization.
|
||||
|
||||
version 1.2.23beta02 [October 16, 2007]
|
||||
Eliminated png_strncpy() and png_strcpy() (Pierre Poissinger)
|
||||
Changed $AN to $(AN) in Makefile.am.
|
||||
|
||||
version 1.2.23beta03 [October 16, 2007]
|
||||
Fixed off-by-one error in pngset.c
|
||||
Restore statement to set last character of buffer to \0 in pngerror.c
|
||||
|
||||
version 1.2.23beta04 [October 23, 2007]
|
||||
Reject attempt to set all-zero cHRM values.
|
||||
|
||||
version 1.2.23beta05 [October 26, 2007]
|
||||
Add missing quotes in projects/visualc6, lost in version 1.2.20rc3
|
||||
|
||||
version 1.2.23rc01 [November 2, 2007]
|
||||
No changes.
|
||||
|
||||
version 1.2.23 [November 6, 2007]
|
||||
No changes.
|
||||
|
||||
version 1.2.24beta01 [November 19, 2007]
|
||||
Moved misplaced test for malloc failure in png_set_sPLT(). This bug was
|
||||
introduced in libpng-1.2.20beta01.
|
||||
Ifdef out avg_row etc from png.h and pngwrite.c when PNG_NO_WRITE_FILTER
|
||||
Do not use png_ptr->free_fn and png_ptr->mem_fn in png_destroy_read_struct()
|
||||
when png_ptr is NULL (Marshall Clow).
|
||||
Updated handling of symbol prefixes in Makefile.am and configure.ac (Mike
|
||||
Frysinger).
|
||||
|
||||
version 1.2.24beta02 [November 30, 2007]
|
||||
Removed a useless test and fixed incorrect test in png_set_cHRM_fixed()
|
||||
(David Hill).
|
||||
|
||||
version 1.2.24rc01 [December 7, 2007]
|
||||
No changes.
|
||||
|
||||
version 1.2.24 [December 14, 2007]
|
||||
Make sure not to redefine _BSD_SOURCE in pngconf.h
|
||||
Revised gather.sh and makefile.std in contrib/pngminim to avoid compiling
|
||||
unused files.
|
||||
|
||||
version 1.2.25beta01 [January 7, 2008]
|
||||
Fixed bug with unknown chunk handling, introduced in version 1.2.17rc2
|
||||
|
||||
version 1.2.25beta02 [January 10, 2008]
|
||||
Prevent gamma from being applied twice.
|
||||
|
||||
version 1.2.25rc01 [January 17, 2008]
|
||||
No changes.
|
||||
|
||||
version 1.2.25beta03 [January 22, 2008]
|
||||
Fixed some continue-after-malloc-failure errors in pngset.c (David Hill)
|
||||
Check for info_ptr == NULL in png_read_info() and png_process_data().
|
||||
Check for possible use of NULL user_png_ver[] in png_create_read_struct().
|
||||
Change "if (swidth == NULL)" to "if (sheight == NULL)" in png_handle_sCAL
|
||||
(bug introduced in libpng-1.2.4/1.0.13).
|
||||
Return from png_destroy_read_struct() if png_ptr_ptr is NULL.
|
||||
Fix overflow of "msg" in png_decompress_chunk().
|
||||
|
||||
version 1.2.25beta04 [January 26, 2008]
|
||||
Work around Coverity bug report by slightly refactoring
|
||||
png_read_push_finish_row()
|
||||
|
||||
version 1.2.25beta05 [January 31, 2008]
|
||||
Added libpng-1.2.25beta05.tar.lzma to distribution. Get the lzma codec
|
||||
from <http://tukaani.org/lzma>.
|
||||
Added lp1225b05.7z to distribution. Get the 7-zip decoder from
|
||||
from <http://www.7-zip.org>.
|
||||
Fixed some broken links in the README file.
|
||||
|
||||
version 1.2.25beta06 [February 6, 2008]
|
||||
Refactored png_read_push_finish_row() again, trying to satisfy Coverity.
|
||||
Fixed potential NULL dereference of png_ptr in png_destroy_write_struct();
|
||||
clarified potential NULL dereference of png_ptr in png_destroy_read_struct();
|
||||
fixed potential NULL dereference of info_ptr in png_handle_bKGD();
|
||||
fixed potential NULL dereference of user_png_ver[] in
|
||||
png_create_write_struct_2(). (Coverity)
|
||||
|
||||
version 1.2.25rc02 [February 10, 2008]
|
||||
Reset png_ptr->pass in png_read_push_finish_row() before break.
|
||||
Changed "pass" from png_byte to int.
|
||||
|
||||
version 1.2.25 and 1.0.31 [February 18, 2008]
|
||||
No changes.
|
||||
|
||||
version 1.2.26beta01 [February 21, 2008]
|
||||
Added missing "(" in pngmem.c. Bug introduced in libpng-1.2.2/1.0.13
|
||||
|
||||
version 1.2.26beta02 [March 12, 2008]
|
||||
Refined error message returned from deflateInit2 in pngwutil.c
|
||||
Check IHDR length in png_push_read_chunk() before saving it.
|
||||
|
||||
version 1.2.26beta03 [March 16, 2008]
|
||||
Revised contrib/gregbook to handle premature end-of-file and file
|
||||
read errors correctly.
|
||||
|
||||
version 1.2.26beta04 [March 18, 2008]
|
||||
Free png_ptr->big_row_buf and png_ptr->prev_row before allocating
|
||||
new copies in png_read_start_row(). Bug introduced in libpng-1.2.22.
|
||||
|
||||
version 1.2.26beta05 [March 19, 2008]
|
||||
Removed extra png_free() added in libpng-1.2.26beta04.
|
||||
|
||||
version 1.2.26beta06 [March 19, 2008]
|
||||
Avoid reallocating big_row_buf and prev_row when the size does not increase.
|
||||
|
||||
version 1.2.26rc01 [March 26, 2008]
|
||||
Ifdef out some code that is unused when interlacing is not supported.
|
||||
|
||||
versions 1.0.32 and 1.2.26 [April 2, 2008]
|
||||
No changes.
|
||||
|
||||
version 1.2.27beta01 [April 12, 2008]
|
||||
Fixed bug (introduced in libpng-1.0.5h) with handling zero-length
|
||||
unknown chunks.
|
||||
Added more information about png_set_keep_unknown_chunks() to the
|
||||
documentation.
|
||||
Reject tRNS chunk with out-of-range samples instead of masking off
|
||||
the invalid high bits as done in since libpng-1.2.19beta5.
|
||||
|
||||
version 1.2.27beta02 [April 13, 2008]
|
||||
Revised documentation about unknown chunk and user chunk handling.
|
||||
Keep tRNS chunk with out-of-range samples and issue a png_warning().
|
||||
|
||||
version 1.2.27beta03 [April 14, 2008]
|
||||
Added check for NULL ptr in TURBOC version of png_free_default().
|
||||
Removed several unnecessary checks for NULL before calling png_free().
|
||||
Revised png_set_tRNS() so that calling it twice removes and invalidates
|
||||
the previous call.
|
||||
Revised pngtest to check for out-of-range tRNS samples.
|
||||
|
||||
version 1.2.27beta04 [April 18, 2008]
|
||||
Added AC_LIBTOOL_WIN32_DLL to configure.ac
|
||||
Rebuilt Makefile.in, aclocal.m4, and configure with autoconf-2.62
|
||||
|
||||
version 1.2.27beta05 [April 19, 2008]
|
||||
Added MAINTAINERCLEANFILES variable to Makefile.am
|
||||
|
||||
version 1.2.27beta06 [April 21, 2008]
|
||||
Avoid changing color_type from GRAY to RGB by
|
||||
png_set_expand_gray_1_2_4_to_8().
|
||||
|
||||
version 1.2.27rc01 [April 23, 2008]
|
||||
Fix broken URL for rfc2083 in png.5 and libpng-*.txt
|
||||
|
||||
version 1.0.33 and 1.2.27 [April 30, 2008]
|
||||
No changes.
|
||||
|
||||
version 1.0.34 and 1.2.28 [April 30, 2008]
|
||||
Rebuilt Makefile.in, aclocal.m4, and configure with autoconf-2.61
|
||||
due to backward incompatibilities.
|
||||
Removed a stray object file from contrib/gregbook
|
||||
|
||||
version 1.2.29beta01 [May 1, 2008]
|
||||
Removed some stray *.diff and *.orig files
|
||||
|
||||
version 1.2.29beta02 [May 1, 2008]
|
||||
Reverted Makefile.in, aclocal.m4, and configure to the libpng-1.2.26
|
||||
versions.
|
||||
|
||||
version 1.2.29beta03 [May 2, 2008]
|
||||
Added --force to autogen libtoolize options and --force-missing to
|
||||
automake options.
|
||||
Changed $(ECHO) to echo in Makefile.am and Makefile.in
|
||||
Updated all configure files to autoconf-2.62
|
||||
#ifdef out pnggcrd.c code if using MSC_VER
|
||||
|
||||
version 1.2.29rc01 [May 4, 2008]
|
||||
No changes.
|
||||
|
||||
version 1.0.35 and 1.2.29 [May 8, 2008]
|
||||
No changes.
|
||||
|
||||
version 1.0.37 [May 9, 2008]
|
||||
Updated Makefile.in and configure (omitted version 1.0.36).
|
||||
|
||||
version 1.2.30beta01 [May 29, 2008]
|
||||
Updated libpng.pc-configure.in and libpng-config.in per debian bug reports.
|
||||
|
||||
version 1.2.30beta02 [June 25, 2008]
|
||||
Restored png_flush(png_ptr) at the end of png_write_end(), that was
|
||||
removed from libpng-1.0.9beta03.
|
||||
|
||||
version 1.2.30beta03 [July 6, 2008]
|
||||
Merged some cosmetic whitespace changes from libpng-1.4.0beta19.
|
||||
Inline call of png_get_uint_32() in png_get_uint_31(), as in 1.4.0beta19.
|
||||
Added demo of decoding vpAg and sTER chunks to pngtest.c, from 1.4.0beta19.
|
||||
Changed PNGMAJ from 0 to 12 in makefile.darwin, which does not like 0.
|
||||
Added new private function png_read_chunk_header() from 1.4.0beta19.
|
||||
Merge reading of chunk length and chunk type into a single 8-byte read.
|
||||
Merge writing of chunk length and chunk type into a single 8-byte write.
|
||||
|
||||
version 1.2.30beta04 [July 10, 2008]
|
||||
Merged more cosmetic whitespace changes from libpng-1.4.0beta19.
|
||||
|
||||
version 1.0.38rc01, 1.2.30rc01 [September 6, 2008]
|
||||
No changes.
|
||||
|
||||
version 1.0.38rc02, 1.2.30rc02 [July 21, 2008]
|
||||
Moved local array "chunkdata" from pngrutil.c to the png_struct, so
|
||||
it will be freed by png_read_destroy() in case of a read error (Kurt
|
||||
Christensen).
|
||||
|
||||
version 1.4.0beta22 [July 21, 2008]
|
||||
Change "purpose" and "buffer" to png_ptr->chunkdata to avoid memory leaking.
|
||||
version 1.0.38rc03, 1.2.30rc03 [July 21, 2008]
|
||||
Changed "purpose" and "buffer" to png_ptr->chunkdata to avoid memory leaking.
|
||||
|
||||
version 1.4.0beta23 [July 22, 2008]
|
||||
Change "chunkdata = NULL" to "png_ptr->chunkdata = NULL" several places in
|
||||
version 1.0.38rc04, 1.2.30rc04 [July 22, 2008]
|
||||
Changed "chunkdata = NULL" to "png_ptr->chunkdata = NULL" several places in
|
||||
png_decompress_chunk().
|
||||
|
||||
version 1.4.0beta24 [July 25, 2008]
|
||||
Change all remaining "chunkdata" to "png_ptr->chunkdata" in
|
||||
png_decompress_chunk(), and remove "chunkdata" from parameter list.
|
||||
version 1.0.38rc05, 1.2.30rc05 [July 25, 2008]
|
||||
Changed all remaining "chunkdata" to "png_ptr->chunkdata" in
|
||||
png_decompress_chunk() and remove chunkdata from parameter list.
|
||||
Put a call to png_check_chunk_name() in png_read_chunk_header().
|
||||
Revised png_check_chunk_name() to reject a name with a lowercase 3rd byte.
|
||||
Removed two calls to png_check_chunk_name() occuring later in the process.
|
||||
Define PNG_NO_ERROR_NUMBERS by default in pngconf.h
|
||||
|
||||
version 1.4.0beta25 [July 30, 2008]
|
||||
version 1.0.38rc06, 1.2.30rc06 [July 29, 2008]
|
||||
Added a call to png_check_chunk_name() in pngpread.c
|
||||
Reverted png_check_chunk_name() to accept a name with a lowercase 3rd byte.
|
||||
Added png_push_have_buffer() function to pngpread.c
|
||||
Eliminated PNG_BIG_ENDIAN_SUPPORTED and associated png_get_* macros.
|
||||
Made inline expansion of png_get_*() optional with PNG_USE_READ_MACROS.
|
||||
Eliminated all PNG_USELESS_TESTS and PNG_CORRECT_PALETTE_SUPPORTED code.
|
||||
Synced contrib directory and configure files with libpng-1.2.30beta06.
|
||||
Eliminated no-longer-used pngdefs.h (but it's still built in the makefiles)
|
||||
Relocated a misplaced "#endif /* PNG_NO_WRITE_FILTER */" in pngwutil.c
|
||||
|
||||
version 1.4.0beta26 [August 4, 2008]
|
||||
Removed png_push_have_buffer() function in pngpread.c. It increased the
|
||||
compiled library size slightly.
|
||||
version 1.0.38r07, 1.2.30r07 [August 2, 2008]
|
||||
Changed "-Wall" to "-W -Wall" in the CFLAGS in all makefiles (Cosmin Truta)
|
||||
Declared png_ptr "volatile" in pngread.c and pngwrite.c to avoid warnings.
|
||||
Added code in pngset.c to quiet compiler warnings.
|
||||
Updated contrib/visupng/cexcept.h to version 2.0.1
|
||||
Added PNG_LITERAL_CHARACTER macros for #, [, and ].
|
||||
Relocated a misplaced "#endif /* PNG_NO_WRITE_FILTER */" in pngwutil.c
|
||||
|
||||
version 1.4.0beta27 [August 5, 2008]
|
||||
Revised usage of PNG_LITERAL_SHARP in pngerror.c.
|
||||
Moved newline character from individual png_debug messages into the
|
||||
png_debug macros.
|
||||
Allow user to #define their own png_debug, png_debug1, and png_debug2.
|
||||
version 1.0.38r08, 1.2.30r08 [August 2, 2008]
|
||||
Enclose "volatile" declarations in #ifdef PNG_SETJMP_SUPPORTED (Cosmin).
|
||||
|
||||
version 1.4.0beta28 [August 5, 2008]
|
||||
Revised usage of PNG_LITERAL_SHARP in pngerror.c.
|
||||
Added PNG_STRING_NEWLINE macro
|
||||
version 1.0.38, 1.2.30 [August 14, 2008]
|
||||
No changes.
|
||||
|
||||
version 1.4.0beta29 [August 9, 2008]
|
||||
Revised usage of PNG_STRING_NEWLINE to work on non-ISO compilers.
|
||||
Added PNG_STRING_COPYRIGHT macro.
|
||||
Added non-ISO versions of png_debug macros.
|
||||
|
||||
version 1.4.0beta30 [August 14, 2008]
|
||||
Added premultiplied alpha feature (Volker Wiendl).
|
||||
|
||||
version 1.4.0beta31 [August 18, 2008]
|
||||
Moved png_set_premultiply_alpha from pngtrans.c to pngrtran.c
|
||||
version 1.2.31rc01 [August 19, 2008]
|
||||
Removed extra crc check at the end of png_handle_cHRM(). Bug introduced
|
||||
in libpng-1.4.0beta20.
|
||||
in libpng-1.2.30beta03 (Heiko Nitzsche).
|
||||
|
||||
version 1.4.0beta32 [August 19, 2008]
|
||||
version 1.2.31rc02 [August 19, 2008]
|
||||
Added PNG_WRITE_FLUSH_SUPPORTED block around new png_flush() call.
|
||||
Revised PNG_NO_STDIO version of png_write_flush()
|
||||
|
||||
version 1.4.0beta33 [August 20, 2008]
|
||||
Added png_get|set_chunk_cache_max() to limit the total number of sPLT,
|
||||
text, and unknown chunks that can be stored.
|
||||
version 1.2.31rc03 [August 19, 2008]
|
||||
Added PNG_WRITE_FLUSH_AFTER_IEND_SUPPORTED block, off by default, around
|
||||
new png_flush().
|
||||
|
||||
version 1.4.0beta34 [September 6, 2008]
|
||||
version 1.0.39, 1.2.31 [August 21, 2008]
|
||||
No changes.
|
||||
|
||||
version 1.2.32beta01 [September 6, 2008]
|
||||
Shortened tIME_string to 29 bytes in pngtest.c
|
||||
Fixed off-by-one error introduced in png_push_read_zTXt() function in
|
||||
libpng-1.2.30beta04/pngpread.c (Harald van Dijk)
|
||||
|
||||
version 1.4.0beta35 [October 6, 2008]
|
||||
Changed "trans_values" to "trans_color".
|
||||
Changed so-number from 0 to 14. Some OS do not like 0.
|
||||
Revised makefile.darwin to fix shared library numbering.
|
||||
Change png_set_gray_1_2_4_to_8() to png_set_expand_gray_1_2_4_to_8()
|
||||
in example.c (debian bug report)
|
||||
|
||||
version 1.4.0beta36 [October 25, 2008]
|
||||
Sync with tEXt vulnerability fix in libpng-1.2.33rc02.
|
||||
|
||||
version 1.4.0beta37 [November 13, 2008]
|
||||
Added png_check_cHRM in png.c and moved checking from pngget.c, pngrutil.c,
|
||||
and pngwrite.c
|
||||
|
||||
version 1.4.0betaN [future]
|
||||
Build shared libraries with -lz and sometimes -lm.
|
||||
Fixed off-by-one error introduced in in libpng-1.2.30beta04/pngpread.c
|
||||
|
||||
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
||||
(subscription required; visit
|
||||
|
||||
53
INSTALL
53
INSTALL
@@ -1,5 +1,5 @@
|
||||
|
||||
Installing libpng version 1.4.0beta37 - November 13, 2008
|
||||
Installing libpng version 1.2.32beta01 - September 6, 2008
|
||||
|
||||
On Unix/Linux and similar systems, you can simply type
|
||||
|
||||
@@ -27,24 +27,24 @@ Instead, you can use one of the custom-built makefiles in the
|
||||
|
||||
Or you can use one of the "projects" in the "projects" directory.
|
||||
|
||||
If you want to use "cmake" (see www.cmake.org), copy CMakeLists.txt
|
||||
from the "scripts" directory to this directory and type
|
||||
|
||||
cmake . [-DPNG_MMX=YES] -DCMAKE_INSTALL_PREFIX=/path
|
||||
make
|
||||
make install
|
||||
|
||||
Before installing libpng, you must first install zlib, if it
|
||||
is not already on your system. zlib can usually be found
|
||||
wherever you got libpng. zlib can be placed in another directory,
|
||||
at the same level as libpng.
|
||||
|
||||
If you want to use "cmake" (see www.cmake.org), copy CMakeLists.txt
|
||||
from the "scripts" directory to this directory and type
|
||||
|
||||
cmake . -DCMAKE_INSTALL_PREFIX=/path
|
||||
make
|
||||
make install
|
||||
|
||||
If your system already has a preinstalled zlib you will still need
|
||||
to have access to the zlib.h and zconf.h include files that
|
||||
correspond to the version of zlib that's installed.
|
||||
|
||||
You can rename the directories that you downloaded (they
|
||||
might be called "libpng-1.4.0beta37" or "lpng109" and "zlib-1.2.1"
|
||||
might be called "libpng-1.2.32beta01" or "lpng109" and "zlib-1.2.1"
|
||||
or "zlib121") so that you have directories called "zlib" and "libpng".
|
||||
|
||||
Your directory structure should look like this:
|
||||
@@ -64,6 +64,8 @@ Your directory structure should look like this:
|
||||
beos
|
||||
c5builder (Borland)
|
||||
visualc6 (msvc)
|
||||
netware.txt
|
||||
wince.txt
|
||||
scripts
|
||||
makefile.*
|
||||
pngtest.png
|
||||
@@ -83,7 +85,11 @@ If you are building libpng with MSVC, you can enter the
|
||||
libpng projects\visualc6 directory and follow the instructions in
|
||||
projects\visualc6\README.txt.
|
||||
|
||||
You can build libpng for beos as instructed in projects\beos.
|
||||
You can build libpng for WindowsCE by downloading and installing
|
||||
the projects\wince directory as instructed in the projects\wince.txt file, and
|
||||
then following the instructions in the README* files. Similarly, you can
|
||||
build libpng for Netware or Beos as instructed in projects\netware.txt
|
||||
or projects\beos.
|
||||
|
||||
Else enter the zlib directory and follow the instructions in zlib/README,
|
||||
then come back here and run "configure" or choose the appropriate
|
||||
@@ -95,15 +101,9 @@ include
|
||||
CMakeLists.txt => "cmake" script
|
||||
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
|
||||
makefile.elf => Linux/ELF makefile symbol versioning,
|
||||
gcc, creates libpng14.so.14.1.4.0beta37)
|
||||
gcc, creates libpng12.so.0.1.2.32beta01)
|
||||
makefile.linux => Linux/ELF makefile
|
||||
(gcc, creates libpng14.so.14.1.4.0beta37)
|
||||
makefile.gcmmx => Linux/ELF makefile
|
||||
(gcc, creates libpng14.so.14.1.4.0beta37,
|
||||
uses assembler code tuned for Intel MMX platform)
|
||||
makefile.nommx => Linux/ELF makefile
|
||||
(gcc, creates libpng14.so.14.1.4.0beta37
|
||||
does not use Intel MMX assembler code)
|
||||
(gcc, creates libpng12.so.0.1.2.32beta01)
|
||||
makefile.gcc => Generic makefile (gcc, creates static libpng.a)
|
||||
makefile.knr => Archaic UNIX Makefile that converts files with
|
||||
ansi2knr (Requires ansi2knr.c from
|
||||
@@ -120,17 +120,19 @@ include
|
||||
makefile.intel => Intel C/C++ version 4.0 and later
|
||||
libpng.icc => Project file for IBM VisualAge/C++ version 4.0 or later
|
||||
makefile.netbsd => NetBSD/cc makefile, uses PNGGCCRD, makes libpng.so.
|
||||
makefile.ne14bsd => NetBSD/cc makefile, uses PNGGCCRD,
|
||||
makes libpng14.so
|
||||
makefile.ne12bsd => NetBSD/cc makefile, uses PNGGCCRD,
|
||||
makes libpng12.so
|
||||
makefile.openbsd => OpenBSD makefile
|
||||
makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib)
|
||||
makefile.sggcc => Silicon Graphics (gcc,
|
||||
creates libpng14.so.14.1.4.0beta37)
|
||||
creates libpng12.so.0.1.2.32beta01)
|
||||
makefile.sunos => Sun makefile
|
||||
makefile.solaris => Solaris 2.X makefile (gcc,
|
||||
creates libpng14.so.14.1.4.0beta37)
|
||||
creates libpng12.so.0.1.2.32beta01)
|
||||
makefile.solaris-x86 => Solaris/intelMMX 2.X makefile (gcc,
|
||||
creates libpng12.so.0.1.2.32beta01)
|
||||
makefile.so9 => Solaris 9 makefile (gcc,
|
||||
creates libpng14.so.14.1.4.0beta37)
|
||||
creates libpng12.so.0.1.2.32beta01)
|
||||
makefile.32sunu => Sun Ultra 32-bit makefile
|
||||
makefile.64sunu => Sun Ultra 64-bit makefile
|
||||
makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc
|
||||
@@ -146,10 +148,7 @@ include
|
||||
makefile.tc3 => Turbo C 3.0 makefile
|
||||
makefile.dj2 => DJGPP 2 makefile
|
||||
makefile.msc => Microsoft C makefile
|
||||
makefile.vcawin32 => makefile for Microsoft Visual C++ 5.0 and later (uses
|
||||
assembler code tuned for Intel MMX platform)
|
||||
makefile.vcwin32 => makefile for Microsoft Visual C++ 4.0 and later (does
|
||||
not use assembler code)
|
||||
makefile.vcwin32 => makefile for Microsoft Visual C++ 4.0 and later
|
||||
makefile.os2 => OS/2 Makefile (gcc and emx, requires pngos2.def)
|
||||
pngos2.def => OS/2 module definition file used by makefile.os2
|
||||
makefile.watcom => Watcom 10a+ Makefile, 32-bit flat memory model
|
||||
|
||||
27
KNOWNBUG
27
KNOWNBUG
@@ -1,27 +1,22 @@
|
||||
|
||||
Known bugs in libpng version 1.4.0beta37
|
||||
Known bugs in libpng version 1.2.32beta01
|
||||
|
||||
1. April 22, 2001: pnggccrd.c has been reported to crash on NetBSD when
|
||||
reading interlaced PNG files, when assembler code is enabled but running
|
||||
on a non-MMX i386 platform.
|
||||
|
||||
STATUS: Under investigation. The change to pnggccrd.c in libpng-1.2.1
|
||||
fixed a problem under FreeBSD but not the problem with NetBSD, which
|
||||
still fails as of libpng-1.2.2rc1.
|
||||
|
||||
2. February 23, 2006: The custom makefiles don't build libpng with -lz.
|
||||
1. February 23, 2006: The custom makefiles don't build libpng with -lz.
|
||||
|
||||
STATUS: This is a subject of debate. The change will probably be made
|
||||
as a part of a major overhaul of the makefiles in libpng version 1.3.0.
|
||||
as a part of a major overhaul of the makefiles in libpng version 1.4.0.
|
||||
|
||||
3. February 24, 2006: The Makefile generated by the "configure" script
|
||||
2. February 24, 2006: The Makefile generated by the "configure" script
|
||||
fails to install symbolic links
|
||||
libpng12.so => libpng12.so.0.1.2.9betaN
|
||||
that are generated by the custom makefiles.
|
||||
|
||||
STATUS: For now, system library builders should use the custom makefiles.
|
||||
3. September 4, 2007: There is a report that pngtest crashes on MacOS 10.
|
||||
|
||||
4. November 14, 2006: "make install" fails to build pngdefs.h.
|
||||
"make; make install" works.
|
||||
STATUS: workarounds are
|
||||
1) Compile without optimization (crashes are observed with
|
||||
-arch i386 and -O2 or -O3, using gcc-4.0.1).
|
||||
2) Compile pngtest.c with PNG_DEBUG defined (the bug goes away if
|
||||
you try to look at it).
|
||||
3) Ignore the crash. The library itself seems to be OK.
|
||||
|
||||
STATUS: Under investigation.
|
||||
|
||||
6
LICENSE
6
LICENSE
@@ -8,8 +8,8 @@ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
|
||||
If you modify libpng you may insert additional notices immediately following
|
||||
this sentence.
|
||||
|
||||
libpng versions 1.2.6, August 15, 2004, through 1.4.0beta37, November 13, 2008, are
|
||||
Copyright (c) 2004, 2006-2007 Glenn Randers-Pehrson, and are
|
||||
libpng versions 1.2.6, August 15, 2004, through 1.2.32beta01, September 6, 2008, are
|
||||
Copyright (c) 2004, 2006-2008 Glenn Randers-Pehrson, and are
|
||||
distributed according to the same disclaimer and license as libpng-1.2.5
|
||||
with the following individual added to the list of Contributing Authors
|
||||
|
||||
@@ -106,4 +106,4 @@ certification mark of the Open Source Initiative.
|
||||
|
||||
Glenn Randers-Pehrson
|
||||
glennrp at users.sourceforge.net
|
||||
November 13, 2008
|
||||
September 6, 2008
|
||||
|
||||
41
Makefile.am
41
Makefile.am
@@ -16,7 +16,7 @@ AUTOMAKE_OPTIONS = foreign
|
||||
# test programs - run on make check, make distcheck
|
||||
check_PROGRAMS= pngtest
|
||||
pngtest_SOURCES = pngtest.c
|
||||
pngtest_LDADD = libpng14.la
|
||||
pngtest_LDADD = libpng12.la
|
||||
TESTS = test-pngtest.sh
|
||||
TESTS_ENVIRONMENT= srcdir=$(srcdir)
|
||||
|
||||
@@ -24,39 +24,39 @@ TESTS_ENVIRONMENT= srcdir=$(srcdir)
|
||||
dist_man_MANS= libpng.3 libpngpf.3 png.5
|
||||
|
||||
# generate the -config scripts if required
|
||||
binconfigs= libpng14-config
|
||||
EXTRA_SCRIPTS= libpng-config libpng14-config
|
||||
binconfigs= libpng12-config
|
||||
EXTRA_SCRIPTS= libpng-config libpng12-config
|
||||
bin_SCRIPTS= @binconfigs@
|
||||
|
||||
# rules to build libpng, only build the old library on request
|
||||
lib_LTLIBRARIES=libpng14.la @compatlib@
|
||||
lib_LTLIBRARIES=libpng12.la @compatlib@
|
||||
EXTRA_LTLIBRARIES= libpng.la
|
||||
libpng14_la_SOURCES = png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
|
||||
libpng12_la_SOURCES = png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
|
||||
pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
|
||||
pngwtran.c pngmem.c pngerror.c pngpread.c \
|
||||
png.h pngconf.h
|
||||
libpng_la_SOURCES = $(libpng14_la_SOURCES)
|
||||
libpng_la_SOURCES = $(libpng12_la_SOURCES)
|
||||
|
||||
libpng_la_CPPFLAGS = @LIBPNG_DEFINES@
|
||||
libpng14_la_CPPFLAGS = @LIBPNG_DEFINES@
|
||||
libpng12_la_CPPFLAGS = @LIBPNG_DEFINES@
|
||||
|
||||
# MAJOR UPGRADE: the version-number settings below must be changed.
|
||||
libpng14_la_LDFLAGS = -no-undefined -export-dynamic \
|
||||
-version-number 14:@PNGLIB_RELEASE@:14
|
||||
libpng12_la_LDFLAGS = -no-undefined -export-dynamic \
|
||||
-version-number 0:@PNGLIB_RELEASE@:0
|
||||
# -rpath is needed as automake doesn't know the directory
|
||||
libpng_la_LDFLAGS = -rpath '$(libdir)' -no-undefined -export-dynamic \
|
||||
-version-number 14:@PNGLIB_RELEASE@:14
|
||||
-version-number 3:@PNGLIB_RELEASE@:0
|
||||
|
||||
if HAVE_LD_VERSION_SCRIPT
|
||||
# Versioned symbols and restricted exports
|
||||
libpng14_la_LDFLAGS += -Wl,--version-script=libpng.vers
|
||||
libpng14_la_DEPENDENCIES = libpng.vers
|
||||
libpng12_la_LDFLAGS += -Wl,--version-script=libpng.vers
|
||||
libpng12_la_DEPENDENCIES = libpng.vers
|
||||
else
|
||||
# Only restricted exports when possible
|
||||
libpng14_la_LDFLAGS += -export-symbols libpng.sym
|
||||
libpng14_la_DEPENDENCIES = libpng.sym
|
||||
libpng12_la_LDFLAGS += -export-symbols libpng.sym
|
||||
libpng12_la_DEPENDENCIES = libpng.sym
|
||||
endif
|
||||
libpng_la_DEPENDENCIES = $(libpng14_la_DEPENDENCIES)
|
||||
libpng_la_DEPENDENCIES = $(libpng12_la_DEPENDENCIES)
|
||||
|
||||
# Avoid depending upon Character Ranges.
|
||||
AN = '_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
|
||||
@@ -68,7 +68,7 @@ pkginclude_HEADERS= png.h pngconf.h
|
||||
# pkg-config stuff, note that libpng.pc is always required in order
|
||||
# to get the correct library
|
||||
pkgconfigdir = @pkgconfigdir@
|
||||
pkgconfig_DATA = libpng14.pc
|
||||
pkgconfig_DATA = libpng12.pc
|
||||
|
||||
#extra source distribution files.
|
||||
EXTRA_DIST= \
|
||||
@@ -86,9 +86,9 @@ EXTRA_DIST= \
|
||||
${srcdir}/contrib/pngsuite/* \
|
||||
${srcdir}/contrib/visupng/* \
|
||||
$(TESTS) \
|
||||
example.c libpng-1.4.0beta37.txt pngvcrd.c
|
||||
example.c libpng-1.2.32beta01.txt pngvcrd.c
|
||||
|
||||
CLEANFILES= pngout.png libpng14.pc libpng14-config libpng.vers \
|
||||
CLEANFILES= pngout.png libpng12.pc libpng12-config libpng.vers \
|
||||
libpng.sym
|
||||
|
||||
MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.guess config.h.in \
|
||||
@@ -122,12 +122,11 @@ test: check
|
||||
install-data-hook:
|
||||
cd $(DESTDIR)$(includedir); rm -f png.h pngconf.h
|
||||
cd $(DESTDIR)$(includedir); $(LN_S) $(PNGLIB_BASENAME)/png.h png.h
|
||||
cd $(DESTDIR)$(includedir); $(LN_S) $(PNGLIB_BASENAME)/pngconf.h \
|
||||
pngconf.h
|
||||
cd $(DESTDIR)$(includedir); $(LN_S) $(PNGLIB_BASENAME)/pngconf.h pngconf.h
|
||||
cd $(DESTDIR)$(pkgconfigdir); rm -f libpng.pc
|
||||
cd $(DESTDIR)$(pkgconfigdir); $(LN_S) $(PNGLIB_BASENAME).pc libpng.pc
|
||||
|
||||
# do evil things to libpng to cause libpng14 to be used
|
||||
# do evil things to libpng to cause libpng12 to be used
|
||||
install-exec-hook:
|
||||
cd $(DESTDIR)$(bindir); rm -f libpng-config
|
||||
cd $(DESTDIR)$(bindir); $(LN_S) $(PNGLIB_BASENAME)-config libpng-config
|
||||
|
||||
252
Makefile.in
252
Makefile.in
@@ -18,8 +18,8 @@
|
||||
# Source file for Makefile.in (and hence Makefile)
|
||||
#
|
||||
# Makefile.am need only be changed on a major version number
|
||||
# change (e.g. libpng14 --> libpng13). In that case seach
|
||||
# this file for every instance of the old base name (libpng14)
|
||||
# change (e.g. libpng12 --> libpng13). In that case seach
|
||||
# this file for every instance of the old base name (libpng12)
|
||||
# and change to the new one (libpng13), then change the
|
||||
# -version-number settings below so that the new values have
|
||||
# the correct major part (first field).
|
||||
@@ -88,22 +88,22 @@ libpng_la_OBJECTS = $(am_libpng_la_OBJECTS)
|
||||
libpng_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
|
||||
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||
$(libpng_la_LDFLAGS) $(LDFLAGS) -o $@
|
||||
libpng14_la_LIBADD =
|
||||
am_libpng14_la_OBJECTS = libpng14_la-png.lo libpng14_la-pngset.lo \
|
||||
libpng14_la-pngget.lo libpng14_la-pngrutil.lo \
|
||||
libpng14_la-pngtrans.lo libpng14_la-pngwutil.lo \
|
||||
libpng14_la-pngread.lo libpng14_la-pngrio.lo \
|
||||
libpng14_la-pngwio.lo libpng14_la-pngwrite.lo \
|
||||
libpng14_la-pngrtran.lo libpng14_la-pngwtran.lo \
|
||||
libpng14_la-pngmem.lo libpng14_la-pngerror.lo \
|
||||
libpng14_la-pngpread.lo
|
||||
libpng14_la_OBJECTS = $(am_libpng14_la_OBJECTS)
|
||||
libpng14_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
|
||||
libpng12_la_LIBADD =
|
||||
am_libpng12_la_OBJECTS = libpng12_la-png.lo libpng12_la-pngset.lo \
|
||||
libpng12_la-pngget.lo libpng12_la-pngrutil.lo \
|
||||
libpng12_la-pngtrans.lo libpng12_la-pngwutil.lo \
|
||||
libpng12_la-pngread.lo libpng12_la-pngrio.lo \
|
||||
libpng12_la-pngwio.lo libpng12_la-pngwrite.lo \
|
||||
libpng12_la-pngrtran.lo libpng12_la-pngwtran.lo \
|
||||
libpng12_la-pngmem.lo libpng12_la-pngerror.lo \
|
||||
libpng12_la-pngpread.lo
|
||||
libpng12_la_OBJECTS = $(am_libpng12_la_OBJECTS)
|
||||
libpng12_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
|
||||
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||
$(libpng14_la_LDFLAGS) $(LDFLAGS) -o $@
|
||||
$(libpng12_la_LDFLAGS) $(LDFLAGS) -o $@
|
||||
am_pngtest_OBJECTS = pngtest.$(OBJEXT)
|
||||
pngtest_OBJECTS = $(am_pngtest_OBJECTS)
|
||||
pngtest_DEPENDENCIES = libpng14.la
|
||||
pngtest_DEPENDENCIES = libpng12.la
|
||||
binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
|
||||
SCRIPTS = $(bin_SCRIPTS)
|
||||
DEFAULT_INCLUDES = -I.@am__isrc@
|
||||
@@ -118,9 +118,9 @@ CCLD = $(CC)
|
||||
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
||||
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
|
||||
$(LDFLAGS) -o $@
|
||||
SOURCES = $(libpng_la_SOURCES) $(libpng14_la_SOURCES) \
|
||||
SOURCES = $(libpng_la_SOURCES) $(libpng12_la_SOURCES) \
|
||||
$(pngtest_SOURCES)
|
||||
DIST_SOURCES = $(libpng_la_SOURCES) $(libpng14_la_SOURCES) \
|
||||
DIST_SOURCES = $(libpng_la_SOURCES) $(libpng12_la_SOURCES) \
|
||||
$(pngtest_SOURCES)
|
||||
man3dir = $(mandir)/man3
|
||||
man5dir = $(mandir)/man5
|
||||
@@ -226,7 +226,7 @@ am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
|
||||
# generate the -config scripts if required
|
||||
binconfigs = libpng14-config
|
||||
binconfigs = libpng12-config
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
@@ -278,42 +278,42 @@ PNGLIB_BASENAME = libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@
|
||||
# libpng does not follow GNU file name conventions
|
||||
AUTOMAKE_OPTIONS = foreign
|
||||
pngtest_SOURCES = pngtest.c
|
||||
pngtest_LDADD = libpng14.la
|
||||
pngtest_LDADD = libpng12.la
|
||||
TESTS = test-pngtest.sh
|
||||
TESTS_ENVIRONMENT = srcdir=$(srcdir)
|
||||
|
||||
# man pages
|
||||
dist_man_MANS = libpng.3 libpngpf.3 png.5
|
||||
EXTRA_SCRIPTS = libpng-config libpng14-config
|
||||
EXTRA_SCRIPTS = libpng-config libpng12-config
|
||||
bin_SCRIPTS = @binconfigs@
|
||||
|
||||
# rules to build libpng, only build the old library on request
|
||||
lib_LTLIBRARIES = libpng14.la @compatlib@
|
||||
lib_LTLIBRARIES = libpng12.la @compatlib@
|
||||
EXTRA_LTLIBRARIES = libpng.la
|
||||
libpng14_la_SOURCES = png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
|
||||
libpng12_la_SOURCES = png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
|
||||
pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
|
||||
pngwtran.c pngmem.c pngerror.c pngpread.c \
|
||||
png.h pngconf.h
|
||||
|
||||
libpng_la_SOURCES = $(libpng14_la_SOURCES)
|
||||
libpng_la_SOURCES = $(libpng12_la_SOURCES)
|
||||
libpng_la_CPPFLAGS = @LIBPNG_DEFINES@
|
||||
libpng14_la_CPPFLAGS = @LIBPNG_DEFINES@
|
||||
libpng12_la_CPPFLAGS = @LIBPNG_DEFINES@
|
||||
|
||||
# MAJOR UPGRADE: the version-number settings below must be changed.
|
||||
libpng14_la_LDFLAGS = -no-undefined -export-dynamic -version-number \
|
||||
14:@PNGLIB_RELEASE@:14 $(am__append_1) $(am__append_2)
|
||||
libpng12_la_LDFLAGS = -no-undefined -export-dynamic -version-number \
|
||||
0:@PNGLIB_RELEASE@:0 $(am__append_1) $(am__append_2)
|
||||
# -rpath is needed as automake doesn't know the directory
|
||||
libpng_la_LDFLAGS = -rpath '$(libdir)' -no-undefined -export-dynamic \
|
||||
-version-number 14:@PNGLIB_RELEASE@:14
|
||||
-version-number 3:@PNGLIB_RELEASE@:0
|
||||
|
||||
@HAVE_LD_VERSION_SCRIPT_FALSE@libpng14_la_DEPENDENCIES = libpng.sym
|
||||
@HAVE_LD_VERSION_SCRIPT_TRUE@libpng14_la_DEPENDENCIES = libpng.vers
|
||||
libpng_la_DEPENDENCIES = $(libpng14_la_DEPENDENCIES)
|
||||
@HAVE_LD_VERSION_SCRIPT_FALSE@libpng12_la_DEPENDENCIES = libpng.sym
|
||||
@HAVE_LD_VERSION_SCRIPT_TRUE@libpng12_la_DEPENDENCIES = libpng.vers
|
||||
libpng_la_DEPENDENCIES = $(libpng12_la_DEPENDENCIES)
|
||||
|
||||
# Avoid depending upon Character Ranges.
|
||||
AN = '_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
|
||||
pkginclude_HEADERS = png.h pngconf.h
|
||||
pkgconfig_DATA = libpng14.pc
|
||||
pkgconfig_DATA = libpng12.pc
|
||||
|
||||
#extra source distribution files.
|
||||
EXTRA_DIST = \
|
||||
@@ -331,9 +331,9 @@ EXTRA_DIST = \
|
||||
${srcdir}/contrib/pngsuite/* \
|
||||
${srcdir}/contrib/visupng/* \
|
||||
$(TESTS) \
|
||||
example.c libpng-1.4.0beta37.txt pngvcrd.c
|
||||
example.c libpng-1.2.32beta01.txt pngvcrd.c
|
||||
|
||||
CLEANFILES = pngout.png libpng14.pc libpng14-config libpng.vers \
|
||||
CLEANFILES = pngout.png libpng12.pc libpng12-config libpng.vers \
|
||||
libpng.sym
|
||||
|
||||
MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.guess config.h.in \
|
||||
@@ -427,8 +427,8 @@ clean-libLTLIBRARIES:
|
||||
done
|
||||
libpng.la: $(libpng_la_OBJECTS) $(libpng_la_DEPENDENCIES)
|
||||
$(libpng_la_LINK) $(libpng_la_OBJECTS) $(libpng_la_LIBADD) $(LIBS)
|
||||
libpng14.la: $(libpng14_la_OBJECTS) $(libpng14_la_DEPENDENCIES)
|
||||
$(libpng14_la_LINK) -rpath $(libdir) $(libpng14_la_OBJECTS) $(libpng14_la_LIBADD) $(LIBS)
|
||||
libpng12.la: $(libpng12_la_OBJECTS) $(libpng12_la_DEPENDENCIES)
|
||||
$(libpng12_la_LINK) -rpath $(libdir) $(libpng12_la_OBJECTS) $(libpng12_la_LIBADD) $(LIBS)
|
||||
|
||||
clean-checkPROGRAMS:
|
||||
@list='$(check_PROGRAMS)'; for p in $$list; do \
|
||||
@@ -465,21 +465,21 @@ mostlyclean-compile:
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng14_la-png.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng14_la-pngerror.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng14_la-pngget.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng14_la-pngmem.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng14_la-pngpread.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng14_la-pngread.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng14_la-pngrio.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng14_la-pngrtran.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng14_la-pngrutil.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng14_la-pngset.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng14_la-pngtrans.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng14_la-pngwio.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng14_la-pngwrite.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng14_la-pngwtran.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng14_la-pngwutil.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng12_la-png.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng12_la-pngerror.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng12_la-pngget.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng12_la-pngmem.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng12_la-pngpread.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng12_la-pngread.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng12_la-pngrio.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng12_la-pngrtran.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng12_la-pngrutil.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng12_la-pngset.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng12_la-pngtrans.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng12_la-pngwio.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng12_la-pngwrite.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng12_la-pngwtran.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng12_la-pngwutil.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng_la-png.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng_la-pngerror.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng_la-pngget.Plo@am__quote@
|
||||
@@ -623,110 +623,110 @@ libpng_la-pngpread.lo: pngpread.c
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-pngpread.lo `test -f 'pngpread.c' || echo '$(srcdir)/'`pngpread.c
|
||||
|
||||
libpng14_la-png.lo: png.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng14_la-png.lo -MD -MP -MF $(DEPDIR)/libpng14_la-png.Tpo -c -o libpng14_la-png.lo `test -f 'png.c' || echo '$(srcdir)/'`png.c
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpng14_la-png.Tpo $(DEPDIR)/libpng14_la-png.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='png.c' object='libpng14_la-png.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
libpng12_la-png.lo: png.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng12_la-png.lo -MD -MP -MF $(DEPDIR)/libpng12_la-png.Tpo -c -o libpng12_la-png.lo `test -f 'png.c' || echo '$(srcdir)/'`png.c
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpng12_la-png.Tpo $(DEPDIR)/libpng12_la-png.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='png.c' object='libpng12_la-png.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng14_la-png.lo `test -f 'png.c' || echo '$(srcdir)/'`png.c
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng12_la-png.lo `test -f 'png.c' || echo '$(srcdir)/'`png.c
|
||||
|
||||
libpng14_la-pngset.lo: pngset.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng14_la-pngset.lo -MD -MP -MF $(DEPDIR)/libpng14_la-pngset.Tpo -c -o libpng14_la-pngset.lo `test -f 'pngset.c' || echo '$(srcdir)/'`pngset.c
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpng14_la-pngset.Tpo $(DEPDIR)/libpng14_la-pngset.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pngset.c' object='libpng14_la-pngset.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
libpng12_la-pngset.lo: pngset.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng12_la-pngset.lo -MD -MP -MF $(DEPDIR)/libpng12_la-pngset.Tpo -c -o libpng12_la-pngset.lo `test -f 'pngset.c' || echo '$(srcdir)/'`pngset.c
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpng12_la-pngset.Tpo $(DEPDIR)/libpng12_la-pngset.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pngset.c' object='libpng12_la-pngset.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng14_la-pngset.lo `test -f 'pngset.c' || echo '$(srcdir)/'`pngset.c
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng12_la-pngset.lo `test -f 'pngset.c' || echo '$(srcdir)/'`pngset.c
|
||||
|
||||
libpng14_la-pngget.lo: pngget.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng14_la-pngget.lo -MD -MP -MF $(DEPDIR)/libpng14_la-pngget.Tpo -c -o libpng14_la-pngget.lo `test -f 'pngget.c' || echo '$(srcdir)/'`pngget.c
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpng14_la-pngget.Tpo $(DEPDIR)/libpng14_la-pngget.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pngget.c' object='libpng14_la-pngget.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
libpng12_la-pngget.lo: pngget.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng12_la-pngget.lo -MD -MP -MF $(DEPDIR)/libpng12_la-pngget.Tpo -c -o libpng12_la-pngget.lo `test -f 'pngget.c' || echo '$(srcdir)/'`pngget.c
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpng12_la-pngget.Tpo $(DEPDIR)/libpng12_la-pngget.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pngget.c' object='libpng12_la-pngget.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng14_la-pngget.lo `test -f 'pngget.c' || echo '$(srcdir)/'`pngget.c
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng12_la-pngget.lo `test -f 'pngget.c' || echo '$(srcdir)/'`pngget.c
|
||||
|
||||
libpng14_la-pngrutil.lo: pngrutil.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng14_la-pngrutil.lo -MD -MP -MF $(DEPDIR)/libpng14_la-pngrutil.Tpo -c -o libpng14_la-pngrutil.lo `test -f 'pngrutil.c' || echo '$(srcdir)/'`pngrutil.c
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpng14_la-pngrutil.Tpo $(DEPDIR)/libpng14_la-pngrutil.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pngrutil.c' object='libpng14_la-pngrutil.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
libpng12_la-pngrutil.lo: pngrutil.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng12_la-pngrutil.lo -MD -MP -MF $(DEPDIR)/libpng12_la-pngrutil.Tpo -c -o libpng12_la-pngrutil.lo `test -f 'pngrutil.c' || echo '$(srcdir)/'`pngrutil.c
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpng12_la-pngrutil.Tpo $(DEPDIR)/libpng12_la-pngrutil.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pngrutil.c' object='libpng12_la-pngrutil.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng14_la-pngrutil.lo `test -f 'pngrutil.c' || echo '$(srcdir)/'`pngrutil.c
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng12_la-pngrutil.lo `test -f 'pngrutil.c' || echo '$(srcdir)/'`pngrutil.c
|
||||
|
||||
libpng14_la-pngtrans.lo: pngtrans.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng14_la-pngtrans.lo -MD -MP -MF $(DEPDIR)/libpng14_la-pngtrans.Tpo -c -o libpng14_la-pngtrans.lo `test -f 'pngtrans.c' || echo '$(srcdir)/'`pngtrans.c
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpng14_la-pngtrans.Tpo $(DEPDIR)/libpng14_la-pngtrans.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pngtrans.c' object='libpng14_la-pngtrans.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
libpng12_la-pngtrans.lo: pngtrans.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng12_la-pngtrans.lo -MD -MP -MF $(DEPDIR)/libpng12_la-pngtrans.Tpo -c -o libpng12_la-pngtrans.lo `test -f 'pngtrans.c' || echo '$(srcdir)/'`pngtrans.c
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpng12_la-pngtrans.Tpo $(DEPDIR)/libpng12_la-pngtrans.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pngtrans.c' object='libpng12_la-pngtrans.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng14_la-pngtrans.lo `test -f 'pngtrans.c' || echo '$(srcdir)/'`pngtrans.c
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng12_la-pngtrans.lo `test -f 'pngtrans.c' || echo '$(srcdir)/'`pngtrans.c
|
||||
|
||||
libpng14_la-pngwutil.lo: pngwutil.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng14_la-pngwutil.lo -MD -MP -MF $(DEPDIR)/libpng14_la-pngwutil.Tpo -c -o libpng14_la-pngwutil.lo `test -f 'pngwutil.c' || echo '$(srcdir)/'`pngwutil.c
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpng14_la-pngwutil.Tpo $(DEPDIR)/libpng14_la-pngwutil.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pngwutil.c' object='libpng14_la-pngwutil.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
libpng12_la-pngwutil.lo: pngwutil.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng12_la-pngwutil.lo -MD -MP -MF $(DEPDIR)/libpng12_la-pngwutil.Tpo -c -o libpng12_la-pngwutil.lo `test -f 'pngwutil.c' || echo '$(srcdir)/'`pngwutil.c
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpng12_la-pngwutil.Tpo $(DEPDIR)/libpng12_la-pngwutil.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pngwutil.c' object='libpng12_la-pngwutil.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng14_la-pngwutil.lo `test -f 'pngwutil.c' || echo '$(srcdir)/'`pngwutil.c
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng12_la-pngwutil.lo `test -f 'pngwutil.c' || echo '$(srcdir)/'`pngwutil.c
|
||||
|
||||
libpng14_la-pngread.lo: pngread.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng14_la-pngread.lo -MD -MP -MF $(DEPDIR)/libpng14_la-pngread.Tpo -c -o libpng14_la-pngread.lo `test -f 'pngread.c' || echo '$(srcdir)/'`pngread.c
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpng14_la-pngread.Tpo $(DEPDIR)/libpng14_la-pngread.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pngread.c' object='libpng14_la-pngread.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
libpng12_la-pngread.lo: pngread.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng12_la-pngread.lo -MD -MP -MF $(DEPDIR)/libpng12_la-pngread.Tpo -c -o libpng12_la-pngread.lo `test -f 'pngread.c' || echo '$(srcdir)/'`pngread.c
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpng12_la-pngread.Tpo $(DEPDIR)/libpng12_la-pngread.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pngread.c' object='libpng12_la-pngread.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng14_la-pngread.lo `test -f 'pngread.c' || echo '$(srcdir)/'`pngread.c
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng12_la-pngread.lo `test -f 'pngread.c' || echo '$(srcdir)/'`pngread.c
|
||||
|
||||
libpng14_la-pngrio.lo: pngrio.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng14_la-pngrio.lo -MD -MP -MF $(DEPDIR)/libpng14_la-pngrio.Tpo -c -o libpng14_la-pngrio.lo `test -f 'pngrio.c' || echo '$(srcdir)/'`pngrio.c
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpng14_la-pngrio.Tpo $(DEPDIR)/libpng14_la-pngrio.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pngrio.c' object='libpng14_la-pngrio.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
libpng12_la-pngrio.lo: pngrio.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng12_la-pngrio.lo -MD -MP -MF $(DEPDIR)/libpng12_la-pngrio.Tpo -c -o libpng12_la-pngrio.lo `test -f 'pngrio.c' || echo '$(srcdir)/'`pngrio.c
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpng12_la-pngrio.Tpo $(DEPDIR)/libpng12_la-pngrio.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pngrio.c' object='libpng12_la-pngrio.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng14_la-pngrio.lo `test -f 'pngrio.c' || echo '$(srcdir)/'`pngrio.c
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng12_la-pngrio.lo `test -f 'pngrio.c' || echo '$(srcdir)/'`pngrio.c
|
||||
|
||||
libpng14_la-pngwio.lo: pngwio.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng14_la-pngwio.lo -MD -MP -MF $(DEPDIR)/libpng14_la-pngwio.Tpo -c -o libpng14_la-pngwio.lo `test -f 'pngwio.c' || echo '$(srcdir)/'`pngwio.c
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpng14_la-pngwio.Tpo $(DEPDIR)/libpng14_la-pngwio.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pngwio.c' object='libpng14_la-pngwio.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
libpng12_la-pngwio.lo: pngwio.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng12_la-pngwio.lo -MD -MP -MF $(DEPDIR)/libpng12_la-pngwio.Tpo -c -o libpng12_la-pngwio.lo `test -f 'pngwio.c' || echo '$(srcdir)/'`pngwio.c
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpng12_la-pngwio.Tpo $(DEPDIR)/libpng12_la-pngwio.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pngwio.c' object='libpng12_la-pngwio.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng14_la-pngwio.lo `test -f 'pngwio.c' || echo '$(srcdir)/'`pngwio.c
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng12_la-pngwio.lo `test -f 'pngwio.c' || echo '$(srcdir)/'`pngwio.c
|
||||
|
||||
libpng14_la-pngwrite.lo: pngwrite.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng14_la-pngwrite.lo -MD -MP -MF $(DEPDIR)/libpng14_la-pngwrite.Tpo -c -o libpng14_la-pngwrite.lo `test -f 'pngwrite.c' || echo '$(srcdir)/'`pngwrite.c
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpng14_la-pngwrite.Tpo $(DEPDIR)/libpng14_la-pngwrite.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pngwrite.c' object='libpng14_la-pngwrite.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
libpng12_la-pngwrite.lo: pngwrite.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng12_la-pngwrite.lo -MD -MP -MF $(DEPDIR)/libpng12_la-pngwrite.Tpo -c -o libpng12_la-pngwrite.lo `test -f 'pngwrite.c' || echo '$(srcdir)/'`pngwrite.c
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpng12_la-pngwrite.Tpo $(DEPDIR)/libpng12_la-pngwrite.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pngwrite.c' object='libpng12_la-pngwrite.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng14_la-pngwrite.lo `test -f 'pngwrite.c' || echo '$(srcdir)/'`pngwrite.c
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng12_la-pngwrite.lo `test -f 'pngwrite.c' || echo '$(srcdir)/'`pngwrite.c
|
||||
|
||||
libpng14_la-pngrtran.lo: pngrtran.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng14_la-pngrtran.lo -MD -MP -MF $(DEPDIR)/libpng14_la-pngrtran.Tpo -c -o libpng14_la-pngrtran.lo `test -f 'pngrtran.c' || echo '$(srcdir)/'`pngrtran.c
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpng14_la-pngrtran.Tpo $(DEPDIR)/libpng14_la-pngrtran.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pngrtran.c' object='libpng14_la-pngrtran.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
libpng12_la-pngrtran.lo: pngrtran.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng12_la-pngrtran.lo -MD -MP -MF $(DEPDIR)/libpng12_la-pngrtran.Tpo -c -o libpng12_la-pngrtran.lo `test -f 'pngrtran.c' || echo '$(srcdir)/'`pngrtran.c
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpng12_la-pngrtran.Tpo $(DEPDIR)/libpng12_la-pngrtran.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pngrtran.c' object='libpng12_la-pngrtran.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng14_la-pngrtran.lo `test -f 'pngrtran.c' || echo '$(srcdir)/'`pngrtran.c
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng12_la-pngrtran.lo `test -f 'pngrtran.c' || echo '$(srcdir)/'`pngrtran.c
|
||||
|
||||
libpng14_la-pngwtran.lo: pngwtran.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng14_la-pngwtran.lo -MD -MP -MF $(DEPDIR)/libpng14_la-pngwtran.Tpo -c -o libpng14_la-pngwtran.lo `test -f 'pngwtran.c' || echo '$(srcdir)/'`pngwtran.c
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpng14_la-pngwtran.Tpo $(DEPDIR)/libpng14_la-pngwtran.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pngwtran.c' object='libpng14_la-pngwtran.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
libpng12_la-pngwtran.lo: pngwtran.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng12_la-pngwtran.lo -MD -MP -MF $(DEPDIR)/libpng12_la-pngwtran.Tpo -c -o libpng12_la-pngwtran.lo `test -f 'pngwtran.c' || echo '$(srcdir)/'`pngwtran.c
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpng12_la-pngwtran.Tpo $(DEPDIR)/libpng12_la-pngwtran.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pngwtran.c' object='libpng12_la-pngwtran.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng14_la-pngwtran.lo `test -f 'pngwtran.c' || echo '$(srcdir)/'`pngwtran.c
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng12_la-pngwtran.lo `test -f 'pngwtran.c' || echo '$(srcdir)/'`pngwtran.c
|
||||
|
||||
libpng14_la-pngmem.lo: pngmem.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng14_la-pngmem.lo -MD -MP -MF $(DEPDIR)/libpng14_la-pngmem.Tpo -c -o libpng14_la-pngmem.lo `test -f 'pngmem.c' || echo '$(srcdir)/'`pngmem.c
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpng14_la-pngmem.Tpo $(DEPDIR)/libpng14_la-pngmem.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pngmem.c' object='libpng14_la-pngmem.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
libpng12_la-pngmem.lo: pngmem.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng12_la-pngmem.lo -MD -MP -MF $(DEPDIR)/libpng12_la-pngmem.Tpo -c -o libpng12_la-pngmem.lo `test -f 'pngmem.c' || echo '$(srcdir)/'`pngmem.c
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpng12_la-pngmem.Tpo $(DEPDIR)/libpng12_la-pngmem.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pngmem.c' object='libpng12_la-pngmem.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng14_la-pngmem.lo `test -f 'pngmem.c' || echo '$(srcdir)/'`pngmem.c
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng12_la-pngmem.lo `test -f 'pngmem.c' || echo '$(srcdir)/'`pngmem.c
|
||||
|
||||
libpng14_la-pngerror.lo: pngerror.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng14_la-pngerror.lo -MD -MP -MF $(DEPDIR)/libpng14_la-pngerror.Tpo -c -o libpng14_la-pngerror.lo `test -f 'pngerror.c' || echo '$(srcdir)/'`pngerror.c
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpng14_la-pngerror.Tpo $(DEPDIR)/libpng14_la-pngerror.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pngerror.c' object='libpng14_la-pngerror.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
libpng12_la-pngerror.lo: pngerror.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng12_la-pngerror.lo -MD -MP -MF $(DEPDIR)/libpng12_la-pngerror.Tpo -c -o libpng12_la-pngerror.lo `test -f 'pngerror.c' || echo '$(srcdir)/'`pngerror.c
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpng12_la-pngerror.Tpo $(DEPDIR)/libpng12_la-pngerror.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pngerror.c' object='libpng12_la-pngerror.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng14_la-pngerror.lo `test -f 'pngerror.c' || echo '$(srcdir)/'`pngerror.c
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng12_la-pngerror.lo `test -f 'pngerror.c' || echo '$(srcdir)/'`pngerror.c
|
||||
|
||||
libpng14_la-pngpread.lo: pngpread.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng14_la-pngpread.lo -MD -MP -MF $(DEPDIR)/libpng14_la-pngpread.Tpo -c -o libpng14_la-pngpread.lo `test -f 'pngpread.c' || echo '$(srcdir)/'`pngpread.c
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpng14_la-pngpread.Tpo $(DEPDIR)/libpng14_la-pngpread.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pngpread.c' object='libpng14_la-pngpread.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
libpng12_la-pngpread.lo: pngpread.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng12_la-pngpread.lo -MD -MP -MF $(DEPDIR)/libpng12_la-pngpread.Tpo -c -o libpng12_la-pngpread.lo `test -f 'pngpread.c' || echo '$(srcdir)/'`pngpread.c
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpng12_la-pngpread.Tpo $(DEPDIR)/libpng12_la-pngpread.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pngpread.c' object='libpng12_la-pngpread.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng14_la-pngpread.lo `test -f 'pngpread.c' || echo '$(srcdir)/'`pngpread.c
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng12_la-pngpread.lo `test -f 'pngpread.c' || echo '$(srcdir)/'`pngpread.c
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
@@ -1282,7 +1282,7 @@ install-data-hook:
|
||||
cd $(DESTDIR)$(pkgconfigdir); rm -f libpng.pc
|
||||
cd $(DESTDIR)$(pkgconfigdir); $(LN_S) $(PNGLIB_BASENAME).pc libpng.pc
|
||||
|
||||
# do evil things to libpng to cause libpng14 to be used
|
||||
# do evil things to libpng to cause libpng12 to be used
|
||||
install-exec-hook:
|
||||
cd $(DESTDIR)$(bindir); rm -f libpng-config
|
||||
cd $(DESTDIR)$(bindir); $(LN_S) $(PNGLIB_BASENAME)-config libpng-config
|
||||
|
||||
54
README
54
README
@@ -1,11 +1,15 @@
|
||||
README for libpng version 1.4.0beta37 - November 13, 2008 (shared library 14.0)
|
||||
README for libpng version 1.2.32beta01 - September 6, 2008 (shared library 12.0)
|
||||
See the note about version numbers near the top of png.h
|
||||
|
||||
See INSTALL for instructions on how to install libpng.
|
||||
|
||||
Libpng comes in several distribution formats. Get libpng-*.tar.gz
|
||||
or libpng-*.tar.bz2 if you want UNIX-style line endings in the text
|
||||
files, or lpng*.zip if you want DOS-style line endings.
|
||||
Libpng comes in several distribution formats. Get libpng-*.tar.gz,
|
||||
libpng-*.tar.lzma, or libpng-*.tar.bz2 if you want UNIX-style line
|
||||
endings in the text files, or lpng*.7z or lpng*.zip if you want DOS-style
|
||||
line endings. You can get UNIX-style line endings from the *.zip file
|
||||
by using "unzip -a" but there seems to be no simple way to recover
|
||||
UNIX-style line endings from the *.7z file. The *.tar.lzma file is
|
||||
recommended for *NIX users instead.
|
||||
|
||||
Version 0.89 was the first official release of libpng. Don't let the
|
||||
fact that it's the first release fool you. The libpng library has been in
|
||||
@@ -54,7 +58,7 @@ to set different actions based on whether the CRC error occurred in a
|
||||
critical or an ancillary chunk.
|
||||
|
||||
The changes made to the library, and bugs fixed are based on discussions
|
||||
on the PNG-implement mailing list
|
||||
on the png-mng-implement mailing list
|
||||
and not on material submitted privately to Guy, Andreas, or Glenn. They will
|
||||
forward any good suggestions to the list.
|
||||
|
||||
@@ -77,12 +81,12 @@ compression library that is useful for more things than just PNG files.
|
||||
You can use zlib as a drop-in replacement for fread() and fwrite() if
|
||||
you are so inclined.
|
||||
|
||||
zlib should be available at the same place that libpng is, or at.
|
||||
ftp://ftp.info-zip.org/pub/infozip/zlib
|
||||
zlib should be available at the same place that libpng is, or at
|
||||
ftp://ftp.simplesystems.org/pub/png/src/
|
||||
|
||||
You may also want a copy of the PNG specification. It is available
|
||||
as an RFC, a W3C Recommendation, and an ISO/IEC Standard. You can find
|
||||
these at http://www.libpng.org/pub/png/documents/
|
||||
these at http://www.libpng.org/pub/png/pngdocs.html
|
||||
|
||||
This code is currently being archived at libpng.sf.net in the
|
||||
[DOWNLOAD] area, and on CompuServe, Lib 20 (PNG SUPPORT)
|
||||
@@ -110,14 +114,14 @@ to subscribe) or to glennrp at users.sourceforge.net
|
||||
|
||||
You can't reach Guy, the original libpng author, at the addresses
|
||||
given in previous versions of this document. He and Andreas will read mail
|
||||
addressed to the png-implement list, however.
|
||||
addressed to the png-mng-implement list, however.
|
||||
|
||||
Please do not send general questions about PNG. Send them to
|
||||
the (png-list at ccrc.wustl.edu, subscription required, write to
|
||||
majordomo at ccrc.wustl.edu with "subscribe png-list" in your message).
|
||||
the (png-mng-misc at lists.sourceforge.net, subscription required, visit
|
||||
https://lists.sourceforge.net/lists/listinfo/png-mng-implement to subscribe)
|
||||
On the other hand,
|
||||
please do not send libpng questions to that address, send them to me
|
||||
or to the png-implement list. I'll
|
||||
or to the png-mng-implement list. I'll
|
||||
get them in the end anyway. If you have a question about something
|
||||
in the PNG specification that is related to using libpng, send it
|
||||
to me. Send me any questions that start with "I was using libpng,
|
||||
@@ -125,7 +129,7 @@ and ...". If in doubt, send questions to me. I'll bounce them
|
||||
to others, if necessary.
|
||||
|
||||
Please do not send suggestions on how to change PNG. We have
|
||||
been discussing PNG for nine years now, and it is official and
|
||||
been discussing PNG for twelve years now, and it is official and
|
||||
finished. If you have suggestions for libpng, however, I'll
|
||||
gladly listen. Even if your suggestion is not used immediately,
|
||||
it may be used later.
|
||||
@@ -140,6 +144,7 @@ Files in this distribution:
|
||||
TODO => Things not implemented in the current library
|
||||
Y2KINFO => Statement of Y2K compliance
|
||||
example.c => Example code for using libpng functions
|
||||
libpng-*-*-diff.txt => Diff from previous release
|
||||
libpng.3 => manual page for libpng (includes libpng.txt)
|
||||
libpng.txt => Description of libpng and its functions
|
||||
libpngpf.3 => manual page for libpng's private functions
|
||||
@@ -147,7 +152,6 @@ Files in this distribution:
|
||||
png.c => Basic interface functions common to library
|
||||
png.h => Library function and interface declarations
|
||||
pngconf.h => System specific library configuration
|
||||
pngasmrd.h => Header file for assembler-coded functions
|
||||
pngerror.c => Error/warning message I/O functions
|
||||
pngget.c => Functions for retrieving info from struct
|
||||
pngmem.c => Memory handling functions
|
||||
@@ -180,15 +184,21 @@ Files in this distribution:
|
||||
and zlib
|
||||
visualc6 => Contains a Microsoft Visual C++ (MSVC) workspace
|
||||
for building libpng and zlib
|
||||
netware.txt => Contains instructions for downloading a set of
|
||||
project files for building libpng and zlib on
|
||||
Netware.
|
||||
wince.txt => Contains instructions for downloading a Microsoft
|
||||
Visual C++ (Windows CD Toolkit) workspace for
|
||||
building libpng and zlib on WindowsCE
|
||||
scripts => Directory containing scripts for building libpng:
|
||||
descrip.mms => VMS makefile for MMS or MMK
|
||||
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
|
||||
makefile.elf => Linux/ELF makefile symbol versioning,
|
||||
gcc, creates libpng14.so.14.1.4.0beta37)
|
||||
gcc, creates libpng12.so.0.1.2.32beta01)
|
||||
makefile.linux => Linux/ELF makefile
|
||||
(gcc, creates libpng14.so.14.1.4.0beta37)
|
||||
(gcc, creates libpng12.so.0.1.2.32beta01)
|
||||
makefile.gcmmx => Linux/ELF makefile
|
||||
(gcc, creates libpng14.so.14.1.4.0beta37,
|
||||
(gcc, creates libpng12.so.0.1.2.32beta01,
|
||||
uses assembler code tuned for Intel MMX platform)
|
||||
makefile.gcc => Generic makefile (gcc, creates static libpng.a)
|
||||
makefile.knr => Archaic UNIX Makefile that converts files with
|
||||
@@ -206,16 +216,16 @@ Files in this distribution:
|
||||
makefile.intel => Intel C/C++ version 4.0 and later
|
||||
libpng.icc => Project file, IBM VisualAge/C++ 4.0 or later
|
||||
makefile.netbsd => NetBSD/cc makefile, PNGGCCRD, makes libpng.so.
|
||||
makefile.ne14bsd => NetBSD/cc makefile, PNGGCCRD, makes libpng14.so
|
||||
makefile.ne12bsd => NetBSD/cc makefile, PNGGCCRD, makes libpng12.so
|
||||
makefile.openbsd => OpenBSD makefile
|
||||
makefile.sgi => Silicon Graphics IRIX (cc, creates static lib)
|
||||
makefile.sggcc => Silicon Graphics
|
||||
(gcc, creates libpng14.so.14.1.4.0beta37)
|
||||
(gcc, creates libpng12.so.0.1.2.32beta01)
|
||||
makefile.sunos => Sun makefile
|
||||
makefile.solaris => Solaris 2.X makefile
|
||||
(gcc, creates libpng14.so.14.1.4.0beta37)
|
||||
(gcc, creates libpng12.so.0.1.2.32beta01)
|
||||
makefile.so9 => Solaris 9 makefile
|
||||
(gcc, creates libpng14.so.14.1.4.0beta37)
|
||||
(gcc, creates libpng12.so.0.1.2.32beta01)
|
||||
makefile.32sunu => Sun Ultra 32-bit makefile
|
||||
makefile.64sunu => Sun Ultra 64-bit makefile
|
||||
makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc
|
||||
@@ -250,7 +260,7 @@ Good luck, and happy coding.
|
||||
|
||||
-Andreas Eric Dilger (former maintainer, 1996-1997)
|
||||
Internet: adilger at enel.ucalgary.ca
|
||||
Web: http://www-mddsp.enel.ucalgary.ca/People/adilger/
|
||||
Web: http://members.shaw.ca/adilger/
|
||||
|
||||
-Guy Eric Schalnat (original author and former maintainer, 1995-1996)
|
||||
(formerly of Group 42, Inc)
|
||||
|
||||
55
Y2KINFO
Normal file
55
Y2KINFO
Normal file
@@ -0,0 +1,55 @@
|
||||
Y2K compliance in libpng:
|
||||
=========================
|
||||
|
||||
September 6, 2008
|
||||
|
||||
Since the PNG Development group is an ad-hoc body, we can't make
|
||||
an official declaration.
|
||||
|
||||
This is your unofficial assurance that libpng from version 0.71 and
|
||||
upward through 1.2.32beta01 are Y2K compliant. It is my belief that earlier
|
||||
versions were also Y2K compliant.
|
||||
|
||||
Libpng only has three year fields. One is a 2-byte unsigned integer
|
||||
that will hold years up to 65535. The other two hold the date in text
|
||||
format, and will hold years up to 9999.
|
||||
|
||||
The integer is
|
||||
"png_uint_16 year" in png_time_struct.
|
||||
|
||||
The strings are
|
||||
"png_charp time_buffer" in png_struct and
|
||||
"near_time_buffer", which is a local character string in png.c.
|
||||
|
||||
There are seven time-related functions:
|
||||
|
||||
png_convert_to_rfc_1123() in png.c
|
||||
(formerly png_convert_to_rfc_1152() in error)
|
||||
png_convert_from_struct_tm() in pngwrite.c, called in pngwrite.c
|
||||
png_convert_from_time_t() in pngwrite.c
|
||||
png_get_tIME() in pngget.c
|
||||
png_handle_tIME() in pngrutil.c, called in pngread.c
|
||||
png_set_tIME() in pngset.c
|
||||
png_write_tIME() in pngwutil.c, called in pngwrite.c
|
||||
|
||||
All appear to handle dates properly in a Y2K environment. The
|
||||
png_convert_from_time_t() function calls gmtime() to convert from system
|
||||
clock time, which returns (year - 1900), which we properly convert to
|
||||
the full 4-digit year. There is a possibility that applications using
|
||||
libpng are not passing 4-digit years into the png_convert_to_rfc_1123()
|
||||
function, or that they are incorrectly passing only a 2-digit year
|
||||
instead of "year - 1900" into the png_convert_from_struct_tm() function,
|
||||
but this is not under our control. The libpng documentation has always
|
||||
stated that it works with 4-digit years, and the APIs have been
|
||||
documented as such.
|
||||
|
||||
The tIME chunk itself is also Y2K compliant. It uses a 2-byte unsigned
|
||||
integer to hold the year, and can hold years as large as 65535.
|
||||
|
||||
zlib, upon which libpng depends, is also Y2K compliant. It contains
|
||||
no date-related code.
|
||||
|
||||
|
||||
Glenn Randers-Pehrson
|
||||
libpng maintainer
|
||||
PNG Development Group
|
||||
26
configure
vendored
26
configure
vendored
@@ -1,6 +1,6 @@
|
||||
#! /bin/sh
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.62 for libpng 1.4.0beta37.
|
||||
# Generated by GNU Autoconf 2.62 for libpng 1.2.32beta01.
|
||||
#
|
||||
# Report bugs to <png-mng-implement@lists.sourceforge.net>.
|
||||
#
|
||||
@@ -745,8 +745,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
|
||||
# Identity of this package.
|
||||
PACKAGE_NAME='libpng'
|
||||
PACKAGE_TARNAME='libpng'
|
||||
PACKAGE_VERSION='1.4.0beta37'
|
||||
PACKAGE_STRING='libpng 1.4.0beta37'
|
||||
PACKAGE_VERSION='1.2.32beta01'
|
||||
PACKAGE_STRING='libpng 1.2.32beta01'
|
||||
PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net'
|
||||
|
||||
ac_unique_file="pngget.c"
|
||||
@@ -1484,7 +1484,7 @@ if test "$ac_init_help" = "long"; then
|
||||
# Omit some internal or obsolete options to make the list less imposing.
|
||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||
cat <<_ACEOF
|
||||
\`configure' configures libpng 1.4.0beta37 to adapt to many kinds of systems.
|
||||
\`configure' configures libpng 1.2.32beta01 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@@ -1554,7 +1554,7 @@ fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of libpng 1.4.0beta37:";;
|
||||
short | recursive ) echo "Configuration of libpng 1.2.32beta01:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@@ -1661,7 +1661,7 @@ fi
|
||||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
libpng configure 1.4.0beta37
|
||||
libpng configure 1.2.32beta01
|
||||
generated by GNU Autoconf 2.62
|
||||
|
||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
|
||||
@@ -1675,7 +1675,7 @@ cat >config.log <<_ACEOF
|
||||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by libpng $as_me 1.4.0beta37, which was
|
||||
It was created by libpng $as_me 1.2.32beta01, which was
|
||||
generated by GNU Autoconf 2.62. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
@@ -2389,7 +2389,7 @@ fi
|
||||
|
||||
# Define the identity of the package.
|
||||
PACKAGE='libpng'
|
||||
VERSION='1.4.0beta37'
|
||||
VERSION='1.2.32beta01'
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
@@ -2558,10 +2558,10 @@ fi
|
||||
|
||||
|
||||
|
||||
PNGLIB_VERSION=1.4.0beta37
|
||||
PNGLIB_VERSION=1.2.32beta01
|
||||
PNGLIB_MAJOR=1
|
||||
PNGLIB_MINOR=4
|
||||
PNGLIB_RELEASE=0
|
||||
PNGLIB_MINOR=2
|
||||
PNGLIB_RELEASE=32
|
||||
|
||||
|
||||
|
||||
@@ -13125,7 +13125,7 @@ exec 6>&1
|
||||
# report actual input values of CONFIG_FILES etc. instead of their
|
||||
# values after options handling.
|
||||
ac_log="
|
||||
This file was extended by libpng $as_me 1.4.0beta37, which was
|
||||
This file was extended by libpng $as_me 1.2.32beta01, which was
|
||||
generated by GNU Autoconf 2.62. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@@ -13178,7 +13178,7 @@ Report bugs to <bug-autoconf@gnu.org>."
|
||||
_ACEOF
|
||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||
ac_cs_version="\\
|
||||
libpng config.status 1.4.0beta37
|
||||
libpng config.status 1.2.32beta01
|
||||
configured by $0, generated by GNU Autoconf 2.62,
|
||||
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
|
||||
|
||||
|
||||
@@ -18,15 +18,15 @@ AC_PREREQ(2.59)
|
||||
|
||||
dnl Version number stuff here:
|
||||
|
||||
AC_INIT([libpng], [1.4.0beta37], [png-mng-implement@lists.sourceforge.net])
|
||||
AC_INIT([libpng], [1.2.32beta01], [png-mng-implement@lists.sourceforge.net])
|
||||
AM_INIT_AUTOMAKE
|
||||
dnl stop configure from automagically running automake
|
||||
AM_MAINTAINER_MODE
|
||||
|
||||
PNGLIB_VERSION=1.4.0beta37
|
||||
PNGLIB_VERSION=1.2.32beta01
|
||||
PNGLIB_MAJOR=1
|
||||
PNGLIB_MINOR=4
|
||||
PNGLIB_RELEASE=0
|
||||
PNGLIB_MINOR=2
|
||||
PNGLIB_RELEASE=32
|
||||
|
||||
dnl End of version number stuff
|
||||
|
||||
|
||||
@@ -49,7 +49,6 @@
|
||||
#define PNG_NO_READ_STRIP_ALPHA
|
||||
#define PNG_NO_READ_oFFs
|
||||
#define PNG_NO_WARN_UNINITIALIZED_ROW
|
||||
#define PNG_NO_READ_PREMULTIPLY_ALPHA
|
||||
|
||||
#define PNG_NO_WRITE_SUPPORTED
|
||||
|
||||
|
||||
32
example.c
32
example.c
@@ -2,7 +2,7 @@
|
||||
#if 0 /* in case someone actually tries to compile this */
|
||||
|
||||
/* example.c - an example of using libpng
|
||||
* Last changed in libpng 1.4.0 [November 13, 2008]
|
||||
* Last changed in libpng 1.2.32 [September 6, 2008]
|
||||
* This file has been placed in the public domain by the authors.
|
||||
* Maintained 1998-2008 Glenn Randers-Pehrson
|
||||
* Maintained 1996, 1997 Andreas Dilger)
|
||||
@@ -120,7 +120,7 @@ void read_png(FILE *fp, unsigned int sig_read) /* file is already open */
|
||||
if (info_ptr == NULL)
|
||||
{
|
||||
fclose(fp);
|
||||
png_destroy_read_struct(&png_ptr, NULL, NULL);
|
||||
png_destroy_read_struct(&png_ptr, png_infopp_NULL, png_infopp_NULL);
|
||||
return (ERROR);
|
||||
}
|
||||
|
||||
@@ -132,7 +132,7 @@ void read_png(FILE *fp, unsigned int sig_read) /* file is already open */
|
||||
if (setjmp(png_jmpbuf(png_ptr)))
|
||||
{
|
||||
/* Free all of the memory associated with the png_ptr and info_ptr */
|
||||
png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
|
||||
png_destroy_read_struct(&png_ptr, &info_ptr, png_infopp_NULL);
|
||||
fclose(fp);
|
||||
/* If we get here, we had a problem reading the file */
|
||||
return (ERROR);
|
||||
@@ -163,7 +163,7 @@ void read_png(FILE *fp, unsigned int sig_read) /* file is already open */
|
||||
* adjustment), then you can read the entire image (including
|
||||
* pixels) into the info structure with this call:
|
||||
*/
|
||||
png_read_png(png_ptr, info_ptr, png_transforms, NULL);
|
||||
png_read_png(png_ptr, info_ptr, png_transforms, png_voidp_NULL);
|
||||
#else
|
||||
/* OK, you're doing it the hard way, with the lower-level functions */
|
||||
|
||||
@@ -173,7 +173,7 @@ void read_png(FILE *fp, unsigned int sig_read) /* file is already open */
|
||||
png_read_info(png_ptr, info_ptr);
|
||||
|
||||
png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth, &color_type,
|
||||
&interlace_type, NULL, NULL);
|
||||
&interlace_type, int_p_NULL, int_p_NULL);
|
||||
|
||||
/* Set up the data transformations you want. Note that these are all
|
||||
* optional. Only call them if you want/need them. Many of the
|
||||
@@ -204,7 +204,7 @@ void read_png(FILE *fp, unsigned int sig_read) /* file is already open */
|
||||
|
||||
/* Expand grayscale images to the full 8 bits from 1, 2, or 4 bits/pixel */
|
||||
if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8)
|
||||
png_set_expand_gray_1_2_4_to_8(png_ptr);
|
||||
png_set_gray_1_2_4_to_8(png_ptr);
|
||||
|
||||
/* Expand paletted or RGB images with transparency to full alpha channels
|
||||
* so the data will be available as RGBA quartets.
|
||||
@@ -283,7 +283,7 @@ void read_png(FILE *fp, unsigned int sig_read) /* file is already open */
|
||||
png_color std_color_cube[MAX_SCREEN_COLORS];
|
||||
|
||||
png_set_dither(png_ptr, std_color_cube, MAX_SCREEN_COLORS,
|
||||
MAX_SCREEN_COLORS, NULL, 0);
|
||||
MAX_SCREEN_COLORS, png_uint_16p_NULL, 0);
|
||||
}
|
||||
/* This reduces the image to the palette supplied in the file */
|
||||
else if (png_get_PLTE(png_ptr, info_ptr, &palette, &num_palette))
|
||||
@@ -360,17 +360,17 @@ void read_png(FILE *fp, unsigned int sig_read) /* file is already open */
|
||||
#ifdef single /* Read the image a single row at a time */
|
||||
for (y = 0; y < height; y++)
|
||||
{
|
||||
png_read_rows(png_ptr, &row_pointers[y], NULL, 1);
|
||||
png_read_rows(png_ptr, &row_pointers[y], png_bytepp_NULL, 1);
|
||||
}
|
||||
|
||||
#else no_single /* Read the image several rows at a time */
|
||||
for (y = 0; y < height; y += number_of_rows)
|
||||
{
|
||||
#ifdef sparkle /* Read the image using the "sparkle" effect. */
|
||||
png_read_rows(png_ptr, &row_pointers[y], NULL,
|
||||
png_read_rows(png_ptr, &row_pointers[y], png_bytepp_NULL,
|
||||
number_of_rows);
|
||||
#else no_sparkle /* Read the image using the "rectangle" effect */
|
||||
png_read_rows(png_ptr, NULL, &row_pointers[y],
|
||||
png_read_rows(png_ptr, png_bytepp_NULL, &row_pointers[y],
|
||||
number_of_rows);
|
||||
#endif no_sparkle /* use only one of these two methods */
|
||||
}
|
||||
@@ -388,7 +388,7 @@ void read_png(FILE *fp, unsigned int sig_read) /* file is already open */
|
||||
/* At this point you have read the entire image */
|
||||
|
||||
/* clean up after the read, and free any memory allocated - REQUIRED */
|
||||
png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
|
||||
png_destroy_read_struct(&png_ptr, &info_ptr, png_infopp_NULL);
|
||||
|
||||
/* close the file */
|
||||
fclose(fp);
|
||||
@@ -421,13 +421,13 @@ initialize_png_reader(png_structp *png_ptr, png_infop *info_ptr)
|
||||
|
||||
if (*info_ptr == NULL)
|
||||
{
|
||||
png_destroy_read_struct(png_ptr, info_ptr, NULL);
|
||||
png_destroy_read_struct(png_ptr, info_ptr, png_infopp_NULL);
|
||||
return (ERROR);
|
||||
}
|
||||
|
||||
if (setjmp(png_jmpbuf((*png_ptr))))
|
||||
{
|
||||
png_destroy_read_struct(png_ptr, info_ptr, NULL);
|
||||
png_destroy_read_struct(png_ptr, info_ptr, png_infopp_NULL);
|
||||
return (ERROR);
|
||||
}
|
||||
|
||||
@@ -456,7 +456,7 @@ process_data(png_structp *png_ptr, png_infop *info_ptr,
|
||||
if (setjmp(png_jmpbuf((*png_ptr))))
|
||||
{
|
||||
/* Free the png_ptr and info_ptr memory on error */
|
||||
png_destroy_read_struct(png_ptr, info_ptr, NULL);
|
||||
png_destroy_read_struct(png_ptr, info_ptr, png_infopp_NULL);
|
||||
return (ERROR);
|
||||
}
|
||||
|
||||
@@ -588,7 +588,7 @@ void write_png(char *file_name /* , ... other image information ... */)
|
||||
if (info_ptr == NULL)
|
||||
{
|
||||
fclose(fp);
|
||||
png_destroy_write_struct(&png_ptr, NULL);
|
||||
png_destroy_write_struct(&png_ptr, png_infopp_NULL);
|
||||
return (ERROR);
|
||||
}
|
||||
|
||||
@@ -620,7 +620,7 @@ void write_png(char *file_name /* , ... other image information ... */)
|
||||
* image info living info in the structure. You could "|" many
|
||||
* PNG_TRANSFORM flags into the png_transforms integer here.
|
||||
*/
|
||||
png_write_png(png_ptr, info_ptr, png_transforms, NULL);
|
||||
png_write_png(png_ptr, info_ptr, png_transforms, png_voidp_NULL);
|
||||
#else
|
||||
/* This is the hard way */
|
||||
|
||||
|
||||
@@ -1,13 +1,17 @@
|
||||
libpng.txt - A description on how to use and modify libpng
|
||||
|
||||
libpng version 1.4.0beta37 - November 13, 2008
|
||||
libpng version 1.2.32beta01 - September 6, 2008
|
||||
Updated and distributed by Glenn Randers-Pehrson
|
||||
<glennrp at users.sourceforge.net>
|
||||
Copyright (c) 1998-2005 Glenn Randers-Pehrson
|
||||
Copyright (c) 1998-2008 Glenn Randers-Pehrson
|
||||
For conditions of distribution and use, see copyright
|
||||
notice in png.h.
|
||||
|
||||
based on:
|
||||
Based on:
|
||||
|
||||
libpng versions 0.97, January 1998, through 1.2.32beta01 - September 6, 2008
|
||||
Updated and distributed by Glenn Randers-Pehrson
|
||||
Copyright (c) 1998-2008 Glenn Randers-Pehrson
|
||||
|
||||
libpng 1.0 beta 6 version 0.96 May 28, 1997
|
||||
Updated and distributed by Andreas Dilger
|
||||
@@ -33,6 +37,10 @@ it is heavily commented and should include everything most people
|
||||
will need. We assume that libpng is already installed; see the
|
||||
INSTALL file for instructions on how to install libpng.
|
||||
|
||||
For examples of libpng usage, see the files "example.c", "pngtest.c",
|
||||
and the files in the "contrib" directory, all of which are included in the
|
||||
libpng distribution.
|
||||
|
||||
Libpng was written as a companion to the PNG specification, as a way
|
||||
of reducing the amount of time and effort it takes to support the PNG
|
||||
file format in application programs.
|
||||
@@ -43,12 +51,14 @@ a W3C Recommendation and as an ISO Standard (ISO/IEC 15948:2003 (E)) at
|
||||
The W3C and ISO documents have identical technical content.
|
||||
|
||||
The PNG-1.2 specification is available at
|
||||
<http://www.libpng.org/pub/png/documents/>
|
||||
<http://www.libpng.org/pub/png/documents/>. It is technically equivalent
|
||||
to the PNG specification (second edition) but has some additional material.
|
||||
|
||||
The PNG-1.0 specification is available
|
||||
as RFC 2083 <http://www.libpng.org/pub/png/documents/> and as a
|
||||
W3C Recommendation <http://www.w3.org/TR/REC.png.html>. Some
|
||||
additional chunks are described in the special-purpose public chunks
|
||||
W3C Recommendation <http://www.w3.org/TR/REC.png.html>.
|
||||
|
||||
Some additional chunks are described in the special-purpose public chunks
|
||||
documents at <http://www.libpng.org/pub/png/documents/>.
|
||||
|
||||
Other information
|
||||
@@ -256,15 +266,19 @@ input stream. You must supply the function
|
||||
png_unknown_chunkp chunk);
|
||||
{
|
||||
/* The unknown chunk structure contains your
|
||||
chunk data: */
|
||||
chunk data, along with similar data for any other
|
||||
unknown chunks: */
|
||||
|
||||
png_byte name[5];
|
||||
png_byte *data;
|
||||
png_size_t size;
|
||||
|
||||
/* Note that libpng has already taken care of
|
||||
the CRC handling */
|
||||
|
||||
/* put your code here. Return one of the
|
||||
following: */
|
||||
/* put your code here. Search for your chunk in the
|
||||
unknown chunk structure, process it, and return one
|
||||
of the following: */
|
||||
|
||||
return (-n); /* chunk had an error */
|
||||
return (0); /* did not recognize */
|
||||
@@ -284,6 +298,11 @@ you can retrieve with
|
||||
|
||||
png_get_user_chunk_ptr(png_ptr);
|
||||
|
||||
If you call the png_set_read_user_chunk_fn() function, then all unknown
|
||||
chunks will be saved when read, in case your callback function will need
|
||||
one or more of them. This behavior can be changed with the
|
||||
png_set_keep_unknown_chunks() function, described below.
|
||||
|
||||
At this point, you can set up a callback function that will be
|
||||
called after each row has been read, which you can use to control
|
||||
a progress meter or the like. It's demonstrated in pngtest.c.
|
||||
@@ -300,18 +319,41 @@ You must supply a function
|
||||
To inform libpng about your function, use
|
||||
|
||||
png_set_read_status_fn(png_ptr, read_row_callback);
|
||||
|
||||
Width and height limits
|
||||
|
||||
The PNG specification allows the width and height of an image to be as
|
||||
large as 2^31-1 (0x7fffffff), or about 2.147 billion rows and columns.
|
||||
Since very few applications really need to process such large images,
|
||||
we have imposed an arbitrary 1-million limit on rows and columns.
|
||||
Larger images will be rejected immediately with a png_error() call. If
|
||||
you wish to override this limit, you can use
|
||||
|
||||
png_set_user_limits(png_ptr, width_max, height_max);
|
||||
|
||||
to set your own limits, or use width_max = height_max = 0x7fffffffL
|
||||
to allow all valid dimensions (libpng may reject some very large images
|
||||
anyway because of potential buffer overflow conditions).
|
||||
|
||||
You should put this statement after you create the PNG structure and
|
||||
before calling png_read_info(), png_read_png(), or png_process_data().
|
||||
If you need to retrieve the limits that are being applied, use
|
||||
|
||||
width_max = png_get_user_width_max(png_ptr);
|
||||
height_max = png_get_user_height_max(png_ptr);
|
||||
|
||||
Unknown-chunk handling
|
||||
|
||||
Now you get to set the way the library processes unknown chunks in the
|
||||
input PNG stream. Both known and unknown chunks will be read. Normal
|
||||
behavior is that known chunks will be parsed into information in
|
||||
various info_ptr members; unknown chunks will be discarded. To change
|
||||
various info_ptr members while unknown chunks will be discarded. To change
|
||||
this, you can call:
|
||||
|
||||
png_set_keep_unknown_chunks(png_ptr, keep,
|
||||
chunk_list, num_chunks);
|
||||
keep - 0: do not handle as unknown
|
||||
1: do not keep
|
||||
keep - 0: default unknown chunk handling
|
||||
1: ignore; do not keep
|
||||
2: keep only if safe-to-copy
|
||||
3: keep even if unsafe-to-copy
|
||||
You can use these definitions:
|
||||
@@ -334,37 +376,36 @@ instances of png_set_keep_unknown_chunks(), the final instance will
|
||||
take precedence. The IHDR and IEND chunks should not be named in
|
||||
chunk_list; if they are, libpng will process them normally anyway.
|
||||
|
||||
User limits
|
||||
Here is an example of the usage of png_set_keep_unknown_chunks(),
|
||||
where the private "vpAg" chunk will later be processed by a user chunk
|
||||
callback function:
|
||||
|
||||
The PNG specification allows the width and height of an image to be as
|
||||
large as 2^31-1 (0x7fffffff), or about 2.147 billion rows and columns.
|
||||
Since very few applications really need to process such large images,
|
||||
we have imposed an arbitrary 1-million limit on rows and columns.
|
||||
Larger images will be rejected immediately with a png_error() call. If
|
||||
you wish to override this limit, you can use
|
||||
png_byte vpAg[5]={118, 112, 65, 103, (png_byte) '\0'};
|
||||
|
||||
png_set_user_limits(png_ptr, width_max, height_max);
|
||||
#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED)
|
||||
png_byte unused_chunks[]=
|
||||
{
|
||||
104, 73, 83, 84, (png_byte) '\0', /* hIST */
|
||||
105, 84, 88, 116, (png_byte) '\0', /* iTXt */
|
||||
112, 67, 65, 76, (png_byte) '\0', /* pCAL */
|
||||
115, 67, 65, 76, (png_byte) '\0', /* sCAL */
|
||||
115, 80, 76, 84, (png_byte) '\0', /* sPLT */
|
||||
116, 73, 77, 69, (png_byte) '\0', /* tIME */
|
||||
};
|
||||
#endif
|
||||
|
||||
to set your own limits, or use width_max = height_max = 0x7fffffffL
|
||||
to allow all valid dimensions (libpng may reject some very large images
|
||||
anyway because of potential buffer overflow conditions).
|
||||
...
|
||||
|
||||
You should put this statement after you create the PNG structure and
|
||||
before calling png_read_info(), png_read_png(), or png_process_data().
|
||||
If you need to retrieve the limits that are being applied, use
|
||||
#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED)
|
||||
/* ignore all unknown chunks: */
|
||||
png_set_keep_unknown_chunks(read_ptr, 1, NULL, 0);
|
||||
/* except for vpAg: */
|
||||
png_set_keep_unknown_chunks(read_ptr, 2, vpAg, 1);
|
||||
/* also ignore unused known chunks: */
|
||||
png_set_keep_unknown_chunks(read_ptr, 1, unused_chunks,
|
||||
(int)sizeof(unused_chunks)/5);
|
||||
#endif
|
||||
|
||||
width_max = png_get_user_width_max(png_ptr);
|
||||
height_max = png_get_user_height_max(png_ptr);
|
||||
|
||||
The PNG specification sets no limit on the number of ancillary chunks
|
||||
allowed in a PNG datastream. You can impose a limit on the total number
|
||||
of sPLT, tEXt, iTXt, zTXt, and unknown chunks that will be stored, with
|
||||
|
||||
png_set_chunk_cache_max(png_ptr, user_chunk_cache_max);
|
||||
|
||||
where 0x7fffffffL means unlimited. You can retrieve this limit with
|
||||
|
||||
chunk_cache_max = png_get_chunk_cache_max(png_ptr);
|
||||
|
||||
The high-level read interface
|
||||
|
||||
@@ -422,14 +463,14 @@ where row_pointers is an array of pointers to the pixel data for each row:
|
||||
If you know your image size and pixel size ahead of time, you can allocate
|
||||
row_pointers prior to calling png_read_png() with
|
||||
|
||||
if (height > PNG_UINT_32_MAX/sizeof(png_bytep))
|
||||
if (height > PNG_UINT_32_MAX/png_sizeof(png_byte))
|
||||
png_error (png_ptr,
|
||||
"Image is too tall to process in memory");
|
||||
if (width > PNG_UINT_32_MAX/pixel_size)
|
||||
png_error (png_ptr,
|
||||
"Image is too wide to process in memory");
|
||||
row_pointers = png_malloc(png_ptr,
|
||||
height*sizeof(png_bytep));
|
||||
height*png_sizeof(png_bytep));
|
||||
for (int i=0; i<height, i++)
|
||||
row_pointers[i]=png_malloc(png_ptr,
|
||||
width*pixel_size);
|
||||
@@ -583,10 +624,10 @@ into the info_ptr is returned for any complex types.
|
||||
given color type (png_color_16)
|
||||
|
||||
png_get_tRNS(png_ptr, info_ptr, &trans, &num_trans,
|
||||
&trans_color);
|
||||
&trans_values);
|
||||
trans - array of transparent entries for
|
||||
palette (PNG_INFO_tRNS)
|
||||
trans_color - graylevel or color sample values of
|
||||
trans_values - graylevel or color sample values of
|
||||
the single transparent color for
|
||||
non-paletted images (PNG_INFO_tRNS)
|
||||
num_trans - number of transparent entries
|
||||
@@ -806,8 +847,9 @@ things.
|
||||
|
||||
As of libpng version 1.2.9, png_set_expand_gray_1_2_4_to_8() was
|
||||
added. It expands the sample depth without changing tRNS to alpha.
|
||||
%12%At the same time, png_set_gray_1_2_4_to_8() was deprecated, and it
|
||||
%12%will be removed from a future version.
|
||||
At the same time, png_set_gray_1_2_4_to_8() was deprecated, and it
|
||||
will be removed from a future version.
|
||||
|
||||
|
||||
PNG can have files with 16 bits per channel. If you only can handle
|
||||
8 bits per channel, this will strip the pixels down to 8 bit.
|
||||
@@ -832,15 +874,6 @@ images) is fully transparent, with
|
||||
|
||||
png_set_invert_alpha(png_ptr);
|
||||
|
||||
The PNG format only supports pixels with postmultiplied alpha.
|
||||
If you want to replace the pixels, after reading them, with pixels
|
||||
that have premultiplied color samples, you can do this with
|
||||
|
||||
png_set_premultiply_alpha(png_ptr);
|
||||
|
||||
If you do this, any input with a tRNS chunk will be expanded to
|
||||
have an alpha channel.
|
||||
|
||||
PNG files pack pixels of bit depths 1, 2, and 4 into bytes as small as
|
||||
they can, resulting in, for example, 8 pixels per byte for 1 bit
|
||||
files. This code expands to 1 pixel per byte without changing the
|
||||
@@ -1757,6 +1790,11 @@ Some of the more important parts of the png_info are:
|
||||
can also be
|
||||
PNG_INTRAPIXEL_DIFFERENCING)
|
||||
|
||||
If you call png_set_IHDR(), the call must appear before any of the
|
||||
other png_set_*() functions, which might require access to some of
|
||||
the IHDR settings. The remaining png_set_*() functions can be called
|
||||
in any order.
|
||||
|
||||
png_set_PLTE(png_ptr, info_ptr, palette,
|
||||
num_palette);
|
||||
palette - the palette for the file
|
||||
@@ -1815,10 +1853,10 @@ Some of the more important parts of the png_info are:
|
||||
(png_color_16)
|
||||
|
||||
png_set_tRNS(png_ptr, info_ptr, trans, num_trans,
|
||||
trans_color);
|
||||
trans_values);
|
||||
trans - array of transparent entries for
|
||||
palette (PNG_INFO_tRNS)
|
||||
trans_color - graylevel or color sample values of
|
||||
trans_values - graylevel or color sample values of
|
||||
the single transparent color for
|
||||
non-paletted images (PNG_INFO_tRNS)
|
||||
num_trans - number of transparent entries
|
||||
@@ -2367,17 +2405,13 @@ For a more compact example of writing a PNG image, see the file example.c.
|
||||
|
||||
V. Modifying/Customizing libpng:
|
||||
|
||||
There are three issues here. The first is changing how libpng does
|
||||
There are two issues here. The first is changing how libpng does
|
||||
standard things like memory allocation, input/output, and error handling.
|
||||
The second deals with more complicated things like adding new chunks,
|
||||
adding new transformations, and generally changing how libpng works.
|
||||
Both of those are compile-time issues; that is, they are generally
|
||||
determined at the time the code is written, and there is rarely a need
|
||||
to provide the user with a means of changing them. The third is a
|
||||
run-time issue: choosing between and/or tuning one or more alternate
|
||||
versions of computationally intensive routines; specifically, optimized
|
||||
assembly-language (and therefore compiler- and platform-dependent)
|
||||
versions.
|
||||
to provide the user with a means of changing them.
|
||||
|
||||
Memory allocation, input/output, and error handling
|
||||
|
||||
@@ -2409,6 +2443,9 @@ Your malloc_fn() must return NULL in case of failure. The png_malloc()
|
||||
function will normally call png_error() if it receives a NULL from the
|
||||
system memory allocator or from your replacement malloc_fn().
|
||||
|
||||
Your free_fn() will never be called with a NULL ptr, since libpng's
|
||||
png_free() checks for NULL before calling free_fn().
|
||||
|
||||
Input/Output in libpng is done through png_read() and png_write(),
|
||||
which currently just call fread() and fwrite(). The FILE * is stored in
|
||||
png_struct and is initialized via png_init_io(). If you wish to change
|
||||
@@ -2436,9 +2473,6 @@ The replacement I/O functions must have prototypes as follows:
|
||||
png_bytep data, png_size_t length);
|
||||
void user_flush_data(png_structp png_ptr);
|
||||
|
||||
The user_read_data() function is responsible for detecting and
|
||||
handling end-of-data errors.
|
||||
|
||||
Supplying NULL for the read, write, or flush functions sets them back
|
||||
to using the default C stream functions. It is an error to read from
|
||||
a write stream, and vice versa.
|
||||
@@ -2546,10 +2580,11 @@ you may also have to change the memory allocators (png_malloc, etc.).
|
||||
|
||||
Configuring for compiler xxx:
|
||||
|
||||
All includes for libpng are in pngconf.h. If you need to add, change
|
||||
or delete an include, this is the place to do it. The includes that
|
||||
are not needed outside libpng are placed inside pngpriv.h, which is
|
||||
only used by the routines inside libpng itself.
|
||||
All includes for libpng are in pngconf.h. If you need to add/change/delete
|
||||
an include, this is the place to do it. The includes that are not
|
||||
needed outside libpng are protected by the PNG_INTERNAL definition,
|
||||
which is only defined for those routines inside libpng itself. The
|
||||
files in libpng proper only include png.h, which includes pngconf.h.
|
||||
|
||||
Configuring zlib:
|
||||
|
||||
@@ -2740,7 +2775,7 @@ When PNG_DEBUG = 1, the macros are defined, but only png_debug statements
|
||||
having level = 0 will be printed. There aren't any such statements in
|
||||
this version of libpng, but if you insert some they will be printed.
|
||||
|
||||
VI. MNG support
|
||||
VII. MNG support
|
||||
|
||||
The MNG specification (available at http://www.libpng.org/pub/mng) allows
|
||||
certain extensions to PNG for PNG images that are embedded in MNG datastreams.
|
||||
@@ -2816,13 +2851,13 @@ application:
|
||||
|
||||
IX. Y2K Compliance in libpng
|
||||
|
||||
November 13, 2008
|
||||
September 6, 2008
|
||||
|
||||
Since the PNG Development group is an ad-hoc body, we can't make
|
||||
an official declaration.
|
||||
|
||||
This is your unofficial assurance that libpng from version 0.71 and
|
||||
upward through 1.4.0beta37 are Y2K compliant. It is my belief that earlier
|
||||
upward through 1.2.32beta01 are Y2K compliant. It is my belief that earlier
|
||||
versions were also Y2K compliant.
|
||||
|
||||
Libpng only has three year fields. One is a 2-byte unsigned integer that
|
||||
373
libpng.3
373
libpng.3
@@ -1,6 +1,6 @@
|
||||
.TH LIBPNG 3 "November 13, 2008"
|
||||
.TH LIBPNG 3 "September 6, 2008"
|
||||
.SH NAME
|
||||
libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta37
|
||||
libpng \- Portable Network Graphics (PNG) Reference Library 1.2.32beta01
|
||||
.SH SYNOPSIS
|
||||
\fI\fB
|
||||
|
||||
@@ -12,14 +12,6 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta37
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBvoid png_benign_error (png_structp \fP\fIpng_ptr\fP\fB, png_const_charp \fIerror\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBvoid png_chunk_benign_error (png_structp \fP\fIpng_ptr\fP\fB, png_const_charp \fIerror\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBint png_check_sig (png_bytep \fP\fIsig\fP\fB, int \fInum\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
@@ -128,18 +120,10 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta37
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBpng_uint_32 png_get_chunk_cache_max (png_structp \fIpng_ptr\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBpng_byte png_get_color_type (png_structp \fP\fIpng_ptr\fP\fB, png_infop \fIinfo_ptr\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBpng_uint_32 png_get_compression_buffer_size (png_structp \fIpng_ptr\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBpng_byte png_get_compression_type (png_structp \fP\fIpng_ptr\fP\fB, png_infop \fIinfo_ptr\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
@@ -278,11 +262,11 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta37
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBpng_uint_32 png_get_tRNS (png_structp \fP\fIpng_ptr\fP\fB, png_infop \fP\fIinfo_ptr\fP\fB, png_bytep \fP\fI*trans\fP\fB, int \fP\fI*num_trans\fP\fB, png_color_16p \fI*trans_color\fP\fB);\fP
|
||||
\fBpng_uint_32 png_get_tRNS (png_structp \fP\fIpng_ptr\fP\fB, png_infop \fP\fIinfo_ptr\fP\fB, png_bytep \fP\fI*trans\fP\fB, int \fP\fI*num_trans\fP\fB, png_color_16p \fI*trans_values\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fB/* This function is really an inline macro. \fI*/
|
||||
\fB#if \fI!defined(PNG_1_0_X)
|
||||
|
||||
\fBpng_uint_16 png_get_uint_16 (png_bytep \fIbuf\fP\fB);\fP
|
||||
|
||||
@@ -292,10 +276,10 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta37
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fB/* This function is really an inline macro. \fI*/
|
||||
|
||||
\fBpng_uint_32 png_get_uint_32 (png_bytep \fIbuf\fP\fB);\fP
|
||||
|
||||
\fI\fB#endif
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBpng_uint_32 png_get_unknown_chunks (png_structp \fP\fIpng_ptr\fP\fB, png_infop \fP\fIinfo_ptr\fP\fB, png_unknown_chunkpp \fIunknowns\fP\fB);\fP
|
||||
@@ -346,6 +330,10 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta37
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBpng_uint_32 png_get_compression_buffer_size (png_structp \fIpng_ptr\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBint png_handle_as_unknown (png_structp \fP\fIpng_ptr\fP\fB, png_bytep \fIchunk_name\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
@@ -354,11 +342,19 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta37
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBpng_voidp png_malloc (png_structp \fP\fIpng_ptr\fP\fB, png_alloc_size_t \fIsize\fP\fB);\fP
|
||||
\fBDEPRECATED: void png_info_init (png_infop \fIinfo_ptr\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBpng_voidp png_malloc_default(png_structp \fP\fIpng_ptr\fP\fB, png_alloc_size_t \fIsize\fP\fB);\fP
|
||||
\fBDEPRECATED: void png_info_init_2 (png_infopp \fP\fIptr_ptr\fP\fB, png_size_t \fIpng_info_struct_size\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBpng_voidp png_malloc (png_structp \fP\fIpng_ptr\fP\fB, png_uint_32 \fIsize\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBpng_voidp png_malloc_default(png_structp \fP\fIpng_ptr\fP\fB, png_uint_32 \fIsize\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
@@ -366,10 +362,22 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta37
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBpng_voidp png_memcpy_check (png_structp \fP\fIpng_ptr\fP\fB, png_voidp \fP\fIs1\fP\fB, png_voidp \fP\fIs2\fP\fB, png_uint_32 \fIsize\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBvoidp png_memset (png_voidp \fP\fIs1\fP\fB, int \fP\fIvalue\fP\fB, png_size_t \fIsize\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBpng_voidp png_memset_check (png_structp \fP\fIpng_ptr\fP\fB, png_voidp \fP\fIs1\fP\fB, int \fP\fIvalue\fP\fB, png_uint_32 \fIsize\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBDEPRECATED: void png_permit_empty_plte (png_structp \fP\fIpng_ptr\fP\fB, int \fIempty_plte_permitted\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBvoid png_process_data (png_structp \fP\fIpng_ptr\fP\fB, png_infop \fP\fIinfo_ptr\fP\fB, png_bytep \fP\fIbuffer\fP\fB, png_size_t \fIbuffer_size\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
@@ -390,6 +398,14 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta37
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBDEPRECATED: void png_read_init (png_structp \fIpng_ptr\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBDEPRECATED: void png_read_init_2 (png_structpp \fP\fIptr_ptr\fP\fB, png_const_charp \fP\fIuser_png_ver\fP\fB, png_size_t \fP\fIpng_struct_size\fP\fB, png_size_t \fIpng_info_size\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBvoid png_read_info (png_structp \fP\fIpng_ptr\fP\fB, png_infop \fIinfo_ptr\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
@@ -450,10 +466,6 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta37
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBvoid png_set_chunk_cache_max (png_structp \fP\fIpng_ptr\fP\fB, png_uint_32 \fIuser_chunk_cache_max\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBvoid png_set_compression_level (png_structp \fP\fIpng_ptr\fP\fB, int \fIlevel\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
@@ -590,10 +602,6 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta37
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBvoid png_set_premultiply_alpha (png_structp \fIpng_ptr\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBvoid png_set_progressive_read_fn (png_structp \fP\fIpng_ptr\fP\fB, png_voidp \fP\fIprogressive_ptr\fP\fB, png_progressive_info_ptr \fP\fIinfo_fn\fP\fB, png_progressive_row_ptr \fP\fIrow_fn\fP\fB, png_progressive_end_ptr \fIend_fn\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
@@ -678,7 +686,7 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta37
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBvoid png_set_tRNS (png_structp \fP\fIpng_ptr\fP\fB, png_infop \fP\fIinfo_ptr\fP\fB, png_bytep \fP\fItrans\fP\fB, int \fP\fInum_trans\fP\fB, png_color_16p \fItrans_color\fP\fB);\fP
|
||||
\fBvoid png_set_tRNS (png_structp \fP\fIpng_ptr\fP\fB, png_infop \fP\fIinfo_ptr\fP\fB, png_bytep \fP\fItrans\fP\fB, int \fP\fInum_trans\fP\fB, png_color_16p \fItrans_values\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
@@ -766,6 +774,14 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta37
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBDEPRECATED: void png_write_init (png_structp \fIpng_ptr\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBDEPRECATED: void png_write_init_2 (png_structpp \fP\fIptr_ptr\fP\fB, png_const_charp \fP\fIuser_png_ver\fP\fB, png_size_t \fP\fIpng_struct_size\fP\fB, png_size_t \fIpng_info_size\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBvoid png_write_info (png_structp \fP\fIpng_ptr\fP\fB, png_infop \fIinfo_ptr\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
@@ -786,10 +802,6 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta37
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBvoid png_write_sig (png_structp \fIpng_ptr\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBvoidpf png_zalloc (voidpf \fP\fIpng_ptr\fP\fB, uInt \fP\fIitems\fP\fB, uInt \fIsize\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
@@ -809,14 +821,18 @@ Following is a copy of the libpng.txt file that accompanies libpng.
|
||||
.SH LIBPNG.TXT
|
||||
libpng.txt - A description on how to use and modify libpng
|
||||
|
||||
libpng version 1.4.0beta37 - November 13, 2008
|
||||
libpng version 1.2.32beta01 - September 6, 2008
|
||||
Updated and distributed by Glenn Randers-Pehrson
|
||||
<glennrp at users.sourceforge.net>
|
||||
Copyright (c) 1998-2005 Glenn Randers-Pehrson
|
||||
Copyright (c) 1998-2008 Glenn Randers-Pehrson
|
||||
For conditions of distribution and use, see copyright
|
||||
notice in png.h.
|
||||
|
||||
based on:
|
||||
Based on:
|
||||
|
||||
libpng versions 0.97, January 1998, through 1.2.32beta01 - September 6, 2008
|
||||
Updated and distributed by Glenn Randers-Pehrson
|
||||
Copyright (c) 1998-2008 Glenn Randers-Pehrson
|
||||
|
||||
libpng 1.0 beta 6 version 0.96 May 28, 1997
|
||||
Updated and distributed by Andreas Dilger
|
||||
@@ -842,6 +858,10 @@ it is heavily commented and should include everything most people
|
||||
will need. We assume that libpng is already installed; see the
|
||||
INSTALL file for instructions on how to install libpng.
|
||||
|
||||
For examples of libpng usage, see the files "example.c", "pngtest.c",
|
||||
and the files in the "contrib" directory, all of which are included in the
|
||||
libpng distribution.
|
||||
|
||||
Libpng was written as a companion to the PNG specification, as a way
|
||||
of reducing the amount of time and effort it takes to support the PNG
|
||||
file format in application programs.
|
||||
@@ -852,12 +872,14 @@ a W3C Recommendation and as an ISO Standard (ISO/IEC 15948:2003 (E)) at
|
||||
The W3C and ISO documents have identical technical content.
|
||||
|
||||
The PNG-1.2 specification is available at
|
||||
<http://www.libpng.org/pub/png/documents/>
|
||||
<http://www.libpng.org/pub/png/documents/>. It is technically equivalent
|
||||
to the PNG specification (second edition) but has some additional material.
|
||||
|
||||
The PNG-1.0 specification is available
|
||||
as RFC 2083 <http://www.libpng.org/pub/png/documents/> and as a
|
||||
W3C Recommendation <http://www.w3.org/TR/REC.png.html>. Some
|
||||
additional chunks are described in the special-purpose public chunks
|
||||
W3C Recommendation <http://www.w3.org/TR/REC.png.html>.
|
||||
|
||||
Some additional chunks are described in the special-purpose public chunks
|
||||
documents at <http://www.libpng.org/pub/png/documents/>.
|
||||
|
||||
Other information
|
||||
@@ -1065,15 +1087,19 @@ input stream. You must supply the function
|
||||
png_unknown_chunkp chunk);
|
||||
{
|
||||
/* The unknown chunk structure contains your
|
||||
chunk data: */
|
||||
chunk data, along with similar data for any other
|
||||
unknown chunks: */
|
||||
|
||||
png_byte name[5];
|
||||
png_byte *data;
|
||||
png_size_t size;
|
||||
|
||||
/* Note that libpng has already taken care of
|
||||
the CRC handling */
|
||||
|
||||
/* put your code here. Return one of the
|
||||
following: */
|
||||
/* put your code here. Search for your chunk in the
|
||||
unknown chunk structure, process it, and return one
|
||||
of the following: */
|
||||
|
||||
return (-n); /* chunk had an error */
|
||||
return (0); /* did not recognize */
|
||||
@@ -1093,6 +1119,11 @@ you can retrieve with
|
||||
|
||||
png_get_user_chunk_ptr(png_ptr);
|
||||
|
||||
If you call the png_set_read_user_chunk_fn() function, then all unknown
|
||||
chunks will be saved when read, in case your callback function will need
|
||||
one or more of them. This behavior can be changed with the
|
||||
png_set_keep_unknown_chunks() function, described below.
|
||||
|
||||
At this point, you can set up a callback function that will be
|
||||
called after each row has been read, which you can use to control
|
||||
a progress meter or the like. It's demonstrated in pngtest.c.
|
||||
@@ -1109,18 +1140,41 @@ You must supply a function
|
||||
To inform libpng about your function, use
|
||||
|
||||
png_set_read_status_fn(png_ptr, read_row_callback);
|
||||
|
||||
.SS Width and height limits
|
||||
|
||||
The PNG specification allows the width and height of an image to be as
|
||||
large as 2^31-1 (0x7fffffff), or about 2.147 billion rows and columns.
|
||||
Since very few applications really need to process such large images,
|
||||
we have imposed an arbitrary 1-million limit on rows and columns.
|
||||
Larger images will be rejected immediately with a png_error() call. If
|
||||
you wish to override this limit, you can use
|
||||
|
||||
png_set_user_limits(png_ptr, width_max, height_max);
|
||||
|
||||
to set your own limits, or use width_max = height_max = 0x7fffffffL
|
||||
to allow all valid dimensions (libpng may reject some very large images
|
||||
anyway because of potential buffer overflow conditions).
|
||||
|
||||
You should put this statement after you create the PNG structure and
|
||||
before calling png_read_info(), png_read_png(), or png_process_data().
|
||||
If you need to retrieve the limits that are being applied, use
|
||||
|
||||
width_max = png_get_user_width_max(png_ptr);
|
||||
height_max = png_get_user_height_max(png_ptr);
|
||||
|
||||
.SS Unknown-chunk handling
|
||||
|
||||
Now you get to set the way the library processes unknown chunks in the
|
||||
input PNG stream. Both known and unknown chunks will be read. Normal
|
||||
behavior is that known chunks will be parsed into information in
|
||||
various info_ptr members; unknown chunks will be discarded. To change
|
||||
various info_ptr members while unknown chunks will be discarded. To change
|
||||
this, you can call:
|
||||
|
||||
png_set_keep_unknown_chunks(png_ptr, keep,
|
||||
chunk_list, num_chunks);
|
||||
keep - 0: do not handle as unknown
|
||||
1: do not keep
|
||||
keep - 0: default unknown chunk handling
|
||||
1: ignore; do not keep
|
||||
2: keep only if safe-to-copy
|
||||
3: keep even if unsafe-to-copy
|
||||
You can use these definitions:
|
||||
@@ -1143,37 +1197,36 @@ instances of png_set_keep_unknown_chunks(), the final instance will
|
||||
take precedence. The IHDR and IEND chunks should not be named in
|
||||
chunk_list; if they are, libpng will process them normally anyway.
|
||||
|
||||
.SS User limits
|
||||
Here is an example of the usage of png_set_keep_unknown_chunks(),
|
||||
where the private "vpAg" chunk will later be processed by a user chunk
|
||||
callback function:
|
||||
|
||||
The PNG specification allows the width and height of an image to be as
|
||||
large as 2^31-1 (0x7fffffff), or about 2.147 billion rows and columns.
|
||||
Since very few applications really need to process such large images,
|
||||
we have imposed an arbitrary 1-million limit on rows and columns.
|
||||
Larger images will be rejected immediately with a png_error() call. If
|
||||
you wish to override this limit, you can use
|
||||
png_byte vpAg[5]={118, 112, 65, 103, (png_byte) '\0'};
|
||||
|
||||
png_set_user_limits(png_ptr, width_max, height_max);
|
||||
#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED)
|
||||
png_byte unused_chunks[]=
|
||||
{
|
||||
104, 73, 83, 84, (png_byte) '\0', /* hIST */
|
||||
105, 84, 88, 116, (png_byte) '\0', /* iTXt */
|
||||
112, 67, 65, 76, (png_byte) '\0', /* pCAL */
|
||||
115, 67, 65, 76, (png_byte) '\0', /* sCAL */
|
||||
115, 80, 76, 84, (png_byte) '\0', /* sPLT */
|
||||
116, 73, 77, 69, (png_byte) '\0', /* tIME */
|
||||
};
|
||||
#endif
|
||||
|
||||
to set your own limits, or use width_max = height_max = 0x7fffffffL
|
||||
to allow all valid dimensions (libpng may reject some very large images
|
||||
anyway because of potential buffer overflow conditions).
|
||||
...
|
||||
|
||||
You should put this statement after you create the PNG structure and
|
||||
before calling png_read_info(), png_read_png(), or png_process_data().
|
||||
If you need to retrieve the limits that are being applied, use
|
||||
#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED)
|
||||
/* ignore all unknown chunks: */
|
||||
png_set_keep_unknown_chunks(read_ptr, 1, NULL, 0);
|
||||
/* except for vpAg: */
|
||||
png_set_keep_unknown_chunks(read_ptr, 2, vpAg, 1);
|
||||
/* also ignore unused known chunks: */
|
||||
png_set_keep_unknown_chunks(read_ptr, 1, unused_chunks,
|
||||
(int)sizeof(unused_chunks)/5);
|
||||
#endif
|
||||
|
||||
width_max = png_get_user_width_max(png_ptr);
|
||||
height_max = png_get_user_height_max(png_ptr);
|
||||
|
||||
The PNG specification sets no limit on the number of ancillary chunks
|
||||
allowed in a PNG datastream. You can impose a limit on the total number
|
||||
of sPLT, tEXt, iTXt, zTXt, and unknown chunks that will be stored, with
|
||||
|
||||
png_set_chunk_cache_max(png_ptr, user_chunk_cache_max);
|
||||
|
||||
where 0x7fffffffL means unlimited. You can retrieve this limit with
|
||||
|
||||
chunk_cache_max = png_get_chunk_cache_max(png_ptr);
|
||||
|
||||
.SS The high-level read interface
|
||||
|
||||
@@ -1231,14 +1284,14 @@ where row_pointers is an array of pointers to the pixel data for each row:
|
||||
If you know your image size and pixel size ahead of time, you can allocate
|
||||
row_pointers prior to calling png_read_png() with
|
||||
|
||||
if (height > PNG_UINT_32_MAX/sizeof(png_bytep))
|
||||
if (height > PNG_UINT_32_MAX/png_sizeof(png_byte))
|
||||
png_error (png_ptr,
|
||||
"Image is too tall to process in memory");
|
||||
if (width > PNG_UINT_32_MAX/pixel_size)
|
||||
png_error (png_ptr,
|
||||
"Image is too wide to process in memory");
|
||||
row_pointers = png_malloc(png_ptr,
|
||||
height*sizeof(png_bytep));
|
||||
height*png_sizeof(png_bytep));
|
||||
for (int i=0; i<height, i++)
|
||||
row_pointers[i]=png_malloc(png_ptr,
|
||||
width*pixel_size);
|
||||
@@ -1392,10 +1445,10 @@ into the info_ptr is returned for any complex types.
|
||||
given color type (png_color_16)
|
||||
|
||||
png_get_tRNS(png_ptr, info_ptr, &trans, &num_trans,
|
||||
&trans_color);
|
||||
&trans_values);
|
||||
trans - array of transparent entries for
|
||||
palette (PNG_INFO_tRNS)
|
||||
trans_color - graylevel or color sample values of
|
||||
trans_values - graylevel or color sample values of
|
||||
the single transparent color for
|
||||
non-paletted images (PNG_INFO_tRNS)
|
||||
num_trans - number of transparent entries
|
||||
@@ -1615,8 +1668,9 @@ things.
|
||||
|
||||
As of libpng version 1.2.9, png_set_expand_gray_1_2_4_to_8() was
|
||||
added. It expands the sample depth without changing tRNS to alpha.
|
||||
%12%At the same time, png_set_gray_1_2_4_to_8() was deprecated, and it
|
||||
%12%will be removed from a future version.
|
||||
At the same time, png_set_gray_1_2_4_to_8() was deprecated, and it
|
||||
will be removed from a future version.
|
||||
|
||||
|
||||
PNG can have files with 16 bits per channel. If you only can handle
|
||||
8 bits per channel, this will strip the pixels down to 8 bit.
|
||||
@@ -1641,15 +1695,6 @@ images) is fully transparent, with
|
||||
|
||||
png_set_invert_alpha(png_ptr);
|
||||
|
||||
The PNG format only supports pixels with postmultiplied alpha.
|
||||
If you want to replace the pixels, after reading them, with pixels
|
||||
that have premultiplied color samples, you can do this with
|
||||
|
||||
png_set_premultiply_alpha(png_ptr);
|
||||
|
||||
If you do this, any input with a tRNS chunk will be expanded to
|
||||
have an alpha channel.
|
||||
|
||||
PNG files pack pixels of bit depths 1, 2, and 4 into bytes as small as
|
||||
they can, resulting in, for example, 8 pixels per byte for 1 bit
|
||||
files. This code expands to 1 pixel per byte without changing the
|
||||
@@ -2566,6 +2611,11 @@ Some of the more important parts of the png_info are:
|
||||
can also be
|
||||
PNG_INTRAPIXEL_DIFFERENCING)
|
||||
|
||||
If you call png_set_IHDR(), the call must appear before any of the
|
||||
other png_set_*() functions, which might require access to some of
|
||||
the IHDR settings. The remaining png_set_*() functions can be called
|
||||
in any order.
|
||||
|
||||
png_set_PLTE(png_ptr, info_ptr, palette,
|
||||
num_palette);
|
||||
palette - the palette for the file
|
||||
@@ -2624,10 +2674,10 @@ Some of the more important parts of the png_info are:
|
||||
(png_color_16)
|
||||
|
||||
png_set_tRNS(png_ptr, info_ptr, trans, num_trans,
|
||||
trans_color);
|
||||
trans_values);
|
||||
trans - array of transparent entries for
|
||||
palette (PNG_INFO_tRNS)
|
||||
trans_color - graylevel or color sample values of
|
||||
trans_values - graylevel or color sample values of
|
||||
the single transparent color for
|
||||
non-paletted images (PNG_INFO_tRNS)
|
||||
num_trans - number of transparent entries
|
||||
@@ -3176,17 +3226,13 @@ For a more compact example of writing a PNG image, see the file example.c.
|
||||
|
||||
.SH V. Modifying/Customizing libpng:
|
||||
|
||||
There are three issues here. The first is changing how libpng does
|
||||
There are two issues here. The first is changing how libpng does
|
||||
standard things like memory allocation, input/output, and error handling.
|
||||
The second deals with more complicated things like adding new chunks,
|
||||
adding new transformations, and generally changing how libpng works.
|
||||
Both of those are compile-time issues; that is, they are generally
|
||||
determined at the time the code is written, and there is rarely a need
|
||||
to provide the user with a means of changing them. The third is a
|
||||
run-time issue: choosing between and/or tuning one or more alternate
|
||||
versions of computationally intensive routines; specifically, optimized
|
||||
assembly-language (and therefore compiler- and platform-dependent)
|
||||
versions.
|
||||
to provide the user with a means of changing them.
|
||||
|
||||
Memory allocation, input/output, and error handling
|
||||
|
||||
@@ -3218,6 +3264,9 @@ Your malloc_fn() must return NULL in case of failure. The png_malloc()
|
||||
function will normally call png_error() if it receives a NULL from the
|
||||
system memory allocator or from your replacement malloc_fn().
|
||||
|
||||
Your free_fn() will never be called with a NULL ptr, since libpng's
|
||||
png_free() checks for NULL before calling free_fn().
|
||||
|
||||
Input/Output in libpng is done through png_read() and png_write(),
|
||||
which currently just call fread() and fwrite(). The FILE * is stored in
|
||||
png_struct and is initialized via png_init_io(). If you wish to change
|
||||
@@ -3245,9 +3294,6 @@ The replacement I/O functions must have prototypes as follows:
|
||||
png_bytep data, png_size_t length);
|
||||
void user_flush_data(png_structp png_ptr);
|
||||
|
||||
The user_read_data() function is responsible for detecting and
|
||||
handling end-of-data errors.
|
||||
|
||||
Supplying NULL for the read, write, or flush functions sets them back
|
||||
to using the default C stream functions. It is an error to read from
|
||||
a write stream, and vice versa.
|
||||
@@ -3355,10 +3401,11 @@ you may also have to change the memory allocators (png_malloc, etc.).
|
||||
|
||||
.SS Configuring for compiler xxx:
|
||||
|
||||
All includes for libpng are in pngconf.h. If you need to add, change
|
||||
or delete an include, this is the place to do it. The includes that
|
||||
are not needed outside libpng are placed inside pngpriv.h, which is
|
||||
only used by the routines inside libpng itself.
|
||||
All includes for libpng are in pngconf.h. If you need to add/change/delete
|
||||
an include, this is the place to do it. The includes that are not
|
||||
needed outside libpng are protected by the PNG_INTERNAL definition,
|
||||
which is only defined for those routines inside libpng itself. The
|
||||
files in libpng proper only include png.h, which includes pngconf.h.
|
||||
|
||||
.SS Configuring zlib:
|
||||
|
||||
@@ -3549,7 +3596,7 @@ When PNG_DEBUG = 1, the macros are defined, but only png_debug statements
|
||||
having level = 0 will be printed. There aren't any such statements in
|
||||
this version of libpng, but if you insert some they will be printed.
|
||||
|
||||
.SH VI. MNG support
|
||||
.SH VII. MNG support
|
||||
|
||||
The MNG specification (available at http://www.libpng.org/pub/mng) allows
|
||||
certain extensions to PNG for PNG images that are embedded in MNG datastreams.
|
||||
@@ -3625,13 +3672,13 @@ application:
|
||||
|
||||
.SH IX. Y2K Compliance in libpng
|
||||
|
||||
November 13, 2008
|
||||
September 6, 2008
|
||||
|
||||
Since the PNG Development group is an ad-hoc body, we can't make
|
||||
an official declaration.
|
||||
|
||||
This is your unofficial assurance that libpng from version 0.71 and
|
||||
upward through 1.4.0beta37 are Y2K compliant. It is my belief that earlier
|
||||
upward through 1.2.32beta01 are Y2K compliant. It is my belief that earlier
|
||||
versions were also Y2K compliant.
|
||||
|
||||
Libpng only has three year fields. One is a 2-byte unsigned integer that
|
||||
@@ -3775,31 +3822,105 @@ the first widely used release:
|
||||
1.0.16 10 10016 10.so.0.1.0.16
|
||||
1.2.6 13 10206 12.so.0.1.2.6
|
||||
1.2.7beta1-2 13 10207 12.so.0.1.2.7beta1-2
|
||||
1.0.17rc1 10 10017 12.so.0.1.0.17rc1
|
||||
1.0.17rc1 10 10017 10.so.0.1.0.17rc1
|
||||
1.2.7rc1 13 10207 12.so.0.1.2.7rc1
|
||||
1.0.17 10 10017 12.so.0.1.0.17
|
||||
1.0.17 10 10017 10.so.0.1.0.17
|
||||
1.2.7 13 10207 12.so.0.1.2.7
|
||||
1.2.8beta1-5 13 10208 12.so.0.1.2.8beta1-5
|
||||
1.0.18rc1-5 10 10018 12.so.0.1.0.18rc1-5
|
||||
1.0.18rc1-5 10 10018 10.so.0.1.0.18rc1-5
|
||||
1.2.8rc1-5 13 10208 12.so.0.1.2.8rc1-5
|
||||
1.0.18 10 10018 12.so.0.1.0.18
|
||||
1.0.18 10 10018 10.so.0.1.0.18
|
||||
1.2.8 13 10208 12.so.0.1.2.8
|
||||
1.2.9beta1-3 13 10209 12.so.0.1.2.9beta1-3
|
||||
1.2.9beta4-11 13 10209 12.so.0.9[.0]
|
||||
1.2.9rc1 13 10209 12.so.0.9[.0]
|
||||
1.2.9 13 10209 12.so.0.9[.0]
|
||||
1.2.10beta1-7 13 10210 12.so.0.10[.0]
|
||||
1.2.10rc1-2 13 10210 12.so.0.10[.0]
|
||||
1.2.10beta1-8 13 10210 12.so.0.10[.0]
|
||||
1.2.10rc1-3 13 10210 12.so.0.10[.0]
|
||||
1.2.10 13 10210 12.so.0.10[.0]
|
||||
1.4.0beta1-6 14 10400 14.so.0.0[.0]
|
||||
1.2.11beta1-4 13 10210 12.so.0.10[.0]
|
||||
1.4.0beta7-8 14 10400 14.so.0.0[.0]
|
||||
1.2.11beta1-4 13 10211 12.so.0.11[.0]
|
||||
1.0.19rc1-5 10 10019 10.so.0.19[.0]
|
||||
1.2.11rc1-5 13 10211 12.so.0.11[.0]
|
||||
1.0.19 10 10019 10.so.0.19[.0]
|
||||
1.2.11 13 10211 12.so.0.11[.0]
|
||||
1.0.20 10 10020 10.so.0.20[.0]
|
||||
1.2.12 13 10212 12.so.0.12[.0]
|
||||
1.4.0beta9-14 14 10400 14.so.0.0[.0]
|
||||
1.2.13beta1 13 10213 12.so.0.13[.0]
|
||||
1.0.21 10 10021 10.so.0.21[.0]
|
||||
1.2.13 13 10213 12.so.0.13[.0]
|
||||
1.4.0beta15-36 14 10400 14.so.0.0[.0]
|
||||
1.4.0beta37 14 10400 14.so.14.0[.0]
|
||||
1.2.14beta1-2 13 10214 12.so.0.14[.0]
|
||||
1.0.22rc1 10 10022 10.so.0.22[.0]
|
||||
1.2.14rc1 13 10214 12.so.0.14[.0]
|
||||
1.2.15beta1-6 13 10215 12.so.0.15[.0]
|
||||
1.0.23rc1-5 10 10023 10.so.0.23[.0]
|
||||
1.2.15rc1-5 13 10215 12.so.0.15[.0]
|
||||
1.0.23 10 10023 10.so.0.23[.0]
|
||||
1.2.15 13 10215 12.so.0.15[.0]
|
||||
1.2.16beta1-2 13 10216 12.so.0.16[.0]
|
||||
1.2.16rc1 13 10216 12.so.0.16[.0]
|
||||
1.0.24 10 10024 10.so.0.24[.0]
|
||||
1.2.16 13 10216 12.so.0.16[.0]
|
||||
1.2.17beta1-2 13 10217 12.so.0.17[.0]
|
||||
1.0.25rc1 10 10025 10.so.0.25[.0]
|
||||
1.2.17rc1-3 13 10217 12.so.0.17[.0]
|
||||
1.0.25 10 10025 10.so.0.25[.0]
|
||||
1.2.17 13 10217 12.so.0.17[.0]
|
||||
1.0.26 10 10026 10.so.0.26[.0]
|
||||
1.2.18 13 10218 12.so.0.18[.0]
|
||||
1.2.19beta1-31 13 10219 12.so.0.19[.0]
|
||||
1.0.27rc1-6 10 10027 10.so.0.27[.0]
|
||||
1.2.19rc1-6 13 10219 12.so.0.19[.0]
|
||||
1.0.27 10 10027 10.so.0.27[.0]
|
||||
1.2.19 13 10219 12.so.0.19[.0]
|
||||
1.2.20beta01-04 13 10220 12.so.0.20[.0]
|
||||
1.0.28rc1-6 10 10028 10.so.0.28[.0]
|
||||
1.2.20rc1-6 13 10220 12.so.0.20[.0]
|
||||
1.0.28 10 10028 10.so.0.28[.0]
|
||||
1.2.20 13 10220 12.so.0.20[.0]
|
||||
1.2.21beta1-2 13 10221 12.so.0.21[.0]
|
||||
1.2.21rc1-3 13 10221 12.so.0.21[.0]
|
||||
1.0.29 10 10029 10.so.0.29[.0]
|
||||
1.2.21 13 10221 12.so.0.21[.0]
|
||||
1.2.22beta1-4 13 10222 12.so.0.22[.0]
|
||||
1.0.30rc1 13 10030 10.so.0.30[.0]
|
||||
1.2.22rc1 13 10222 12.so.0.22[.0]
|
||||
1.0.30 10 10030 10.so.0.30[.0]
|
||||
1.2.22 13 10222 12.so.0.22[.0]
|
||||
1.2.23beta01-05 13 10223 12.so.0.23[.0]
|
||||
1.2.23rc01 13 10223 12.so.0.23[.0]
|
||||
1.2.23 13 10223 12.so.0.23[.0]
|
||||
1.2.24beta01-02 13 10224 12.so.0.24[.0]
|
||||
1.2.24rc01 13 10224 12.so.0.24[.0]
|
||||
1.2.24 13 10224 12.so.0.24[.0]
|
||||
1.2.25beta01-06 13 10225 12.so.0.25[.0]
|
||||
1.2.25rc01-02 13 10225 12.so.0.25[.0]
|
||||
1.0.31 10 10031 10.so.0.31[.0]
|
||||
1.2.25 13 10225 12.so.0.25[.0]
|
||||
1.2.26beta01-06 13 10226 12.so.0.26[.0]
|
||||
1.2.26rc01 13 10226 12.so.0.26[.0]
|
||||
1.2.26 13 10226 12.so.0.26[.0]
|
||||
1.0.32 10 10032 10.so.0.32[.0]
|
||||
1.2.27beta01-06 13 10227 12.so.0.27[.0]
|
||||
1.2.27rc01 13 10227 12.so.0.27[.0]
|
||||
1.0.33 10 10033 10.so.0.33[.0]
|
||||
1.2.27 13 10227 12.so.0.27[.0]
|
||||
1.0.34 10 10034 10.so.0.34[.0]
|
||||
1.2.28 13 10228 12.so.0.28[.0]
|
||||
1.2.29beta01-03 13 10229 12.so.0.29[.0]
|
||||
1.2.29rc01 13 10229 12.so.0.29[.0]
|
||||
1.0.35 10 10035 10.so.0.35[.0]
|
||||
1.2.29 13 10229 12.so.0.29[.0]
|
||||
1.0.37 10 10037 10.so.0.37[.0]
|
||||
1.2.30beta01-04 13 10230 12.so.0.30[.0]
|
||||
1.0.38rc01-08 10 10038 10.so.0.38[.0]
|
||||
1.2.30rc01-08 13 10230 12.so.0.30[.0]
|
||||
1.0.38 10 10038 10.so.0.38[.0]
|
||||
1.2.30 13 10230 12.so.0.30[.0]
|
||||
1.0.39rc01-03 10 10039 10.so.0.39[.0]
|
||||
1.2.31rc01-03 13 10231 12.so.0.31[.0]
|
||||
1.0.39 10 10039 10.so.0.39[.0]
|
||||
1.2.31 13 10231 12.so.0.31[.0]
|
||||
1.2.32beta01 13 10232 12.so.0.32[.0]
|
||||
|
||||
Henceforth the source version will match the shared-library minor
|
||||
and patch numbers; the shared-library major version number will be
|
||||
@@ -3812,7 +3933,7 @@ version 1.0.6j; from then on they were given the upcoming public
|
||||
release number plus "betaNN" or "rcN".
|
||||
|
||||
.SH "SEE ALSO"
|
||||
libpngpf(3), png(5)
|
||||
.IR libpngpf(3) ", " png(5)
|
||||
.LP
|
||||
.IR libpng :
|
||||
.IP
|
||||
@@ -3835,7 +3956,7 @@ ftp://ftp.info-zip.org/pub/infozip/zlib
|
||||
.I libpng
|
||||
or at
|
||||
.br
|
||||
ftp://ds.internic.net/rfc/rfc2083.txt
|
||||
ftp://ftp.rfc-editor.org:/in-notes/rfc2083.txt
|
||||
.br
|
||||
or (as a W3C Recommendation) at
|
||||
.br
|
||||
@@ -3855,7 +3976,7 @@ possible without all of you.
|
||||
|
||||
Thanks to Frank J. T. Wojcik for helping with the documentation.
|
||||
|
||||
Libpng version 1.4.0beta37 - November 13, 2008:
|
||||
Libpng version 1.2.32beta01 - September 6, 2008:
|
||||
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
|
||||
Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
|
||||
|
||||
@@ -3876,8 +3997,8 @@ included in the libpng distribution, the latter shall prevail.)
|
||||
If you modify libpng you may insert additional notices immediately following
|
||||
this sentence.
|
||||
|
||||
libpng versions 1.2.6, August 15, 2004, through 1.4.0beta37, November 13, 2008, are
|
||||
Copyright (c) 2004,2006-2007 Glenn Randers-Pehrson, and are
|
||||
libpng versions 1.2.6, August 15, 2004, through 1.2.32beta01, September 6, 2008, are
|
||||
Copyright (c) 2004,2006-2008 Glenn Randers-Pehrson, and are
|
||||
distributed according to the same disclaimer and license as libpng-1.2.5
|
||||
with the following individual added to the list of Contributing Authors
|
||||
|
||||
@@ -3975,7 +4096,7 @@ certification mark of the Open Source Initiative.
|
||||
|
||||
Glenn Randers-Pehrson
|
||||
glennrp at users.sourceforge.net
|
||||
November 13, 2008
|
||||
September 6, 2008
|
||||
|
||||
.\" end of man page
|
||||
|
||||
|
||||
24
libpngpf.3
24
libpngpf.3
@@ -1,6 +1,6 @@
|
||||
.TH LIBPNGPF 3 "November 13, 2008"
|
||||
.TH LIBPNGPF 3 "September 6, 2008"
|
||||
.SH NAME
|
||||
libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta37
|
||||
libpng \- Portable Network Graphics (PNG) Reference Library 1.2.32beta01
|
||||
(private functions)
|
||||
.SH SYNOPSIS
|
||||
\fB#include <png.h>\fP
|
||||
@@ -81,7 +81,7 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta37
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBvoid png_decompress_chunk (png_structp \fP\fIpng_ptr\fP\fB, int \fP\fIcomp_type\fP\fB, png_size_t \fP\fIchunklength\fP\fB, png_size_t \fP\fIprefix_length\fP\fB, png_size_t \fI*data_length\fP\fB);\fP
|
||||
\fBvoid png_decompress_chunk (png_structp \fP\fIpng_ptr\fP\fB, int \fP\fIcomp_type\fP\fB, png_charp \fP\fIchunkdata\fP\fB, png_size_t \fP\fIchunklength\fP\fB, png_size_t \fP\fIprefix_length\fP\fB, png_size_t \fI*data_length\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
@@ -99,7 +99,7 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta37
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBvoid png_do_background (png_row_infop \fP\fIrow_info\fP\fB, png_bytep \fP\fIrow\fP\fB, png_color_16p \fP\fItrans_color\fP\fB, png_color_16p \fP\fIbackground\fP\fB, png_color_16p \fP\fIbackground_1\fP\fB, png_bytep \fP\fIgamma_table\fP\fB, png_bytep \fP\fIgamma_from_1\fP\fB, png_bytep \fP\fIgamma_to_1\fP\fB, png_uint_16pp \fP\fIgamma_16\fP\fB, png_uint_16pp \fP\fIgamma_16_from_1\fP\fB, png_uint_16pp \fP\fIgamma_16_to_1\fP\fB, int \fIgamma_shift\fP\fB);\fP
|
||||
\fBvoid png_do_background (png_row_infop \fP\fIrow_info\fP\fB, png_bytep \fP\fIrow\fP\fB, png_color_16p \fP\fItrans_values\fP\fB, png_color_16p \fP\fIbackground\fP\fB, png_color_16p \fP\fIbackground_1\fP\fB, png_bytep \fP\fIgamma_table\fP\fB, png_bytep \fP\fIgamma_from_1\fP\fB, png_bytep \fP\fIgamma_to_1\fP\fB, png_uint_16pp \fP\fIgamma_16\fP\fB, png_uint_16pp \fP\fIgamma_16_from_1\fP\fB, png_uint_16pp \fP\fIgamma_16_to_1\fP\fB, int \fIgamma_shift\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
@@ -181,8 +181,6 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta37
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBvoid png_do_read_premultiply_alpha (png_row_infop \fP\fIrow_info\fP\fB, png_bytep \fIrow\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBvoid png_do_read_swap_alpha (png_row_infop \fP\fIrow_info\fP\fB, png_bytep \fIrow\fP\fB);\fP
|
||||
@@ -539,6 +537,12 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta37
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBpng_uint_32 png_read_chunk_header (png_structp \fIpng_ptr\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBvoid png_read_data (png_structp \fP\fIpng_ptr\fP\fB, png_bytep \fP\fIdata\fP\fB, png_size_t \fIlength\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
@@ -713,6 +717,12 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta37
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBvoid png_write_sig (png_structp \fIpng_ptr\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBvoid png_write_sRGB (png_structp \fP\fIpng_ptr\fP\fB, int \fIintent\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
@@ -775,6 +785,6 @@ are listed alphabetically here as an aid to libpng maintainers.
|
||||
See png.h for more information on these functions.
|
||||
|
||||
.SH SEE ALSO
|
||||
libpng(3), png(5)
|
||||
.IR libpng(3) ", " png(5)
|
||||
.SH AUTHOR
|
||||
Glenn Randers-Pehrson
|
||||
|
||||
6
png.5
6
png.5
@@ -1,4 +1,4 @@
|
||||
.TH PNG 5 "November 13, 2008"
|
||||
.TH PNG 5 "September 6, 2008"
|
||||
.SH NAME
|
||||
png \- Portable Network Graphics (PNG) format
|
||||
.SH DESCRIPTION
|
||||
@@ -18,7 +18,7 @@ gamma and chromaticity data for improved color matching on heterogeneous
|
||||
platforms.
|
||||
|
||||
.SH "SEE ALSO"
|
||||
.IR libpng(3), zlib(3), deflate(5), and zlib(5)
|
||||
.IR libpng(3) ", " zlib(3) ", " deflate(5) ", and " zlib(5)
|
||||
.LP
|
||||
PNG specification (second edition), November 2003:
|
||||
.IP
|
||||
@@ -35,7 +35,7 @@ PNG 1.0 specification, October 1996:
|
||||
RFC 2083
|
||||
.IP
|
||||
.br
|
||||
ftp://ds.internic.net/rfc/rfc2083.txt
|
||||
ftp://ftp.rfc-editor.org:/in-notes/rfc2083.txt
|
||||
.br
|
||||
or (as a W3C Recommendation) at
|
||||
.br
|
||||
|
||||
255
png.c
255
png.c
@@ -1,19 +1,19 @@
|
||||
|
||||
/* png.c - location for general purpose libpng functions
|
||||
*
|
||||
* Last changed in libpng 1.4.0 [November 13, 2008]
|
||||
* Last changed in libpng 1.2.30 [August 15, 2008]
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2008 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||
*/
|
||||
|
||||
#define PNG_INTERNAL
|
||||
#define PNG_NO_EXTERN
|
||||
#include "png.h"
|
||||
#include "pngpriv.h"
|
||||
|
||||
/* Generate a compiler error if there is an old png.h in the search path. */
|
||||
typedef version_1_4_0beta37 Your_png_h_is_not_version_1_4_0beta37;
|
||||
typedef version_1_2_32beta01 Your_png_h_is_not_version_1_2_32beta01;
|
||||
|
||||
/* Version information for C files. This had better match the version
|
||||
* string defined in png.h. */
|
||||
@@ -93,9 +93,9 @@ void PNGAPI
|
||||
png_set_sig_bytes(png_structp png_ptr, int num_bytes)
|
||||
{
|
||||
if (png_ptr == NULL) return;
|
||||
png_debug(1, "in png_set_sig_bytes");
|
||||
png_debug(1, "in png_set_sig_bytes\n");
|
||||
if (num_bytes > 8)
|
||||
png_error(png_ptr, "Too many bytes for PNG signature");
|
||||
png_error(png_ptr, "Too many bytes for PNG signature.");
|
||||
|
||||
png_ptr->sig_bytes = (png_byte)(num_bytes < 0 ? 0 : num_bytes);
|
||||
}
|
||||
@@ -126,17 +126,32 @@ png_sig_cmp(png_bytep sig, png_size_t start, png_size_t num_to_check)
|
||||
return ((int)(png_memcmp(&sig[start], &png_signature[start], num_to_check)));
|
||||
}
|
||||
|
||||
#if defined(PNG_1_0_X) || defined(PNG_1_2_X)
|
||||
/* (Obsolete) function to check signature bytes. It does not allow one
|
||||
* to check a partial signature. This function might be removed in the
|
||||
* future - use png_sig_cmp(). Returns true (nonzero) if the file is PNG.
|
||||
*/
|
||||
int PNGAPI
|
||||
png_check_sig(png_bytep sig, int num)
|
||||
{
|
||||
return ((int)!png_sig_cmp(sig, (png_size_t)0, (png_size_t)num));
|
||||
}
|
||||
#endif
|
||||
#endif /* PNG_READ_SUPPORTED */
|
||||
|
||||
#if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
|
||||
/* Function to allocate memory for zlib and clear it to 0. */
|
||||
#ifdef PNG_1_0_X
|
||||
voidpf PNGAPI
|
||||
#else
|
||||
voidpf /* private */
|
||||
#endif
|
||||
png_zalloc(voidpf png_ptr, uInt items, uInt size)
|
||||
{
|
||||
png_voidp ptr;
|
||||
png_structp p=(png_structp)png_ptr;
|
||||
png_uint_32 save_flags=p->flags;
|
||||
png_alloc_size_t num_bytes;
|
||||
png_uint_32 num_bytes;
|
||||
|
||||
if (png_ptr == NULL) return (NULL);
|
||||
if (items > PNG_UINT_32_MAX/size)
|
||||
@@ -144,17 +159,36 @@ png_zalloc(voidpf png_ptr, uInt items, uInt size)
|
||||
png_warning (p, "Potential overflow in png_zalloc()");
|
||||
return (NULL);
|
||||
}
|
||||
num_bytes = (png_alloc_size_t)items * size;
|
||||
num_bytes = (png_uint_32)items * size;
|
||||
|
||||
p->flags|=PNG_FLAG_MALLOC_NULL_MEM_OK;
|
||||
ptr = (png_voidp)png_malloc((png_structp)png_ptr, num_bytes);
|
||||
p->flags=save_flags;
|
||||
|
||||
#if defined(PNG_1_0_X) && !defined(PNG_NO_ZALLOC_ZERO)
|
||||
if (ptr == NULL)
|
||||
return ((voidpf)ptr);
|
||||
|
||||
if (num_bytes > (png_uint_32)0x8000L)
|
||||
{
|
||||
png_memset(ptr, 0, (png_size_t)0x8000L);
|
||||
png_memset((png_bytep)ptr + (png_size_t)0x8000L, 0,
|
||||
(png_size_t)(num_bytes - (png_uint_32)0x8000L));
|
||||
}
|
||||
else
|
||||
{
|
||||
png_memset(ptr, 0, (png_size_t)num_bytes);
|
||||
}
|
||||
#endif
|
||||
return ((voidpf)ptr);
|
||||
}
|
||||
|
||||
/* function to free memory for zlib */
|
||||
#ifdef PNG_1_0_X
|
||||
void PNGAPI
|
||||
#else
|
||||
void /* private */
|
||||
#endif
|
||||
png_zfree(voidpf png_ptr, voidpf ptr)
|
||||
{
|
||||
png_free((png_structp)png_ptr, (png_voidp)ptr);
|
||||
@@ -206,7 +240,7 @@ png_create_info_struct(png_structp png_ptr)
|
||||
{
|
||||
png_infop info_ptr;
|
||||
|
||||
png_debug(1, "in png_create_info_struct");
|
||||
png_debug(1, "in png_create_info_struct\n");
|
||||
if (png_ptr == NULL) return (NULL);
|
||||
#ifdef PNG_USER_MEM_SUPPORTED
|
||||
info_ptr = (png_infop)png_create_struct_2(PNG_STRUCT_INFO,
|
||||
@@ -231,7 +265,7 @@ png_destroy_info_struct(png_structp png_ptr, png_infopp info_ptr_ptr)
|
||||
png_infop info_ptr = NULL;
|
||||
if (png_ptr == NULL) return;
|
||||
|
||||
png_debug(1, "in png_destroy_info_struct");
|
||||
png_debug(1, "in png_destroy_info_struct\n");
|
||||
if (info_ptr_ptr != NULL)
|
||||
info_ptr = *info_ptr_ptr;
|
||||
|
||||
@@ -253,6 +287,15 @@ png_destroy_info_struct(png_structp png_ptr, png_infopp info_ptr_ptr)
|
||||
* and applications using it are urged to use png_create_info_struct()
|
||||
* instead.
|
||||
*/
|
||||
#if defined(PNG_1_0_X) || defined(PNG_1_2_X)
|
||||
#undef png_info_init
|
||||
void PNGAPI
|
||||
png_info_init(png_infop info_ptr)
|
||||
{
|
||||
/* We only come here via pre-1.0.12-compiled applications */
|
||||
png_info_init_3(&info_ptr, 0);
|
||||
}
|
||||
#endif
|
||||
|
||||
void PNGAPI
|
||||
png_info_init_3(png_infopp ptr_ptr, png_size_t png_info_struct_size)
|
||||
@@ -261,7 +304,7 @@ png_info_init_3(png_infopp ptr_ptr, png_size_t png_info_struct_size)
|
||||
|
||||
if (info_ptr == NULL) return;
|
||||
|
||||
png_debug(1, "in png_info_init_3");
|
||||
png_debug(1, "in png_info_init_3\n");
|
||||
|
||||
if (png_sizeof(png_info) > png_info_struct_size)
|
||||
{
|
||||
@@ -279,7 +322,7 @@ void PNGAPI
|
||||
png_data_freer(png_structp png_ptr, png_infop info_ptr,
|
||||
int freer, png_uint_32 mask)
|
||||
{
|
||||
png_debug(1, "in png_data_freer");
|
||||
png_debug(1, "in png_data_freer\n");
|
||||
if (png_ptr == NULL || info_ptr == NULL)
|
||||
return;
|
||||
if (freer == PNG_DESTROY_WILL_FREE_DATA)
|
||||
@@ -288,7 +331,7 @@ png_data_freer(png_structp png_ptr, png_infop info_ptr,
|
||||
info_ptr->free_me &= ~mask;
|
||||
else
|
||||
png_warning(png_ptr,
|
||||
"Unknown freer parameter in png_data_freer");
|
||||
"Unknown freer parameter in png_data_freer.");
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -296,7 +339,7 @@ void PNGAPI
|
||||
png_free_data(png_structp png_ptr, png_infop info_ptr, png_uint_32 mask,
|
||||
int num)
|
||||
{
|
||||
png_debug(1, "in png_free_data");
|
||||
png_debug(1, "in png_free_data\n");
|
||||
if (png_ptr == NULL || info_ptr == NULL)
|
||||
return;
|
||||
|
||||
@@ -526,8 +569,10 @@ if (mask & PNG_FREE_ROWS)
|
||||
for (row = 0; row < (int)info_ptr->height; row++)
|
||||
{
|
||||
png_free(png_ptr, info_ptr->row_pointers[row]);
|
||||
info_ptr->row_pointers[row]=NULL;
|
||||
}
|
||||
png_free(png_ptr, info_ptr->row_pointers);
|
||||
info_ptr->row_pointers=NULL;
|
||||
}
|
||||
info_ptr->valid &= ~PNG_INFO_IDAT;
|
||||
}
|
||||
@@ -548,7 +593,7 @@ if (mask & PNG_FREE_ROWS)
|
||||
void /* PRIVATE */
|
||||
png_info_destroy(png_structp png_ptr, png_infop info_ptr)
|
||||
{
|
||||
png_debug(1, "in png_info_destroy");
|
||||
png_debug(1, "in png_info_destroy\n");
|
||||
|
||||
png_free_data(png_ptr, info_ptr, PNG_FREE_ALL, -1);
|
||||
|
||||
@@ -556,6 +601,7 @@ png_info_destroy(png_structp png_ptr, png_infop info_ptr)
|
||||
if (png_ptr->num_chunk_list)
|
||||
{
|
||||
png_free(png_ptr, png_ptr->chunk_list);
|
||||
png_ptr->chunk_list=NULL;
|
||||
png_ptr->num_chunk_list = 0;
|
||||
}
|
||||
#endif
|
||||
@@ -586,7 +632,7 @@ png_get_io_ptr(png_structp png_ptr)
|
||||
void PNGAPI
|
||||
png_init_io(png_structp png_ptr, png_FILE_p fp)
|
||||
{
|
||||
png_debug(1, "in png_init_io");
|
||||
png_debug(1, "in png_init_io\n");
|
||||
if (png_ptr == NULL) return;
|
||||
png_ptr->io_ptr = (png_voidp)fp;
|
||||
}
|
||||
@@ -610,6 +656,17 @@ png_convert_to_rfc1123(png_structp png_ptr, png_timep ptime)
|
||||
png_sizeof(char)));
|
||||
}
|
||||
|
||||
#if defined(_WIN32_WCE)
|
||||
{
|
||||
wchar_t time_buf[29];
|
||||
wsprintf(time_buf, TEXT("%d %S %d %02d:%02d:%02d +0000"),
|
||||
ptime->day % 32, short_months[(ptime->month - 1) % 12],
|
||||
ptime->year, ptime->hour % 24, ptime->minute % 60,
|
||||
ptime->second % 61);
|
||||
WideCharToMultiByte(CP_ACP, 0, time_buf, -1, png_ptr->time_buffer, 29,
|
||||
NULL, NULL);
|
||||
}
|
||||
#else
|
||||
#ifdef USE_FAR_KEYWORD
|
||||
{
|
||||
char near_time_buf[29];
|
||||
@@ -626,6 +683,7 @@ png_convert_to_rfc1123(png_structp png_ptr, png_timep ptime)
|
||||
ptime->year, ptime->hour % 24, ptime->minute % 60,
|
||||
ptime->second % 61);
|
||||
#endif
|
||||
#endif /* _WIN32_WCE */
|
||||
return ((png_charp)png_ptr->time_buffer);
|
||||
}
|
||||
#endif /* PNG_TIME_RFC1123_SUPPORTED */
|
||||
@@ -636,23 +694,10 @@ png_charp PNGAPI
|
||||
png_get_copyright(png_structp png_ptr)
|
||||
{
|
||||
png_ptr = png_ptr; /* silence compiler warning about unused png_ptr */
|
||||
#ifdef PNG_STRING_COPYRIGHT
|
||||
return PNG_STRING_COPYRIGHT
|
||||
#else
|
||||
#ifdef __STDC__
|
||||
return ((png_charp) PNG_STRING_NEWLINE \
|
||||
"libpng version x 1.4.0beta37 - November 13, 2008" PNG_STRING_NEWLINE \
|
||||
"Copyright (c) 1998-2008 Glenn Randers-Pehrson" PNG_STRING_NEWLINE \
|
||||
"Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \
|
||||
"Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \
|
||||
PNG_STRING_NEWLINE);
|
||||
#else
|
||||
return ((png_charp) "libpng version 1.4.0beta37 - November 13, 2008\
|
||||
Copyright (c) 1998-2008 Glenn Randers-Pehrson\
|
||||
Copyright (c) 1996-1997 Andreas Dilger\
|
||||
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.");
|
||||
#endif
|
||||
#endif
|
||||
return ((png_charp) "\n libpng version 1.2.32beta01 - September 6, 2008\n\
|
||||
Copyright (c) 1998-2008 Glenn Randers-Pehrson\n\
|
||||
Copyright (c) 1996-1997 Andreas Dilger\n\
|
||||
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.\n");
|
||||
}
|
||||
|
||||
/* The following return the library version as a short string in the
|
||||
@@ -684,15 +729,11 @@ png_get_header_version(png_structp png_ptr)
|
||||
{
|
||||
/* Returns longer string containing both version and date */
|
||||
png_ptr = png_ptr; /* silence compiler warning about unused png_ptr */
|
||||
#ifdef __STDC__
|
||||
return ((png_charp) PNG_HEADER_VERSION_STRING
|
||||
#ifndef PNG_READ_SUPPORTED
|
||||
" (NO READ SUPPORT)"
|
||||
#endif
|
||||
PNG_STRING_NEWLINE);
|
||||
#else
|
||||
return ((png_charp) PNG_HEADER_VERSION_STRING);
|
||||
#endif
|
||||
"\n");
|
||||
}
|
||||
|
||||
#if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
|
||||
@@ -731,6 +772,17 @@ png_access_version_number(void)
|
||||
}
|
||||
|
||||
|
||||
#if defined(PNG_READ_SUPPORTED) && defined(PNG_ASSEMBLER_CODE_SUPPORTED)
|
||||
#if !defined(PNG_1_0_X)
|
||||
/* this function was added to libpng 1.2.0 */
|
||||
int PNGAPI
|
||||
png_mmx_support(void)
|
||||
{
|
||||
/* obsolete, to be removed from libpng-1.4.0 */
|
||||
return -1;
|
||||
}
|
||||
#endif /* PNG_1_0_X */
|
||||
#endif /* PNG_READ_SUPPORTED && PNG_ASSEMBLER_CODE_SUPPORTED */
|
||||
|
||||
#if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
|
||||
#ifdef PNG_SIZE_T
|
||||
@@ -744,133 +796,4 @@ png_convert_size(size_t size)
|
||||
return ((png_size_t)size);
|
||||
}
|
||||
#endif /* PNG_SIZE_T */
|
||||
|
||||
/* Added at libpng version 1.4.0 (moved from pngset.c) */
|
||||
#if defined(PNG_cHRM_SUPPORTED)
|
||||
#ifdef PNG_FLOATING_POINT_SUPPORTED
|
||||
int /* private */
|
||||
png_check_cHRM(png_structp png_ptr,
|
||||
double white_x, double white_y, double red_x, double red_y,
|
||||
double green_x, double green_y, double blue_x, double blue_y)
|
||||
{
|
||||
int ret = 1;
|
||||
|
||||
png_debug(1, "in png_check_cHRM function");
|
||||
if (png_ptr == NULL)
|
||||
ret = 0;
|
||||
if (!(white_x || white_y || red_x || red_y || green_x || green_y ||
|
||||
blue_x || blue_y))
|
||||
{
|
||||
png_warning(png_ptr,
|
||||
"Ignoring attempt to set all-zero chromaticity values");
|
||||
ret = 0;
|
||||
}
|
||||
if (white_x < 0.0 || white_y < 0.0 ||
|
||||
red_x < 0.0 || red_y < 0.0 ||
|
||||
green_x < 0.0 || green_y < 0.0 ||
|
||||
blue_x < 0.0 || blue_y < 0.0)
|
||||
{
|
||||
png_warning(png_ptr,
|
||||
"Ignoring attempt to set negative chromaticity value");
|
||||
ret = 0;
|
||||
}
|
||||
if (white_x > 21474.83 || white_y > 21474.83 ||
|
||||
red_x > 21474.83 || red_y > 21474.83 ||
|
||||
green_x > 21474.83 || green_y > 21474.83 ||
|
||||
blue_x > 21474.83 || blue_y > 21474.83)
|
||||
{
|
||||
png_warning(png_ptr,
|
||||
"Ignoring attempt to set chromaticity value exceeding 21474.83");
|
||||
ret = 0;
|
||||
}
|
||||
if (white_x > .8 || white_y > .8 || white_x + white_y > 1.0)
|
||||
{
|
||||
png_warning(png_ptr, "Invalid cHRM white point");
|
||||
ret = 0;
|
||||
}
|
||||
if (red_x + red_y > 1.0)
|
||||
{
|
||||
png_warning(png_ptr, "Invalid cHRM red point");
|
||||
ret = 0;
|
||||
}
|
||||
if (green_x + green_y > 1.0)
|
||||
{
|
||||
png_warning(png_ptr, "Invalid cHRM green point");
|
||||
ret = 0;
|
||||
}
|
||||
if (blue_x + blue_y > 1.0)
|
||||
{
|
||||
png_warning(png_ptr, "Invalid cHRM blue point");
|
||||
ret = 0;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
#endif /* PNG_FLOATING_POINT_SUPPORTED */
|
||||
|
||||
#ifdef PNG_FIXED_POINT_SUPPORTED
|
||||
int /* private */
|
||||
png_check_cHRM_fixed(png_structp png_ptr,
|
||||
png_fixed_point white_x, png_fixed_point white_y, png_fixed_point red_x,
|
||||
png_fixed_point red_y, png_fixed_point green_x, png_fixed_point green_y,
|
||||
png_fixed_point blue_x, png_fixed_point blue_y)
|
||||
{
|
||||
int ret = 1;
|
||||
|
||||
png_debug(1, "in function png_check_cHRM_fixed");
|
||||
if (png_ptr == NULL)
|
||||
return 0;
|
||||
|
||||
if (!(white_x || white_y || red_x || red_y || green_x || green_y ||
|
||||
blue_x || blue_y))
|
||||
{
|
||||
png_warning(png_ptr,
|
||||
"Ignoring attempt to set all-zero chromaticity values");
|
||||
ret = 0;
|
||||
}
|
||||
if (white_x < 0 || white_y < 0 ||
|
||||
red_x < 0 || red_y < 0 ||
|
||||
green_x < 0 || green_y < 0 ||
|
||||
blue_x < 0 || blue_y < 0)
|
||||
{
|
||||
png_warning(png_ptr,
|
||||
"Ignoring attempt to set negative chromaticity value");
|
||||
ret = 0;
|
||||
}
|
||||
if (white_x > (png_fixed_point) PNG_UINT_31_MAX ||
|
||||
white_y > (png_fixed_point) PNG_UINT_31_MAX ||
|
||||
red_x > (png_fixed_point) PNG_UINT_31_MAX ||
|
||||
red_y > (png_fixed_point) PNG_UINT_31_MAX ||
|
||||
green_x > (png_fixed_point) PNG_UINT_31_MAX ||
|
||||
green_y > (png_fixed_point) PNG_UINT_31_MAX ||
|
||||
blue_x > (png_fixed_point) PNG_UINT_31_MAX ||
|
||||
blue_y > (png_fixed_point) PNG_UINT_31_MAX )
|
||||
{
|
||||
png_warning(png_ptr,
|
||||
"Ignoring attempt to set chromaticity value exceeding 21474.83");
|
||||
ret = 0;
|
||||
}
|
||||
if (white_x > 80000L || white_y > 80000L || white_x + white_y > 100000L)
|
||||
{
|
||||
png_warning(png_ptr, "Invalid cHRM white point");
|
||||
ret = 0;
|
||||
}
|
||||
if (red_x + red_y > 100000L)
|
||||
{
|
||||
png_warning(png_ptr, "Invalid cHRM red point");
|
||||
ret = 0;
|
||||
}
|
||||
if (green_x + green_y > 100000L)
|
||||
{
|
||||
png_warning(png_ptr, "Invalid cHRM green point");
|
||||
ret = 0;
|
||||
}
|
||||
if (blue_x + blue_y > 100000L)
|
||||
{
|
||||
png_warning(png_ptr, "Invalid cHRM blue point");
|
||||
ret = 0;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
#endif /* PNG_FIXED_POINT_SUPPORTED */
|
||||
#endif /* PNG_cHRM_SUPPORTED */
|
||||
#endif /* defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED) */
|
||||
|
||||
378
pngconf.h
378
pngconf.h
@@ -1,9 +1,9 @@
|
||||
|
||||
/* pngconf.h - machine configurable file for libpng
|
||||
*
|
||||
* libpng version 1.4.0beta37 - November 13, 2008
|
||||
* libpng version 1.2.32beta01 - September 6, 2008
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2007 Glenn Randers-Pehrson
|
||||
* Copyright (c) 1998-2008 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||
*/
|
||||
@@ -17,22 +17,9 @@
|
||||
#ifndef PNGCONF_H
|
||||
#define PNGCONF_H
|
||||
|
||||
#ifndef PNG_NO_LIMITS_H
|
||||
#include <limits.h>
|
||||
#endif
|
||||
#define PNG_1_2_X
|
||||
|
||||
/* Added at libpng-1.2.9 */
|
||||
|
||||
/* config.h is created by and PNG_CONFIGURE_LIBPNG is set by the "configure" script. */
|
||||
#ifdef PNG_CONFIGURE_LIBPNG
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Added at libpng-1.2.8
|
||||
*
|
||||
/*
|
||||
* PNG_USER_CONFIG has to be defined on the compiler command line. This
|
||||
* includes the resource compiler for Windows DLL configurations.
|
||||
*/
|
||||
@@ -43,7 +30,16 @@
|
||||
#include "pngusr.h"
|
||||
#endif
|
||||
|
||||
/*
|
||||
/* PNG_CONFIGURE_LIBPNG is set by the "configure" script. */
|
||||
#ifdef PNG_CONFIGURE_LIBPNG
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Added at libpng-1.2.8
|
||||
*
|
||||
* If you create a private DLL you need to define in "pngusr.h" the followings:
|
||||
* #define PNG_USER_PRIVATEBUILD <Describes by whom and why this version of
|
||||
* the DLL was built>
|
||||
@@ -79,6 +75,14 @@
|
||||
|
||||
/* End of material added to libpng-1.2.8 */
|
||||
|
||||
/* Added at libpng-1.2.19, removed at libpng-1.2.20 because it caused trouble
|
||||
Restored at libpng-1.2.21 */
|
||||
#if !defined(PNG_NO_WARN_UNINITIALIZED_ROW) && \
|
||||
!defined(PNG_WARN_UNINITIALIZED_ROW)
|
||||
# define PNG_WARN_UNINITIALIZED_ROW 1
|
||||
#endif
|
||||
/* End of material added at libpng-1.2.19/1.2.21 */
|
||||
|
||||
/* This is the size of the compression buffer, and thus the size of
|
||||
* an IDAT chunk. Make this whatever size you feel is best for your
|
||||
* machine. One of these will be allocated per png_struct. When this
|
||||
@@ -108,20 +112,9 @@
|
||||
# define PNG_WRITE_SUPPORTED
|
||||
#endif
|
||||
|
||||
/* Enabled in 1.4.0. */
|
||||
#ifdef PNG_ALLOW_BENIGN_ERRORS
|
||||
# define png_benign_error png_warning
|
||||
# define png_chunk_benign_error png_chunk_warning
|
||||
#else
|
||||
# ifndef PNG_BENIGN_ERRORS_SUPPORTED
|
||||
# define png_benign_error png_error
|
||||
# define png_chunk_benign_error png_chunk_error
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Enabled by default in 1.2.0. You can disable this if you don't need to
|
||||
support PNGs that are embedded in MNG datastreams */
|
||||
#if !defined(PNG_NO_MNG_FEATURES)
|
||||
#if !defined(PNG_1_0_X) && !defined(PNG_NO_MNG_FEATURES)
|
||||
# ifndef PNG_MNG_FEATURES_SUPPORTED
|
||||
# define PNG_MNG_FEATURES_SUPPORTED
|
||||
# endif
|
||||
@@ -263,7 +256,10 @@
|
||||
# endif
|
||||
# endif
|
||||
# else
|
||||
# include <stdio.h>
|
||||
# if !defined(_WIN32_WCE)
|
||||
/* "stdio.h" functions are not supported on WindowsCE */
|
||||
# include <stdio.h>
|
||||
# endif
|
||||
# endif
|
||||
|
||||
/* This macro protects us against machines that don't have function
|
||||
@@ -281,10 +277,14 @@
|
||||
|
||||
#ifdef _NO_PROTO
|
||||
# define PNGARG(arglist) ()
|
||||
# ifndef PNG_TYPECAST_NULL
|
||||
# define PNG_TYPECAST_NULL
|
||||
# endif
|
||||
#else
|
||||
# define PNGARG(arglist) arglist
|
||||
#endif /* _NO_PROTO */
|
||||
|
||||
|
||||
#endif /* OF */
|
||||
|
||||
#endif /* PNGARG */
|
||||
@@ -323,7 +323,7 @@
|
||||
/* If you encounter a compiler error here, see the explanation
|
||||
* near the end of INSTALL.
|
||||
*/
|
||||
__png.h__ already includes setjmp.h;
|
||||
__pngconf.h__ already includes setjmp.h;
|
||||
__dont__ include it again.;
|
||||
# endif
|
||||
# endif /* __linux__ */
|
||||
@@ -333,10 +333,9 @@
|
||||
|
||||
# ifdef __linux__
|
||||
# ifdef PNG_SAVE_BSD_SOURCE
|
||||
# ifdef _BSD_SOURCE
|
||||
# undef _BSD_SOURCE
|
||||
# ifndef _BSD_SOURCE
|
||||
# define _BSD_SOURCE
|
||||
# endif
|
||||
# define _BSD_SOURCE
|
||||
# undef PNG_SAVE_BSD_SOURCE
|
||||
# endif
|
||||
# endif /* __linux__ */
|
||||
@@ -349,6 +348,59 @@
|
||||
#endif
|
||||
|
||||
/* Other defines for things like memory and the like can go here. */
|
||||
#ifdef PNG_INTERNAL
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
/* The functions exported by PNG_EXTERN are PNG_INTERNAL functions, which
|
||||
* aren't usually used outside the library (as far as I know), so it is
|
||||
* debatable if they should be exported at all. In the future, when it is
|
||||
* possible to have run-time registry of chunk-handling functions, some of
|
||||
* these will be made available again.
|
||||
#define PNG_EXTERN extern
|
||||
*/
|
||||
#define PNG_EXTERN
|
||||
|
||||
/* Other defines specific to compilers can go here. Try to keep
|
||||
* them inside an appropriate ifdef/endif pair for portability.
|
||||
*/
|
||||
|
||||
#if defined(PNG_FLOATING_POINT_SUPPORTED)
|
||||
# if defined(MACOS)
|
||||
/* We need to check that <math.h> hasn't already been included earlier
|
||||
* as it seems it doesn't agree with <fp.h>, yet we should really use
|
||||
* <fp.h> if possible.
|
||||
*/
|
||||
# if !defined(__MATH_H__) && !defined(__MATH_H) && !defined(__cmath__)
|
||||
# include <fp.h>
|
||||
# endif
|
||||
# else
|
||||
# include <math.h>
|
||||
# endif
|
||||
# if defined(_AMIGA) && defined(__SASC) && defined(_M68881)
|
||||
/* Amiga SAS/C: We must include builtin FPU functions when compiling using
|
||||
* MATH=68881
|
||||
*/
|
||||
# include <m68881.h>
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Codewarrior on NT has linking problems without this. */
|
||||
#if (defined(__MWERKS__) && defined(WIN32)) || defined(__STDC__)
|
||||
# define PNG_ALWAYS_EXTERN
|
||||
#endif
|
||||
|
||||
/* This provides the non-ANSI (far) memory allocation routines. */
|
||||
#if defined(__TURBOC__) && defined(__MSDOS__)
|
||||
# include <mem.h>
|
||||
# include <alloc.h>
|
||||
#endif
|
||||
|
||||
/* I have no idea why is this necessary... */
|
||||
#if defined(_MSC_VER) && (defined(WIN32) || defined(_Windows) || \
|
||||
defined(_WINDOWS) || defined(_WIN32) || defined(__WIN32__))
|
||||
# include <malloc.h>
|
||||
#endif
|
||||
|
||||
/* This controls how fine the dithering gets. As this allocates
|
||||
* a largish chunk of memory (32K), those who are not as concerned
|
||||
@@ -382,6 +434,8 @@
|
||||
# define PNG_GAMMA_THRESHOLD 0.05
|
||||
#endif
|
||||
|
||||
#endif /* PNG_INTERNAL */
|
||||
|
||||
/* The following uses const char * instead of char * for error
|
||||
* and warning message functions, so some compilers won't complain.
|
||||
* If you do not want to use const, define PNG_NO_CONST here.
|
||||
@@ -423,9 +477,21 @@
|
||||
* iTXt support was added. iTXt support was turned off by default through
|
||||
* libpng-1.2.x, to support old apps that malloc the png_text structure
|
||||
* instead of calling png_set_text() and letting libpng malloc it. It
|
||||
* was turned on by default in libpng-1.4.0.
|
||||
* was turned on by default in libpng-1.3.0.
|
||||
*/
|
||||
|
||||
#if defined(PNG_1_0_X) || defined (PNG_1_2_X)
|
||||
# ifndef PNG_NO_iTXt_SUPPORTED
|
||||
# define PNG_NO_iTXt_SUPPORTED
|
||||
# endif
|
||||
# ifndef PNG_NO_READ_iTXt
|
||||
# define PNG_NO_READ_iTXt
|
||||
# endif
|
||||
# ifndef PNG_NO_WRITE_iTXt
|
||||
# define PNG_NO_WRITE_iTXt
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if !defined(PNG_NO_iTXt_SUPPORTED)
|
||||
# if !defined(PNG_READ_iTXt_SUPPORTED) && !defined(PNG_NO_READ_iTXt)
|
||||
# define PNG_READ_iTXt
|
||||
@@ -527,9 +593,6 @@
|
||||
# ifndef PNG_NO_READ_INVERT_ALPHA
|
||||
# define PNG_READ_INVERT_ALPHA_SUPPORTED
|
||||
# endif
|
||||
# ifndef PNG_NO_READ_PREMULTIPLY_ALPHA
|
||||
# define PNG_READ_PREMULTIPLY_ALPHA_SUPPORTED
|
||||
# endif
|
||||
# ifndef PNG_NO_READ_STRIP_ALPHA
|
||||
# define PNG_READ_STRIP_ALPHA_SUPPORTED
|
||||
# endif
|
||||
@@ -542,24 +605,25 @@
|
||||
#endif /* PNG_READ_TRANSFORMS_SUPPORTED */
|
||||
|
||||
#if !defined(PNG_NO_PROGRESSIVE_READ) && \
|
||||
!defined(PNG_PROGRESSIVE_READ_NOT_SUPPORTED) /* if you don't do progressive */
|
||||
# define PNG_PROGRESSIVE_READ_SUPPORTED /* reading. This is not talking */
|
||||
#endif /* about interlacing capability! You'll */
|
||||
/* still have interlacing unless you change the following line: */
|
||||
!defined(PNG_PROGRESSIVE_READ_SUPPORTED) /* if you don't do progressive */
|
||||
# define PNG_PROGRESSIVE_READ_SUPPORTED /* reading. This is not talking */
|
||||
#endif /* about interlacing capability! You'll */
|
||||
/* still have interlacing unless you change the following line: */
|
||||
|
||||
#define PNG_READ_INTERLACING_SUPPORTED /* required for PNG-compliant decoders */
|
||||
#define PNG_READ_INTERLACING_SUPPORTED /* required in PNG-compliant decoders */
|
||||
|
||||
#ifndef PNG_NO_READ_COMPOSITE_NODIV
|
||||
# ifndef PNG_NO_READ_COMPOSITED_NODIV /* libpng-1.0.x misspelling */
|
||||
# define PNG_READ_COMPOSITE_NODIV_SUPPORTED /* well tested on Intel, SGI */
|
||||
# define PNG_READ_COMPOSITE_NODIV_SUPPORTED /* well tested on Intel, SGI */
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if !defined(PNG_NO_GET_INT_32) || defined(PNG_READ_oFFS_SUPPORTED) || \
|
||||
defined(PNG_READ_pCAL_SUPPORTED)
|
||||
# ifndef PNG_GET_INT_32_SUPPORTED
|
||||
# define PNG_GET_INT_32_SUPPORTED
|
||||
# endif
|
||||
#if defined(PNG_1_0_X) || defined (PNG_1_2_X)
|
||||
/* Deprecated, will be removed from version 2.0.0.
|
||||
Use PNG_MNG_FEATURES_SUPPORTED instead. */
|
||||
#ifndef PNG_NO_READ_EMPTY_PLTE
|
||||
# define PNG_READ_EMPTY_PLTE_SUPPORTED
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif /* PNG_READ_SUPPORTED */
|
||||
@@ -621,16 +685,20 @@
|
||||
# define PNG_WRITE_FLUSH_SUPPORTED
|
||||
#endif
|
||||
|
||||
#if !defined(PNG_NO_SAVE_INT_32) || defined(PNG_WRITE_oFFS_SUPPORTED) || \
|
||||
defined(PNG_WRITE_pCAL_SUPPORTED)
|
||||
# ifndef PNG_SAVE_INT_32_SUPPORTED
|
||||
# define PNG_SAVE_INT_32_SUPPORTED
|
||||
# endif
|
||||
#if defined(PNG_1_0_X) || defined (PNG_1_2_X)
|
||||
/* Deprecated, see PNG_MNG_FEATURES_SUPPORTED, above */
|
||||
#ifndef PNG_NO_WRITE_EMPTY_PLTE
|
||||
# define PNG_WRITE_EMPTY_PLTE_SUPPORTED
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif /* PNG_WRITE_SUPPORTED */
|
||||
|
||||
#define PNG_NO_ERROR_NUMBERS
|
||||
#ifndef PNG_1_0_X
|
||||
# ifndef PNG_NO_ERROR_NUMBERS
|
||||
# define PNG_ERROR_NUMBERS_SUPPORTED
|
||||
# endif
|
||||
#endif /* PNG_1_0_X */
|
||||
|
||||
#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \
|
||||
defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED)
|
||||
@@ -663,18 +731,64 @@
|
||||
# define PNG_EASY_ACCESS_SUPPORTED
|
||||
#endif
|
||||
|
||||
/* PNG_ASSEMBLER_CODE was enabled by default in version 1.2.0
|
||||
* and removed from version 1.2.20. The following will be removed
|
||||
* from libpng-1.4.0
|
||||
*/
|
||||
|
||||
#if defined(PNG_READ_SUPPORTED) && !defined(PNG_NO_OPTIMIZED_CODE)
|
||||
# ifndef PNG_OPTIMIZED_CODE_SUPPORTED
|
||||
# define PNG_OPTIMIZED_CODE_SUPPORTED
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_SUPPORTED) && !defined(PNG_NO_ASSEMBLER_CODE)
|
||||
# ifndef PNG_ASSEMBLER_CODE_SUPPORTED
|
||||
# define PNG_ASSEMBLER_CODE_SUPPORTED
|
||||
# endif
|
||||
|
||||
# if defined(__GNUC__) && defined(__x86_64__) && (__GNUC__ < 4)
|
||||
/* work around 64-bit gcc compiler bugs in gcc-3.x */
|
||||
# if !defined(PNG_MMX_CODE_SUPPORTED) && !defined(PNG_NO_MMX_CODE)
|
||||
# define PNG_NO_MMX_CODE
|
||||
# endif
|
||||
# endif
|
||||
|
||||
# if defined(__APPLE__)
|
||||
# if !defined(PNG_MMX_CODE_SUPPORTED) && !defined(PNG_NO_MMX_CODE)
|
||||
# define PNG_NO_MMX_CODE
|
||||
# endif
|
||||
# endif
|
||||
|
||||
# if (defined(__MWERKS__) && ((__MWERKS__ < 0x0900) || macintosh))
|
||||
# if !defined(PNG_MMX_CODE_SUPPORTED) && !defined(PNG_NO_MMX_CODE)
|
||||
# define PNG_NO_MMX_CODE
|
||||
# endif
|
||||
# endif
|
||||
|
||||
# if !defined(PNG_MMX_CODE_SUPPORTED) && !defined(PNG_NO_MMX_CODE)
|
||||
# define PNG_MMX_CODE_SUPPORTED
|
||||
# endif
|
||||
|
||||
#endif
|
||||
/* end of obsolete code to be removed from libpng-1.4.0 */
|
||||
|
||||
#if !defined(PNG_1_0_X)
|
||||
#if !defined(PNG_NO_USER_MEM) && !defined(PNG_USER_MEM_SUPPORTED)
|
||||
# define PNG_USER_MEM_SUPPORTED
|
||||
#endif
|
||||
#endif /* PNG_1_0_X */
|
||||
|
||||
/* Added at libpng-1.2.6 */
|
||||
#if !defined(PNG_1_0_X)
|
||||
#ifndef PNG_SET_USER_LIMITS_SUPPORTED
|
||||
#if !defined(PNG_NO_SET_USER_LIMITS) && !defined(PNG_SET_USER_LIMITS_SUPPORTED)
|
||||
# define PNG_SET_USER_LIMITS_SUPPORTED
|
||||
#endif
|
||||
#endif
|
||||
#endif /* PNG_1_0_X */
|
||||
|
||||
/* Added at libpng-1.0.16 and 1.2.6. To accept all valid PNGs no matter
|
||||
/* Added at libpng-1.0.16 and 1.2.6. To accept all valid PNGS no matter
|
||||
* how large, set these limits to 0x7fffffffL
|
||||
*/
|
||||
#ifndef PNG_USER_WIDTH_MAX
|
||||
@@ -684,29 +798,6 @@
|
||||
# define PNG_USER_HEIGHT_MAX 1000000L
|
||||
#endif
|
||||
|
||||
/* Added at libpng-1.4.0 */
|
||||
#ifndef PNG_USER_CHUNK_CACHE_MAX
|
||||
# define PNG_USER_CHUNK_CACHE_MAX 0x7ffffffLL
|
||||
#endif
|
||||
|
||||
/* Added at libpng-1.4.0 */
|
||||
#if !defined(PNG_NO_IO_STATE) && !defined(PNG_IO_STATE_SUPPORTED)
|
||||
# define PNG_IO_STATE_SUPPORTED
|
||||
#endif
|
||||
|
||||
#ifndef PNG_LITERAL_SHARP
|
||||
# define PNG_LITERAL_SHARP 0x23
|
||||
#endif
|
||||
#ifndef PNG_LITERAL_LEFT_SQUARE_BRACKET
|
||||
# define PNG_LITERAL_LEFT_SQUARE_BRACKET 0x5b
|
||||
#endif
|
||||
#ifndef PNG_LITERAL_RIGHT_SQUARE_BRACKET
|
||||
# define PNG_LITERAL_RIGHT_SQUARE_BRACKET 0x5d
|
||||
#endif
|
||||
#ifndef PNG_STRING_NEWLINE
|
||||
#define PNG_STRING_NEWLINE "\n"
|
||||
#endif
|
||||
|
||||
/* These are currently experimental features, define them if you want */
|
||||
|
||||
/* very little testing */
|
||||
@@ -726,15 +817,16 @@
|
||||
#endif
|
||||
*/
|
||||
|
||||
#if !defined(PNG_NO_USE_READ_MACROS) && !defined(PNG_USE_READ_MACROS)
|
||||
# define PNG_USE_READ_MACROS
|
||||
#endif
|
||||
|
||||
/* Buggy compilers (e.g., gcc 2.7.2.2) need this */
|
||||
/*
|
||||
#define PNG_NO_POINTER_INDEXING
|
||||
*/
|
||||
|
||||
/* These functions are turned off by default, as they will be phased out. */
|
||||
/*
|
||||
#define PNG_USELESS_TESTS_SUPPORTED
|
||||
#define PNG_CORRECT_PALETTE_SUPPORTED
|
||||
*/
|
||||
|
||||
/* Any chunks you are not interested in, you can undef here. The
|
||||
* ones that allocate memory may be expecially important (hIST,
|
||||
@@ -1017,26 +1109,25 @@
|
||||
* numbers suggest (a png_uint_32 must be at least 32 bits long), but they
|
||||
* don't have to be exactly that size. Some compilers dislike passing
|
||||
* unsigned shorts as function parameters, so you may be better off using
|
||||
* unsigned int for png_uint_16.
|
||||
* unsigned int for png_uint_16. Likewise, for 64-bit systems, you may
|
||||
* want to have unsigned int for png_uint_32 instead of unsigned long.
|
||||
*/
|
||||
|
||||
#if defined(INT_MAX) && (INT_MAX > 0x7ffffffeL)
|
||||
typedef unsigned int png_uint_32;
|
||||
typedef int png_int_32;
|
||||
#else
|
||||
typedef unsigned long png_uint_32;
|
||||
typedef long png_int_32;
|
||||
#endif
|
||||
typedef unsigned short png_uint_16;
|
||||
typedef short png_int_16;
|
||||
typedef unsigned char png_byte;
|
||||
|
||||
#ifdef PNG_NO_SIZE_T
|
||||
typedef unsigned int png_size_t;
|
||||
/* This is usually size_t. It is typedef'ed just in case you need it to
|
||||
change (I'm not sure if you will or not, so I thought I'd be safe) */
|
||||
#ifdef PNG_SIZE_T
|
||||
typedef PNG_SIZE_T png_size_t;
|
||||
# define png_sizeof(x) png_convert_size(sizeof(x))
|
||||
#else
|
||||
typedef size_t png_size_t;
|
||||
# define png_sizeof(x) sizeof(x)
|
||||
#endif
|
||||
#define png_sizeof(x) sizeof(x)
|
||||
|
||||
/* The following is needed for medium model support. It cannot be in the
|
||||
* PNG_INTERNAL section. Needs modification for other compilers besides
|
||||
@@ -1140,6 +1231,18 @@ typedef double FAR * FAR * png_doublepp;
|
||||
/* Pointers to pointers to pointers; i.e., pointer to array */
|
||||
typedef char FAR * FAR * FAR * png_charppp;
|
||||
|
||||
#if defined(PNG_1_0_X) || defined(PNG_1_2_X)
|
||||
/* SPC - Is this stuff deprecated? */
|
||||
/* It'll be removed as of libpng-1.3.0 - GR-P */
|
||||
/* libpng typedefs for types in zlib. If zlib changes
|
||||
* or another compression library is used, then change these.
|
||||
* Eliminates need to change all the source files.
|
||||
*/
|
||||
typedef charf * png_zcharp;
|
||||
typedef charf * FAR * png_zcharpp;
|
||||
typedef z_stream FAR * png_zstreamp;
|
||||
#endif /* (PNG_1_0_X) || defined(PNG_1_2_X) */
|
||||
|
||||
/*
|
||||
* Define PNG_BUILD_DLL if the module being built is a Windows
|
||||
* LIBPNG DLL.
|
||||
@@ -1190,7 +1293,8 @@ typedef char FAR * FAR * FAR * png_charppp;
|
||||
* but might be required for some pre-1.0.5c applications.
|
||||
*/
|
||||
#if !defined(PNG_USE_LOCAL_ARRAYS) && !defined(PNG_USE_GLOBAL_ARRAYS)
|
||||
# if defined(PNG_NO_GLOBAL_ARRAYS) || (defined(__GNUC__) && defined(PNG_DLL))
|
||||
# if defined(PNG_NO_GLOBAL_ARRAYS) || \
|
||||
(defined(__GNUC__) && defined(PNG_DLL)) || defined(_MSC_VER)
|
||||
# define PNG_USE_LOCAL_ARRAYS
|
||||
# else
|
||||
# define PNG_USE_GLOBAL_ARRAYS
|
||||
@@ -1306,10 +1410,14 @@ typedef char FAR * FAR * FAR * png_charppp;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Users may want to use these so they are not private. Any library
|
||||
* functions that are passed far data must be model-independent.
|
||||
/* User may want to use these so they are not in PNG_INTERNAL. Any library
|
||||
* functions that are passed far data must be model independent.
|
||||
*/
|
||||
|
||||
#ifndef PNG_ABORT
|
||||
# define PNG_ABORT() abort()
|
||||
#endif
|
||||
|
||||
#ifdef PNG_SETJMP_SUPPORTED
|
||||
# define png_jmpbuf(png_ptr) ((png_ptr)->jmpbuf)
|
||||
#else
|
||||
@@ -1317,49 +1425,20 @@ typedef char FAR * FAR * FAR * png_charppp;
|
||||
(LIBPNG_WAS_COMPILED_WITH__PNG_SETJMP_NOT_SUPPORTED)
|
||||
#endif
|
||||
|
||||
/* memory model/platform independent fns */
|
||||
#ifndef PNG_ABORT
|
||||
# ifdef _WINDOWS_
|
||||
# define PNG_ABORT() ExitProcess(0)
|
||||
# else
|
||||
# define PNG_ABORT() abort()
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if defined(USE_FAR_KEYWORD)
|
||||
#if defined(USE_FAR_KEYWORD) /* memory model independent fns */
|
||||
/* use this to make far-to-near assignments */
|
||||
# define CHECK 1
|
||||
# define NOCHECK 0
|
||||
# define CVT_PTR(ptr) (png_far_to_near(png_ptr,ptr,CHECK))
|
||||
# define CVT_PTR_NOCHECK(ptr) (png_far_to_near(png_ptr,ptr,NOCHECK))
|
||||
# define png_strcpy _fstrcpy
|
||||
# define png_strncpy _fstrncpy /* Added to v 1.2.6 */
|
||||
# define png_snprintf _fsnprintf /* Added to v 1.2.19 */
|
||||
# define png_strlen _fstrlen
|
||||
# define png_memcmp _fmemcmp /* SJT: added */
|
||||
# define png_memcpy _fmemcpy
|
||||
# define png_memset _fmemset
|
||||
# define png_sprintf sprintf
|
||||
#else
|
||||
# if defined(_WINDOWS_) /* favor Windows over C runtime fns */
|
||||
# define CVT_PTR(ptr) (ptr)
|
||||
# define CVT_PTR_NOCHECK(ptr) (ptr)
|
||||
# define png_strcpy lstrcpyA
|
||||
# define png_strncpy lstrcpynA
|
||||
# define png_strlen lstrlenA
|
||||
# define png_memcmp memcmp
|
||||
# define png_memcpy CopyMemory
|
||||
# define png_memset memset
|
||||
# define png_sprintf wsprintfA
|
||||
# else
|
||||
# define CVT_PTR(ptr) (ptr)
|
||||
# define CVT_PTR_NOCHECK(ptr) (ptr)
|
||||
# define png_strcpy strcpy
|
||||
# define png_strncpy strncpy /* Added to v 1.2.6 */
|
||||
# define png_strlen strlen
|
||||
# define png_memcmp memcmp /* SJT: added */
|
||||
# define png_memcpy memcpy
|
||||
# define png_memset memset
|
||||
# define png_sprintf sprintf
|
||||
#else /* use the usual functions */
|
||||
# define CVT_PTR(ptr) (ptr)
|
||||
# define CVT_PTR_NOCHECK(ptr) (ptr)
|
||||
# ifndef PNG_NO_SNPRINTF
|
||||
# ifdef _MSC_VER
|
||||
# define png_snprintf _snprintf /* Added to v 1.2.19 */
|
||||
@@ -1381,40 +1460,12 @@ typedef char FAR * FAR * FAR * png_charppp;
|
||||
# define png_snprintf6(s1,n,fmt,x1,x2,x3,x4,x5,x6) \
|
||||
sprintf(s1,fmt,x1,x2,x3,x4,x5,x6)
|
||||
# endif
|
||||
# endif
|
||||
# define png_strlen strlen
|
||||
# define png_memcmp memcmp /* SJT: added */
|
||||
# define png_memcpy memcpy
|
||||
# define png_memset memset
|
||||
#endif
|
||||
|
||||
/* png_alloc_size_t is guaranteed to be no smaller than png_size_t,
|
||||
* and no smaller than png_uint_32. Casts from png_size_t or png_uint_32
|
||||
* to png_alloc_size_t are not necessary; in fact, it is recommended
|
||||
* not to use them at all so that the compiler can complain when something
|
||||
* turns out to be problematic.
|
||||
* Casts in the other direction (from png_alloc_size_t to png_size_t or
|
||||
* png_uint_32) should be explicitly applied; however, we do not expect
|
||||
* to encounter practical situations that require such conversions.
|
||||
*/
|
||||
#if defined(__TURBOC__) && !defined(__FLAT__)
|
||||
# define png_mem_alloc farmalloc
|
||||
# define png_mem_free farfree
|
||||
typedef unsigned long png_alloc_size_t;
|
||||
#else
|
||||
# if defined(_MSC_VER) && defined(MAXSEG_64K)
|
||||
# define png_mem_alloc(s) halloc(s, 1)
|
||||
# define png_mem_free hfree
|
||||
typedef unsigned long png_alloc_size_t;
|
||||
# else
|
||||
# if defined(_WINDOWS_) && (!defined(INT_MAX) || INT_MAX <= 0x7ffffffeL)
|
||||
# define png_mem_alloc(s) HeapAlloc(GetProcessHeap(), 0, s)
|
||||
# define png_mem_free(p) HeapFree(GetProcessHeap(), 0, p)
|
||||
typedef DWORD png_alloc_size_t;
|
||||
# else
|
||||
# define png_mem_alloc malloc
|
||||
# define png_mem_free free
|
||||
typedef png_size_t png_alloc_size_t;
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
/* End of memory model/platform independent support */
|
||||
/* End of memory model independent support */
|
||||
|
||||
/* Just a little check that someone hasn't tried to define something
|
||||
* contradictory.
|
||||
@@ -1424,7 +1475,6 @@ typedef char FAR * FAR * FAR * png_charppp;
|
||||
# define PNG_ZBUF_SIZE 65536L
|
||||
#endif
|
||||
|
||||
|
||||
/* Added at libpng-1.2.8 */
|
||||
#endif /* PNG_VERSION_INFO_ONLY */
|
||||
|
||||
|
||||
117
pngerror.c
117
pngerror.c
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngerror.c - stub functions for i/o and memory allocation
|
||||
*
|
||||
* Last changed in libpng 1.4.0 [November 13, 2008]
|
||||
* Last changed in libpng 1.2.30 [August 15, 2008]
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2008 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
@@ -13,9 +13,9 @@
|
||||
* at each function.
|
||||
*/
|
||||
|
||||
#define PNG_INTERNAL
|
||||
#include "png.h"
|
||||
#if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
|
||||
#include "pngpriv.h"
|
||||
|
||||
static void /* PRIVATE */
|
||||
png_default_error PNGARG((png_structp png_ptr,
|
||||
@@ -42,42 +42,21 @@ png_error(png_structp png_ptr, png_const_charp error_message)
|
||||
if (png_ptr->flags&
|
||||
(PNG_FLAG_STRIP_ERROR_NUMBERS|PNG_FLAG_STRIP_ERROR_TEXT))
|
||||
{
|
||||
if (*error_message == PNG_LITERAL_SHARP)
|
||||
if (*error_message == '#')
|
||||
{
|
||||
/* Strip "#nnnn " from beginning of error message. */
|
||||
/*
|
||||
* 012345678901234567890
|
||||
* error_message: #nnnn text\0
|
||||
* error_number: nnnn\0
|
||||
* msg: : nnnn \0
|
||||
* offset points to the first blank after nnnn
|
||||
* In this example, offset is 5.
|
||||
*/
|
||||
/* Strip "#nnnn " from beginning of error message. */
|
||||
int offset;
|
||||
for (offset = 1; offset<15; offset++)
|
||||
if (error_message[offset] == ' ')
|
||||
break;
|
||||
/* it is 5 because the loop iterations saw
|
||||
* offset==1, error_message[1]=="n"; offset++.
|
||||
* offset==2, error_message[2]=="n"; offset++.
|
||||
* offset==3, error_message[3]=="n"; offset++.
|
||||
* offset==4, error_message[4]=="n"; offset++.
|
||||
* offset==5, error_message[5]==" "; break.
|
||||
*/
|
||||
if (png_ptr->flags&PNG_FLAG_STRIP_ERROR_TEXT)
|
||||
{
|
||||
int i;
|
||||
/* Copy the "nnnn" or however many there are, plus the
|
||||
* blank to the beginning of "msg" string.
|
||||
*/
|
||||
for (i = 0; i < offset - 1; i++)
|
||||
msg[i] = error_message[i + 1];
|
||||
/* In the example, "i" ends up being 5.
|
||||
*/
|
||||
msg[i -1] = '\0';
|
||||
msg[i - 1] = '\0';
|
||||
error_message = msg;
|
||||
}
|
||||
/* msg, and error_message, now contain "nnnn \0". */
|
||||
else
|
||||
error_message += offset;
|
||||
}
|
||||
@@ -130,7 +109,7 @@ png_warning(png_structp png_ptr, png_const_charp warning_message)
|
||||
(PNG_FLAG_STRIP_ERROR_NUMBERS|PNG_FLAG_STRIP_ERROR_TEXT))
|
||||
#endif
|
||||
{
|
||||
if (*warning_message == PNG_LITERAL_SHARP)
|
||||
if (*warning_message == '#')
|
||||
{
|
||||
for (offset = 1; offset < 15; offset++)
|
||||
if (warning_message[offset] == ' ')
|
||||
@@ -145,16 +124,6 @@ png_warning(png_structp png_ptr, png_const_charp warning_message)
|
||||
}
|
||||
#endif /* PNG_NO_WARNINGS */
|
||||
|
||||
#ifdef PNG_BENIGN_ERRORS_SUPPORTED
|
||||
void PNGAPI
|
||||
png_benign_error(png_structp png_ptr, png_const_charp error_message)
|
||||
{
|
||||
if (png_ptr->flags & PNG_FLAG_BENIGN_ERRORS_WARN)
|
||||
png_warning(png_ptr, error_message);
|
||||
else
|
||||
png_error(png_ptr, error_message);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* These utilities are used internally to build an error message that relates
|
||||
* to the current chunk. The chunk name comes from png_ptr->chunk_name,
|
||||
@@ -182,10 +151,10 @@ png_format_buffer(png_structp png_ptr, png_charp buffer, png_const_charp
|
||||
int c = png_ptr->chunk_name[iin++];
|
||||
if (isnonalpha(c))
|
||||
{
|
||||
buffer[iout++] = PNG_LITERAL_LEFT_SQUARE_BRACKET;
|
||||
buffer[iout++] = '[';
|
||||
buffer[iout++] = png_digit[(c & 0xf0) >> 4];
|
||||
buffer[iout++] = png_digit[c & 0x0f];
|
||||
buffer[iout++] = PNG_LITERAL_RIGHT_SQUARE_BRACKET;
|
||||
buffer[iout++] = ']';
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -235,18 +204,6 @@ png_chunk_warning(png_structp png_ptr, png_const_charp warning_message)
|
||||
}
|
||||
#endif /* PNG_NO_WARNINGS */
|
||||
|
||||
#ifdef PNG_READ_SUPPORTED
|
||||
#ifdef PNG_BENIGN_ERRORS_SUPPORTED
|
||||
void PNGAPI
|
||||
png_chunk_benign_error(png_structp png_ptr, png_const_charp error_message)
|
||||
{
|
||||
if (png_ptr->flags & PNG_FLAG_BENIGN_ERRORS_WARN)
|
||||
png_chunk_warning(png_ptr, error_message);
|
||||
else
|
||||
png_chunk_error(png_ptr, error_message);
|
||||
}
|
||||
#endif
|
||||
#endif /* PNG_READ_SUPPORTED */
|
||||
|
||||
/* This is the default error handling function. Note that replacements for
|
||||
* this function MUST NOT RETURN, or the program will likely crash. This
|
||||
@@ -258,17 +215,9 @@ png_default_error(png_structp png_ptr, png_const_charp error_message)
|
||||
{
|
||||
#ifndef PNG_NO_CONSOLE_IO
|
||||
#ifdef PNG_ERROR_NUMBERS_SUPPORTED
|
||||
if (*error_message == PNG_LITERAL_SHARP)
|
||||
{
|
||||
/* Strip "#nnnn " from beginning of error message. */
|
||||
/*
|
||||
* 012345678901234567890
|
||||
* error_message: #nnnn text\0
|
||||
* error_number: nnnn\0
|
||||
* offset points to the first blank after nnnn
|
||||
* In this example, offset is 5, and we want to
|
||||
* insert a terminating NULL at error_number[4].
|
||||
*/
|
||||
if (*error_message == '#')
|
||||
{
|
||||
/* Strip "#nnnn " from beginning of warning message. */
|
||||
int offset;
|
||||
char error_number[16];
|
||||
for (offset = 0; offset<15; offset++)
|
||||
@@ -277,36 +226,18 @@ png_default_error(png_structp png_ptr, png_const_charp error_message)
|
||||
if (error_message[offset] == ' ')
|
||||
break;
|
||||
}
|
||||
/* This is unnecessarily slightly different from above, but
|
||||
* offset is still 5 because the loop iterations saw
|
||||
* offset==0, error_message[0]=="#"; error_number[0]="n";offset++.
|
||||
* offset==1, error_message[1]=="n"; error_number[1]="n";offset++
|
||||
* offset==2, error_message[2]=="n"; error_number[2]="n";offset++
|
||||
* offset==3, error_message[3]=="n"; error_number[3]="n";offset++
|
||||
* offset==4, error_message[4]=="n"; error_number[4]=" ";offset++.
|
||||
* offset==5, error_message[5]==" "; break.
|
||||
*/
|
||||
if ((offset > 1) && (offset < 15))
|
||||
{
|
||||
/* Replace the " " with a string-terminating NULL */
|
||||
error_number[offset - 1] = '\0';
|
||||
/* GRR: this should be [offset + 1] */
|
||||
/* should we update "offset" to point to the beginning of the text? */
|
||||
fprintf(stderr, "libpng error no. %s: %s",
|
||||
error_number, error_message + offset + 1);
|
||||
fprintf(stderr, PNG_STRING_NEWLINE);
|
||||
fprintf(stderr, "libpng error no. %s: %s\n", error_number,
|
||||
error_message + offset + 1);
|
||||
}
|
||||
else
|
||||
fprintf(stderr, "libpng error: %s, offset=%d",
|
||||
error_message, offset);
|
||||
fprintf(stderr, PNG_STRING_NEWLINE);
|
||||
fprintf(stderr, "libpng error: %s, offset=%d\n", error_message, offset);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
fprintf(stderr, "libpng error: %s", error_message);
|
||||
fprintf(stderr, PNG_STRING_NEWLINE);
|
||||
}
|
||||
fprintf(stderr, "libpng error: %s\n", error_message);
|
||||
#endif
|
||||
|
||||
#ifdef PNG_SETJMP_SUPPORTED
|
||||
@@ -341,7 +272,7 @@ png_default_warning(png_structp png_ptr, png_const_charp warning_message)
|
||||
{
|
||||
#ifndef PNG_NO_CONSOLE_IO
|
||||
# ifdef PNG_ERROR_NUMBERS_SUPPORTED
|
||||
if (*warning_message == PNG_LITERAL_SHARP)
|
||||
if (*warning_message == '#')
|
||||
{
|
||||
int offset;
|
||||
char warning_number[16];
|
||||
@@ -354,23 +285,15 @@ png_default_warning(png_structp png_ptr, png_const_charp warning_message)
|
||||
if ((offset > 1) && (offset < 15))
|
||||
{
|
||||
warning_number[offset + 1] = '\0';
|
||||
fprintf(stderr, "libpng warning no. %s: %s",
|
||||
warning_number, warning_message + offset);
|
||||
fprintf(stderr, PNG_STRING_NEWLINE);
|
||||
fprintf(stderr, "libpng warning no. %s: %s\n", warning_number,
|
||||
warning_message + offset);
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintf(stderr, "libpng warning: %s",
|
||||
warning_message);
|
||||
fprintf(stderr, PNG_STRING_NEWLINE);
|
||||
}
|
||||
fprintf(stderr, "libpng warning: %s\n", warning_message);
|
||||
}
|
||||
else
|
||||
# endif
|
||||
{
|
||||
fprintf(stderr, "libpng warning: %s", warning_message);
|
||||
fprintf(stderr, PNG_STRING_NEWLINE);
|
||||
}
|
||||
fprintf(stderr, "libpng warning: %s\n", warning_message);
|
||||
#else
|
||||
warning_message = warning_message; /* make compiler happy */
|
||||
#endif
|
||||
|
||||
103
pnggccrd.c
103
pnggccrd.c
@@ -0,0 +1,103 @@
|
||||
/* pnggccrd.c was removed from libpng-1.2.20. */
|
||||
|
||||
/* This code snippet is for use by configure's compilation test. */
|
||||
|
||||
#if (!defined _MSC_VER) && \
|
||||
defined(PNG_ASSEMBLER_CODE_SUPPORTED) && \
|
||||
defined(PNG_MMX_CODE_SUPPORTED)
|
||||
|
||||
int PNGAPI png_dummy_mmx_support(void);
|
||||
|
||||
static int _mmx_supported = 2; // 0: no MMX; 1: MMX supported; 2: not tested
|
||||
|
||||
int PNGAPI
|
||||
png_dummy_mmx_support(void) __attribute__((noinline));
|
||||
|
||||
int PNGAPI
|
||||
png_dummy_mmx_support(void)
|
||||
{
|
||||
int result;
|
||||
#if defined(PNG_MMX_CODE_SUPPORTED) // superfluous, but what the heck
|
||||
__asm__ __volatile__ (
|
||||
#if defined(__x86_64__)
|
||||
"pushq %%rbx \n\t" // rbx gets clobbered by CPUID instruction
|
||||
"pushq %%rcx \n\t" // so does rcx...
|
||||
"pushq %%rdx \n\t" // ...and rdx (but rcx & rdx safe on Linux)
|
||||
"pushfq \n\t" // save Eflag to stack
|
||||
"popq %%rax \n\t" // get Eflag from stack into rax
|
||||
"movq %%rax, %%rcx \n\t" // make another copy of Eflag in rcx
|
||||
"xorl $0x200000, %%eax \n\t" // toggle ID bit in Eflag (i.e., bit 21)
|
||||
"pushq %%rax \n\t" // save modified Eflag back to stack
|
||||
"popfq \n\t" // restore modified value to Eflag reg
|
||||
"pushfq \n\t" // save Eflag to stack
|
||||
"popq %%rax \n\t" // get Eflag from stack
|
||||
"pushq %%rcx \n\t" // save original Eflag to stack
|
||||
"popfq \n\t" // restore original Eflag
|
||||
#else
|
||||
"pushl %%ebx \n\t" // ebx gets clobbered by CPUID instruction
|
||||
"pushl %%ecx \n\t" // so does ecx...
|
||||
"pushl %%edx \n\t" // ...and edx (but ecx & edx safe on Linux)
|
||||
"pushfl \n\t" // save Eflag to stack
|
||||
"popl %%eax \n\t" // get Eflag from stack into eax
|
||||
"movl %%eax, %%ecx \n\t" // make another copy of Eflag in ecx
|
||||
"xorl $0x200000, %%eax \n\t" // toggle ID bit in Eflag (i.e., bit 21)
|
||||
"pushl %%eax \n\t" // save modified Eflag back to stack
|
||||
"popfl \n\t" // restore modified value to Eflag reg
|
||||
"pushfl \n\t" // save Eflag to stack
|
||||
"popl %%eax \n\t" // get Eflag from stack
|
||||
"pushl %%ecx \n\t" // save original Eflag to stack
|
||||
"popfl \n\t" // restore original Eflag
|
||||
#endif
|
||||
"xorl %%ecx, %%eax \n\t" // compare new Eflag with original Eflag
|
||||
"jz 0f \n\t" // if same, CPUID instr. is not supported
|
||||
|
||||
"xorl %%eax, %%eax \n\t" // set eax to zero
|
||||
// ".byte 0x0f, 0xa2 \n\t" // CPUID instruction (two-byte opcode)
|
||||
"cpuid \n\t" // get the CPU identification info
|
||||
"cmpl $1, %%eax \n\t" // make sure eax return non-zero value
|
||||
"jl 0f \n\t" // if eax is zero, MMX is not supported
|
||||
|
||||
"xorl %%eax, %%eax \n\t" // set eax to zero and...
|
||||
"incl %%eax \n\t" // ...increment eax to 1. This pair is
|
||||
// faster than the instruction "mov eax, 1"
|
||||
"cpuid \n\t" // get the CPU identification info again
|
||||
"andl $0x800000, %%edx \n\t" // mask out all bits but MMX bit (23)
|
||||
"cmpl $0, %%edx \n\t" // 0 = MMX not supported
|
||||
"jz 0f \n\t" // non-zero = yes, MMX IS supported
|
||||
|
||||
"movl $1, %%eax \n\t" // set return value to 1
|
||||
"jmp 1f \n\t" // DONE: have MMX support
|
||||
|
||||
"0: \n\t" // .NOT_SUPPORTED: target label for jump instructions
|
||||
"movl $0, %%eax \n\t" // set return value to 0
|
||||
"1: \n\t" // .RETURN: target label for jump instructions
|
||||
#if defined(__x86_64__)
|
||||
"popq %%rdx \n\t" // restore rdx
|
||||
"popq %%rcx \n\t" // restore rcx
|
||||
"popq %%rbx \n\t" // restore rbx
|
||||
#else
|
||||
"popl %%edx \n\t" // restore edx
|
||||
"popl %%ecx \n\t" // restore ecx
|
||||
"popl %%ebx \n\t" // restore ebx
|
||||
#endif
|
||||
|
||||
// "ret \n\t" // DONE: no MMX support
|
||||
// (fall through to standard C "ret")
|
||||
|
||||
: "=a" (result) // output list
|
||||
|
||||
: // any variables used on input (none)
|
||||
|
||||
// no clobber list
|
||||
// , "%ebx", "%ecx", "%edx" // GRR: we handle these manually
|
||||
// , "memory" // if write to a variable gcc thought was in a reg
|
||||
// , "cc" // "condition codes" (flag bits)
|
||||
);
|
||||
_mmx_supported = result;
|
||||
#else
|
||||
_mmx_supported = 0;
|
||||
#endif /* PNG_MMX_CODE_SUPPORTED */
|
||||
|
||||
return _mmx_supported;
|
||||
}
|
||||
#endif
|
||||
|
||||
145
pngget.c
145
pngget.c
@@ -1,16 +1,16 @@
|
||||
|
||||
/* pngget.c - retrieval of values from info struct
|
||||
*
|
||||
* Last changed in libpng 1.4.0 [November 13, 2008]
|
||||
* Last changed in libpng 1.2.30 [August 15, 2008]
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2008 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||
*/
|
||||
|
||||
#define PNG_INTERNAL
|
||||
#include "png.h"
|
||||
#if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
|
||||
#include "pngpriv.h"
|
||||
|
||||
png_uint_32 PNGAPI
|
||||
png_get_valid(png_structp png_ptr, png_infop info_ptr, png_uint_32 flag)
|
||||
@@ -21,7 +21,7 @@ png_get_valid(png_structp png_ptr, png_infop info_ptr, png_uint_32 flag)
|
||||
return(0);
|
||||
}
|
||||
|
||||
png_size_t PNGAPI
|
||||
png_uint_32 PNGAPI
|
||||
png_get_rowbytes(png_structp png_ptr, png_infop info_ptr)
|
||||
{
|
||||
if (png_ptr != NULL && info_ptr != NULL)
|
||||
@@ -120,7 +120,7 @@ png_get_x_pixels_per_meter(png_structp png_ptr, png_infop info_ptr)
|
||||
#if defined(PNG_pHYs_SUPPORTED)
|
||||
if (info_ptr->valid & PNG_INFO_pHYs)
|
||||
{
|
||||
png_debug1(1, "in %s retrieval function", "png_get_x_pixels_per_meter");
|
||||
png_debug1(1, "in %s retrieval function\n", "png_get_x_pixels_per_meter");
|
||||
if (info_ptr->phys_unit_type != PNG_RESOLUTION_METER)
|
||||
return (0);
|
||||
else return (info_ptr->x_pixels_per_unit);
|
||||
@@ -138,7 +138,7 @@ png_get_y_pixels_per_meter(png_structp png_ptr, png_infop info_ptr)
|
||||
#if defined(PNG_pHYs_SUPPORTED)
|
||||
if (info_ptr->valid & PNG_INFO_pHYs)
|
||||
{
|
||||
png_debug1(1, "in %s retrieval function", "png_get_y_pixels_per_meter");
|
||||
png_debug1(1, "in %s retrieval function\n", "png_get_y_pixels_per_meter");
|
||||
if (info_ptr->phys_unit_type != PNG_RESOLUTION_METER)
|
||||
return (0);
|
||||
else return (info_ptr->y_pixels_per_unit);
|
||||
@@ -156,7 +156,7 @@ png_get_pixels_per_meter(png_structp png_ptr, png_infop info_ptr)
|
||||
#if defined(PNG_pHYs_SUPPORTED)
|
||||
if (info_ptr->valid & PNG_INFO_pHYs)
|
||||
{
|
||||
png_debug1(1, "in %s retrieval function", "png_get_pixels_per_meter");
|
||||
png_debug1(1, "in %s retrieval function\n", "png_get_pixels_per_meter");
|
||||
if (info_ptr->phys_unit_type != PNG_RESOLUTION_METER ||
|
||||
info_ptr->x_pixels_per_unit != info_ptr->y_pixels_per_unit)
|
||||
return (0);
|
||||
@@ -176,7 +176,7 @@ png_get_pixel_aspect_ratio(png_structp png_ptr, png_infop info_ptr)
|
||||
#if defined(PNG_pHYs_SUPPORTED)
|
||||
if (info_ptr->valid & PNG_INFO_pHYs)
|
||||
{
|
||||
png_debug1(1, "in %s retrieval function", "png_get_aspect_ratio");
|
||||
png_debug1(1, "in %s retrieval function\n", "png_get_aspect_ratio");
|
||||
if (info_ptr->x_pixels_per_unit == 0)
|
||||
return ((float)0.0);
|
||||
else
|
||||
@@ -197,7 +197,7 @@ png_get_x_offset_microns(png_structp png_ptr, png_infop info_ptr)
|
||||
#if defined(PNG_oFFs_SUPPORTED)
|
||||
if (info_ptr->valid & PNG_INFO_oFFs)
|
||||
{
|
||||
png_debug1(1, "in %s retrieval function", "png_get_x_offset_microns");
|
||||
png_debug1(1, "in %s retrieval function\n", "png_get_x_offset_microns");
|
||||
if (info_ptr->offset_unit_type != PNG_OFFSET_MICROMETER)
|
||||
return (0);
|
||||
else return (info_ptr->x_offset);
|
||||
@@ -215,7 +215,7 @@ png_get_y_offset_microns(png_structp png_ptr, png_infop info_ptr)
|
||||
#if defined(PNG_oFFs_SUPPORTED)
|
||||
if (info_ptr->valid & PNG_INFO_oFFs)
|
||||
{
|
||||
png_debug1(1, "in %s retrieval function", "png_get_y_offset_microns");
|
||||
png_debug1(1, "in %s retrieval function\n", "png_get_y_offset_microns");
|
||||
if (info_ptr->offset_unit_type != PNG_OFFSET_MICROMETER)
|
||||
return (0);
|
||||
else return (info_ptr->y_offset);
|
||||
@@ -233,7 +233,7 @@ png_get_x_offset_pixels(png_structp png_ptr, png_infop info_ptr)
|
||||
#if defined(PNG_oFFs_SUPPORTED)
|
||||
if (info_ptr->valid & PNG_INFO_oFFs)
|
||||
{
|
||||
png_debug1(1, "in %s retrieval function", "png_get_x_offset_microns");
|
||||
png_debug1(1, "in %s retrieval function\n", "png_get_x_offset_microns");
|
||||
if (info_ptr->offset_unit_type != PNG_OFFSET_PIXEL)
|
||||
return (0);
|
||||
else return (info_ptr->x_offset);
|
||||
@@ -251,7 +251,7 @@ png_get_y_offset_pixels(png_structp png_ptr, png_infop info_ptr)
|
||||
#if defined(PNG_oFFs_SUPPORTED)
|
||||
if (info_ptr->valid & PNG_INFO_oFFs)
|
||||
{
|
||||
png_debug1(1, "in %s retrieval function", "png_get_y_offset_microns");
|
||||
png_debug1(1, "in %s retrieval function\n", "png_get_y_offset_microns");
|
||||
if (info_ptr->offset_unit_type != PNG_OFFSET_PIXEL)
|
||||
return (0);
|
||||
else return (info_ptr->y_offset);
|
||||
@@ -307,7 +307,7 @@ png_get_pHYs_dpi(png_structp png_ptr, png_infop info_ptr,
|
||||
|
||||
if (png_ptr != NULL && info_ptr != NULL && (info_ptr->valid & PNG_INFO_pHYs))
|
||||
{
|
||||
png_debug1(1, "in %s retrieval function", "pHYs");
|
||||
png_debug1(1, "in %s retrieval function\n", "pHYs");
|
||||
if (res_x != NULL)
|
||||
{
|
||||
*res_x = info_ptr->x_pixels_per_unit;
|
||||
@@ -364,7 +364,7 @@ png_get_bKGD(png_structp png_ptr, png_infop info_ptr,
|
||||
if (png_ptr != NULL && info_ptr != NULL && (info_ptr->valid & PNG_INFO_bKGD)
|
||||
&& background != NULL)
|
||||
{
|
||||
png_debug1(1, "in %s retrieval function", "bKGD");
|
||||
png_debug1(1, "in %s retrieval function\n", "bKGD");
|
||||
*background = &(info_ptr->background);
|
||||
return (PNG_INFO_bKGD);
|
||||
}
|
||||
@@ -381,7 +381,7 @@ png_get_cHRM(png_structp png_ptr, png_infop info_ptr,
|
||||
{
|
||||
if (png_ptr != NULL && info_ptr != NULL && (info_ptr->valid & PNG_INFO_cHRM))
|
||||
{
|
||||
png_debug1(1, "in %s retrieval function", "cHRM");
|
||||
png_debug1(1, "in %s retrieval function\n", "cHRM");
|
||||
if (white_x != NULL)
|
||||
*white_x = (double)info_ptr->x_white;
|
||||
if (white_y != NULL)
|
||||
@@ -412,7 +412,7 @@ png_get_cHRM_fixed(png_structp png_ptr, png_infop info_ptr,
|
||||
{
|
||||
if (png_ptr != NULL && info_ptr != NULL && (info_ptr->valid & PNG_INFO_cHRM))
|
||||
{
|
||||
png_debug1(1, "in %s retrieval function", "cHRM");
|
||||
png_debug1(1, "in %s retrieval function\n", "cHRM");
|
||||
if (white_x != NULL)
|
||||
*white_x = info_ptr->int_x_white;
|
||||
if (white_y != NULL)
|
||||
@@ -444,7 +444,7 @@ png_get_gAMA(png_structp png_ptr, png_infop info_ptr, double *file_gamma)
|
||||
if (png_ptr != NULL && info_ptr != NULL && (info_ptr->valid & PNG_INFO_gAMA)
|
||||
&& file_gamma != NULL)
|
||||
{
|
||||
png_debug1(1, "in %s retrieval function", "gAMA");
|
||||
png_debug1(1, "in %s retrieval function\n", "gAMA");
|
||||
*file_gamma = (double)info_ptr->gamma;
|
||||
return (PNG_INFO_gAMA);
|
||||
}
|
||||
@@ -459,7 +459,7 @@ png_get_gAMA_fixed(png_structp png_ptr, png_infop info_ptr,
|
||||
if (png_ptr != NULL && info_ptr != NULL && (info_ptr->valid & PNG_INFO_gAMA)
|
||||
&& int_file_gamma != NULL)
|
||||
{
|
||||
png_debug1(1, "in %s retrieval function", "gAMA");
|
||||
png_debug1(1, "in %s retrieval function\n", "gAMA");
|
||||
*int_file_gamma = info_ptr->int_gamma;
|
||||
return (PNG_INFO_gAMA);
|
||||
}
|
||||
@@ -475,7 +475,7 @@ png_get_sRGB(png_structp png_ptr, png_infop info_ptr, int *file_srgb_intent)
|
||||
if (png_ptr != NULL && info_ptr != NULL && (info_ptr->valid & PNG_INFO_sRGB)
|
||||
&& file_srgb_intent != NULL)
|
||||
{
|
||||
png_debug1(1, "in %s retrieval function", "sRGB");
|
||||
png_debug1(1, "in %s retrieval function\n", "sRGB");
|
||||
*file_srgb_intent = (int)info_ptr->srgb_intent;
|
||||
return (PNG_INFO_sRGB);
|
||||
}
|
||||
@@ -492,7 +492,7 @@ png_get_iCCP(png_structp png_ptr, png_infop info_ptr,
|
||||
if (png_ptr != NULL && info_ptr != NULL && (info_ptr->valid & PNG_INFO_iCCP)
|
||||
&& name != NULL && profile != NULL && proflen != NULL)
|
||||
{
|
||||
png_debug1(1, "in %s retrieval function", "iCCP");
|
||||
png_debug1(1, "in %s retrieval function\n", "iCCP");
|
||||
*name = info_ptr->iccp_name;
|
||||
*profile = info_ptr->iccp_profile;
|
||||
/* compression_type is a dummy so the API won't have to change
|
||||
@@ -526,7 +526,7 @@ png_get_hIST(png_structp png_ptr, png_infop info_ptr, png_uint_16p *hist)
|
||||
if (png_ptr != NULL && info_ptr != NULL && (info_ptr->valid & PNG_INFO_hIST)
|
||||
&& hist != NULL)
|
||||
{
|
||||
png_debug1(1, "in %s retrieval function", "hIST");
|
||||
png_debug1(1, "in %s retrieval function\n", "hIST");
|
||||
*hist = info_ptr->hist;
|
||||
return (PNG_INFO_hIST);
|
||||
}
|
||||
@@ -544,7 +544,7 @@ png_get_IHDR(png_structp png_ptr, png_infop info_ptr,
|
||||
if (png_ptr != NULL && info_ptr != NULL && width != NULL && height != NULL &&
|
||||
bit_depth != NULL && color_type != NULL)
|
||||
{
|
||||
png_debug1(1, "in %s retrieval function", "IHDR");
|
||||
png_debug1(1, "in %s retrieval function\n", "IHDR");
|
||||
*width = info_ptr->width;
|
||||
*height = info_ptr->height;
|
||||
*bit_depth = info_ptr->bit_depth;
|
||||
@@ -573,7 +573,7 @@ png_get_IHDR(png_structp png_ptr, png_infop info_ptr,
|
||||
- 8) /* extra max_pixel_depth pad */
|
||||
{
|
||||
png_warning(png_ptr,
|
||||
"Width too large for libpng to process image data");
|
||||
"Width too large for libpng to process image data.");
|
||||
}
|
||||
return (1);
|
||||
}
|
||||
@@ -588,7 +588,7 @@ png_get_oFFs(png_structp png_ptr, png_infop info_ptr,
|
||||
if (png_ptr != NULL && info_ptr != NULL && (info_ptr->valid & PNG_INFO_oFFs)
|
||||
&& offset_x != NULL && offset_y != NULL && unit_type != NULL)
|
||||
{
|
||||
png_debug1(1, "in %s retrieval function", "oFFs");
|
||||
png_debug1(1, "in %s retrieval function\n", "oFFs");
|
||||
*offset_x = info_ptr->x_offset;
|
||||
*offset_y = info_ptr->y_offset;
|
||||
*unit_type = (int)info_ptr->offset_unit_type;
|
||||
@@ -608,7 +608,7 @@ png_get_pCAL(png_structp png_ptr, png_infop info_ptr,
|
||||
&& purpose != NULL && X0 != NULL && X1 != NULL && type != NULL &&
|
||||
nparams != NULL && units != NULL && params != NULL)
|
||||
{
|
||||
png_debug1(1, "in %s retrieval function", "pCAL");
|
||||
png_debug1(1, "in %s retrieval function\n", "pCAL");
|
||||
*purpose = info_ptr->pcal_purpose;
|
||||
*X0 = info_ptr->pcal_X0;
|
||||
*X1 = info_ptr->pcal_X1;
|
||||
@@ -668,7 +668,7 @@ png_get_pHYs(png_structp png_ptr, png_infop info_ptr,
|
||||
if (png_ptr != NULL && info_ptr != NULL &&
|
||||
(info_ptr->valid & PNG_INFO_pHYs))
|
||||
{
|
||||
png_debug1(1, "in %s retrieval function", "pHYs");
|
||||
png_debug1(1, "in %s retrieval function\n", "pHYs");
|
||||
if (res_x != NULL)
|
||||
{
|
||||
*res_x = info_ptr->x_pixels_per_unit;
|
||||
@@ -696,10 +696,10 @@ png_get_PLTE(png_structp png_ptr, png_infop info_ptr, png_colorp *palette,
|
||||
if (png_ptr != NULL && info_ptr != NULL && (info_ptr->valid & PNG_INFO_PLTE)
|
||||
&& palette != NULL)
|
||||
{
|
||||
png_debug1(1, "in %s retrieval function", "PLTE");
|
||||
png_debug1(1, "in %s retrieval function\n", "PLTE");
|
||||
*palette = info_ptr->palette;
|
||||
*num_palette = info_ptr->num_palette;
|
||||
png_debug1(3, "num_palette = %d", *num_palette);
|
||||
png_debug1(3, "num_palette = %d\n", *num_palette);
|
||||
return (PNG_INFO_PLTE);
|
||||
}
|
||||
return (0);
|
||||
@@ -712,7 +712,7 @@ png_get_sBIT(png_structp png_ptr, png_infop info_ptr, png_color_8p *sig_bit)
|
||||
if (png_ptr != NULL && info_ptr != NULL && (info_ptr->valid & PNG_INFO_sBIT)
|
||||
&& sig_bit != NULL)
|
||||
{
|
||||
png_debug1(1, "in %s retrieval function", "sBIT");
|
||||
png_debug1(1, "in %s retrieval function\n", "sBIT");
|
||||
*sig_bit = &(info_ptr->sig_bit);
|
||||
return (PNG_INFO_sBIT);
|
||||
}
|
||||
@@ -727,7 +727,7 @@ png_get_text(png_structp png_ptr, png_infop info_ptr, png_textp *text_ptr,
|
||||
{
|
||||
if (png_ptr != NULL && info_ptr != NULL && info_ptr->num_text > 0)
|
||||
{
|
||||
png_debug1(1, "in %s retrieval function",
|
||||
png_debug1(1, "in %s retrieval function\n",
|
||||
(png_ptr->chunk_name[0] == '\0' ? "text"
|
||||
: (png_const_charp)png_ptr->chunk_name));
|
||||
if (text_ptr != NULL)
|
||||
@@ -749,7 +749,7 @@ png_get_tIME(png_structp png_ptr, png_infop info_ptr, png_timep *mod_time)
|
||||
if (png_ptr != NULL && info_ptr != NULL && (info_ptr->valid & PNG_INFO_tIME)
|
||||
&& mod_time != NULL)
|
||||
{
|
||||
png_debug1(1, "in %s retrieval function", "tIME");
|
||||
png_debug1(1, "in %s retrieval function\n", "tIME");
|
||||
*mod_time = &(info_ptr->mod_time);
|
||||
return (PNG_INFO_tIME);
|
||||
}
|
||||
@@ -760,12 +760,12 @@ png_get_tIME(png_structp png_ptr, png_infop info_ptr, png_timep *mod_time)
|
||||
#if defined(PNG_tRNS_SUPPORTED)
|
||||
png_uint_32 PNGAPI
|
||||
png_get_tRNS(png_structp png_ptr, png_infop info_ptr,
|
||||
png_bytep *trans, int *num_trans, png_color_16p *trans_color)
|
||||
png_bytep *trans, int *num_trans, png_color_16p *trans_values)
|
||||
{
|
||||
png_uint_32 retval = 0;
|
||||
if (png_ptr != NULL && info_ptr != NULL && (info_ptr->valid & PNG_INFO_tRNS))
|
||||
{
|
||||
png_debug1(1, "in %s retrieval function", "tRNS");
|
||||
png_debug1(1, "in %s retrieval function\n", "tRNS");
|
||||
if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
|
||||
{
|
||||
if (trans != NULL)
|
||||
@@ -773,14 +773,14 @@ png_get_tRNS(png_structp png_ptr, png_infop info_ptr,
|
||||
*trans = info_ptr->trans;
|
||||
retval |= PNG_INFO_tRNS;
|
||||
}
|
||||
if (trans_color != NULL)
|
||||
*trans_color = &(info_ptr->trans_color);
|
||||
if (trans_values != NULL)
|
||||
*trans_values = &(info_ptr->trans_values);
|
||||
}
|
||||
else /* if (info_ptr->color_type != PNG_COLOR_TYPE_PALETTE) */
|
||||
{
|
||||
if (trans_color != NULL)
|
||||
if (trans_values != NULL)
|
||||
{
|
||||
*trans_color = &(info_ptr->trans_color);
|
||||
*trans_values = &(info_ptr->trans_values);
|
||||
retval |= PNG_INFO_tRNS;
|
||||
}
|
||||
if (trans != NULL)
|
||||
@@ -827,16 +827,63 @@ png_get_user_chunk_ptr(png_structp png_ptr)
|
||||
#endif
|
||||
|
||||
#ifdef PNG_WRITE_SUPPORTED
|
||||
png_size_t PNGAPI
|
||||
png_uint_32 PNGAPI
|
||||
png_get_compression_buffer_size(png_structp png_ptr)
|
||||
{
|
||||
return (png_ptr ? png_ptr->zbuf_size : 0L);
|
||||
return (png_uint_32)(png_ptr? png_ptr->zbuf_size : 0L);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef PNG_ASSEMBLER_CODE_SUPPORTED
|
||||
#ifndef PNG_1_0_X
|
||||
/* this function was added to libpng 1.2.0 and should exist by default */
|
||||
png_uint_32 PNGAPI
|
||||
png_get_asm_flags (png_structp png_ptr)
|
||||
{
|
||||
/* obsolete, to be removed from libpng-1.4.0 */
|
||||
return (png_ptr? 0L: 0L);
|
||||
}
|
||||
|
||||
/* this function was added to libpng 1.2.0 and should exist by default */
|
||||
png_uint_32 PNGAPI
|
||||
png_get_asm_flagmask (int flag_select)
|
||||
{
|
||||
/* obsolete, to be removed from libpng-1.4.0 */
|
||||
flag_select=flag_select;
|
||||
return 0L;
|
||||
}
|
||||
|
||||
/* GRR: could add this: && defined(PNG_MMX_CODE_SUPPORTED) */
|
||||
/* this function was added to libpng 1.2.0 */
|
||||
png_uint_32 PNGAPI
|
||||
png_get_mmx_flagmask (int flag_select, int *compilerID)
|
||||
{
|
||||
/* obsolete, to be removed from libpng-1.4.0 */
|
||||
flag_select=flag_select;
|
||||
*compilerID = -1; /* unknown (i.e., no asm/MMX code compiled) */
|
||||
return 0L;
|
||||
}
|
||||
|
||||
/* this function was added to libpng 1.2.0 */
|
||||
png_byte PNGAPI
|
||||
png_get_mmx_bitdepth_threshold (png_structp png_ptr)
|
||||
{
|
||||
/* obsolete, to be removed from libpng-1.4.0 */
|
||||
return (png_ptr? 0: 0);
|
||||
}
|
||||
|
||||
/* this function was added to libpng 1.2.0 */
|
||||
png_uint_32 PNGAPI
|
||||
png_get_mmx_rowbytes_threshold (png_structp png_ptr)
|
||||
{
|
||||
/* obsolete, to be removed from libpng-1.4.0 */
|
||||
return (png_ptr? 0L: 0L);
|
||||
}
|
||||
#endif /* ?PNG_1_0_X */
|
||||
#endif /* ?PNG_ASSEMBLER_CODE_SUPPORTED */
|
||||
|
||||
#ifdef PNG_SET_USER_LIMITS_SUPPORTED
|
||||
/* These functions were added to libpng 1.2.6 */
|
||||
/* these functions were added to libpng 1.2.6 */
|
||||
png_uint_32 PNGAPI
|
||||
png_get_user_width_max (png_structp png_ptr)
|
||||
{
|
||||
@@ -847,27 +894,7 @@ png_get_user_height_max (png_structp png_ptr)
|
||||
{
|
||||
return (png_ptr? png_ptr->user_height_max : 0);
|
||||
}
|
||||
/* This function was added to libpng 1.4.0 */
|
||||
png_uint_32 PNGAPI
|
||||
png_get_chunk_cache_max (png_structp png_ptr)
|
||||
{
|
||||
return (png_ptr? png_ptr->user_chunk_cache_max? 0x7fffffffL :
|
||||
png_ptr->user_chunk_cache_max - 1 : 0);
|
||||
}
|
||||
#endif /* ?PNG_SET_USER_LIMITS_SUPPORTED */
|
||||
|
||||
#ifdef PNG_IO_STATE_SUPPORTED
|
||||
png_uint_32 PNGAPI
|
||||
png_get_io_state (png_structp png_ptr)
|
||||
{
|
||||
return png_ptr->io_state;
|
||||
}
|
||||
|
||||
png_bytep PNGAPI
|
||||
png_get_io_chunk_name (png_structp png_ptr)
|
||||
{
|
||||
return png_ptr->chunk_name;
|
||||
}
|
||||
#endif /* ?PNG_IO_STATE_SUPPORTED */
|
||||
|
||||
#endif /* PNG_READ_SUPPORTED || PNG_WRITE_SUPPORTED */
|
||||
|
||||
72
pngmem.c
72
pngmem.c
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngmem.c - stub functions for memory allocation
|
||||
*
|
||||
* Last changed in libpng 1.4.0 [November 13, 2008]
|
||||
* Last changed in libpng 1.2.30 [August 15, 2008]
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2008 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
@@ -14,9 +14,9 @@
|
||||
* identify the replacement functions.
|
||||
*/
|
||||
|
||||
#define PNG_INTERNAL
|
||||
#include "png.h"
|
||||
#if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
|
||||
#include "pngpriv.h"
|
||||
|
||||
/* Borland DOS special memory handler */
|
||||
#if defined(__TURBOC__) && !defined(_Windows) && !defined(__FLAT__)
|
||||
@@ -28,7 +28,7 @@ png_voidp /* PRIVATE */
|
||||
png_create_struct(int type)
|
||||
{
|
||||
#ifdef PNG_USER_MEM_SUPPORTED
|
||||
return (png_create_struct_2(type, NULL, NULL));
|
||||
return (png_create_struct_2(type, png_malloc_ptr_NULL, png_voidp_NULL));
|
||||
}
|
||||
|
||||
/* Alternate version of png_create_struct, for use with user-defined malloc. */
|
||||
@@ -67,7 +67,7 @@ void /* PRIVATE */
|
||||
png_destroy_struct(png_voidp struct_ptr)
|
||||
{
|
||||
#ifdef PNG_USER_MEM_SUPPORTED
|
||||
png_destroy_struct_2(struct_ptr, NULL, NULL);
|
||||
png_destroy_struct_2(struct_ptr, png_free_ptr_NULL, png_voidp_NULL);
|
||||
}
|
||||
|
||||
/* Free memory allocated by a png_create_struct() call */
|
||||
@@ -113,7 +113,7 @@ png_destroy_struct_2(png_voidp struct_ptr, png_free_ptr free_fn,
|
||||
*/
|
||||
|
||||
png_voidp PNGAPI
|
||||
png_malloc(png_structp png_ptr, png_alloc_size_t size)
|
||||
png_malloc(png_structp png_ptr, png_uint_32 size)
|
||||
{
|
||||
png_voidp ret;
|
||||
|
||||
@@ -126,12 +126,12 @@ png_malloc(png_structp png_ptr, png_alloc_size_t size)
|
||||
else
|
||||
ret = (png_malloc_default(png_ptr, size));
|
||||
if (ret == NULL && (png_ptr->flags&PNG_FLAG_MALLOC_NULL_MEM_OK) == 0)
|
||||
png_error(png_ptr, "Out of memory");
|
||||
png_error(png_ptr, "Out of memory!");
|
||||
return (ret);
|
||||
}
|
||||
|
||||
png_voidp PNGAPI
|
||||
png_malloc_default(png_structp png_ptr, png_alloc_size_t size)
|
||||
png_malloc_default(png_structp png_ptr, png_uint_32 size)
|
||||
{
|
||||
png_voidp ret;
|
||||
#endif /* PNG_USER_MEM_SUPPORTED */
|
||||
@@ -187,9 +187,9 @@ png_malloc_default(png_structp png_ptr, png_alloc_size_t size)
|
||||
{
|
||||
#ifndef PNG_USER_MEM_SUPPORTED
|
||||
if ((png_ptr->flags&PNG_FLAG_MALLOC_NULL_MEM_OK) == 0)
|
||||
png_error(png_ptr, "Out Of Memory"); /* Note "O" and "M" */
|
||||
png_error(png_ptr, "Out Of Memory."); /* Note "O" and "M" */
|
||||
else
|
||||
png_warning(png_ptr, "Out Of Memory");
|
||||
png_warning(png_ptr, "Out Of Memory.");
|
||||
#endif
|
||||
return (NULL);
|
||||
}
|
||||
@@ -215,9 +215,9 @@ png_malloc_default(png_structp png_ptr, png_alloc_size_t size)
|
||||
{
|
||||
#ifndef PNG_USER_MEM_SUPPORTED
|
||||
if ((png_ptr->flags&PNG_FLAG_MALLOC_NULL_MEM_OK) == 0)
|
||||
png_error(png_ptr, "Out Of memory"); /* Note "O" and "M" */
|
||||
png_error(png_ptr, "Out Of memory."); /* Note "O" and "M" */
|
||||
else
|
||||
png_warning(png_ptr, "Out Of memory");
|
||||
png_warning(png_ptr, "Out Of memory.");
|
||||
#endif
|
||||
return (NULL);
|
||||
}
|
||||
@@ -244,9 +244,9 @@ png_malloc_default(png_structp png_ptr, png_alloc_size_t size)
|
||||
{
|
||||
#ifndef PNG_USER_MEM_SUPPORTED
|
||||
if ((png_ptr->flags&PNG_FLAG_MALLOC_NULL_MEM_OK) == 0)
|
||||
png_error(png_ptr, "Out of Memory"); /* Note "o" and "M" */
|
||||
png_error(png_ptr, "Out of Memory."); /* Note "o" and "M" */
|
||||
else
|
||||
png_warning(png_ptr, "Out of Memory");
|
||||
png_warning(png_ptr, "Out of Memory.");
|
||||
#endif
|
||||
return (NULL);
|
||||
}
|
||||
@@ -260,9 +260,9 @@ png_malloc_default(png_structp png_ptr, png_alloc_size_t size)
|
||||
if (ret == NULL)
|
||||
{
|
||||
if ((png_ptr->flags&PNG_FLAG_MALLOC_NULL_MEM_OK) == 0)
|
||||
png_error(png_ptr, "Out of memory"); /* Note "o" and "m" */
|
||||
png_error(png_ptr, "Out of memory."); /* Note "o" and "m" */
|
||||
else
|
||||
png_warning(png_ptr, "Out of memory"); /* Note "o" and "m" */
|
||||
png_warning(png_ptr, "Out of memory."); /* Note "o" and "m" */
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -332,7 +332,7 @@ png_voidp /* PRIVATE */
|
||||
png_create_struct(int type)
|
||||
{
|
||||
#ifdef PNG_USER_MEM_SUPPORTED
|
||||
return (png_create_struct_2(type, NULL, NULL));
|
||||
return (png_create_struct_2(type, png_malloc_ptr_NULL, png_voidp_NULL));
|
||||
}
|
||||
|
||||
/* Allocate memory for a png_struct or a png_info. The malloc and
|
||||
@@ -386,7 +386,7 @@ void /* PRIVATE */
|
||||
png_destroy_struct(png_voidp struct_ptr)
|
||||
{
|
||||
#ifdef PNG_USER_MEM_SUPPORTED
|
||||
png_destroy_struct_2(struct_ptr, NULL, NULL);
|
||||
png_destroy_struct_2(struct_ptr, png_free_ptr_NULL, png_voidp_NULL);
|
||||
}
|
||||
|
||||
/* Free memory allocated by a png_create_struct() call */
|
||||
@@ -426,7 +426,7 @@ png_destroy_struct_2(png_voidp struct_ptr, png_free_ptr free_fn,
|
||||
have the ability to do that. */
|
||||
|
||||
png_voidp PNGAPI
|
||||
png_malloc(png_structp png_ptr, png_alloc_size_t size)
|
||||
png_malloc(png_structp png_ptr, png_uint_32 size)
|
||||
{
|
||||
png_voidp ret;
|
||||
|
||||
@@ -439,12 +439,12 @@ png_malloc(png_structp png_ptr, png_alloc_size_t size)
|
||||
else
|
||||
ret = (png_malloc_default(png_ptr, size));
|
||||
if (ret == NULL && (png_ptr->flags&PNG_FLAG_MALLOC_NULL_MEM_OK) == 0)
|
||||
png_error(png_ptr, "Out of Memory");
|
||||
png_error(png_ptr, "Out of Memory!");
|
||||
return (ret);
|
||||
}
|
||||
|
||||
png_voidp PNGAPI
|
||||
png_malloc_default(png_structp png_ptr, png_alloc_size_t size)
|
||||
png_malloc_default(png_structp png_ptr, png_uint_32 size)
|
||||
{
|
||||
png_voidp ret;
|
||||
#endif /* PNG_USER_MEM_SUPPORTED */
|
||||
@@ -529,13 +529,16 @@ png_free_default(png_structp png_ptr, png_voidp ptr)
|
||||
|
||||
#endif /* Not Borland DOS special memory handler */
|
||||
|
||||
#if defined(PNG_1_0_X)
|
||||
# define png_malloc_warn png_malloc
|
||||
#else
|
||||
/* This function was added at libpng version 1.2.3. The png_malloc_warn()
|
||||
* function will set up png_malloc() to issue a png_warning and return NULL
|
||||
* instead of issuing a png_error, if it fails to allocate the requested
|
||||
* memory.
|
||||
*/
|
||||
png_voidp PNGAPI
|
||||
png_malloc_warn(png_structp png_ptr, png_alloc_size_t size)
|
||||
png_malloc_warn(png_structp png_ptr, png_uint_32 size)
|
||||
{
|
||||
png_voidp ptr;
|
||||
png_uint_32 save_flags;
|
||||
@@ -547,7 +550,34 @@ png_malloc_warn(png_structp png_ptr, png_alloc_size_t size)
|
||||
png_ptr->flags=save_flags;
|
||||
return(ptr);
|
||||
}
|
||||
#endif
|
||||
|
||||
png_voidp PNGAPI
|
||||
png_memcpy_check (png_structp png_ptr, png_voidp s1, png_voidp s2,
|
||||
png_uint_32 length)
|
||||
{
|
||||
png_size_t size;
|
||||
|
||||
size = (png_size_t)length;
|
||||
if ((png_uint_32)size != length)
|
||||
png_error(png_ptr, "Overflow in png_memcpy_check.");
|
||||
|
||||
return(png_memcpy (s1, s2, size));
|
||||
}
|
||||
|
||||
png_voidp PNGAPI
|
||||
png_memset_check (png_structp png_ptr, png_voidp s1, int value,
|
||||
png_uint_32 length)
|
||||
{
|
||||
png_size_t size;
|
||||
|
||||
size = (png_size_t)length;
|
||||
if ((png_uint_32)size != length)
|
||||
png_error(png_ptr, "Overflow in png_memset_check.");
|
||||
|
||||
return (png_memset (s1, value, size));
|
||||
|
||||
}
|
||||
|
||||
#ifdef PNG_USER_MEM_SUPPORTED
|
||||
/* This function is called when the application wants to use another method
|
||||
|
||||
64
pngpread.c
64
pngpread.c
@@ -1,16 +1,16 @@
|
||||
|
||||
/* pngpread.c - read a png file in push mode
|
||||
*
|
||||
* Last changed in libpng 1.4.0 [November 13, 2008]
|
||||
* Last changed in libpng 1.2.30 [August 15, 2008]
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2008 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||
*/
|
||||
|
||||
#define PNG_INTERNAL
|
||||
#include "png.h"
|
||||
#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
|
||||
#include "pngpriv.h"
|
||||
|
||||
/* push model modes */
|
||||
#define PNG_READ_SIG_MODE 0
|
||||
@@ -294,7 +294,7 @@ png_push_read_chunk(png_structp png_ptr, png_infop info_ptr)
|
||||
return;
|
||||
|
||||
if (png_ptr->mode & PNG_AFTER_IDAT)
|
||||
png_benign_error(png_ptr, "Too many IDATs found");
|
||||
png_error(png_ptr, "Too many IDAT's found");
|
||||
}
|
||||
|
||||
png_ptr->idat_size = png_ptr->push_length;
|
||||
@@ -632,7 +632,7 @@ png_push_save_buffer(png_structp png_ptr)
|
||||
new_max = png_ptr->save_buffer_size + png_ptr->current_buffer_size + 256;
|
||||
old_buffer = png_ptr->save_buffer;
|
||||
png_ptr->save_buffer = (png_bytep)png_malloc(png_ptr,
|
||||
(png_size_t)new_max);
|
||||
(png_uint_32)new_max);
|
||||
png_memcpy(png_ptr->save_buffer, old_buffer, png_ptr->save_buffer_size);
|
||||
png_free(png_ptr, old_buffer);
|
||||
png_ptr->save_buffer_max = new_max;
|
||||
@@ -756,7 +756,7 @@ png_process_IDAT_data(png_structp png_ptr, png_bytep buffer,
|
||||
int ret;
|
||||
|
||||
if ((png_ptr->flags & PNG_FLAG_ZLIB_FINISHED) && buffer_length)
|
||||
png_benign_error(png_ptr, "Extra compression data");
|
||||
png_error(png_ptr, "Extra compression data");
|
||||
|
||||
png_ptr->zstream.next_in = buffer;
|
||||
png_ptr->zstream.avail_in = (uInt)buffer_length;
|
||||
@@ -768,7 +768,7 @@ png_process_IDAT_data(png_structp png_ptr, png_bytep buffer,
|
||||
if (ret == Z_STREAM_END)
|
||||
{
|
||||
if (png_ptr->zstream.avail_in)
|
||||
png_benign_error(png_ptr, "Extra compressed data");
|
||||
png_error(png_ptr, "Extra compressed data");
|
||||
if (!(png_ptr->zstream.avail_out))
|
||||
{
|
||||
png_push_process_row(png_ptr);
|
||||
@@ -822,7 +822,8 @@ png_push_process_row(png_structp png_ptr)
|
||||
png_ptr->row_buf + 1, png_ptr->prev_row + 1,
|
||||
(int)(png_ptr->row_buf[0]));
|
||||
|
||||
png_memcpy(png_ptr->prev_row, png_ptr->row_buf, png_ptr->rowbytes + 1);
|
||||
png_memcpy_check(png_ptr, png_ptr->prev_row, png_ptr->row_buf,
|
||||
png_ptr->rowbytes + 1);
|
||||
|
||||
if (png_ptr->transformations || (png_ptr->flags&PNG_FLAG_STRIP_ALPHA))
|
||||
png_do_read_transformations(png_ptr);
|
||||
@@ -852,7 +853,7 @@ png_push_process_row(png_structp png_ptr)
|
||||
{
|
||||
for (i = 0; i < 4 && png_ptr->pass == 2; i++)
|
||||
{
|
||||
png_push_have_row(png_ptr, NULL);
|
||||
png_push_have_row(png_ptr, png_bytep_NULL);
|
||||
png_read_push_finish_row(png_ptr);
|
||||
}
|
||||
}
|
||||
@@ -860,13 +861,13 @@ png_push_process_row(png_structp png_ptr)
|
||||
{
|
||||
for (i = 0; i < 2 && png_ptr->pass == 4; i++)
|
||||
{
|
||||
png_push_have_row(png_ptr, NULL);
|
||||
png_push_have_row(png_ptr, png_bytep_NULL);
|
||||
png_read_push_finish_row(png_ptr);
|
||||
}
|
||||
}
|
||||
if (png_ptr->pass == 6 && png_ptr->height <= 4)
|
||||
{
|
||||
png_push_have_row(png_ptr, NULL);
|
||||
png_push_have_row(png_ptr, png_bytep_NULL);
|
||||
png_read_push_finish_row(png_ptr);
|
||||
}
|
||||
break;
|
||||
@@ -883,7 +884,7 @@ png_push_process_row(png_structp png_ptr)
|
||||
{
|
||||
for (i = 0; i < 4 && png_ptr->pass == 2; i++)
|
||||
{
|
||||
png_push_have_row(png_ptr, NULL);
|
||||
png_push_have_row(png_ptr, png_bytep_NULL);
|
||||
png_read_push_finish_row(png_ptr);
|
||||
}
|
||||
}
|
||||
@@ -899,14 +900,14 @@ png_push_process_row(png_structp png_ptr)
|
||||
}
|
||||
for (i = 0; i < 4 && png_ptr->pass == 2; i++)
|
||||
{
|
||||
png_push_have_row(png_ptr, NULL);
|
||||
png_push_have_row(png_ptr, png_bytep_NULL);
|
||||
png_read_push_finish_row(png_ptr);
|
||||
}
|
||||
if (png_ptr->pass == 4) /* pass 3 might be empty */
|
||||
{
|
||||
for (i = 0; i < 2 && png_ptr->pass == 4; i++)
|
||||
{
|
||||
png_push_have_row(png_ptr, NULL);
|
||||
png_push_have_row(png_ptr, png_bytep_NULL);
|
||||
png_read_push_finish_row(png_ptr);
|
||||
}
|
||||
}
|
||||
@@ -924,7 +925,7 @@ png_push_process_row(png_structp png_ptr)
|
||||
{
|
||||
for (i = 0; i < 2 && png_ptr->pass == 4; i++)
|
||||
{
|
||||
png_push_have_row(png_ptr, NULL);
|
||||
png_push_have_row(png_ptr, png_bytep_NULL);
|
||||
png_read_push_finish_row(png_ptr);
|
||||
}
|
||||
}
|
||||
@@ -940,12 +941,12 @@ png_push_process_row(png_structp png_ptr)
|
||||
}
|
||||
for (i = 0; i < 2 && png_ptr->pass == 4; i++)
|
||||
{
|
||||
png_push_have_row(png_ptr, NULL);
|
||||
png_push_have_row(png_ptr, png_bytep_NULL);
|
||||
png_read_push_finish_row(png_ptr);
|
||||
}
|
||||
if (png_ptr->pass == 6) /* pass 5 might be empty */
|
||||
{
|
||||
png_push_have_row(png_ptr, NULL);
|
||||
png_push_have_row(png_ptr, png_bytep_NULL);
|
||||
png_read_push_finish_row(png_ptr);
|
||||
}
|
||||
break;
|
||||
@@ -960,7 +961,7 @@ png_push_process_row(png_structp png_ptr)
|
||||
}
|
||||
if (png_ptr->pass == 6) /* skip top generated row */
|
||||
{
|
||||
png_push_have_row(png_ptr, NULL);
|
||||
png_push_have_row(png_ptr, png_bytep_NULL);
|
||||
png_read_push_finish_row(png_ptr);
|
||||
}
|
||||
break;
|
||||
@@ -971,7 +972,7 @@ png_push_process_row(png_structp png_ptr)
|
||||
png_read_push_finish_row(png_ptr);
|
||||
if (png_ptr->pass != 6)
|
||||
break;
|
||||
png_push_have_row(png_ptr, NULL);
|
||||
png_push_have_row(png_ptr, png_bytep_NULL);
|
||||
png_read_push_finish_row(png_ptr);
|
||||
}
|
||||
}
|
||||
@@ -1015,7 +1016,8 @@ png_read_push_finish_row(png_structp png_ptr)
|
||||
if (png_ptr->interlaced)
|
||||
{
|
||||
png_ptr->row_number = 0;
|
||||
png_memset(png_ptr->prev_row, 0, png_ptr->rowbytes + 1);
|
||||
png_memset_check(png_ptr, png_ptr->prev_row, 0,
|
||||
png_ptr->rowbytes + 1);
|
||||
do
|
||||
{
|
||||
png_ptr->pass++;
|
||||
@@ -1072,7 +1074,7 @@ png_push_handle_tEXt(png_structp png_ptr, png_infop info_ptr, png_uint_32
|
||||
#endif
|
||||
|
||||
png_ptr->current_text = (png_charp)png_malloc(png_ptr,
|
||||
(png_size_t)(length + 1));
|
||||
(png_uint_32)(length + 1));
|
||||
png_ptr->current_text[length] = '\0';
|
||||
png_ptr->current_text_ptr = png_ptr->current_text;
|
||||
png_ptr->current_text_size = (png_size_t)length;
|
||||
@@ -1124,7 +1126,7 @@ png_push_read_tEXt(png_structp png_ptr, png_infop info_ptr)
|
||||
text++;
|
||||
|
||||
text_ptr = (png_textp)png_malloc(png_ptr,
|
||||
png_sizeof(png_text));
|
||||
(png_uint_32)png_sizeof(png_text));
|
||||
text_ptr->compression = PNG_TEXT_COMPRESSION_NONE;
|
||||
text_ptr->key = key;
|
||||
#ifdef PNG_iTXt_SUPPORTED
|
||||
@@ -1140,7 +1142,7 @@ png_push_read_tEXt(png_structp png_ptr, png_infop info_ptr)
|
||||
png_ptr->current_text = NULL;
|
||||
|
||||
if (ret)
|
||||
png_warning(png_ptr, "Insufficient memory to store text chunk");
|
||||
png_warning(png_ptr, "Insufficient memory to store text chunk.");
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -1170,7 +1172,7 @@ png_push_handle_zTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32
|
||||
#endif
|
||||
|
||||
png_ptr->current_text = (png_charp)png_malloc(png_ptr,
|
||||
(png_size_t)(length + 1));
|
||||
(png_uint_32)(length + 1));
|
||||
png_ptr->current_text[length] = '\0';
|
||||
png_ptr->current_text_ptr = png_ptr->current_text;
|
||||
png_ptr->current_text_size = (png_size_t)length;
|
||||
@@ -1261,7 +1263,7 @@ png_push_read_zTXt(png_structp png_ptr, png_infop info_ptr)
|
||||
if (text == NULL)
|
||||
{
|
||||
text = (png_charp)png_malloc(png_ptr,
|
||||
(png_ptr->zbuf_size
|
||||
(png_uint_32)(png_ptr->zbuf_size
|
||||
- png_ptr->zstream.avail_out + key_size + 1));
|
||||
png_memcpy(text + key_size, png_ptr->zbuf,
|
||||
png_ptr->zbuf_size - png_ptr->zstream.avail_out);
|
||||
@@ -1276,7 +1278,7 @@ png_push_read_zTXt(png_structp png_ptr, png_infop info_ptr)
|
||||
|
||||
tmp = text;
|
||||
text = (png_charp)png_malloc(png_ptr, text_size +
|
||||
(png_ptr->zbuf_size
|
||||
(png_uint_32)(png_ptr->zbuf_size
|
||||
- png_ptr->zstream.avail_out + 1));
|
||||
png_memcpy(text, tmp, text_size);
|
||||
png_free(png_ptr, tmp);
|
||||
@@ -1317,7 +1319,7 @@ png_push_read_zTXt(png_structp png_ptr, png_infop info_ptr)
|
||||
text += key_size;
|
||||
|
||||
text_ptr = (png_textp)png_malloc(png_ptr,
|
||||
png_sizeof(png_text));
|
||||
(png_uint_32)png_sizeof(png_text));
|
||||
text_ptr->compression = PNG_TEXT_COMPRESSION_zTXt;
|
||||
text_ptr->key = key;
|
||||
#ifdef PNG_iTXt_SUPPORTED
|
||||
@@ -1332,7 +1334,7 @@ png_push_read_zTXt(png_structp png_ptr, png_infop info_ptr)
|
||||
png_free(png_ptr, text_ptr);
|
||||
|
||||
if (ret)
|
||||
png_warning(png_ptr, "Insufficient memory to store text chunk");
|
||||
png_warning(png_ptr, "Insufficient memory to store text chunk.");
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -1360,7 +1362,7 @@ png_push_handle_iTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32
|
||||
#endif
|
||||
|
||||
png_ptr->current_text = (png_charp)png_malloc(png_ptr,
|
||||
(png_size_t)(length + 1));
|
||||
(png_uint_32)(length + 1));
|
||||
png_ptr->current_text[length] = '\0';
|
||||
png_ptr->current_text_ptr = png_ptr->current_text;
|
||||
png_ptr->current_text_size = (png_size_t)length;
|
||||
@@ -1433,7 +1435,7 @@ png_push_read_iTXt(png_structp png_ptr, png_infop info_ptr)
|
||||
text++;
|
||||
|
||||
text_ptr = (png_textp)png_malloc(png_ptr,
|
||||
png_sizeof(png_text));
|
||||
(png_uint_32)png_sizeof(png_text));
|
||||
text_ptr->compression = comp_flag + 2;
|
||||
text_ptr->key = key;
|
||||
text_ptr->lang = lang;
|
||||
@@ -1448,7 +1450,7 @@ png_push_read_iTXt(png_structp png_ptr, png_infop info_ptr)
|
||||
|
||||
png_free(png_ptr, text_ptr);
|
||||
if (ret)
|
||||
png_warning(png_ptr, "Insufficient memory to store iTXt chunk");
|
||||
png_warning(png_ptr, "Insufficient memory to store iTXt chunk.");
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -1501,7 +1503,7 @@ png_push_handle_unknown(png_structp png_ptr, png_infop info_ptr, png_uint_32
|
||||
else
|
||||
{
|
||||
png_ptr->unknown_chunk.data = (png_bytep)png_malloc(png_ptr,
|
||||
(png_size_t)length);
|
||||
(png_uint_32)length);
|
||||
png_crc_read(png_ptr, (png_bytep)png_ptr->unknown_chunk.data, length);
|
||||
}
|
||||
#if defined(PNG_READ_USER_CHUNKS_SUPPORTED)
|
||||
|
||||
917
pngpriv.h
917
pngpriv.h
@@ -1,917 +0,0 @@
|
||||
|
||||
/* pngpriv.h - private declarations for use inside libpng
|
||||
*
|
||||
* libpng version 1.4.0beta37 - November 13, 2008
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2007 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||
*/
|
||||
|
||||
/* The symbols declared in this file (including the functions declared
|
||||
* as PNG_EXTERN) are PRIVATE. They are not part of the libpng public
|
||||
* interface, and are not recommended for use by regular applications.
|
||||
* Some of them may become public in the future; others may stay private,
|
||||
* change in an incompatible way, or even disappear.
|
||||
* Although the libpng users are not forbidden to include this header,
|
||||
* they should be well aware of the issues that may arise from doing so.
|
||||
*/
|
||||
|
||||
#ifndef PNGPRIV_H
|
||||
#define PNGPRIV_H
|
||||
|
||||
#ifndef PNG_VERSION_INFO_ONLY
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
/* The functions exported by PNG_EXTERN are internal functions, which
|
||||
* aren't usually used outside the library (as far as I know), so it is
|
||||
* debatable if they should be exported at all. In the future, when it
|
||||
* is possible to have run-time registry of chunk-handling functions,
|
||||
* some of these will be made available again.
|
||||
#define PNG_EXTERN extern
|
||||
*/
|
||||
#define PNG_EXTERN
|
||||
|
||||
/* Other defines specific to compilers can go here. Try to keep
|
||||
* them inside an appropriate ifdef/endif pair for portability.
|
||||
*/
|
||||
|
||||
#if defined(PNG_FLOATING_POINT_SUPPORTED)
|
||||
# if defined(MACOS)
|
||||
/* We need to check that <math.h> hasn't already been included earlier
|
||||
* as it seems it doesn't agree with <fp.h>, yet we should really use
|
||||
* <fp.h> if possible.
|
||||
*/
|
||||
# if !defined(__MATH_H__) && !defined(__MATH_H) && !defined(__cmath__)
|
||||
# include <fp.h>
|
||||
# endif
|
||||
# else
|
||||
# include <math.h>
|
||||
# endif
|
||||
# if defined(_AMIGA) && defined(__SASC) && defined(_M68881)
|
||||
/* Amiga SAS/C: We must include builtin FPU functions when compiling using
|
||||
* MATH=68881
|
||||
*/
|
||||
# include <m68881.h>
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Codewarrior on NT has linking problems without this. */
|
||||
#if (defined(__MWERKS__) && defined(WIN32)) || defined(__STDC__)
|
||||
# define PNG_ALWAYS_EXTERN
|
||||
#endif
|
||||
|
||||
/* This provides the non-ANSI (far) memory allocation routines. */
|
||||
#if defined(__TURBOC__) && defined(__MSDOS__)
|
||||
# include <mem.h>
|
||||
# include <alloc.h>
|
||||
#endif
|
||||
|
||||
#if defined(WIN32) || defined(_Windows) || defined(_WINDOWS) || \
|
||||
defined(_WIN32) || defined(__WIN32__)
|
||||
# include <windows.h> /* defines _WINDOWS_ macro */
|
||||
/* I have no idea why is this necessary... */
|
||||
# if defined(_MSC_VER)
|
||||
# include <malloc.h>
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Various modes of operation. Note that after an init, mode is set to
|
||||
* zero automatically when the structure is created.
|
||||
*/
|
||||
#define PNG_HAVE_IHDR 0x01
|
||||
#define PNG_HAVE_PLTE 0x02
|
||||
#define PNG_HAVE_IDAT 0x04
|
||||
#define PNG_AFTER_IDAT 0x08 /* Have complete zlib datastream */
|
||||
#define PNG_HAVE_IEND 0x10
|
||||
#define PNG_HAVE_gAMA 0x20
|
||||
#define PNG_HAVE_cHRM 0x40
|
||||
#define PNG_HAVE_sRGB 0x80
|
||||
#define PNG_HAVE_CHUNK_HEADER 0x100
|
||||
#define PNG_WROTE_tIME 0x200
|
||||
#define PNG_WROTE_INFO_BEFORE_PLTE 0x400
|
||||
#define PNG_BACKGROUND_IS_GRAY 0x800
|
||||
#define PNG_HAVE_PNG_SIGNATURE 0x1000
|
||||
#define PNG_HAVE_CHUNK_AFTER_IDAT 0x2000 /* Have another chunk after IDAT */
|
||||
|
||||
/* flags for the transformations the PNG library does on the image data */
|
||||
#define PNG_BGR 0x0001
|
||||
#define PNG_INTERLACE 0x0002
|
||||
#define PNG_PACK 0x0004
|
||||
#define PNG_SHIFT 0x0008
|
||||
#define PNG_SWAP_BYTES 0x0010
|
||||
#define PNG_INVERT_MONO 0x0020
|
||||
#define PNG_DITHER 0x0040
|
||||
#define PNG_BACKGROUND 0x0080
|
||||
#define PNG_BACKGROUND_EXPAND 0x0100
|
||||
/* 0x0200 unused */
|
||||
#define PNG_16_TO_8 0x0400
|
||||
#define PNG_RGBA 0x0800
|
||||
#define PNG_EXPAND 0x1000
|
||||
#define PNG_GAMMA 0x2000
|
||||
#define PNG_GRAY_TO_RGB 0x4000
|
||||
#define PNG_FILLER 0x8000L
|
||||
#define PNG_PACKSWAP 0x10000L
|
||||
#define PNG_SWAP_ALPHA 0x20000L
|
||||
#define PNG_STRIP_ALPHA 0x40000L
|
||||
#define PNG_INVERT_ALPHA 0x80000L
|
||||
#define PNG_USER_TRANSFORM 0x100000L
|
||||
#define PNG_RGB_TO_GRAY_ERR 0x200000L
|
||||
#define PNG_RGB_TO_GRAY_WARN 0x400000L
|
||||
#define PNG_RGB_TO_GRAY 0x600000L /* two bits, RGB_TO_GRAY_ERR|WARN */
|
||||
/* 0x800000L Unused */
|
||||
#define PNG_ADD_ALPHA 0x1000000L /* Added to libpng-1.2.7 */
|
||||
#define PNG_EXPAND_tRNS 0x2000000L /* Added to libpng-1.2.9 */
|
||||
#define PNG_PREMULTIPLY_ALPHA 0x4000000L /* Added to libpng-1.4.0 by volker */
|
||||
/* 0x8000000L unused */
|
||||
/* 0x10000000L unused */
|
||||
/* 0x20000000L unused */
|
||||
/* 0x40000000L unused */
|
||||
|
||||
/* flags for png_create_struct */
|
||||
#define PNG_STRUCT_PNG 0x0001
|
||||
#define PNG_STRUCT_INFO 0x0002
|
||||
|
||||
/* Scaling factor for filter heuristic weighting calculations */
|
||||
#define PNG_WEIGHT_SHIFT 8
|
||||
#define PNG_WEIGHT_FACTOR (1<<(PNG_WEIGHT_SHIFT))
|
||||
#define PNG_COST_SHIFT 3
|
||||
#define PNG_COST_FACTOR (1<<(PNG_COST_SHIFT))
|
||||
|
||||
/* flags for the png_ptr->flags rather than declaring a byte for each one */
|
||||
#define PNG_FLAG_ZLIB_CUSTOM_STRATEGY 0x0001
|
||||
#define PNG_FLAG_ZLIB_CUSTOM_LEVEL 0x0002
|
||||
#define PNG_FLAG_ZLIB_CUSTOM_MEM_LEVEL 0x0004
|
||||
#define PNG_FLAG_ZLIB_CUSTOM_WINDOW_BITS 0x0008
|
||||
#define PNG_FLAG_ZLIB_CUSTOM_METHOD 0x0010
|
||||
#define PNG_FLAG_ZLIB_FINISHED 0x0020
|
||||
#define PNG_FLAG_ROW_INIT 0x0040
|
||||
#define PNG_FLAG_FILLER_AFTER 0x0080
|
||||
#define PNG_FLAG_CRC_ANCILLARY_USE 0x0100
|
||||
#define PNG_FLAG_CRC_ANCILLARY_NOWARN 0x0200
|
||||
#define PNG_FLAG_CRC_CRITICAL_USE 0x0400
|
||||
#define PNG_FLAG_CRC_CRITICAL_IGNORE 0x0800
|
||||
#define PNG_FLAG_FREE_PLTE 0x1000
|
||||
#define PNG_FLAG_FREE_TRNS 0x2000
|
||||
#define PNG_FLAG_FREE_HIST 0x4000
|
||||
#define PNG_FLAG_KEEP_UNKNOWN_CHUNKS 0x8000L
|
||||
#define PNG_FLAG_KEEP_UNSAFE_CHUNKS 0x10000L
|
||||
#define PNG_FLAG_LIBRARY_MISMATCH 0x20000L
|
||||
#define PNG_FLAG_STRIP_ERROR_NUMBERS 0x40000L
|
||||
#define PNG_FLAG_STRIP_ERROR_TEXT 0x80000L
|
||||
#define PNG_FLAG_MALLOC_NULL_MEM_OK 0x100000L
|
||||
#define PNG_FLAG_ADD_ALPHA 0x200000L /* Added to libpng-1.2.8 */
|
||||
#define PNG_FLAG_STRIP_ALPHA 0x400000L /* Added to libpng-1.2.8 */
|
||||
#define PNG_FLAG_BENIGN_ERRORS_WARN 0x800000L /* Added to libpng-1.4.0 */
|
||||
/* 0x1000000L unused */
|
||||
/* 0x2000000L unused */
|
||||
/* 0x4000000L unused */
|
||||
/* 0x8000000L unused */
|
||||
/* 0x10000000L unused */
|
||||
/* 0x20000000L unused */
|
||||
/* 0x40000000L unused */
|
||||
|
||||
#define PNG_FLAG_CRC_ANCILLARY_MASK (PNG_FLAG_CRC_ANCILLARY_USE | \
|
||||
PNG_FLAG_CRC_ANCILLARY_NOWARN)
|
||||
|
||||
#define PNG_FLAG_CRC_CRITICAL_MASK (PNG_FLAG_CRC_CRITICAL_USE | \
|
||||
PNG_FLAG_CRC_CRITICAL_IGNORE)
|
||||
|
||||
#define PNG_FLAG_CRC_MASK (PNG_FLAG_CRC_ANCILLARY_MASK | \
|
||||
PNG_FLAG_CRC_CRITICAL_MASK)
|
||||
|
||||
/* save typing and make code easier to understand */
|
||||
|
||||
#define PNG_COLOR_DIST(c1, c2) (abs((int)((c1).red) - (int)((c2).red)) + \
|
||||
abs((int)((c1).green) - (int)((c2).green)) + \
|
||||
abs((int)((c1).blue) - (int)((c2).blue)))
|
||||
|
||||
/* Added to libpng-1.2.6 JB */
|
||||
#define PNG_ROWBYTES(pixel_bits, width) \
|
||||
((pixel_bits) >= 8 ? \
|
||||
((png_size_t)(width) * (((png_size_t)(pixel_bits)) >> 3)) : \
|
||||
(( ((png_size_t)(width) * ((png_size_t)(pixel_bits))) + 7) >> 3) )
|
||||
|
||||
/* PNG_OUT_OF_RANGE returns true if value is outside the range
|
||||
ideal-delta..ideal+delta. Each argument is evaluated twice.
|
||||
"ideal" and "delta" should be constants, normally simple
|
||||
integers, "value" a variable. Added to libpng-1.2.6 JB */
|
||||
#define PNG_OUT_OF_RANGE(value, ideal, delta) \
|
||||
( (value) < (ideal)-(delta) || (value) > (ideal)+(delta) )
|
||||
|
||||
/* variables declared in png.c - only it needs to define PNG_NO_EXTERN */
|
||||
#if !defined(PNG_NO_EXTERN) || defined(PNG_ALWAYS_EXTERN)
|
||||
/* place to hold the signature string for a PNG file. */
|
||||
#ifdef PNG_USE_GLOBAL_ARRAYS
|
||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_sig[8];
|
||||
#else
|
||||
#if 0
|
||||
#define png_sig png_sig_bytes(NULL)
|
||||
#endif
|
||||
#endif
|
||||
#endif /* PNG_NO_EXTERN */
|
||||
|
||||
/* Constant strings for known chunk types. If you need to add a chunk,
|
||||
* define the name here, and add an invocation of the macro in png.c and
|
||||
* wherever it's needed.
|
||||
*/
|
||||
#define PNG_IHDR const png_byte png_IHDR[5] = { 73, 72, 68, 82, '\0'}
|
||||
#define PNG_IDAT const png_byte png_IDAT[5] = { 73, 68, 65, 84, '\0'}
|
||||
#define PNG_IEND const png_byte png_IEND[5] = { 73, 69, 78, 68, '\0'}
|
||||
#define PNG_PLTE const png_byte png_PLTE[5] = { 80, 76, 84, 69, '\0'}
|
||||
#define PNG_bKGD const png_byte png_bKGD[5] = { 98, 75, 71, 68, '\0'}
|
||||
#define PNG_cHRM const png_byte png_cHRM[5] = { 99, 72, 82, 77, '\0'}
|
||||
#define PNG_gAMA const png_byte png_gAMA[5] = {103, 65, 77, 65, '\0'}
|
||||
#define PNG_hIST const png_byte png_hIST[5] = {104, 73, 83, 84, '\0'}
|
||||
#define PNG_iCCP const png_byte png_iCCP[5] = {105, 67, 67, 80, '\0'}
|
||||
#define PNG_iTXt const png_byte png_iTXt[5] = {105, 84, 88, 116, '\0'}
|
||||
#define PNG_oFFs const png_byte png_oFFs[5] = {111, 70, 70, 115, '\0'}
|
||||
#define PNG_pCAL const png_byte png_pCAL[5] = {112, 67, 65, 76, '\0'}
|
||||
#define PNG_sCAL const png_byte png_sCAL[5] = {115, 67, 65, 76, '\0'}
|
||||
#define PNG_pHYs const png_byte png_pHYs[5] = {112, 72, 89, 115, '\0'}
|
||||
#define PNG_sBIT const png_byte png_sBIT[5] = {115, 66, 73, 84, '\0'}
|
||||
#define PNG_sPLT const png_byte png_sPLT[5] = {115, 80, 76, 84, '\0'}
|
||||
#define PNG_sRGB const png_byte png_sRGB[5] = {115, 82, 71, 66, '\0'}
|
||||
#define PNG_sTER const png_byte png_sTER[5] = {115, 84, 69, 82, '\0'}
|
||||
#define PNG_tEXt const png_byte png_tEXt[5] = {116, 69, 88, 116, '\0'}
|
||||
#define PNG_tIME const png_byte png_tIME[5] = {116, 73, 77, 69, '\0'}
|
||||
#define PNG_tRNS const png_byte png_tRNS[5] = {116, 82, 78, 83, '\0'}
|
||||
#define PNG_zTXt const png_byte png_zTXt[5] = {122, 84, 88, 116, '\0'}
|
||||
|
||||
#ifdef PNG_USE_GLOBAL_ARRAYS
|
||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_IHDR[5];
|
||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_IDAT[5];
|
||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_IEND[5];
|
||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_PLTE[5];
|
||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_bKGD[5];
|
||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_cHRM[5];
|
||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_gAMA[5];
|
||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_hIST[5];
|
||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_iCCP[5];
|
||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_iTXt[5];
|
||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_oFFs[5];
|
||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_pCAL[5];
|
||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_sCAL[5];
|
||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_pHYs[5];
|
||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_sBIT[5];
|
||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_sPLT[5];
|
||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_sRGB[5];
|
||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_tEXt[5];
|
||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_tIME[5];
|
||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_tRNS[5];
|
||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_zTXt[5];
|
||||
#endif /* PNG_USE_GLOBAL_ARRAYS */
|
||||
|
||||
/* Inhibit C++ name-mangling for libpng functions but not for system calls. */
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
/* These functions are used internally in the code. They generally
|
||||
* shouldn't be used unless you are writing code to add or replace some
|
||||
* functionality in libpng. More information about most functions can
|
||||
* be found in the files where the functions are located.
|
||||
*/
|
||||
|
||||
extern PNG_EXPORT(void,png_read_init_3) PNGARG((png_structpp ptr_ptr,
|
||||
png_const_charp user_png_ver, png_size_t png_struct_size));
|
||||
extern PNG_EXPORT(void,png_write_init_3) PNGARG((png_structpp ptr_ptr,
|
||||
png_const_charp user_png_ver, png_size_t png_struct_size));
|
||||
extern PNG_EXPORT(void,png_write_init_2) PNGARG((png_structp png_ptr,
|
||||
png_const_charp user_png_ver, png_size_t png_struct_size, png_size_t
|
||||
png_info_size));
|
||||
|
||||
/* Allocate memory for an internal libpng struct */
|
||||
PNG_EXTERN png_voidp png_create_struct PNGARG((int type));
|
||||
|
||||
/* Free memory from internal libpng struct */
|
||||
PNG_EXTERN void png_destroy_struct PNGARG((png_voidp struct_ptr));
|
||||
|
||||
PNG_EXTERN png_voidp png_create_struct_2 PNGARG((int type, png_malloc_ptr
|
||||
malloc_fn, png_voidp mem_ptr));
|
||||
PNG_EXTERN void png_destroy_struct_2 PNGARG((png_voidp struct_ptr,
|
||||
png_free_ptr free_fn, png_voidp mem_ptr));
|
||||
|
||||
/* Free any memory that info_ptr points to and reset struct. */
|
||||
PNG_EXTERN void png_info_destroy PNGARG((png_structp png_ptr,
|
||||
png_infop info_ptr));
|
||||
|
||||
/* Function to allocate memory for zlib. PNGAPI is disallowed. */
|
||||
PNG_EXTERN voidpf png_zalloc PNGARG((voidpf png_ptr, uInt items, uInt size));
|
||||
|
||||
/* Function to free memory for zlib. PNGAPI is disallowed. */
|
||||
PNG_EXTERN void png_zfree PNGARG((voidpf png_ptr, voidpf ptr));
|
||||
|
||||
/* Next four functions are used internally as callbacks. PNGAPI is required
|
||||
* but not PNG_EXPORT. PNGAPI added at libpng version 1.2.3. */
|
||||
|
||||
PNG_EXTERN void PNGAPI png_default_read_data PNGARG((png_structp png_ptr,
|
||||
png_bytep data, png_size_t length));
|
||||
|
||||
#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
|
||||
PNG_EXTERN void PNGAPI png_push_fill_buffer PNGARG((png_structp png_ptr,
|
||||
png_bytep buffer, png_size_t length));
|
||||
#endif
|
||||
|
||||
PNG_EXTERN void PNGAPI png_default_write_data PNGARG((png_structp png_ptr,
|
||||
png_bytep data, png_size_t length));
|
||||
|
||||
#if defined(PNG_WRITE_FLUSH_SUPPORTED)
|
||||
#if !defined(PNG_NO_STDIO)
|
||||
PNG_EXTERN void PNGAPI png_default_flush PNGARG((png_structp png_ptr));
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* Reset the CRC variable */
|
||||
PNG_EXTERN void png_reset_crc PNGARG((png_structp png_ptr));
|
||||
|
||||
/* Write the "data" buffer to whatever output you are using */
|
||||
PNG_EXTERN void png_write_data PNGARG((png_structp png_ptr, png_bytep data,
|
||||
png_size_t length));
|
||||
|
||||
/* Read the chunk header (length + type name) */
|
||||
PNG_EXTERN png_uint_32 png_read_chunk_header PNGARG((png_structp png_ptr));
|
||||
|
||||
/* Read data from whatever input you are using into the "data" buffer */
|
||||
PNG_EXTERN void png_read_data PNGARG((png_structp png_ptr, png_bytep data,
|
||||
png_size_t length));
|
||||
|
||||
/* Read bytes into buf, and update png_ptr->crc */
|
||||
PNG_EXTERN void png_crc_read PNGARG((png_structp png_ptr, png_bytep buf,
|
||||
png_size_t length));
|
||||
|
||||
/* Decompress data in a chunk that uses compression */
|
||||
#if defined(PNG_zTXt_SUPPORTED) || defined(PNG_iTXt_SUPPORTED) || \
|
||||
defined(PNG_iCCP_SUPPORTED) || defined(PNG_sPLT_SUPPORTED)
|
||||
PNG_EXTERN void png_decompress_chunk PNGARG((png_structp png_ptr,
|
||||
int comp_type, png_size_t chunklength, png_size_t prefix_length,
|
||||
png_size_t *data_length));
|
||||
#endif
|
||||
|
||||
/* Read "skip" bytes, read the file crc, and (optionally) verify png_ptr->crc */
|
||||
PNG_EXTERN int png_crc_finish PNGARG((png_structp png_ptr, png_uint_32 skip));
|
||||
|
||||
/* Read the CRC from the file and compare it to the libpng calculated CRC */
|
||||
PNG_EXTERN int png_crc_error PNGARG((png_structp png_ptr));
|
||||
|
||||
/* Calculate the CRC over a section of data. Note that we are only
|
||||
* passing a maximum of 64K on systems that have this as a memory limit,
|
||||
* since this is the maximum buffer size we can specify.
|
||||
*/
|
||||
PNG_EXTERN void png_calculate_crc PNGARG((png_structp png_ptr, png_bytep ptr,
|
||||
png_size_t length));
|
||||
|
||||
#if defined(PNG_WRITE_FLUSH_SUPPORTED)
|
||||
PNG_EXTERN void png_flush PNGARG((png_structp png_ptr));
|
||||
#endif
|
||||
|
||||
/* write various chunks */
|
||||
|
||||
/* Write the IHDR chunk, and update the png_struct with the necessary
|
||||
* information.
|
||||
*/
|
||||
PNG_EXTERN void png_write_IHDR PNGARG((png_structp png_ptr, png_uint_32 width,
|
||||
png_uint_32 height,
|
||||
int bit_depth, int color_type, int compression_method, int filter_method,
|
||||
int interlace_method));
|
||||
|
||||
PNG_EXTERN void png_write_PLTE PNGARG((png_structp png_ptr, png_colorp palette,
|
||||
png_uint_32 num_pal));
|
||||
|
||||
PNG_EXTERN void png_write_IDAT PNGARG((png_structp png_ptr, png_bytep data,
|
||||
png_size_t length));
|
||||
|
||||
PNG_EXTERN void png_write_IEND PNGARG((png_structp png_ptr));
|
||||
|
||||
#if defined(PNG_WRITE_gAMA_SUPPORTED)
|
||||
#ifdef PNG_FLOATING_POINT_SUPPORTED
|
||||
PNG_EXTERN void png_write_gAMA PNGARG((png_structp png_ptr, double file_gamma));
|
||||
#endif
|
||||
#ifdef PNG_FIXED_POINT_SUPPORTED
|
||||
PNG_EXTERN void png_write_gAMA_fixed PNGARG((png_structp png_ptr, png_fixed_point
|
||||
file_gamma));
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(PNG_WRITE_sBIT_SUPPORTED)
|
||||
PNG_EXTERN void png_write_sBIT PNGARG((png_structp png_ptr, png_color_8p sbit,
|
||||
int color_type));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_WRITE_cHRM_SUPPORTED)
|
||||
#ifdef PNG_FLOATING_POINT_SUPPORTED
|
||||
PNG_EXTERN void png_write_cHRM PNGARG((png_structp png_ptr,
|
||||
double white_x, double white_y,
|
||||
double red_x, double red_y, double green_x, double green_y,
|
||||
double blue_x, double blue_y));
|
||||
#endif
|
||||
#ifdef PNG_FIXED_POINT_SUPPORTED
|
||||
PNG_EXTERN void png_write_cHRM_fixed PNGARG((png_structp png_ptr,
|
||||
png_fixed_point int_white_x, png_fixed_point int_white_y,
|
||||
png_fixed_point int_red_x, png_fixed_point int_red_y, png_fixed_point
|
||||
int_green_x, png_fixed_point int_green_y, png_fixed_point int_blue_x,
|
||||
png_fixed_point int_blue_y));
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(PNG_WRITE_sRGB_SUPPORTED)
|
||||
PNG_EXTERN void png_write_sRGB PNGARG((png_structp png_ptr,
|
||||
int intent));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_WRITE_iCCP_SUPPORTED)
|
||||
PNG_EXTERN void png_write_iCCP PNGARG((png_structp png_ptr,
|
||||
png_charp name, int compression_type,
|
||||
png_charp profile, int proflen));
|
||||
/* Note to maintainer: profile should be png_bytep */
|
||||
#endif
|
||||
|
||||
#if defined(PNG_WRITE_sPLT_SUPPORTED)
|
||||
PNG_EXTERN void png_write_sPLT PNGARG((png_structp png_ptr,
|
||||
png_sPLT_tp palette));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_WRITE_tRNS_SUPPORTED)
|
||||
PNG_EXTERN void png_write_tRNS PNGARG((png_structp png_ptr, png_bytep trans,
|
||||
png_color_16p values, int number, int color_type));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_WRITE_bKGD_SUPPORTED)
|
||||
PNG_EXTERN void png_write_bKGD PNGARG((png_structp png_ptr,
|
||||
png_color_16p values, int color_type));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_WRITE_hIST_SUPPORTED)
|
||||
PNG_EXTERN void png_write_hIST PNGARG((png_structp png_ptr, png_uint_16p hist,
|
||||
int num_hist));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_WRITE_TEXT_SUPPORTED) || defined(PNG_WRITE_pCAL_SUPPORTED) || \
|
||||
defined(PNG_WRITE_iCCP_SUPPORTED) || defined(PNG_WRITE_sPLT_SUPPORTED)
|
||||
PNG_EXTERN png_size_t png_check_keyword PNGARG((png_structp png_ptr,
|
||||
png_charp key, png_charpp new_key));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_WRITE_tEXt_SUPPORTED)
|
||||
PNG_EXTERN void png_write_tEXt PNGARG((png_structp png_ptr, png_charp key,
|
||||
png_charp text, png_size_t text_len));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_WRITE_zTXt_SUPPORTED)
|
||||
PNG_EXTERN void png_write_zTXt PNGARG((png_structp png_ptr, png_charp key,
|
||||
png_charp text, png_size_t text_len, int compression));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_WRITE_iTXt_SUPPORTED)
|
||||
PNG_EXTERN void png_write_iTXt PNGARG((png_structp png_ptr,
|
||||
int compression, png_charp key, png_charp lang, png_charp lang_key,
|
||||
png_charp text));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_TEXT_SUPPORTED) /* Added at version 1.0.14 and 1.2.4 */
|
||||
PNG_EXTERN int png_set_text_2 PNGARG((png_structp png_ptr,
|
||||
png_infop info_ptr, png_textp text_ptr, int num_text));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_WRITE_oFFs_SUPPORTED)
|
||||
PNG_EXTERN void png_write_oFFs PNGARG((png_structp png_ptr,
|
||||
png_int_32 x_offset, png_int_32 y_offset, int unit_type));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_WRITE_pCAL_SUPPORTED)
|
||||
PNG_EXTERN void png_write_pCAL PNGARG((png_structp png_ptr, png_charp purpose,
|
||||
png_int_32 X0, png_int_32 X1, int type, int nparams,
|
||||
png_charp units, png_charpp params));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_WRITE_pHYs_SUPPORTED)
|
||||
PNG_EXTERN void png_write_pHYs PNGARG((png_structp png_ptr,
|
||||
png_uint_32 x_pixels_per_unit, png_uint_32 y_pixels_per_unit,
|
||||
int unit_type));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_WRITE_tIME_SUPPORTED)
|
||||
PNG_EXTERN void png_write_tIME PNGARG((png_structp png_ptr,
|
||||
png_timep mod_time));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_WRITE_sCAL_SUPPORTED)
|
||||
#if defined(PNG_FLOATING_POINT_SUPPORTED) && !defined(PNG_NO_STDIO)
|
||||
PNG_EXTERN void png_write_sCAL PNGARG((png_structp png_ptr,
|
||||
int unit, double width, double height));
|
||||
#else
|
||||
#ifdef PNG_FIXED_POINT_SUPPORTED
|
||||
PNG_EXTERN void png_write_sCAL_s PNGARG((png_structp png_ptr,
|
||||
int unit, png_charp width, png_charp height));
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* Called when finished processing a row of data */
|
||||
PNG_EXTERN void png_write_finish_row PNGARG((png_structp png_ptr));
|
||||
|
||||
/* Internal use only. Called before first row of data */
|
||||
PNG_EXTERN void png_write_start_row PNGARG((png_structp png_ptr));
|
||||
|
||||
#if defined(PNG_READ_GAMMA_SUPPORTED)
|
||||
PNG_EXTERN void png_build_gamma_table PNGARG((png_structp png_ptr));
|
||||
#endif
|
||||
|
||||
/* combine a row of data, dealing with alpha, etc. if requested */
|
||||
PNG_EXTERN void png_combine_row PNGARG((png_structp png_ptr, png_bytep row,
|
||||
int mask));
|
||||
|
||||
#if defined(PNG_READ_INTERLACING_SUPPORTED)
|
||||
/* expand an interlaced row */
|
||||
/* OLD pre-1.0.9 interface:
|
||||
PNG_EXTERN void png_do_read_interlace PNGARG((png_row_infop row_info,
|
||||
png_bytep row, int pass, png_uint_32 transformations));
|
||||
*/
|
||||
PNG_EXTERN void png_do_read_interlace PNGARG((png_structp png_ptr));
|
||||
#endif
|
||||
|
||||
/* GRR TO DO (2.0 or whenever): simplify other internal calling interfaces */
|
||||
|
||||
#if defined(PNG_WRITE_INTERLACING_SUPPORTED)
|
||||
/* grab pixels out of a row for an interlaced pass */
|
||||
PNG_EXTERN void png_do_write_interlace PNGARG((png_row_infop row_info,
|
||||
png_bytep row, int pass));
|
||||
#endif
|
||||
|
||||
/* unfilter a row */
|
||||
PNG_EXTERN void png_read_filter_row PNGARG((png_structp png_ptr,
|
||||
png_row_infop row_info, png_bytep row, png_bytep prev_row, int filter));
|
||||
|
||||
/* Choose the best filter to use and filter the row data */
|
||||
PNG_EXTERN void png_write_find_filter PNGARG((png_structp png_ptr,
|
||||
png_row_infop row_info));
|
||||
|
||||
/* Write out the filtered row. */
|
||||
PNG_EXTERN void png_write_filtered_row PNGARG((png_structp png_ptr,
|
||||
png_bytep filtered_row));
|
||||
/* finish a row while reading, dealing with interlacing passes, etc. */
|
||||
PNG_EXTERN void png_read_finish_row PNGARG((png_structp png_ptr));
|
||||
|
||||
/* initialize the row buffers, etc. */
|
||||
PNG_EXTERN void png_read_start_row PNGARG((png_structp png_ptr));
|
||||
/* optional call to update the users info structure */
|
||||
PNG_EXTERN void png_read_transform_info PNGARG((png_structp png_ptr,
|
||||
png_infop info_ptr));
|
||||
|
||||
/* these are the functions that do the transformations */
|
||||
#if defined(PNG_READ_FILLER_SUPPORTED)
|
||||
PNG_EXTERN void png_do_read_filler PNGARG((png_row_infop row_info,
|
||||
png_bytep row, png_uint_32 filler, png_uint_32 flags));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_SWAP_ALPHA_SUPPORTED)
|
||||
PNG_EXTERN void png_do_read_swap_alpha PNGARG((png_row_infop row_info,
|
||||
png_bytep row));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_WRITE_SWAP_ALPHA_SUPPORTED)
|
||||
PNG_EXTERN void png_do_write_swap_alpha PNGARG((png_row_infop row_info,
|
||||
png_bytep row));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_INVERT_ALPHA_SUPPORTED)
|
||||
PNG_EXTERN void png_do_read_invert_alpha PNGARG((png_row_infop row_info,
|
||||
png_bytep row));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_WRITE_INVERT_ALPHA_SUPPORTED)
|
||||
PNG_EXTERN void png_do_write_invert_alpha PNGARG((png_row_infop row_info,
|
||||
png_bytep row));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_PREMULTIPLY_ALPHA_SUPPORTED)
|
||||
PNG_EXTERN void png_do_read_premultiply_alpha PNGARG((png_row_infop row_info,
|
||||
png_bytep row));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_WRITE_FILLER_SUPPORTED) || \
|
||||
defined(PNG_READ_STRIP_ALPHA_SUPPORTED)
|
||||
PNG_EXTERN void png_do_strip_filler PNGARG((png_row_infop row_info,
|
||||
png_bytep row, png_uint_32 flags));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_SWAP_SUPPORTED) || defined(PNG_WRITE_SWAP_SUPPORTED)
|
||||
PNG_EXTERN void png_do_swap PNGARG((png_row_infop row_info, png_bytep row));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_PACKSWAP_SUPPORTED) || defined(PNG_WRITE_PACKSWAP_SUPPORTED)
|
||||
PNG_EXTERN void png_do_packswap PNGARG((png_row_infop row_info, png_bytep row));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_RGB_TO_GRAY_SUPPORTED)
|
||||
PNG_EXTERN int png_do_rgb_to_gray PNGARG((png_structp png_ptr, png_row_infop
|
||||
row_info, png_bytep row));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_GRAY_TO_RGB_SUPPORTED)
|
||||
PNG_EXTERN void png_do_gray_to_rgb PNGARG((png_row_infop row_info,
|
||||
png_bytep row));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_PACK_SUPPORTED)
|
||||
PNG_EXTERN void png_do_unpack PNGARG((png_row_infop row_info, png_bytep row));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_SHIFT_SUPPORTED)
|
||||
PNG_EXTERN void png_do_unshift PNGARG((png_row_infop row_info, png_bytep row,
|
||||
png_color_8p sig_bits));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_INVERT_SUPPORTED) || defined(PNG_WRITE_INVERT_SUPPORTED)
|
||||
PNG_EXTERN void png_do_invert PNGARG((png_row_infop row_info, png_bytep row));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_16_TO_8_SUPPORTED)
|
||||
PNG_EXTERN void png_do_chop PNGARG((png_row_infop row_info, png_bytep row));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_DITHER_SUPPORTED)
|
||||
PNG_EXTERN void png_do_dither PNGARG((png_row_infop row_info,
|
||||
png_bytep row, png_bytep palette_lookup, png_bytep dither_lookup));
|
||||
|
||||
# if defined(PNG_CORRECT_PALETTE_SUPPORTED)
|
||||
PNG_EXTERN void png_correct_palette PNGARG((png_structp png_ptr,
|
||||
png_colorp palette, int num_palette));
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_BGR_SUPPORTED) || defined(PNG_WRITE_BGR_SUPPORTED)
|
||||
PNG_EXTERN void png_do_bgr PNGARG((png_row_infop row_info, png_bytep row));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_WRITE_PACK_SUPPORTED)
|
||||
PNG_EXTERN void png_do_pack PNGARG((png_row_infop row_info,
|
||||
png_bytep row, png_uint_32 bit_depth));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_WRITE_SHIFT_SUPPORTED)
|
||||
PNG_EXTERN void png_do_shift PNGARG((png_row_infop row_info, png_bytep row,
|
||||
png_color_8p bit_depth));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_BACKGROUND_SUPPORTED)
|
||||
#if defined(PNG_READ_GAMMA_SUPPORTED)
|
||||
PNG_EXTERN void png_do_background PNGARG((png_row_infop row_info, png_bytep row,
|
||||
png_color_16p trans_color, png_color_16p background,
|
||||
png_color_16p background_1,
|
||||
png_bytep gamma_table, png_bytep gamma_from_1, png_bytep gamma_to_1,
|
||||
png_uint_16pp gamma_16, png_uint_16pp gamma_16_from_1,
|
||||
png_uint_16pp gamma_16_to_1, int gamma_shift));
|
||||
#else
|
||||
PNG_EXTERN void png_do_background PNGARG((png_row_infop row_info, png_bytep row,
|
||||
png_color_16p trans_color, png_color_16p background));
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_GAMMA_SUPPORTED)
|
||||
PNG_EXTERN void png_do_gamma PNGARG((png_row_infop row_info, png_bytep row,
|
||||
png_bytep gamma_table, png_uint_16pp gamma_16_table,
|
||||
int gamma_shift));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_EXPAND_SUPPORTED)
|
||||
PNG_EXTERN void png_do_expand_palette PNGARG((png_row_infop row_info,
|
||||
png_bytep row, png_colorp palette, png_bytep trans, int num_trans));
|
||||
PNG_EXTERN void png_do_expand PNGARG((png_row_infop row_info,
|
||||
png_bytep row, png_color_16p trans_value));
|
||||
#endif
|
||||
|
||||
/* The following decodes the appropriate chunks, and does error correction,
|
||||
* then calls the appropriate callback for the chunk if it is valid.
|
||||
*/
|
||||
|
||||
/* decode the IHDR chunk */
|
||||
PNG_EXTERN void png_handle_IHDR PNGARG((png_structp png_ptr, png_infop info_ptr,
|
||||
png_uint_32 length));
|
||||
PNG_EXTERN void png_handle_PLTE PNGARG((png_structp png_ptr, png_infop info_ptr,
|
||||
png_uint_32 length));
|
||||
PNG_EXTERN void png_handle_IEND PNGARG((png_structp png_ptr, png_infop info_ptr,
|
||||
png_uint_32 length));
|
||||
|
||||
#if defined(PNG_READ_bKGD_SUPPORTED)
|
||||
PNG_EXTERN void png_handle_bKGD PNGARG((png_structp png_ptr, png_infop info_ptr,
|
||||
png_uint_32 length));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_cHRM_SUPPORTED)
|
||||
PNG_EXTERN void png_handle_cHRM PNGARG((png_structp png_ptr, png_infop info_ptr,
|
||||
png_uint_32 length));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_gAMA_SUPPORTED)
|
||||
PNG_EXTERN void png_handle_gAMA PNGARG((png_structp png_ptr, png_infop info_ptr,
|
||||
png_uint_32 length));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_hIST_SUPPORTED)
|
||||
PNG_EXTERN void png_handle_hIST PNGARG((png_structp png_ptr, png_infop info_ptr,
|
||||
png_uint_32 length));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_iCCP_SUPPORTED)
|
||||
extern void png_handle_iCCP PNGARG((png_structp png_ptr, png_infop info_ptr,
|
||||
png_uint_32 length));
|
||||
#endif /* PNG_READ_iCCP_SUPPORTED */
|
||||
|
||||
#if defined(PNG_READ_iTXt_SUPPORTED)
|
||||
PNG_EXTERN void png_handle_iTXt PNGARG((png_structp png_ptr, png_infop info_ptr,
|
||||
png_uint_32 length));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_oFFs_SUPPORTED)
|
||||
PNG_EXTERN void png_handle_oFFs PNGARG((png_structp png_ptr, png_infop info_ptr,
|
||||
png_uint_32 length));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_pCAL_SUPPORTED)
|
||||
PNG_EXTERN void png_handle_pCAL PNGARG((png_structp png_ptr, png_infop info_ptr,
|
||||
png_uint_32 length));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_pHYs_SUPPORTED)
|
||||
PNG_EXTERN void png_handle_pHYs PNGARG((png_structp png_ptr, png_infop info_ptr,
|
||||
png_uint_32 length));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_sBIT_SUPPORTED)
|
||||
PNG_EXTERN void png_handle_sBIT PNGARG((png_structp png_ptr, png_infop info_ptr,
|
||||
png_uint_32 length));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_sCAL_SUPPORTED)
|
||||
PNG_EXTERN void png_handle_sCAL PNGARG((png_structp png_ptr, png_infop info_ptr,
|
||||
png_uint_32 length));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_sPLT_SUPPORTED)
|
||||
extern void png_handle_sPLT PNGARG((png_structp png_ptr, png_infop info_ptr,
|
||||
png_uint_32 length));
|
||||
#endif /* PNG_READ_sPLT_SUPPORTED */
|
||||
|
||||
#if defined(PNG_READ_sRGB_SUPPORTED)
|
||||
PNG_EXTERN void png_handle_sRGB PNGARG((png_structp png_ptr, png_infop info_ptr,
|
||||
png_uint_32 length));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_tEXt_SUPPORTED)
|
||||
PNG_EXTERN void png_handle_tEXt PNGARG((png_structp png_ptr, png_infop info_ptr,
|
||||
png_uint_32 length));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_tIME_SUPPORTED)
|
||||
PNG_EXTERN void png_handle_tIME PNGARG((png_structp png_ptr, png_infop info_ptr,
|
||||
png_uint_32 length));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_tRNS_SUPPORTED)
|
||||
PNG_EXTERN void png_handle_tRNS PNGARG((png_structp png_ptr, png_infop info_ptr,
|
||||
png_uint_32 length));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_zTXt_SUPPORTED)
|
||||
PNG_EXTERN void png_handle_zTXt PNGARG((png_structp png_ptr, png_infop info_ptr,
|
||||
png_uint_32 length));
|
||||
#endif
|
||||
|
||||
PNG_EXTERN void png_handle_unknown PNGARG((png_structp png_ptr,
|
||||
png_infop info_ptr, png_uint_32 length));
|
||||
|
||||
PNG_EXTERN void png_check_chunk_name PNGARG((png_structp png_ptr,
|
||||
png_bytep chunk_name));
|
||||
|
||||
/* handle the transformations for reading and writing */
|
||||
PNG_EXTERN void png_do_read_transformations PNGARG((png_structp png_ptr));
|
||||
PNG_EXTERN void png_do_write_transformations PNGARG((png_structp png_ptr));
|
||||
|
||||
PNG_EXTERN void png_init_read_transformations PNGARG((png_structp png_ptr));
|
||||
|
||||
#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
|
||||
PNG_EXTERN void png_push_read_chunk PNGARG((png_structp png_ptr,
|
||||
png_infop info_ptr));
|
||||
PNG_EXTERN void png_push_read_sig PNGARG((png_structp png_ptr,
|
||||
png_infop info_ptr));
|
||||
PNG_EXTERN void png_push_check_crc PNGARG((png_structp png_ptr));
|
||||
PNG_EXTERN void png_push_crc_skip PNGARG((png_structp png_ptr,
|
||||
png_uint_32 length));
|
||||
PNG_EXTERN void png_push_crc_finish PNGARG((png_structp png_ptr));
|
||||
PNG_EXTERN void png_push_save_buffer PNGARG((png_structp png_ptr));
|
||||
PNG_EXTERN void png_push_restore_buffer PNGARG((png_structp png_ptr,
|
||||
png_bytep buffer, png_size_t buffer_length));
|
||||
PNG_EXTERN void png_push_read_IDAT PNGARG((png_structp png_ptr));
|
||||
PNG_EXTERN void png_process_IDAT_data PNGARG((png_structp png_ptr,
|
||||
png_bytep buffer, png_size_t buffer_length));
|
||||
PNG_EXTERN void png_push_process_row PNGARG((png_structp png_ptr));
|
||||
PNG_EXTERN void png_push_handle_unknown PNGARG((png_structp png_ptr,
|
||||
png_infop info_ptr, png_uint_32 length));
|
||||
PNG_EXTERN void png_push_have_info PNGARG((png_structp png_ptr,
|
||||
png_infop info_ptr));
|
||||
PNG_EXTERN void png_push_have_end PNGARG((png_structp png_ptr,
|
||||
png_infop info_ptr));
|
||||
PNG_EXTERN void png_push_have_row PNGARG((png_structp png_ptr, png_bytep row));
|
||||
PNG_EXTERN void png_push_read_end PNGARG((png_structp png_ptr,
|
||||
png_infop info_ptr));
|
||||
PNG_EXTERN void png_process_some_data PNGARG((png_structp png_ptr,
|
||||
png_infop info_ptr));
|
||||
PNG_EXTERN void png_read_push_finish_row PNGARG((png_structp png_ptr));
|
||||
#if defined(PNG_READ_tEXt_SUPPORTED)
|
||||
PNG_EXTERN void png_push_handle_tEXt PNGARG((png_structp png_ptr,
|
||||
png_infop info_ptr, png_uint_32 length));
|
||||
PNG_EXTERN void png_push_read_tEXt PNGARG((png_structp png_ptr,
|
||||
png_infop info_ptr));
|
||||
#endif
|
||||
#if defined(PNG_READ_zTXt_SUPPORTED)
|
||||
PNG_EXTERN void png_push_handle_zTXt PNGARG((png_structp png_ptr,
|
||||
png_infop info_ptr, png_uint_32 length));
|
||||
PNG_EXTERN void png_push_read_zTXt PNGARG((png_structp png_ptr,
|
||||
png_infop info_ptr));
|
||||
#endif
|
||||
#if defined(PNG_READ_iTXt_SUPPORTED)
|
||||
PNG_EXTERN void png_push_handle_iTXt PNGARG((png_structp png_ptr,
|
||||
png_infop info_ptr, png_uint_32 length));
|
||||
PNG_EXTERN void png_push_read_iTXt PNGARG((png_structp png_ptr,
|
||||
png_infop info_ptr));
|
||||
#endif
|
||||
|
||||
#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */
|
||||
|
||||
#ifdef PNG_MNG_FEATURES_SUPPORTED
|
||||
PNG_EXTERN void png_do_read_intrapixel PNGARG((png_row_infop row_info,
|
||||
png_bytep row));
|
||||
PNG_EXTERN void png_do_write_intrapixel PNGARG((png_row_infop row_info,
|
||||
png_bytep row));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_MMX_CODE_SUPPORTED)
|
||||
/* PRIVATE */
|
||||
PNG_EXTERN void png_init_mmx_flags PNGARG((png_structp png_ptr));
|
||||
#endif
|
||||
|
||||
/* Added at libpng version 1.4.0 */
|
||||
#if defined(PNG_cHRM_SUPPORTED)
|
||||
#ifdef PNG_FLOATING_POINT_SUPPORTED
|
||||
PNG_EXTERN int png_check_cHRM PNGARG((png_structp png_ptr,
|
||||
double white_x, double white_y, double red_x,
|
||||
double red_y, double green_x, double green_y, double blue_x, double blue_y));
|
||||
#endif
|
||||
#ifdef PNG_FIXED_POINT_SUPPORTED
|
||||
PNG_EXTERN int png_check_cHRM_fixed PNGARG((png_structp png_ptr,
|
||||
png_fixed_point int_white_x, png_fixed_point int_white_y,
|
||||
png_fixed_point int_red_x, png_fixed_point int_red_y, png_fixed_point
|
||||
int_green_x, png_fixed_point int_green_y, png_fixed_point int_blue_x,
|
||||
png_fixed_point int_blue_y));
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* Maintainer: Put new private prototypes here ^ and in libpngpf.3 */
|
||||
|
||||
#ifdef PNG_READ_SUPPORTED
|
||||
/* Prior to libpng-1.0.9, this block was in pngasmrd.h */
|
||||
|
||||
/* These are the default thresholds before the MMX code kicks in; if either
|
||||
* rowbytes or bitdepth is below the threshold, plain C code is used. These
|
||||
* can be overridden at runtime via the png_set_mmx_thresholds() call in
|
||||
* libpng 1.2.0 and later. The values below were chosen by Intel.
|
||||
*/
|
||||
|
||||
#ifndef PNG_MMX_ROWBYTES_THRESHOLD_DEFAULT
|
||||
# define PNG_MMX_ROWBYTES_THRESHOLD_DEFAULT 128 /* >= */
|
||||
#endif
|
||||
#ifndef PNG_MMX_BITDEPTH_THRESHOLD_DEFAULT
|
||||
# define PNG_MMX_BITDEPTH_THRESHOLD_DEFAULT 9 /* >= */
|
||||
#endif
|
||||
|
||||
/* Set this in the makefile for VC++ on Pentium, not here. */
|
||||
/* Platform must be Pentium. Makefile must assemble and load pngvcrd.c .
|
||||
* MMX will be detected at run time and used if present.
|
||||
*/
|
||||
#ifdef PNG_USE_PNGVCRD
|
||||
# define PNG_HAVE_MMX_COMBINE_ROW
|
||||
# define PNG_HAVE_MMX_READ_INTERLACE
|
||||
# define PNG_HAVE_MMX_READ_FILTER_ROW
|
||||
#endif
|
||||
|
||||
/* Set this in the makefile for gcc/as on Pentium, not here. */
|
||||
/* Platform must be Pentium. Makefile must assemble and load pnggccrd.c .
|
||||
* MMX will be detected at run time and used if present.
|
||||
*/
|
||||
#ifdef PNG_USE_PNGGCCRD
|
||||
# define PNG_HAVE_MMX_COMBINE_ROW
|
||||
# define PNG_HAVE_MMX_READ_INTERLACE
|
||||
# define PNG_HAVE_MMX_READ_FILTER_ROW
|
||||
#endif
|
||||
/* - see pnggccrd.c for info about what is currently enabled */
|
||||
|
||||
#endif /* PNG_READ_SUPPORTED */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* PNG_VERSION_INFO_ONLY */
|
||||
#endif /* PNGPRIV_H */
|
||||
140
pngread.c
140
pngread.c
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngread.c - read a PNG file
|
||||
*
|
||||
* Last changed in libpng 1.4.0 [November 13, 2008]
|
||||
* Last changed in libpng 1.2.30 [August 15, 2008]
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2008 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
@@ -11,9 +11,9 @@
|
||||
* read a PNG file or stream.
|
||||
*/
|
||||
|
||||
#define PNG_INTERNAL
|
||||
#include "png.h"
|
||||
#if defined(PNG_READ_SUPPORTED)
|
||||
#include "pngpriv.h"
|
||||
|
||||
/* Create a PNG structure for reading, and allocate any memory needed. */
|
||||
png_structp PNGAPI
|
||||
@@ -23,7 +23,7 @@ png_create_read_struct(png_const_charp user_png_ver, png_voidp error_ptr,
|
||||
|
||||
#ifdef PNG_USER_MEM_SUPPORTED
|
||||
return (png_create_read_struct_2(user_png_ver, error_ptr, error_fn,
|
||||
warn_fn, NULL, NULL, NULL));
|
||||
warn_fn, png_voidp_NULL, png_malloc_ptr_NULL, png_free_ptr_NULL));
|
||||
}
|
||||
|
||||
/* Alternate create PNG structure for reading, and allocate any memory needed. */
|
||||
@@ -34,7 +34,10 @@ png_create_read_struct_2(png_const_charp user_png_ver, png_voidp error_ptr,
|
||||
{
|
||||
#endif /* PNG_USER_MEM_SUPPORTED */
|
||||
|
||||
volatile png_structp png_ptr;
|
||||
#ifdef PNG_SETJMP_SUPPORTED
|
||||
volatile
|
||||
#endif
|
||||
png_structp png_ptr;
|
||||
|
||||
#ifdef PNG_SETJMP_SUPPORTED
|
||||
#ifdef USE_FAR_KEYWORD
|
||||
@@ -44,10 +47,10 @@ png_create_read_struct_2(png_const_charp user_png_ver, png_voidp error_ptr,
|
||||
|
||||
int i;
|
||||
|
||||
png_debug(1, "in png_create_read_struct");
|
||||
png_debug(1, "in png_create_read_struct\n");
|
||||
#ifdef PNG_USER_MEM_SUPPORTED
|
||||
png_ptr = (png_structp)png_create_struct_2(PNG_STRUCT_PNG,
|
||||
malloc_fn, mem_ptr);
|
||||
(png_malloc_ptr)malloc_fn, (png_voidp)mem_ptr);
|
||||
#else
|
||||
png_ptr = (png_structp)png_create_struct(PNG_STRUCT_PNG);
|
||||
#endif
|
||||
@@ -137,7 +140,7 @@ png_create_read_struct_2(png_const_charp user_png_ver, png_voidp error_ptr,
|
||||
/* initialize zbuf - compression buffer */
|
||||
png_ptr->zbuf_size = PNG_ZBUF_SIZE;
|
||||
png_ptr->zbuf = (png_bytep)png_malloc(png_ptr,
|
||||
png_ptr->zbuf_size);
|
||||
(png_uint_32)png_ptr->zbuf_size);
|
||||
png_ptr->zstream.zalloc = png_zalloc;
|
||||
png_ptr->zstream.zfree = png_zfree;
|
||||
png_ptr->zstream.opaque = (voidpf)png_ptr;
|
||||
@@ -154,7 +157,7 @@ png_create_read_struct_2(png_const_charp user_png_ver, png_voidp error_ptr,
|
||||
png_ptr->zstream.next_out = png_ptr->zbuf;
|
||||
png_ptr->zstream.avail_out = (uInt)png_ptr->zbuf_size;
|
||||
|
||||
png_set_read_fn(png_ptr, NULL, NULL);
|
||||
png_set_read_fn(png_ptr, png_voidp_NULL, png_rw_ptr_NULL);
|
||||
|
||||
#ifdef PNG_SETJMP_SUPPORTED
|
||||
/* Applications that neglect to set up their own setjmp() and then encounter
|
||||
@@ -172,6 +175,64 @@ png_create_read_struct_2(png_const_charp user_png_ver, png_voidp error_ptr,
|
||||
return (png_ptr);
|
||||
}
|
||||
|
||||
#if defined(PNG_1_0_X) || defined(PNG_1_2_X)
|
||||
/* Initialize PNG structure for reading, and allocate any memory needed.
|
||||
This interface is deprecated in favour of the png_create_read_struct(),
|
||||
and it will disappear as of libpng-1.3.0. */
|
||||
#undef png_read_init
|
||||
void PNGAPI
|
||||
png_read_init(png_structp png_ptr)
|
||||
{
|
||||
/* We only come here via pre-1.0.7-compiled applications */
|
||||
png_read_init_2(png_ptr, "1.0.6 or earlier", 0, 0);
|
||||
}
|
||||
|
||||
void PNGAPI
|
||||
png_read_init_2(png_structp png_ptr, png_const_charp user_png_ver,
|
||||
png_size_t png_struct_size, png_size_t png_info_size)
|
||||
{
|
||||
/* We only come here via pre-1.0.12-compiled applications */
|
||||
if (png_ptr == NULL) return;
|
||||
#if !defined(PNG_NO_STDIO) && !defined(_WIN32_WCE)
|
||||
if (png_sizeof(png_struct) > png_struct_size ||
|
||||
png_sizeof(png_info) > png_info_size)
|
||||
{
|
||||
char msg[80];
|
||||
png_ptr->warning_fn = NULL;
|
||||
if (user_png_ver)
|
||||
{
|
||||
png_snprintf(msg, 80,
|
||||
"Application was compiled with png.h from libpng-%.20s",
|
||||
user_png_ver);
|
||||
png_warning(png_ptr, msg);
|
||||
}
|
||||
png_snprintf(msg, 80,
|
||||
"Application is running with png.c from libpng-%.20s",
|
||||
png_libpng_ver);
|
||||
png_warning(png_ptr, msg);
|
||||
}
|
||||
#endif
|
||||
if (png_sizeof(png_struct) > png_struct_size)
|
||||
{
|
||||
png_ptr->error_fn = NULL;
|
||||
#ifdef PNG_ERROR_NUMBERS_SUPPORTED
|
||||
png_ptr->flags = 0;
|
||||
#endif
|
||||
png_error(png_ptr,
|
||||
"The png struct allocated by the application for reading is too small.");
|
||||
}
|
||||
if (png_sizeof(png_info) > png_info_size)
|
||||
{
|
||||
png_ptr->error_fn = NULL;
|
||||
#ifdef PNG_ERROR_NUMBERS_SUPPORTED
|
||||
png_ptr->flags = 0;
|
||||
#endif
|
||||
png_error(png_ptr,
|
||||
"The info struct allocated by application for reading is too small.");
|
||||
}
|
||||
png_read_init_3(&png_ptr, user_png_ver, png_struct_size);
|
||||
}
|
||||
#endif /* PNG_1_0_X || PNG_1_2_X */
|
||||
|
||||
void PNGAPI
|
||||
png_read_init_3(png_structpp ptr_ptr, png_const_charp user_png_ver,
|
||||
@@ -196,13 +257,13 @@ png_read_init_3(png_structpp ptr_ptr, png_const_charp user_png_ver,
|
||||
#else
|
||||
png_ptr->warning_fn = NULL;
|
||||
png_warning(png_ptr,
|
||||
"Application uses deprecated png_read_init() and should be recompiled");
|
||||
"Application uses deprecated png_read_init() and should be recompiled.");
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
} while (png_libpng_ver[i++]);
|
||||
|
||||
png_debug(1, "in png_read_init_3");
|
||||
png_debug(1, "in png_read_init_3\n");
|
||||
|
||||
#ifdef PNG_SETJMP_SUPPORTED
|
||||
/* save jump buffer and error functions */
|
||||
@@ -233,7 +294,7 @@ png_read_init_3(png_structpp ptr_ptr, png_const_charp user_png_ver,
|
||||
/* initialize zbuf - compression buffer */
|
||||
png_ptr->zbuf_size = PNG_ZBUF_SIZE;
|
||||
png_ptr->zbuf = (png_bytep)png_malloc(png_ptr,
|
||||
png_ptr->zbuf_size);
|
||||
(png_uint_32)png_ptr->zbuf_size);
|
||||
png_ptr->zstream.zalloc = png_zalloc;
|
||||
png_ptr->zstream.zfree = png_zfree;
|
||||
png_ptr->zstream.opaque = (voidpf)png_ptr;
|
||||
@@ -250,7 +311,7 @@ png_read_init_3(png_structpp ptr_ptr, png_const_charp user_png_ver,
|
||||
png_ptr->zstream.next_out = png_ptr->zbuf;
|
||||
png_ptr->zstream.avail_out = (uInt)png_ptr->zbuf_size;
|
||||
|
||||
png_set_read_fn(png_ptr, NULL, NULL);
|
||||
png_set_read_fn(png_ptr, png_voidp_NULL, png_rw_ptr_NULL);
|
||||
}
|
||||
|
||||
#ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED
|
||||
@@ -266,17 +327,13 @@ void PNGAPI
|
||||
png_read_info(png_structp png_ptr, png_infop info_ptr)
|
||||
{
|
||||
if (png_ptr == NULL || info_ptr == NULL) return;
|
||||
png_debug(1, "in png_read_info");
|
||||
png_debug(1, "in png_read_info\n");
|
||||
/* If we haven't checked all of the PNG signature bytes, do so now. */
|
||||
if (png_ptr->sig_bytes < 8)
|
||||
{
|
||||
png_size_t num_checked = png_ptr->sig_bytes,
|
||||
num_to_check = 8 - num_checked;
|
||||
|
||||
#ifdef PNG_IO_STATE_SUPPORTED
|
||||
png_ptr->io_state = PNG_IO_READING | PNG_IO_SIGNATURE;
|
||||
#endif
|
||||
|
||||
png_read_data(png_ptr, &(info_ptr->signature[num_checked]), num_to_check);
|
||||
png_ptr->sig_bytes = 8;
|
||||
|
||||
@@ -476,7 +533,7 @@ png_read_info(png_structp png_ptr, png_infop info_ptr)
|
||||
void PNGAPI
|
||||
png_read_update_info(png_structp png_ptr, png_infop info_ptr)
|
||||
{
|
||||
png_debug(1, "in png_read_update_info");
|
||||
png_debug(1, "in png_read_update_info\n");
|
||||
if (png_ptr == NULL) return;
|
||||
if (!(png_ptr->flags & PNG_FLAG_ROW_INIT))
|
||||
png_read_start_row(png_ptr);
|
||||
@@ -495,7 +552,7 @@ png_read_update_info(png_structp png_ptr, png_infop info_ptr)
|
||||
void PNGAPI
|
||||
png_start_read_image(png_structp png_ptr)
|
||||
{
|
||||
png_debug(1, "in png_start_read_image");
|
||||
png_debug(1, "in png_start_read_image\n");
|
||||
if (png_ptr == NULL) return;
|
||||
if (!(png_ptr->flags & PNG_FLAG_ROW_INIT))
|
||||
png_read_start_row(png_ptr);
|
||||
@@ -514,8 +571,8 @@ png_read_row(png_structp png_ptr, png_bytep row, png_bytep dsp_row)
|
||||
#endif
|
||||
int ret;
|
||||
if (png_ptr == NULL) return;
|
||||
png_debug2(1, "in png_read_row (row %lu, pass %d)",
|
||||
(unsigned long) png_ptr->row_number, png_ptr->pass);
|
||||
png_debug2(1, "in png_read_row (row %lu, pass %d)\n",
|
||||
png_ptr->row_number, png_ptr->pass);
|
||||
if (!(png_ptr->flags & PNG_FLAG_ROW_INIT))
|
||||
png_read_start_row(png_ptr);
|
||||
if (png_ptr->row_number == 0 && png_ptr->pass == 0)
|
||||
@@ -523,31 +580,31 @@ png_read_row(png_structp png_ptr, png_bytep row, png_bytep dsp_row)
|
||||
/* check for transforms that have been set but were defined out */
|
||||
#if defined(PNG_WRITE_INVERT_SUPPORTED) && !defined(PNG_READ_INVERT_SUPPORTED)
|
||||
if (png_ptr->transformations & PNG_INVERT_MONO)
|
||||
png_warning(png_ptr, "PNG_READ_INVERT_SUPPORTED is not defined");
|
||||
png_warning(png_ptr, "PNG_READ_INVERT_SUPPORTED is not defined.");
|
||||
#endif
|
||||
#if defined(PNG_WRITE_FILLER_SUPPORTED) && !defined(PNG_READ_FILLER_SUPPORTED)
|
||||
if (png_ptr->transformations & PNG_FILLER)
|
||||
png_warning(png_ptr, "PNG_READ_FILLER_SUPPORTED is not defined");
|
||||
png_warning(png_ptr, "PNG_READ_FILLER_SUPPORTED is not defined.");
|
||||
#endif
|
||||
#if defined(PNG_WRITE_PACKSWAP_SUPPORTED) && !defined(PNG_READ_PACKSWAP_SUPPORTED)
|
||||
if (png_ptr->transformations & PNG_PACKSWAP)
|
||||
png_warning(png_ptr, "PNG_READ_PACKSWAP_SUPPORTED is not defined");
|
||||
png_warning(png_ptr, "PNG_READ_PACKSWAP_SUPPORTED is not defined.");
|
||||
#endif
|
||||
#if defined(PNG_WRITE_PACK_SUPPORTED) && !defined(PNG_READ_PACK_SUPPORTED)
|
||||
if (png_ptr->transformations & PNG_PACK)
|
||||
png_warning(png_ptr, "PNG_READ_PACK_SUPPORTED is not defined");
|
||||
png_warning(png_ptr, "PNG_READ_PACK_SUPPORTED is not defined.");
|
||||
#endif
|
||||
#if defined(PNG_WRITE_SHIFT_SUPPORTED) && !defined(PNG_READ_SHIFT_SUPPORTED)
|
||||
if (png_ptr->transformations & PNG_SHIFT)
|
||||
png_warning(png_ptr, "PNG_READ_SHIFT_SUPPORTED is not defined");
|
||||
png_warning(png_ptr, "PNG_READ_SHIFT_SUPPORTED is not defined.");
|
||||
#endif
|
||||
#if defined(PNG_WRITE_BGR_SUPPORTED) && !defined(PNG_READ_BGR_SUPPORTED)
|
||||
if (png_ptr->transformations & PNG_BGR)
|
||||
png_warning(png_ptr, "PNG_READ_BGR_SUPPORTED is not defined");
|
||||
png_warning(png_ptr, "PNG_READ_BGR_SUPPORTED is not defined.");
|
||||
#endif
|
||||
#if defined(PNG_WRITE_SWAP_SUPPORTED) && !defined(PNG_READ_SWAP_SUPPORTED)
|
||||
if (png_ptr->transformations & PNG_SWAP_BYTES)
|
||||
png_warning(png_ptr, "PNG_READ_SWAP_SUPPORTED is not defined");
|
||||
png_warning(png_ptr, "PNG_READ_SWAP_SUPPORTED is not defined.");
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -658,7 +715,7 @@ png_read_row(png_structp png_ptr, png_bytep row, png_bytep dsp_row)
|
||||
{
|
||||
if (png_ptr->zstream.avail_out || png_ptr->zstream.avail_in ||
|
||||
png_ptr->idat_size)
|
||||
png_benign_error(png_ptr, "Extra compressed data");
|
||||
png_error(png_ptr, "Extra compressed data");
|
||||
png_ptr->mode |= PNG_AFTER_IDAT;
|
||||
png_ptr->flags |= PNG_FLAG_ZLIB_FINISHED;
|
||||
break;
|
||||
@@ -682,7 +739,8 @@ png_read_row(png_structp png_ptr, png_bytep row, png_bytep dsp_row)
|
||||
png_ptr->row_buf + 1, png_ptr->prev_row + 1,
|
||||
(int)(png_ptr->row_buf[0]));
|
||||
|
||||
png_memcpy(png_ptr->prev_row, png_ptr->row_buf, png_ptr->rowbytes + 1);
|
||||
png_memcpy_check(png_ptr, png_ptr->prev_row, png_ptr->row_buf,
|
||||
png_ptr->rowbytes + 1);
|
||||
|
||||
#if defined(PNG_MNG_FEATURES_SUPPORTED)
|
||||
if ((png_ptr->mng_features_permitted & PNG_FLAG_MNG_FILTER_64) &&
|
||||
@@ -764,7 +822,7 @@ png_read_rows(png_structp png_ptr, png_bytepp row,
|
||||
png_bytepp rp;
|
||||
png_bytepp dp;
|
||||
|
||||
png_debug(1, "in png_read_rows");
|
||||
png_debug(1, "in png_read_rows\n");
|
||||
if (png_ptr == NULL) return;
|
||||
rp = row;
|
||||
dp = display_row;
|
||||
@@ -780,14 +838,14 @@ png_read_rows(png_structp png_ptr, png_bytepp row,
|
||||
for (i = 0; i < num_rows; i++)
|
||||
{
|
||||
png_bytep rptr = *rp;
|
||||
png_read_row(png_ptr, rptr, NULL);
|
||||
png_read_row(png_ptr, rptr, png_bytep_NULL);
|
||||
rp++;
|
||||
}
|
||||
else if (dp != NULL)
|
||||
for (i = 0; i < num_rows; i++)
|
||||
{
|
||||
png_bytep dptr = *dp;
|
||||
png_read_row(png_ptr, NULL, dptr);
|
||||
png_read_row(png_ptr, png_bytep_NULL, dptr);
|
||||
dp++;
|
||||
}
|
||||
}
|
||||
@@ -813,7 +871,7 @@ png_read_image(png_structp png_ptr, png_bytepp image)
|
||||
int pass, j;
|
||||
png_bytepp rp;
|
||||
|
||||
png_debug(1, "in png_read_image");
|
||||
png_debug(1, "in png_read_image\n");
|
||||
if (png_ptr == NULL) return;
|
||||
|
||||
#ifdef PNG_READ_INTERLACING_SUPPORTED
|
||||
@@ -821,7 +879,7 @@ png_read_image(png_structp png_ptr, png_bytepp image)
|
||||
#else
|
||||
if (png_ptr->interlaced)
|
||||
png_error(png_ptr,
|
||||
"Cannot read interlaced image -- interlace handler disabled");
|
||||
"Cannot read interlaced image -- interlace handler disabled.");
|
||||
pass = 1;
|
||||
#endif
|
||||
|
||||
@@ -834,7 +892,7 @@ png_read_image(png_structp png_ptr, png_bytepp image)
|
||||
rp = image;
|
||||
for (i = 0; i < image_height; i++)
|
||||
{
|
||||
png_read_row(png_ptr, *rp, NULL);
|
||||
png_read_row(png_ptr, *rp, png_bytep_NULL);
|
||||
rp++;
|
||||
}
|
||||
}
|
||||
@@ -849,7 +907,7 @@ png_read_image(png_structp png_ptr, png_bytepp image)
|
||||
void PNGAPI
|
||||
png_read_end(png_structp png_ptr, png_infop info_ptr)
|
||||
{
|
||||
png_debug(1, "in png_read_end");
|
||||
png_debug(1, "in png_read_end\n");
|
||||
if (png_ptr == NULL) return;
|
||||
png_crc_finish(png_ptr, 0); /* Finish off CRC from last IDAT chunk */
|
||||
|
||||
@@ -925,7 +983,7 @@ png_read_end(png_structp png_ptr, png_infop info_ptr)
|
||||
if (!png_memcmp(chunk_name, png_IDAT, 4))
|
||||
{
|
||||
if ((length > 0) || (png_ptr->mode & PNG_HAVE_CHUNK_AFTER_IDAT))
|
||||
png_benign_error(png_ptr, "Too many IDATs found");
|
||||
png_error(png_ptr, "Too many IDAT's found");
|
||||
}
|
||||
png_handle_unknown(png_ptr, info_ptr, length);
|
||||
if (!png_memcmp(chunk_name, png_PLTE, 4))
|
||||
@@ -938,7 +996,7 @@ png_read_end(png_structp png_ptr, png_infop info_ptr)
|
||||
* read, but not after other chunks have been read.
|
||||
*/
|
||||
if ((length > 0) || (png_ptr->mode & PNG_HAVE_CHUNK_AFTER_IDAT))
|
||||
png_benign_error(png_ptr, "Too many IDATs found");
|
||||
png_error(png_ptr, "Too many IDAT's found");
|
||||
png_crc_finish(png_ptr, length);
|
||||
}
|
||||
else if (!png_memcmp(chunk_name, png_PLTE, 4))
|
||||
@@ -1029,7 +1087,7 @@ png_destroy_read_struct(png_structpp png_ptr_ptr, png_infopp info_ptr_ptr,
|
||||
png_voidp mem_ptr = NULL;
|
||||
#endif
|
||||
|
||||
png_debug(1, "in png_destroy_read_struct");
|
||||
png_debug(1, "in png_destroy_read_struct\n");
|
||||
if (png_ptr_ptr != NULL)
|
||||
png_ptr = *png_ptr_ptr;
|
||||
if (png_ptr == NULL)
|
||||
@@ -1103,7 +1161,7 @@ png_read_destroy(png_structp png_ptr, png_infop info_ptr, png_infop end_info_ptr
|
||||
png_free_ptr free_fn;
|
||||
#endif
|
||||
|
||||
png_debug(1, "in png_read_destroy");
|
||||
png_debug(1, "in png_read_destroy\n");
|
||||
if (info_ptr != NULL)
|
||||
png_info_destroy(png_ptr, info_ptr);
|
||||
|
||||
|
||||
30
pngrio.c
30
pngrio.c
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngrio.c - functions for data input
|
||||
*
|
||||
* Last changed in libpng 1.4.0 [November 13, 2008]
|
||||
* Last changed in libpng 1.2.30 [August 15, 2008]
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2008 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
@@ -15,9 +15,9 @@
|
||||
* libpng use it at run time with png_set_read_fn(...).
|
||||
*/
|
||||
|
||||
#define PNG_INTERNAL
|
||||
#include "png.h"
|
||||
#if defined(PNG_READ_SUPPORTED)
|
||||
#include "pngpriv.h"
|
||||
|
||||
/* Read the data from whatever input you are using. The default routine
|
||||
reads from a file pointer. Note that this routine sometimes gets called
|
||||
@@ -27,7 +27,7 @@
|
||||
void /* PRIVATE */
|
||||
png_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
|
||||
{
|
||||
png_debug1(4, "reading %d bytes", (int)length);
|
||||
png_debug1(4, "reading %d bytes\n", (int)length);
|
||||
if (png_ptr->read_data_fn != NULL)
|
||||
(*(png_ptr->read_data_fn))(png_ptr, data, length);
|
||||
else
|
||||
@@ -49,7 +49,13 @@ png_default_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
|
||||
/* fread() returns 0 on error, so it is OK to store this in a png_size_t
|
||||
* instead of an int, which is what fread() actually returns.
|
||||
*/
|
||||
check = fread(data, 1, length, (png_FILE_p)png_ptr->io_ptr);
|
||||
#if defined(_WIN32_WCE)
|
||||
if ( !ReadFile((HANDLE)(png_ptr->io_ptr), data, length, &check, NULL) )
|
||||
check = 0;
|
||||
#else
|
||||
check = (png_size_t)fread(data, (png_size_t)1, length,
|
||||
(png_FILE_p)png_ptr->io_ptr);
|
||||
#endif
|
||||
|
||||
if (check != length)
|
||||
png_error(png_ptr, "Read Error");
|
||||
@@ -66,7 +72,7 @@ png_default_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
|
||||
static void PNGAPI
|
||||
png_default_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
|
||||
{
|
||||
png_size_t check;
|
||||
int check;
|
||||
png_byte *n_data;
|
||||
png_FILE_p io_ptr;
|
||||
|
||||
@@ -76,7 +82,12 @@ png_default_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
|
||||
io_ptr = (png_FILE_p)CVT_PTR(png_ptr->io_ptr);
|
||||
if ((png_bytep)n_data == data)
|
||||
{
|
||||
#if defined(_WIN32_WCE)
|
||||
if ( !ReadFile((HANDLE)(png_ptr->io_ptr), data, length, &check, NULL) )
|
||||
check = 0;
|
||||
#else
|
||||
check = fread(n_data, 1, length, io_ptr);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -87,7 +98,12 @@ png_default_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
|
||||
do
|
||||
{
|
||||
read = MIN(NEAR_BUF_SIZE, remaining);
|
||||
err = fread(buf, 1, read, io_ptr);
|
||||
#if defined(_WIN32_WCE)
|
||||
if ( !ReadFile((HANDLE)(io_ptr), buf, read, &err, NULL) )
|
||||
err = 0;
|
||||
#else
|
||||
err = fread(buf, (png_size_t)1, read, io_ptr);
|
||||
#endif
|
||||
png_memcpy(data, buf, read); /* copy far buffer to near buffer */
|
||||
if (err != read)
|
||||
break;
|
||||
@@ -140,7 +156,7 @@ png_set_read_fn(png_structp png_ptr, png_voidp io_ptr,
|
||||
png_warning(png_ptr,
|
||||
"It's an error to set both read_data_fn and write_data_fn in the ");
|
||||
png_warning(png_ptr,
|
||||
"same structure. Resetting write_data_fn to NULL");
|
||||
"same structure. Resetting write_data_fn to NULL.");
|
||||
}
|
||||
|
||||
#if defined(PNG_WRITE_FLUSH_SUPPORTED)
|
||||
|
||||
476
pngrtran.c
476
pngrtran.c
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngrtran.c - transforms the data in a row for PNG readers
|
||||
*
|
||||
* Last changed in libpng 1.4.0 [November 13, 2008]
|
||||
* Last changed in libpng 1.2.30 [August 15, 2008]
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2008 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
@@ -13,15 +13,15 @@
|
||||
* in pngtrans.c.
|
||||
*/
|
||||
|
||||
#define PNG_INTERNAL
|
||||
#include "png.h"
|
||||
#if defined(PNG_READ_SUPPORTED)
|
||||
#include "pngpriv.h"
|
||||
|
||||
/* Set the action on getting a CRC error for an ancillary or critical chunk. */
|
||||
void PNGAPI
|
||||
png_set_crc_action(png_structp png_ptr, int crit_action, int ancil_action)
|
||||
{
|
||||
png_debug(1, "in png_set_crc_action");
|
||||
png_debug(1, "in png_set_crc_action\n");
|
||||
/* Tell libpng how we react to CRC errors in critical chunks */
|
||||
if (png_ptr == NULL) return;
|
||||
switch (crit_action)
|
||||
@@ -39,7 +39,7 @@ png_set_crc_action(png_structp png_ptr, int crit_action, int ancil_action)
|
||||
break;
|
||||
case PNG_CRC_WARN_DISCARD: /* not a valid action for critical data */
|
||||
png_warning(png_ptr,
|
||||
"Can't discard critical data on CRC error");
|
||||
"Can't discard critical data on CRC error.");
|
||||
case PNG_CRC_ERROR_QUIT: /* error/quit */
|
||||
case PNG_CRC_DEFAULT:
|
||||
default:
|
||||
@@ -80,7 +80,7 @@ png_set_background(png_structp png_ptr,
|
||||
png_color_16p background_color, int background_gamma_code,
|
||||
int need_expand, double background_gamma)
|
||||
{
|
||||
png_debug(1, "in png_set_background");
|
||||
png_debug(1, "in png_set_background\n");
|
||||
if (png_ptr == NULL) return;
|
||||
if (background_gamma_code == PNG_BACKGROUND_GAMMA_UNKNOWN)
|
||||
{
|
||||
@@ -102,7 +102,7 @@ png_set_background(png_structp png_ptr,
|
||||
void PNGAPI
|
||||
png_set_strip_16(png_structp png_ptr)
|
||||
{
|
||||
png_debug(1, "in png_set_strip_16");
|
||||
png_debug(1, "in png_set_strip_16\n");
|
||||
if (png_ptr == NULL) return;
|
||||
png_ptr->transformations |= PNG_16_TO_8;
|
||||
}
|
||||
@@ -112,26 +112,12 @@ png_set_strip_16(png_structp png_ptr)
|
||||
void PNGAPI
|
||||
png_set_strip_alpha(png_structp png_ptr)
|
||||
{
|
||||
png_debug(1, "in png_set_strip_alpha");
|
||||
png_debug(1, "in png_set_strip_alpha\n");
|
||||
if (png_ptr == NULL) return;
|
||||
png_ptr->flags |= PNG_FLAG_STRIP_ALPHA;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_PREMULTIPLY_ALPHA_SUPPORTED)
|
||||
void PNGAPI
|
||||
png_set_premultiply_alpha(png_structp png_ptr)
|
||||
{
|
||||
png_debug(1, "in png_set_premultiply_alpha\n");
|
||||
if(png_ptr == NULL) return;
|
||||
png_ptr->transformations |=
|
||||
(PNG_PREMULTIPLY_ALPHA | PNG_EXPAND_tRNS);
|
||||
png_ptr->transformations |=
|
||||
PNG_EXPAND; /* This shouldn't be necessary */
|
||||
png_ptr->flags &= ~PNG_FLAG_ROW_INIT;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_DITHER_SUPPORTED)
|
||||
/* Dither file to 8 bit. Supply a palette, the current number
|
||||
* of elements in the palette, the maximum number of elements
|
||||
@@ -156,7 +142,7 @@ png_set_dither(png_structp png_ptr, png_colorp palette,
|
||||
int num_palette, int maximum_colors, png_uint_16p histogram,
|
||||
int full_dither)
|
||||
{
|
||||
png_debug(1, "in png_set_dither");
|
||||
png_debug(1, "in png_set_dither\n");
|
||||
if (png_ptr == NULL) return;
|
||||
png_ptr->transformations |= PNG_DITHER;
|
||||
|
||||
@@ -540,7 +526,7 @@ png_set_dither(png_structp png_ptr, png_colorp palette,
|
||||
void PNGAPI
|
||||
png_set_gamma(png_structp png_ptr, double scrn_gamma, double file_gamma)
|
||||
{
|
||||
png_debug(1, "in png_set_gamma");
|
||||
png_debug(1, "in png_set_gamma\n");
|
||||
if (png_ptr == NULL) return;
|
||||
if ((fabs(scrn_gamma * file_gamma - 1.0) > PNG_GAMMA_THRESHOLD) ||
|
||||
(png_ptr->color_type & PNG_COLOR_MASK_ALPHA) ||
|
||||
@@ -559,7 +545,7 @@ png_set_gamma(png_structp png_ptr, double scrn_gamma, double file_gamma)
|
||||
void PNGAPI
|
||||
png_set_expand(png_structp png_ptr)
|
||||
{
|
||||
png_debug(1, "in png_set_expand");
|
||||
png_debug(1, "in png_set_expand\n");
|
||||
if (png_ptr == NULL) return;
|
||||
png_ptr->transformations |= (PNG_EXPAND | PNG_EXPAND_tRNS);
|
||||
png_ptr->flags &= ~PNG_FLAG_ROW_INIT;
|
||||
@@ -586,29 +572,42 @@ png_set_expand(png_structp png_ptr)
|
||||
void PNGAPI
|
||||
png_set_palette_to_rgb(png_structp png_ptr)
|
||||
{
|
||||
png_debug(1, "in png_set_palette_to_rgb");
|
||||
png_debug(1, "in png_set_palette_to_rgb\n");
|
||||
if (png_ptr == NULL) return;
|
||||
png_ptr->transformations |= (PNG_EXPAND | PNG_EXPAND_tRNS);
|
||||
png_ptr->flags &= ~PNG_FLAG_ROW_INIT;
|
||||
}
|
||||
|
||||
#if !defined(PNG_1_0_X)
|
||||
/* Expand grayscale images of less than 8-bit depth to 8 bits. */
|
||||
void PNGAPI
|
||||
png_set_expand_gray_1_2_4_to_8(png_structp png_ptr)
|
||||
{
|
||||
png_debug(1, "in png_set_expand_gray_1_2_4_to_8");
|
||||
png_debug(1, "in png_set_expand_gray_1_2_4_to_8\n");
|
||||
if (png_ptr == NULL) return;
|
||||
png_ptr->transformations |= PNG_EXPAND;
|
||||
png_ptr->flags &= ~PNG_FLAG_ROW_INIT;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(PNG_1_0_X) || defined(PNG_1_2_X)
|
||||
/* Expand grayscale images of less than 8-bit depth to 8 bits. */
|
||||
/* Deprecated as of libpng-1.2.9 */
|
||||
void PNGAPI
|
||||
png_set_gray_1_2_4_to_8(png_structp png_ptr)
|
||||
{
|
||||
png_debug(1, "in png_set_gray_1_2_4_to_8\n");
|
||||
if (png_ptr == NULL) return;
|
||||
png_ptr->transformations |= (PNG_EXPAND | PNG_EXPAND_tRNS);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/* Expand tRNS chunks to alpha channels. */
|
||||
void PNGAPI
|
||||
png_set_tRNS_to_alpha(png_structp png_ptr)
|
||||
{
|
||||
png_debug(1, "in png_set_tRNS_to_alpha");
|
||||
png_debug(1, "in png_set_tRNS_to_alpha\n");
|
||||
png_ptr->transformations |= (PNG_EXPAND | PNG_EXPAND_tRNS);
|
||||
png_ptr->flags &= ~PNG_FLAG_ROW_INIT;
|
||||
}
|
||||
@@ -618,7 +617,7 @@ png_set_tRNS_to_alpha(png_structp png_ptr)
|
||||
void PNGAPI
|
||||
png_set_gray_to_rgb(png_structp png_ptr)
|
||||
{
|
||||
png_debug(1, "in png_set_gray_to_rgb");
|
||||
png_debug(1, "in png_set_gray_to_rgb\n");
|
||||
png_ptr->transformations |= PNG_GRAY_TO_RGB;
|
||||
png_ptr->flags &= ~PNG_FLAG_ROW_INIT;
|
||||
}
|
||||
@@ -645,7 +644,7 @@ void PNGAPI
|
||||
png_set_rgb_to_gray_fixed(png_structp png_ptr, int error_action,
|
||||
png_fixed_point red, png_fixed_point green)
|
||||
{
|
||||
png_debug(1, "in png_set_rgb_to_gray");
|
||||
png_debug(1, "in png_set_rgb_to_gray\n");
|
||||
if (png_ptr == NULL) return;
|
||||
switch(error_action)
|
||||
{
|
||||
@@ -661,7 +660,7 @@ png_set_rgb_to_gray_fixed(png_structp png_ptr, int error_action,
|
||||
#else
|
||||
{
|
||||
png_warning(png_ptr,
|
||||
"Cannot do RGB_TO_GRAY without EXPAND_SUPPORTED");
|
||||
"Cannot do RGB_TO_GRAY without EXPAND_SUPPORTED.");
|
||||
png_ptr->transformations &= ~PNG_RGB_TO_GRAY;
|
||||
}
|
||||
#endif
|
||||
@@ -698,7 +697,7 @@ void PNGAPI
|
||||
png_set_read_user_transform_fn(png_structp png_ptr, png_user_transform_ptr
|
||||
read_user_transform_fn)
|
||||
{
|
||||
png_debug(1, "in png_set_read_user_transform_fn");
|
||||
png_debug(1, "in png_set_read_user_transform_fn\n");
|
||||
if (png_ptr == NULL) return;
|
||||
#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED)
|
||||
png_ptr->transformations |= PNG_USER_TRANSFORM;
|
||||
@@ -718,7 +717,10 @@ png_set_read_user_transform_fn(png_structp png_ptr, png_user_transform_ptr
|
||||
void /* PRIVATE */
|
||||
png_init_read_transformations(png_structp png_ptr)
|
||||
{
|
||||
png_debug(1, "in png_init_read_transformations");
|
||||
png_debug(1, "in png_init_read_transformations\n");
|
||||
#if defined(PNG_USELESS_TESTS_SUPPORTED)
|
||||
if (png_ptr != NULL)
|
||||
#endif
|
||||
{
|
||||
#if defined(PNG_READ_BACKGROUND_SUPPORTED) || defined(PNG_READ_SHIFT_SUPPORTED) \
|
||||
|| defined(PNG_READ_GAMMA_SUPPORTED)
|
||||
@@ -766,9 +768,9 @@ png_init_read_transformations(png_structp png_ptr)
|
||||
= png_ptr->background.blue = png_ptr->background.gray;
|
||||
if (!(png_ptr->transformations & PNG_EXPAND_tRNS))
|
||||
{
|
||||
png_ptr->trans_color.gray *= (png_uint_16)0xff;
|
||||
png_ptr->trans_color.red = png_ptr->trans_color.green
|
||||
= png_ptr->trans_color.blue = png_ptr->trans_color.gray;
|
||||
png_ptr->trans_values.gray *= (png_uint_16)0xff;
|
||||
png_ptr->trans_values.red = png_ptr->trans_values.green
|
||||
= png_ptr->trans_values.blue = png_ptr->trans_values.gray;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
@@ -777,9 +779,9 @@ png_init_read_transformations(png_structp png_ptr)
|
||||
= png_ptr->background.blue = png_ptr->background.gray;
|
||||
if (!(png_ptr->transformations & PNG_EXPAND_tRNS))
|
||||
{
|
||||
png_ptr->trans_color.gray *= (png_uint_16)0x55;
|
||||
png_ptr->trans_color.red = png_ptr->trans_color.green
|
||||
= png_ptr->trans_color.blue = png_ptr->trans_color.gray;
|
||||
png_ptr->trans_values.gray *= (png_uint_16)0x55;
|
||||
png_ptr->trans_values.red = png_ptr->trans_values.green
|
||||
= png_ptr->trans_values.blue = png_ptr->trans_values.gray;
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
@@ -788,9 +790,9 @@ png_init_read_transformations(png_structp png_ptr)
|
||||
= png_ptr->background.blue = png_ptr->background.gray;
|
||||
if (!(png_ptr->transformations & PNG_EXPAND_tRNS))
|
||||
{
|
||||
png_ptr->trans_color.gray *= (png_uint_16)0x11;
|
||||
png_ptr->trans_color.red = png_ptr->trans_color.green
|
||||
= png_ptr->trans_color.blue = png_ptr->trans_color.gray;
|
||||
png_ptr->trans_values.gray *= (png_uint_16)0x11;
|
||||
png_ptr->trans_values.red = png_ptr->trans_values.green
|
||||
= png_ptr->trans_values.blue = png_ptr->trans_values.gray;
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
@@ -1122,7 +1124,7 @@ png_init_read_transformations(png_structp png_ptr)
|
||||
void /* PRIVATE */
|
||||
png_read_transform_info(png_structp png_ptr, png_infop info_ptr)
|
||||
{
|
||||
png_debug(1, "in png_read_transform_info");
|
||||
png_debug(1, "in png_read_transform_info\n");
|
||||
#if defined(PNG_READ_EXPAND_SUPPORTED)
|
||||
if (png_ptr->transformations & PNG_EXPAND)
|
||||
{
|
||||
@@ -1230,8 +1232,10 @@ png_read_transform_info(png_structp png_ptr, png_infop info_ptr)
|
||||
{
|
||||
info_ptr->channels++;
|
||||
/* if adding a true alpha channel not just filler */
|
||||
#if !defined(PNG_1_0_X)
|
||||
if (png_ptr->transformations & PNG_ADD_ALPHA)
|
||||
info_ptr->color_type |= PNG_COLOR_MASK_ALPHA;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1264,7 +1268,7 @@ defined(PNG_READ_USER_TRANSFORM_SUPPORTED)
|
||||
void /* PRIVATE */
|
||||
png_do_read_transformations(png_structp png_ptr)
|
||||
{
|
||||
png_debug(1, "in png_do_read_transformations");
|
||||
png_debug(1, "in png_do_read_transformations\n");
|
||||
if (png_ptr->row_buf == NULL)
|
||||
{
|
||||
#if !defined(PNG_NO_STDIO) && !defined(_WIN32_WCE)
|
||||
@@ -1303,7 +1307,7 @@ png_do_read_transformations(png_structp png_ptr)
|
||||
if (png_ptr->num_trans &&
|
||||
(png_ptr->transformations & PNG_EXPAND_tRNS))
|
||||
png_do_expand(&(png_ptr->row_info), png_ptr->row_buf + 1,
|
||||
&(png_ptr->trans_color));
|
||||
&(png_ptr->trans_values));
|
||||
else
|
||||
png_do_expand(&(png_ptr->row_info), png_ptr->row_buf + 1,
|
||||
NULL);
|
||||
@@ -1378,7 +1382,7 @@ From Andreas Dilger e-mail to png-implement, 26 March 1998:
|
||||
((png_ptr->num_trans != 0 ) ||
|
||||
(png_ptr->color_type & PNG_COLOR_MASK_ALPHA)))
|
||||
png_do_background(&(png_ptr->row_info), png_ptr->row_buf + 1,
|
||||
&(png_ptr->trans_color), &(png_ptr->background)
|
||||
&(png_ptr->trans_values), &(png_ptr->background)
|
||||
#if defined(PNG_READ_GAMMA_SUPPORTED)
|
||||
, &(png_ptr->background_1),
|
||||
png_ptr->gamma_table, png_ptr->gamma_from_1,
|
||||
@@ -1456,11 +1460,6 @@ From Andreas Dilger e-mail to png-implement, 26 March 1998:
|
||||
(png_uint_32)png_ptr->filler, png_ptr->flags);
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_PREMULTIPLY_ALPHA_SUPPORTED)
|
||||
if (png_ptr->transformations & PNG_PREMULTIPLY_ALPHA)
|
||||
png_do_read_premultiply_alpha(&(png_ptr->row_info), png_ptr->row_buf + 1);
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_INVERT_ALPHA_SUPPORTED)
|
||||
if (png_ptr->transformations & PNG_INVERT_ALPHA)
|
||||
png_do_read_invert_alpha(&(png_ptr->row_info), png_ptr->row_buf + 1);
|
||||
@@ -1515,8 +1514,12 @@ From Andreas Dilger e-mail to png-implement, 26 March 1998:
|
||||
void /* PRIVATE */
|
||||
png_do_unpack(png_row_infop row_info, png_bytep row)
|
||||
{
|
||||
png_debug(1, "in png_do_unpack");
|
||||
png_debug(1, "in png_do_unpack\n");
|
||||
#if defined(PNG_USELESS_TESTS_SUPPORTED)
|
||||
if (row != NULL && row_info != NULL && row_info->bit_depth < 8)
|
||||
#else
|
||||
if (row_info->bit_depth < 8)
|
||||
#endif
|
||||
{
|
||||
png_uint_32 i;
|
||||
png_uint_32 row_width=row_info->width;
|
||||
@@ -1601,8 +1604,11 @@ png_do_unpack(png_row_infop row_info, png_bytep row)
|
||||
void /* PRIVATE */
|
||||
png_do_unshift(png_row_infop row_info, png_bytep row, png_color_8p sig_bits)
|
||||
{
|
||||
png_debug(1, "in png_do_unshift");
|
||||
png_debug(1, "in png_do_unshift\n");
|
||||
if (
|
||||
#if defined(PNG_USELESS_TESTS_SUPPORTED)
|
||||
row != NULL && row_info != NULL && sig_bits != NULL &&
|
||||
#endif
|
||||
row_info->color_type != PNG_COLOR_TYPE_PALETTE)
|
||||
{
|
||||
int shift[4];
|
||||
@@ -1704,8 +1710,12 @@ png_do_unshift(png_row_infop row_info, png_bytep row, png_color_8p sig_bits)
|
||||
void /* PRIVATE */
|
||||
png_do_chop(png_row_infop row_info, png_bytep row)
|
||||
{
|
||||
png_debug(1, "in png_do_chop");
|
||||
png_debug(1, "in png_do_chop\n");
|
||||
#if defined(PNG_USELESS_TESTS_SUPPORTED)
|
||||
if (row != NULL && row_info != NULL && row_info->bit_depth == 16)
|
||||
#else
|
||||
if (row_info->bit_depth == 16)
|
||||
#endif
|
||||
{
|
||||
png_bytep sp = row;
|
||||
png_bytep dp = row;
|
||||
@@ -1754,7 +1764,10 @@ png_do_chop(png_row_infop row_info, png_bytep row)
|
||||
void /* PRIVATE */
|
||||
png_do_read_swap_alpha(png_row_infop row_info, png_bytep row)
|
||||
{
|
||||
png_debug(1, "in png_do_read_swap_alpha");
|
||||
png_debug(1, "in png_do_read_swap_alpha\n");
|
||||
#if defined(PNG_USELESS_TESTS_SUPPORTED)
|
||||
if (row != NULL && row_info != NULL)
|
||||
#endif
|
||||
{
|
||||
png_uint_32 row_width = row_info->width;
|
||||
if (row_info->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
|
||||
@@ -1843,7 +1856,10 @@ png_do_read_swap_alpha(png_row_infop row_info, png_bytep row)
|
||||
void /* PRIVATE */
|
||||
png_do_read_invert_alpha(png_row_infop row_info, png_bytep row)
|
||||
{
|
||||
png_debug(1, "in png_do_read_invert_alpha");
|
||||
png_debug(1, "in png_do_read_invert_alpha\n");
|
||||
#if defined(PNG_USELESS_TESTS_SUPPORTED)
|
||||
if (row != NULL && row_info != NULL)
|
||||
#endif
|
||||
{
|
||||
png_uint_32 row_width = row_info->width;
|
||||
if (row_info->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
|
||||
@@ -1934,84 +1950,6 @@ png_do_read_invert_alpha(png_row_infop row_info, png_bytep row)
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_PREMULTIPLY_ALPHA_SUPPORTED)
|
||||
void /* PRIVATE */
|
||||
png_do_read_premultiply_alpha(png_row_infop row_info, png_bytep row)
|
||||
{
|
||||
png_debug(1, "in png_do_read_premultiply_alpha\n");
|
||||
{
|
||||
png_uint_32 row_width = row_info->width;
|
||||
if (row_info->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
|
||||
{
|
||||
/* This premultiplies the pixels with the alpha channel in RGBA */
|
||||
if (row_info->bit_depth == 8)
|
||||
{
|
||||
png_bytep sp = row + row_info->rowbytes;
|
||||
png_bytep dp = sp;
|
||||
png_uint_16 a = 0;
|
||||
png_uint_32 i;
|
||||
|
||||
for (i = 0; i < row_width; i++)
|
||||
{
|
||||
a = *(--sp); --dp;
|
||||
|
||||
*(--dp) = (*(--sp) * a) / 255;
|
||||
*(--dp) = (*(--sp) * a) / 255;
|
||||
*(--dp) = (*(--sp) * a) / 255;
|
||||
}
|
||||
}
|
||||
/* This premultiplies the pixels with the alpha channel in RRGGBBAA */
|
||||
else
|
||||
{
|
||||
png_uint_16p sp = (png_uint_16p)(row + row_info->rowbytes);
|
||||
png_uint_16p dp = sp;
|
||||
png_uint_32 a = 0;
|
||||
png_uint_32 i;
|
||||
|
||||
for (i = 0; i < row_width; i++)
|
||||
{
|
||||
a = *(--sp); --dp;
|
||||
*(--dp) = (png_uint_16) ((*(--sp) * a) / 65535);
|
||||
*(--dp) = (png_uint_16) ((*(--sp) * a) / 65535);
|
||||
*(--dp) = (png_uint_16) ((*(--sp) * a) / 65535);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (row_info->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
|
||||
{
|
||||
/* This premultiplies the pixels with the alpha channel in GA */
|
||||
if (row_info->bit_depth == 8)
|
||||
{
|
||||
png_bytep sp = row + row_info->rowbytes;
|
||||
png_bytep dp = sp;
|
||||
png_uint_16 a = 0;
|
||||
png_uint_32 i;
|
||||
|
||||
for (i = 0; i < row_width; i++)
|
||||
{
|
||||
a = *(--sp); --dp;
|
||||
*(--dp) = (*(--sp) * a) / 255;
|
||||
}
|
||||
}
|
||||
/* This premultiplies the pixels with the alpha channel in GGAA */
|
||||
else
|
||||
{
|
||||
png_uint_16p sp = (png_uint_16p) (row + row_info->rowbytes);
|
||||
png_uint_16p dp = sp;
|
||||
png_uint_32 a = 0;
|
||||
png_uint_32 i;
|
||||
|
||||
for (i = 0; i < row_width; i++)
|
||||
{
|
||||
a = *(--sp); --dp;
|
||||
*(--dp) = (png_uint_16) ((*(--sp) * a) / 65535);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_FILLER_SUPPORTED)
|
||||
/* Add filler channel if we have RGB color */
|
||||
void /* PRIVATE */
|
||||
@@ -2024,8 +1962,11 @@ png_do_read_filler(png_row_infop row_info, png_bytep row,
|
||||
png_byte hi_filler = (png_byte)((filler>>8) & 0xff);
|
||||
png_byte lo_filler = (png_byte)(filler & 0xff);
|
||||
|
||||
png_debug(1, "in png_do_read_filler");
|
||||
png_debug(1, "in png_do_read_filler\n");
|
||||
if (
|
||||
#if defined(PNG_USELESS_TESTS_SUPPORTED)
|
||||
row != NULL && row_info != NULL &&
|
||||
#endif
|
||||
row_info->color_type == PNG_COLOR_TYPE_GRAY)
|
||||
{
|
||||
if (row_info->bit_depth == 8)
|
||||
@@ -2193,8 +2134,11 @@ png_do_gray_to_rgb(png_row_infop row_info, png_bytep row)
|
||||
png_uint_32 i;
|
||||
png_uint_32 row_width = row_info->width;
|
||||
|
||||
png_debug(1, "in png_do_gray_to_rgb");
|
||||
png_debug(1, "in png_do_gray_to_rgb\n");
|
||||
if (row_info->bit_depth >= 8 &&
|
||||
#if defined(PNG_USELESS_TESTS_SUPPORTED)
|
||||
row != NULL && row_info != NULL &&
|
||||
#endif
|
||||
!(row_info->color_type & PNG_COLOR_MASK_COLOR))
|
||||
{
|
||||
if (row_info->color_type == PNG_COLOR_TYPE_GRAY)
|
||||
@@ -2296,8 +2240,11 @@ png_do_rgb_to_gray(png_structp png_ptr, png_row_infop row_info, png_bytep row)
|
||||
png_uint_32 row_width = row_info->width;
|
||||
int rgb_error = 0;
|
||||
|
||||
png_debug(1, "in png_do_rgb_to_gray");
|
||||
png_debug(1, "in png_do_rgb_to_gray\n");
|
||||
if (
|
||||
#if defined(PNG_USELESS_TESTS_SUPPORTED)
|
||||
row != NULL && row_info != NULL &&
|
||||
#endif
|
||||
(row_info->color_type & PNG_COLOR_MASK_COLOR))
|
||||
{
|
||||
png_uint_32 rc = png_ptr->rgb_to_gray_red_coeff;
|
||||
@@ -2531,7 +2478,7 @@ png_build_grayscale_palette(int bit_depth, png_colorp palette)
|
||||
int i;
|
||||
int v;
|
||||
|
||||
png_debug(1, "in png_do_build_grayscale_palette");
|
||||
png_debug(1, "in png_do_build_grayscale_palette\n");
|
||||
if (palette == NULL)
|
||||
return;
|
||||
|
||||
@@ -2567,6 +2514,187 @@ png_build_grayscale_palette(int bit_depth, png_colorp palette)
|
||||
}
|
||||
}
|
||||
|
||||
/* This function is currently unused. Do we really need it? */
|
||||
#if defined(PNG_READ_DITHER_SUPPORTED) && defined(PNG_CORRECT_PALETTE_SUPPORTED)
|
||||
void /* PRIVATE */
|
||||
png_correct_palette(png_structp png_ptr, png_colorp palette,
|
||||
int num_palette)
|
||||
{
|
||||
png_debug(1, "in png_correct_palette\n");
|
||||
#if defined(PNG_READ_BACKGROUND_SUPPORTED) && \
|
||||
defined(PNG_READ_GAMMA_SUPPORTED) && defined(PNG_FLOATING_POINT_SUPPORTED)
|
||||
if (png_ptr->transformations & (PNG_GAMMA | PNG_BACKGROUND))
|
||||
{
|
||||
png_color back, back_1;
|
||||
|
||||
if (png_ptr->background_gamma_type == PNG_BACKGROUND_GAMMA_FILE)
|
||||
{
|
||||
back.red = png_ptr->gamma_table[png_ptr->background.red];
|
||||
back.green = png_ptr->gamma_table[png_ptr->background.green];
|
||||
back.blue = png_ptr->gamma_table[png_ptr->background.blue];
|
||||
|
||||
back_1.red = png_ptr->gamma_to_1[png_ptr->background.red];
|
||||
back_1.green = png_ptr->gamma_to_1[png_ptr->background.green];
|
||||
back_1.blue = png_ptr->gamma_to_1[png_ptr->background.blue];
|
||||
}
|
||||
else
|
||||
{
|
||||
double g;
|
||||
|
||||
g = 1.0 / (png_ptr->background_gamma * png_ptr->screen_gamma);
|
||||
|
||||
if (png_ptr->background_gamma_type == PNG_BACKGROUND_GAMMA_SCREEN ||
|
||||
fabs(g - 1.0) < PNG_GAMMA_THRESHOLD)
|
||||
{
|
||||
back.red = png_ptr->background.red;
|
||||
back.green = png_ptr->background.green;
|
||||
back.blue = png_ptr->background.blue;
|
||||
}
|
||||
else
|
||||
{
|
||||
back.red =
|
||||
(png_byte)(pow((double)png_ptr->background.red/255, g) *
|
||||
255.0 + 0.5);
|
||||
back.green =
|
||||
(png_byte)(pow((double)png_ptr->background.green/255, g) *
|
||||
255.0 + 0.5);
|
||||
back.blue =
|
||||
(png_byte)(pow((double)png_ptr->background.blue/255, g) *
|
||||
255.0 + 0.5);
|
||||
}
|
||||
|
||||
g = 1.0 / png_ptr->background_gamma;
|
||||
|
||||
back_1.red =
|
||||
(png_byte)(pow((double)png_ptr->background.red/255, g) *
|
||||
255.0 + 0.5);
|
||||
back_1.green =
|
||||
(png_byte)(pow((double)png_ptr->background.green/255, g) *
|
||||
255.0 + 0.5);
|
||||
back_1.blue =
|
||||
(png_byte)(pow((double)png_ptr->background.blue/255, g) *
|
||||
255.0 + 0.5);
|
||||
}
|
||||
|
||||
if (png_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
|
||||
{
|
||||
png_uint_32 i;
|
||||
|
||||
for (i = 0; i < (png_uint_32)num_palette; i++)
|
||||
{
|
||||
if (i < png_ptr->num_trans && png_ptr->trans[i] == 0)
|
||||
{
|
||||
palette[i] = back;
|
||||
}
|
||||
else if (i < png_ptr->num_trans && png_ptr->trans[i] != 0xff)
|
||||
{
|
||||
png_byte v, w;
|
||||
|
||||
v = png_ptr->gamma_to_1[png_ptr->palette[i].red];
|
||||
png_composite(w, v, png_ptr->trans[i], back_1.red);
|
||||
palette[i].red = png_ptr->gamma_from_1[w];
|
||||
|
||||
v = png_ptr->gamma_to_1[png_ptr->palette[i].green];
|
||||
png_composite(w, v, png_ptr->trans[i], back_1.green);
|
||||
palette[i].green = png_ptr->gamma_from_1[w];
|
||||
|
||||
v = png_ptr->gamma_to_1[png_ptr->palette[i].blue];
|
||||
png_composite(w, v, png_ptr->trans[i], back_1.blue);
|
||||
palette[i].blue = png_ptr->gamma_from_1[w];
|
||||
}
|
||||
else
|
||||
{
|
||||
palette[i].red = png_ptr->gamma_table[palette[i].red];
|
||||
palette[i].green = png_ptr->gamma_table[palette[i].green];
|
||||
palette[i].blue = png_ptr->gamma_table[palette[i].blue];
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < num_palette; i++)
|
||||
{
|
||||
if (palette[i].red == (png_byte)png_ptr->trans_values.gray)
|
||||
{
|
||||
palette[i] = back;
|
||||
}
|
||||
else
|
||||
{
|
||||
palette[i].red = png_ptr->gamma_table[palette[i].red];
|
||||
palette[i].green = png_ptr->gamma_table[palette[i].green];
|
||||
palette[i].blue = png_ptr->gamma_table[palette[i].blue];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
#endif
|
||||
#if defined(PNG_READ_GAMMA_SUPPORTED)
|
||||
if (png_ptr->transformations & PNG_GAMMA)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < num_palette; i++)
|
||||
{
|
||||
palette[i].red = png_ptr->gamma_table[palette[i].red];
|
||||
palette[i].green = png_ptr->gamma_table[palette[i].green];
|
||||
palette[i].blue = png_ptr->gamma_table[palette[i].blue];
|
||||
}
|
||||
}
|
||||
#if defined(PNG_READ_BACKGROUND_SUPPORTED)
|
||||
else
|
||||
#endif
|
||||
#endif
|
||||
#if defined(PNG_READ_BACKGROUND_SUPPORTED)
|
||||
if (png_ptr->transformations & PNG_BACKGROUND)
|
||||
{
|
||||
if (png_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
|
||||
{
|
||||
png_color back;
|
||||
|
||||
back.red = (png_byte)png_ptr->background.red;
|
||||
back.green = (png_byte)png_ptr->background.green;
|
||||
back.blue = (png_byte)png_ptr->background.blue;
|
||||
|
||||
for (i = 0; i < (int)png_ptr->num_trans; i++)
|
||||
{
|
||||
if (png_ptr->trans[i] == 0)
|
||||
{
|
||||
palette[i].red = back.red;
|
||||
palette[i].green = back.green;
|
||||
palette[i].blue = back.blue;
|
||||
}
|
||||
else if (png_ptr->trans[i] != 0xff)
|
||||
{
|
||||
png_composite(palette[i].red, png_ptr->palette[i].red,
|
||||
png_ptr->trans[i], back.red);
|
||||
png_composite(palette[i].green, png_ptr->palette[i].green,
|
||||
png_ptr->trans[i], back.green);
|
||||
png_composite(palette[i].blue, png_ptr->palette[i].blue,
|
||||
png_ptr->trans[i], back.blue);
|
||||
}
|
||||
}
|
||||
}
|
||||
else /* assume grayscale palette (what else could it be?) */
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < num_palette; i++)
|
||||
{
|
||||
if (i == (png_byte)png_ptr->trans_values.gray)
|
||||
{
|
||||
palette[i].red = (png_byte)png_ptr->background.red;
|
||||
palette[i].green = (png_byte)png_ptr->background.green;
|
||||
palette[i].blue = (png_byte)png_ptr->background.blue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_BACKGROUND_SUPPORTED)
|
||||
/* Replace any alpha or transparency with the supplied background color.
|
||||
@@ -2575,7 +2703,7 @@ png_build_grayscale_palette(int bit_depth, png_colorp palette)
|
||||
*/
|
||||
void /* PRIVATE */
|
||||
png_do_background(png_row_infop row_info, png_bytep row,
|
||||
png_color_16p trans_color, png_color_16p background
|
||||
png_color_16p trans_values, png_color_16p background
|
||||
#if defined(PNG_READ_GAMMA_SUPPORTED)
|
||||
, png_color_16p background_1,
|
||||
png_bytep gamma_table, png_bytep gamma_from_1, png_bytep gamma_to_1,
|
||||
@@ -2589,10 +2717,13 @@ png_do_background(png_row_infop row_info, png_bytep row,
|
||||
png_uint_32 row_width=row_info->width;
|
||||
int shift;
|
||||
|
||||
png_debug(1, "in png_do_background");
|
||||
png_debug(1, "in png_do_background\n");
|
||||
if (background != NULL &&
|
||||
#if defined(PNG_USELESS_TESTS_SUPPORTED)
|
||||
row != NULL && row_info != NULL &&
|
||||
#endif
|
||||
(!(row_info->color_type & PNG_COLOR_MASK_ALPHA) ||
|
||||
(row_info->color_type != PNG_COLOR_TYPE_PALETTE && trans_color)))
|
||||
(row_info->color_type != PNG_COLOR_TYPE_PALETTE && trans_values)))
|
||||
{
|
||||
switch (row_info->color_type)
|
||||
{
|
||||
@@ -2607,7 +2738,7 @@ png_do_background(png_row_infop row_info, png_bytep row,
|
||||
for (i = 0; i < row_width; i++)
|
||||
{
|
||||
if ((png_uint_16)((*sp >> shift) & 0x01)
|
||||
== trans_color->gray)
|
||||
== trans_values->gray)
|
||||
{
|
||||
*sp &= (png_byte)((0x7f7f >> (7 - shift)) & 0xff);
|
||||
*sp |= (png_byte)(background->gray << shift);
|
||||
@@ -2632,7 +2763,7 @@ png_do_background(png_row_infop row_info, png_bytep row,
|
||||
for (i = 0; i < row_width; i++)
|
||||
{
|
||||
if ((png_uint_16)((*sp >> shift) & 0x03)
|
||||
== trans_color->gray)
|
||||
== trans_values->gray)
|
||||
{
|
||||
*sp &= (png_byte)((0x3f3f >> (6 - shift)) & 0xff);
|
||||
*sp |= (png_byte)(background->gray << shift);
|
||||
@@ -2662,7 +2793,7 @@ png_do_background(png_row_infop row_info, png_bytep row,
|
||||
for (i = 0; i < row_width; i++)
|
||||
{
|
||||
if ((png_uint_16)((*sp >> shift) & 0x03)
|
||||
== trans_color->gray)
|
||||
== trans_values->gray)
|
||||
{
|
||||
*sp &= (png_byte)((0x3f3f >> (6 - shift)) & 0xff);
|
||||
*sp |= (png_byte)(background->gray << shift);
|
||||
@@ -2688,7 +2819,7 @@ png_do_background(png_row_infop row_info, png_bytep row,
|
||||
for (i = 0; i < row_width; i++)
|
||||
{
|
||||
if ((png_uint_16)((*sp >> shift) & 0x0f)
|
||||
== trans_color->gray)
|
||||
== trans_values->gray)
|
||||
{
|
||||
*sp &= (png_byte)((0xf0f >> (4 - shift)) & 0xff);
|
||||
*sp |= (png_byte)(background->gray << shift);
|
||||
@@ -2718,7 +2849,7 @@ png_do_background(png_row_infop row_info, png_bytep row,
|
||||
for (i = 0; i < row_width; i++)
|
||||
{
|
||||
if ((png_uint_16)((*sp >> shift) & 0x0f)
|
||||
== trans_color->gray)
|
||||
== trans_values->gray)
|
||||
{
|
||||
*sp &= (png_byte)((0xf0f >> (4 - shift)) & 0xff);
|
||||
*sp |= (png_byte)(background->gray << shift);
|
||||
@@ -2742,7 +2873,7 @@ png_do_background(png_row_infop row_info, png_bytep row,
|
||||
sp = row;
|
||||
for (i = 0; i < row_width; i++, sp++)
|
||||
{
|
||||
if (*sp == trans_color->gray)
|
||||
if (*sp == trans_values->gray)
|
||||
{
|
||||
*sp = (png_byte)background->gray;
|
||||
}
|
||||
@@ -2758,7 +2889,7 @@ png_do_background(png_row_infop row_info, png_bytep row,
|
||||
sp = row;
|
||||
for (i = 0; i < row_width; i++, sp++)
|
||||
{
|
||||
if (*sp == trans_color->gray)
|
||||
if (*sp == trans_values->gray)
|
||||
{
|
||||
*sp = (png_byte)background->gray;
|
||||
}
|
||||
@@ -2777,7 +2908,7 @@ png_do_background(png_row_infop row_info, png_bytep row,
|
||||
png_uint_16 v;
|
||||
|
||||
v = (png_uint_16)(((*sp) << 8) + *(sp + 1));
|
||||
if (v == trans_color->gray)
|
||||
if (v == trans_values->gray)
|
||||
{
|
||||
/* background is already in screen gamma */
|
||||
*sp = (png_byte)((background->gray >> 8) & 0xff);
|
||||
@@ -2800,7 +2931,7 @@ png_do_background(png_row_infop row_info, png_bytep row,
|
||||
png_uint_16 v;
|
||||
|
||||
v = (png_uint_16)(((*sp) << 8) + *(sp + 1));
|
||||
if (v == trans_color->gray)
|
||||
if (v == trans_values->gray)
|
||||
{
|
||||
*sp = (png_byte)((background->gray >> 8) & 0xff);
|
||||
*(sp + 1) = (png_byte)(background->gray & 0xff);
|
||||
@@ -2822,9 +2953,9 @@ png_do_background(png_row_infop row_info, png_bytep row,
|
||||
sp = row;
|
||||
for (i = 0; i < row_width; i++, sp += 3)
|
||||
{
|
||||
if (*sp == trans_color->red &&
|
||||
*(sp + 1) == trans_color->green &&
|
||||
*(sp + 2) == trans_color->blue)
|
||||
if (*sp == trans_values->red &&
|
||||
*(sp + 1) == trans_values->green &&
|
||||
*(sp + 2) == trans_values->blue)
|
||||
{
|
||||
*sp = (png_byte)background->red;
|
||||
*(sp + 1) = (png_byte)background->green;
|
||||
@@ -2844,9 +2975,9 @@ png_do_background(png_row_infop row_info, png_bytep row,
|
||||
sp = row;
|
||||
for (i = 0; i < row_width; i++, sp += 3)
|
||||
{
|
||||
if (*sp == trans_color->red &&
|
||||
*(sp + 1) == trans_color->green &&
|
||||
*(sp + 2) == trans_color->blue)
|
||||
if (*sp == trans_values->red &&
|
||||
*(sp + 1) == trans_values->green &&
|
||||
*(sp + 2) == trans_values->blue)
|
||||
{
|
||||
*sp = (png_byte)background->red;
|
||||
*(sp + 1) = (png_byte)background->green;
|
||||
@@ -2866,8 +2997,8 @@ png_do_background(png_row_infop row_info, png_bytep row,
|
||||
png_uint_16 r = (png_uint_16)(((*sp) << 8) + *(sp + 1));
|
||||
png_uint_16 g = (png_uint_16)(((*(sp+2)) << 8) + *(sp+3));
|
||||
png_uint_16 b = (png_uint_16)(((*(sp+4)) << 8) + *(sp+5));
|
||||
if (r == trans_color->red && g == trans_color->green &&
|
||||
b == trans_color->blue)
|
||||
if (r == trans_values->red && g == trans_values->green &&
|
||||
b == trans_values->blue)
|
||||
{
|
||||
/* background is already in screen gamma */
|
||||
*sp = (png_byte)((background->red >> 8) & 0xff);
|
||||
@@ -2901,8 +3032,8 @@ png_do_background(png_row_infop row_info, png_bytep row,
|
||||
png_uint_16 g = (png_uint_16)(((*(sp+2)) << 8) + *(sp+3));
|
||||
png_uint_16 b = (png_uint_16)(((*(sp+4)) << 8) + *(sp+5));
|
||||
|
||||
if (r == trans_color->red && g == trans_color->green &&
|
||||
b == trans_color->blue)
|
||||
if (r == trans_values->red && g == trans_values->green &&
|
||||
b == trans_values->blue)
|
||||
{
|
||||
*sp = (png_byte)((background->red >> 8) & 0xff);
|
||||
*(sp + 1) = (png_byte)(background->red & 0xff);
|
||||
@@ -3268,8 +3399,11 @@ png_do_gamma(png_row_infop row_info, png_bytep row,
|
||||
png_uint_32 i;
|
||||
png_uint_32 row_width=row_info->width;
|
||||
|
||||
png_debug(1, "in png_do_gamma");
|
||||
png_debug(1, "in png_do_gamma\n");
|
||||
if (
|
||||
#if defined(PNG_USELESS_TESTS_SUPPORTED)
|
||||
row != NULL && row_info != NULL &&
|
||||
#endif
|
||||
((row_info->bit_depth <= 8 && gamma_table != NULL) ||
|
||||
(row_info->bit_depth == 16 && gamma_16_table != NULL)))
|
||||
{
|
||||
@@ -3447,8 +3581,11 @@ png_do_expand_palette(png_row_infop row_info, png_bytep row,
|
||||
png_uint_32 i;
|
||||
png_uint_32 row_width=row_info->width;
|
||||
|
||||
png_debug(1, "in png_do_expand_palette");
|
||||
png_debug(1, "in png_do_expand_palette\n");
|
||||
if (
|
||||
#if defined(PNG_USELESS_TESTS_SUPPORTED)
|
||||
row != NULL && row_info != NULL &&
|
||||
#endif
|
||||
row_info->color_type == PNG_COLOR_TYPE_PALETTE)
|
||||
{
|
||||
if (row_info->bit_depth < 8)
|
||||
@@ -3587,7 +3724,10 @@ png_do_expand(png_row_infop row_info, png_bytep row,
|
||||
png_uint_32 i;
|
||||
png_uint_32 row_width=row_info->width;
|
||||
|
||||
png_debug(1, "in png_do_expand");
|
||||
png_debug(1, "in png_do_expand\n");
|
||||
#if defined(PNG_USELESS_TESTS_SUPPORTED)
|
||||
if (row != NULL && row_info != NULL)
|
||||
#endif
|
||||
{
|
||||
if (row_info->color_type == PNG_COLOR_TYPE_GRAY)
|
||||
{
|
||||
@@ -3790,7 +3930,10 @@ png_do_dither(png_row_infop row_info, png_bytep row,
|
||||
png_uint_32 i;
|
||||
png_uint_32 row_width=row_info->width;
|
||||
|
||||
png_debug(1, "in png_do_dither");
|
||||
png_debug(1, "in png_do_dither\n");
|
||||
#if defined(PNG_USELESS_TESTS_SUPPORTED)
|
||||
if (row != NULL && row_info != NULL)
|
||||
#endif
|
||||
{
|
||||
if (row_info->color_type == PNG_COLOR_TYPE_RGB &&
|
||||
palette_lookup && row_info->bit_depth == 8)
|
||||
@@ -3882,7 +4025,7 @@ static PNG_CONST int png_gamma_shift[] =
|
||||
void /* PRIVATE */
|
||||
png_build_gamma_table(png_structp png_ptr)
|
||||
{
|
||||
png_debug(1, "in png_build_gamma_table");
|
||||
png_debug(1, "in png_build_gamma_table\n");
|
||||
|
||||
if (png_ptr->bit_depth <= 8)
|
||||
{
|
||||
@@ -4095,8 +4238,11 @@ png_build_gamma_table(png_structp png_ptr)
|
||||
void /* PRIVATE */
|
||||
png_do_read_intrapixel(png_row_infop row_info, png_bytep row)
|
||||
{
|
||||
png_debug(1, "in png_do_read_intrapixel");
|
||||
png_debug(1, "in png_do_read_intrapixel\n");
|
||||
if (
|
||||
#if defined(PNG_USELESS_TESTS_SUPPORTED)
|
||||
row != NULL && row_info != NULL &&
|
||||
#endif
|
||||
(row_info->color_type & PNG_COLOR_MASK_COLOR))
|
||||
{
|
||||
int bytes_per_pixel;
|
||||
|
||||
358
pngrutil.c
358
pngrutil.c
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngrutil.c - utilities to read a PNG file
|
||||
*
|
||||
* Last changed in libpng 1.4.0 [November 13, 2008]
|
||||
* Last changed in libpng 1.2.31 [August 19, 2008]
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2008 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
@@ -11,20 +11,57 @@
|
||||
* libpng itself during the course of reading an image.
|
||||
*/
|
||||
|
||||
#define PNG_INTERNAL
|
||||
#include "png.h"
|
||||
#if defined(PNG_READ_SUPPORTED)
|
||||
#include "pngpriv.h"
|
||||
|
||||
#if defined(_WIN32_WCE) && (_WIN32_WCE<0x500)
|
||||
# define WIN32_WCE_OLD
|
||||
#endif
|
||||
|
||||
#ifdef PNG_FLOATING_POINT_SUPPORTED
|
||||
# if defined(WIN32_WCE_OLD)
|
||||
/* strtod() function is not supported on WindowsCE */
|
||||
__inline double png_strtod(png_structp png_ptr, PNG_CONST char *nptr, char **endptr)
|
||||
{
|
||||
double result = 0;
|
||||
int len;
|
||||
wchar_t *str, *end;
|
||||
|
||||
len = MultiByteToWideChar(CP_ACP, 0, nptr, -1, NULL, 0);
|
||||
str = (wchar_t *)png_malloc(png_ptr, len * png_sizeof(wchar_t));
|
||||
if ( NULL != str )
|
||||
{
|
||||
MultiByteToWideChar(CP_ACP, 0, nptr, -1, str, len);
|
||||
result = wcstod(str, &end);
|
||||
len = WideCharToMultiByte(CP_ACP, 0, end, -1, NULL, 0, NULL, NULL);
|
||||
*endptr = (char *)nptr + (png_strlen(nptr) - len + 1);
|
||||
png_free(png_ptr, str);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
# else
|
||||
# define png_strtod(p,a,b) strtod(a,b)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
png_uint_32 PNGAPI
|
||||
png_get_uint_31(png_structp png_ptr, png_bytep buf)
|
||||
{
|
||||
#ifdef PNG_READ_BIG_ENDIAN_SUPPORTED
|
||||
png_uint_32 i = png_get_uint_32(buf);
|
||||
#else
|
||||
/* Avoid an extra function call by inlining the result. */
|
||||
png_uint_32 i = ((png_uint_32)(*buf) << 24) +
|
||||
((png_uint_32)(*(buf + 1)) << 16) +
|
||||
((png_uint_32)(*(buf + 2)) << 8) +
|
||||
(png_uint_32)(*(buf + 3));
|
||||
#endif
|
||||
if (i > PNG_UINT_31_MAX)
|
||||
png_error(png_ptr, "PNG unsigned integer out of range");
|
||||
png_error(png_ptr, "PNG unsigned integer out of range.");
|
||||
return (i);
|
||||
}
|
||||
#ifndef PNG_USE_READ_MACROS
|
||||
#ifndef PNG_READ_BIG_ENDIAN_SUPPORTED
|
||||
/* Grab an unsigned 32-bit integer from a buffer in big-endian format. */
|
||||
png_uint_32 PNGAPI
|
||||
png_get_uint_32(png_bytep buf)
|
||||
@@ -60,7 +97,7 @@ png_get_uint_16(png_bytep buf)
|
||||
|
||||
return (i);
|
||||
}
|
||||
#endif /* PNG_USE_READ_MACROS */
|
||||
#endif /* PNG_READ_BIG_ENDIAN_SUPPORTED */
|
||||
|
||||
/* Read the chunk header (length + type name).
|
||||
* Put the type name into png_ptr->chunk_name, and return the length.
|
||||
@@ -71,13 +108,6 @@ png_read_chunk_header(png_structp png_ptr)
|
||||
png_byte buf[8];
|
||||
png_uint_32 length;
|
||||
|
||||
#ifdef PNG_IO_STATE_SUPPORTED
|
||||
/* Inform the I/O callback that the chunk header is being read.
|
||||
* PNG_IO_CHUNK_HDR requires a single I/O call.
|
||||
*/
|
||||
png_ptr->io_state = PNG_IO_READING | PNG_IO_CHUNK_HDR;
|
||||
#endif
|
||||
|
||||
/* read the length and the chunk name */
|
||||
png_read_data(png_ptr, buf, 8);
|
||||
length = png_get_uint_31(png_ptr, buf);
|
||||
@@ -85,7 +115,7 @@ png_read_chunk_header(png_structp png_ptr)
|
||||
/* put the chunk name into png_ptr->chunk_name */
|
||||
png_memcpy(png_ptr->chunk_name, buf + 4, 4);
|
||||
|
||||
png_debug2(0, "Reading %s chunk, length = %lu",
|
||||
png_debug2(0, "Reading %s chunk, length = %lu\n",
|
||||
png_ptr->chunk_name, length);
|
||||
|
||||
/* reset the crc and run it over the chunk name */
|
||||
@@ -95,13 +125,6 @@ png_read_chunk_header(png_structp png_ptr)
|
||||
/* check to see if chunk name is valid */
|
||||
png_check_chunk_name(png_ptr, png_ptr->chunk_name);
|
||||
|
||||
#ifdef PNG_IO_STATE_SUPPORTED
|
||||
/* Inform the I/O callback that chunk data will (possibly) be read.
|
||||
* PNG_IO_CHUNK_DATA does NOT require a specific number of I/O calls.
|
||||
*/
|
||||
png_ptr->io_state = PNG_IO_READING | PNG_IO_CHUNK_DATA;
|
||||
#endif
|
||||
|
||||
return length;
|
||||
}
|
||||
|
||||
@@ -144,8 +167,7 @@ png_crc_finish(png_structp png_ptr, png_uint_32 skip)
|
||||
}
|
||||
else
|
||||
{
|
||||
png_chunk_benign_error(png_ptr, "CRC error");
|
||||
return (0);
|
||||
png_chunk_error(png_ptr, "CRC error");
|
||||
}
|
||||
return (1);
|
||||
}
|
||||
@@ -174,12 +196,6 @@ png_crc_error(png_structp png_ptr)
|
||||
need_crc = 0;
|
||||
}
|
||||
|
||||
#ifdef PNG_IO_STATE_SUPPORTED
|
||||
/* inform the I/O callback that the chunk CRC is being read */
|
||||
/* PNG_IO_CHUNK_CRC requires the I/O to be done at once */
|
||||
png_ptr->io_state = PNG_IO_READING | PNG_IO_CHUNK_CRC;
|
||||
#endif
|
||||
|
||||
png_read_data(png_ptr, crc_bytes, 4);
|
||||
|
||||
if (need_crc)
|
||||
@@ -267,7 +283,7 @@ png_decompress_chunk(png_structp png_ptr, int comp_type,
|
||||
png_free(png_ptr, png_ptr->chunkdata);
|
||||
png_ptr->chunkdata = NULL;
|
||||
png_error(png_ptr,
|
||||
"Not enough memory to decompress chunk");
|
||||
"Not enough memory to decompress chunk.");
|
||||
}
|
||||
png_memcpy(text + prefix_size, png_ptr->zbuf,
|
||||
text_size - prefix_size);
|
||||
@@ -280,7 +296,7 @@ png_decompress_chunk(png_structp png_ptr, int comp_type,
|
||||
|
||||
tmp = text;
|
||||
text = (png_charp)png_malloc_warn(png_ptr,
|
||||
(png_size_t)(text_size +
|
||||
(png_uint_32)(text_size +
|
||||
png_ptr->zbuf_size - png_ptr->zstream.avail_out + 1));
|
||||
if (text == NULL)
|
||||
{
|
||||
@@ -288,7 +304,7 @@ png_decompress_chunk(png_structp png_ptr, int comp_type,
|
||||
png_free(png_ptr, png_ptr->chunkdata);
|
||||
png_ptr->chunkdata = NULL;
|
||||
png_error(png_ptr,
|
||||
"Not enough memory to decompress chunk");
|
||||
"Not enough memory to decompress chunk..");
|
||||
}
|
||||
png_memcpy(text, tmp, text_size);
|
||||
png_free(png_ptr, tmp);
|
||||
@@ -308,7 +324,7 @@ png_decompress_chunk(png_structp png_ptr, int comp_type,
|
||||
}
|
||||
if (ret != Z_STREAM_END)
|
||||
{
|
||||
#if !defined(PNG_NO_STDIO)
|
||||
#if !defined(PNG_NO_STDIO) && !defined(_WIN32_WCE)
|
||||
char umsg[52];
|
||||
|
||||
if (ret == Z_BUF_ERROR)
|
||||
@@ -336,7 +352,7 @@ png_decompress_chunk(png_structp png_ptr, int comp_type,
|
||||
{
|
||||
png_free(png_ptr, png_ptr->chunkdata);
|
||||
png_ptr->chunkdata = NULL;
|
||||
png_error(png_ptr, "Not enough memory for text");
|
||||
png_error(png_ptr, "Not enough memory for text.");
|
||||
}
|
||||
png_memcpy(text, png_ptr->chunkdata, prefix_size);
|
||||
}
|
||||
@@ -352,7 +368,7 @@ png_decompress_chunk(png_structp png_ptr, int comp_type,
|
||||
}
|
||||
else /* if (comp_type != PNG_COMPRESSION_TYPE_BASE) */
|
||||
{
|
||||
#if !defined(PNG_NO_STDIO)
|
||||
#if !defined(PNG_NO_STDIO) && !defined(_WIN32_WCE)
|
||||
char umsg[50];
|
||||
|
||||
png_snprintf(umsg, 50, "Unknown zTXt compression type %d", comp_type);
|
||||
@@ -376,7 +392,7 @@ png_handle_IHDR(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
int bit_depth, color_type, compression_type, filter_type;
|
||||
int interlace_type;
|
||||
|
||||
png_debug(1, "in png_handle_IHDR");
|
||||
png_debug(1, "in png_handle_IHDR\n");
|
||||
|
||||
if (png_ptr->mode & PNG_HAVE_IHDR)
|
||||
png_error(png_ptr, "Out of place IHDR");
|
||||
@@ -431,9 +447,9 @@ png_handle_IHDR(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
png_ptr->pixel_depth = (png_byte)(png_ptr->bit_depth *
|
||||
png_ptr->channels);
|
||||
png_ptr->rowbytes = PNG_ROWBYTES(png_ptr->pixel_depth, png_ptr->width);
|
||||
png_debug1(3, "bit_depth = %d", png_ptr->bit_depth);
|
||||
png_debug1(3, "channels = %d", png_ptr->channels);
|
||||
png_debug1(3, "rowbytes = %lu", png_ptr->rowbytes);
|
||||
png_debug1(3, "bit_depth = %d\n", png_ptr->bit_depth);
|
||||
png_debug1(3, "channels = %d\n", png_ptr->channels);
|
||||
png_debug1(3, "rowbytes = %lu\n", png_ptr->rowbytes);
|
||||
png_set_IHDR(png_ptr, info_ptr, width, height, bit_depth,
|
||||
color_type, interlace_type, compression_type, filter_type);
|
||||
}
|
||||
@@ -448,7 +464,7 @@ png_handle_PLTE(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
png_colorp pal_ptr;
|
||||
#endif
|
||||
|
||||
png_debug(1, "in png_handle_PLTE");
|
||||
png_debug(1, "in png_handle_PLTE\n");
|
||||
|
||||
if (!(png_ptr->mode & PNG_HAVE_IHDR))
|
||||
png_error(png_ptr, "Missing IHDR before PLTE");
|
||||
@@ -538,7 +554,7 @@ png_handle_PLTE(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
{
|
||||
if (png_ptr->flags & PNG_FLAG_CRC_ANCILLARY_NOWARN)
|
||||
{
|
||||
png_chunk_benign_error(png_ptr, "CRC error");
|
||||
png_chunk_error(png_ptr, "CRC error");
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -580,7 +596,7 @@ png_handle_PLTE(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
void /* PRIVATE */
|
||||
png_handle_IEND(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
{
|
||||
png_debug(1, "in png_handle_IEND");
|
||||
png_debug(1, "in png_handle_IEND\n");
|
||||
|
||||
if (!(png_ptr->mode & PNG_HAVE_IHDR) || !(png_ptr->mode & PNG_HAVE_IDAT))
|
||||
{
|
||||
@@ -608,7 +624,7 @@ png_handle_gAMA(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
#endif
|
||||
png_byte buf[4];
|
||||
|
||||
png_debug(1, "in png_handle_gAMA");
|
||||
png_debug(1, "in png_handle_gAMA\n");
|
||||
|
||||
if (!(png_ptr->mode & PNG_HAVE_IHDR))
|
||||
png_error(png_ptr, "Missing IHDR before gAMA");
|
||||
@@ -686,7 +702,7 @@ png_handle_sBIT(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
png_size_t truelen;
|
||||
png_byte buf[4];
|
||||
|
||||
png_debug(1, "in png_handle_sBIT");
|
||||
png_debug(1, "in png_handle_sBIT\n");
|
||||
|
||||
buf[0] = buf[1] = buf[2] = buf[3] = 0;
|
||||
|
||||
@@ -758,7 +774,7 @@ png_handle_cHRM(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
|
||||
png_uint_32 uint_x, uint_y;
|
||||
|
||||
png_debug(1, "in png_handle_cHRM");
|
||||
png_debug(1, "in png_handle_cHRM\n");
|
||||
|
||||
if (!(png_ptr->mode & PNG_HAVE_IHDR))
|
||||
png_error(png_ptr, "Missing IHDR before cHRM");
|
||||
@@ -796,21 +812,42 @@ png_handle_cHRM(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
|
||||
uint_x = png_get_uint_32(buf);
|
||||
uint_y = png_get_uint_32(buf + 4);
|
||||
if (uint_x > 80000L || uint_y > 80000L ||
|
||||
uint_x + uint_y > 100000L)
|
||||
{
|
||||
png_warning(png_ptr, "Invalid cHRM white point");
|
||||
return;
|
||||
}
|
||||
int_x_white = (png_fixed_point)uint_x;
|
||||
int_y_white = (png_fixed_point)uint_y;
|
||||
|
||||
uint_x = png_get_uint_32(buf + 8);
|
||||
uint_y = png_get_uint_32(buf + 12);
|
||||
if (uint_x + uint_y > 100000L)
|
||||
{
|
||||
png_warning(png_ptr, "Invalid cHRM red point");
|
||||
return;
|
||||
}
|
||||
int_x_red = (png_fixed_point)uint_x;
|
||||
int_y_red = (png_fixed_point)uint_y;
|
||||
|
||||
uint_x = png_get_uint_32(buf + 16);
|
||||
uint_y = png_get_uint_32(buf + 20);
|
||||
if (uint_x + uint_y > 100000L)
|
||||
{
|
||||
png_warning(png_ptr, "Invalid cHRM green point");
|
||||
return;
|
||||
}
|
||||
int_x_green = (png_fixed_point)uint_x;
|
||||
int_y_green = (png_fixed_point)uint_y;
|
||||
|
||||
uint_x = png_get_uint_32(buf + 24);
|
||||
uint_y = png_get_uint_32(buf + 28);
|
||||
if (uint_x + uint_y > 100000L)
|
||||
{
|
||||
png_warning(png_ptr, "Invalid cHRM blue point");
|
||||
return;
|
||||
}
|
||||
int_x_blue = (png_fixed_point)uint_x;
|
||||
int_y_blue = (png_fixed_point)uint_y;
|
||||
|
||||
@@ -876,7 +913,7 @@ png_handle_sRGB(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
int intent;
|
||||
png_byte buf[1];
|
||||
|
||||
png_debug(1, "in png_handle_sRGB");
|
||||
png_debug(1, "in png_handle_sRGB\n");
|
||||
|
||||
if (!(png_ptr->mode & PNG_HAVE_IHDR))
|
||||
png_error(png_ptr, "Missing IHDR before sRGB");
|
||||
@@ -979,7 +1016,7 @@ png_handle_iCCP(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
png_uint_32 profile_size, profile_length;
|
||||
png_size_t slength, prefix_length, data_length;
|
||||
|
||||
png_debug(1, "in png_handle_iCCP");
|
||||
png_debug(1, "in png_handle_iCCP\n");
|
||||
|
||||
if (!(png_ptr->mode & PNG_HAVE_IHDR))
|
||||
png_error(png_ptr, "Missing IHDR before iCCP");
|
||||
@@ -1075,7 +1112,7 @@ png_handle_iCCP(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
{
|
||||
png_free(png_ptr, png_ptr->chunkdata);
|
||||
png_ptr->chunkdata = NULL;
|
||||
png_warning(png_ptr, "Ignoring truncated iCCP profile");
|
||||
png_warning(png_ptr, "Ignoring truncated iCCP profile.");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1100,25 +1137,7 @@ png_handle_sPLT(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
png_uint_32 skip = 0;
|
||||
png_size_t slength;
|
||||
|
||||
png_debug(1, "in png_handle_sPLT");
|
||||
|
||||
#ifdef PNG_SET_USER_LIMITS_SUPPORTED
|
||||
|
||||
if (png_ptr->user_chunk_cache_max != 0)
|
||||
{
|
||||
if (png_ptr->user_chunk_cache_max == 1)
|
||||
{
|
||||
png_crc_finish(png_ptr, length);
|
||||
return;
|
||||
}
|
||||
if (--png_ptr->user_chunk_cache_max == 1)
|
||||
{
|
||||
png_warning(png_ptr, "No space in chunk cache for sPLT");
|
||||
png_crc_finish(png_ptr, length);
|
||||
return;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
png_debug(1, "in png_handle_sPLT\n");
|
||||
|
||||
if (!(png_ptr->mode & PNG_HAVE_IHDR))
|
||||
png_error(png_ptr, "Missing IHDR before sPLT");
|
||||
@@ -1254,7 +1273,7 @@ png_handle_tRNS(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
{
|
||||
png_byte readbuf[PNG_MAX_PALETTE_LENGTH];
|
||||
|
||||
png_debug(1, "in png_handle_tRNS");
|
||||
png_debug(1, "in png_handle_tRNS\n");
|
||||
|
||||
if (!(png_ptr->mode & PNG_HAVE_IHDR))
|
||||
png_error(png_ptr, "Missing IHDR before tRNS");
|
||||
@@ -1284,7 +1303,7 @@ png_handle_tRNS(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
|
||||
png_crc_read(png_ptr, buf, 2);
|
||||
png_ptr->num_trans = 1;
|
||||
png_ptr->trans_color.gray = png_get_uint_16(buf);
|
||||
png_ptr->trans_values.gray = png_get_uint_16(buf);
|
||||
}
|
||||
else if (png_ptr->color_type == PNG_COLOR_TYPE_RGB)
|
||||
{
|
||||
@@ -1298,9 +1317,9 @@ png_handle_tRNS(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
}
|
||||
png_crc_read(png_ptr, buf, (png_size_t)length);
|
||||
png_ptr->num_trans = 1;
|
||||
png_ptr->trans_color.red = png_get_uint_16(buf);
|
||||
png_ptr->trans_color.green = png_get_uint_16(buf + 2);
|
||||
png_ptr->trans_color.blue = png_get_uint_16(buf + 4);
|
||||
png_ptr->trans_values.red = png_get_uint_16(buf);
|
||||
png_ptr->trans_values.green = png_get_uint_16(buf + 2);
|
||||
png_ptr->trans_values.blue = png_get_uint_16(buf + 4);
|
||||
}
|
||||
else if (png_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
|
||||
{
|
||||
@@ -1339,7 +1358,7 @@ png_handle_tRNS(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
}
|
||||
|
||||
png_set_tRNS(png_ptr, info_ptr, readbuf, png_ptr->num_trans,
|
||||
&(png_ptr->trans_color));
|
||||
&(png_ptr->trans_values));
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1350,7 +1369,7 @@ png_handle_bKGD(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
png_size_t truelen;
|
||||
png_byte buf[6];
|
||||
|
||||
png_debug(1, "in png_handle_bKGD");
|
||||
png_debug(1, "in png_handle_bKGD\n");
|
||||
|
||||
if (!(png_ptr->mode & PNG_HAVE_IHDR))
|
||||
png_error(png_ptr, "Missing IHDR before bKGD");
|
||||
@@ -1439,7 +1458,7 @@ png_handle_hIST(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
unsigned int num, i;
|
||||
png_uint_16 readbuf[PNG_MAX_PALETTE_LENGTH];
|
||||
|
||||
png_debug(1, "in png_handle_hIST");
|
||||
png_debug(1, "in png_handle_hIST\n");
|
||||
|
||||
if (!(png_ptr->mode & PNG_HAVE_IHDR))
|
||||
png_error(png_ptr, "Missing IHDR before hIST");
|
||||
@@ -1494,7 +1513,7 @@ png_handle_pHYs(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
png_uint_32 res_x, res_y;
|
||||
int unit_type;
|
||||
|
||||
png_debug(1, "in png_handle_pHYs");
|
||||
png_debug(1, "in png_handle_pHYs\n");
|
||||
|
||||
if (!(png_ptr->mode & PNG_HAVE_IHDR))
|
||||
png_error(png_ptr, "Missing IHDR before pHYs");
|
||||
@@ -1537,7 +1556,7 @@ png_handle_oFFs(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
png_int_32 offset_x, offset_y;
|
||||
int unit_type;
|
||||
|
||||
png_debug(1, "in png_handle_oFFs");
|
||||
png_debug(1, "in png_handle_oFFs\n");
|
||||
|
||||
if (!(png_ptr->mode & PNG_HAVE_IHDR))
|
||||
png_error(png_ptr, "Missing IHDR before oFFs");
|
||||
@@ -1584,7 +1603,7 @@ png_handle_pCAL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
png_size_t slength;
|
||||
int i;
|
||||
|
||||
png_debug(1, "in png_handle_pCAL");
|
||||
png_debug(1, "in png_handle_pCAL\n");
|
||||
|
||||
if (!(png_ptr->mode & PNG_HAVE_IHDR))
|
||||
png_error(png_ptr, "Missing IHDR before pCAL");
|
||||
@@ -1601,13 +1620,13 @@ png_handle_pCAL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
return;
|
||||
}
|
||||
|
||||
png_debug1(2, "Allocating and reading pCAL chunk data (%lu bytes)",
|
||||
png_debug1(2, "Allocating and reading pCAL chunk data (%lu bytes)\n",
|
||||
length + 1);
|
||||
png_free(png_ptr, png_ptr->chunkdata);
|
||||
png_ptr->chunkdata = (png_charp)png_malloc_warn(png_ptr, length + 1);
|
||||
if (png_ptr->chunkdata == NULL)
|
||||
{
|
||||
png_warning(png_ptr, "No memory for pCAL purpose");
|
||||
png_warning(png_ptr, "No memory for pCAL purpose.");
|
||||
return;
|
||||
}
|
||||
slength = (png_size_t)length;
|
||||
@@ -1622,7 +1641,7 @@ png_handle_pCAL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
|
||||
png_ptr->chunkdata[slength] = 0x00; /* null terminate the last string */
|
||||
|
||||
png_debug(3, "Finding end of pCAL purpose string");
|
||||
png_debug(3, "Finding end of pCAL purpose string\n");
|
||||
for (buf = png_ptr->chunkdata; *buf; buf++)
|
||||
/* empty loop */ ;
|
||||
|
||||
@@ -1638,14 +1657,14 @@ png_handle_pCAL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
return;
|
||||
}
|
||||
|
||||
png_debug(3, "Reading pCAL X0, X1, type, nparams, and units");
|
||||
png_debug(3, "Reading pCAL X0, X1, type, nparams, and units\n");
|
||||
X0 = png_get_int_32((png_bytep)buf+1);
|
||||
X1 = png_get_int_32((png_bytep)buf+5);
|
||||
type = buf[9];
|
||||
nparams = buf[10];
|
||||
units = buf + 11;
|
||||
|
||||
png_debug(3, "Checking pCAL equation type and number of parameters");
|
||||
png_debug(3, "Checking pCAL equation type and number of parameters\n");
|
||||
/* Check that we have the right number of parameters for known
|
||||
equation types. */
|
||||
if ((type == PNG_EQUATION_LINEAR && nparams != 2) ||
|
||||
@@ -1666,14 +1685,14 @@ png_handle_pCAL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
for (buf = units; *buf; buf++)
|
||||
/* Empty loop to move past the units string. */ ;
|
||||
|
||||
png_debug(3, "Allocating pCAL parameters array");
|
||||
png_debug(3, "Allocating pCAL parameters array\n");
|
||||
params = (png_charpp)png_malloc_warn(png_ptr,
|
||||
(png_size_t)(nparams * png_sizeof(png_charp)));
|
||||
(png_uint_32)(nparams * png_sizeof(png_charp))) ;
|
||||
if (params == NULL)
|
||||
{
|
||||
png_free(png_ptr, png_ptr->chunkdata);
|
||||
png_ptr->chunkdata = NULL;
|
||||
png_warning(png_ptr, "No memory for pCAL params");
|
||||
png_warning(png_ptr, "No memory for pCAL params.");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1682,7 +1701,7 @@ png_handle_pCAL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
{
|
||||
buf++; /* Skip the null string terminator from previous parameter. */
|
||||
|
||||
png_debug1(3, "Reading pCAL parameter %d", i);
|
||||
png_debug1(3, "Reading pCAL parameter %d\n", i);
|
||||
for (params[i] = buf; buf <= endptr && *buf != 0x00; buf++)
|
||||
/* Empty loop to move past each parameter string */ ;
|
||||
|
||||
@@ -1722,7 +1741,7 @@ png_handle_sCAL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
#endif
|
||||
png_size_t slength;
|
||||
|
||||
png_debug(1, "in png_handle_sCAL");
|
||||
png_debug(1, "in png_handle_sCAL\n");
|
||||
|
||||
if (!(png_ptr->mode & PNG_HAVE_IHDR))
|
||||
png_error(png_ptr, "Missing IHDR before sCAL");
|
||||
@@ -1739,7 +1758,7 @@ png_handle_sCAL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
return;
|
||||
}
|
||||
|
||||
png_debug1(2, "Allocating and reading sCAL chunk data (%lu bytes)",
|
||||
png_debug1(2, "Allocating and reading sCAL chunk data (%lu bytes)\n",
|
||||
length + 1);
|
||||
png_ptr->chunkdata = (png_charp)png_malloc_warn(png_ptr, length + 1);
|
||||
if (png_ptr->chunkdata == NULL)
|
||||
@@ -1776,7 +1795,7 @@ png_handle_sCAL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
png_warning(png_ptr, "Out of memory while processing sCAL chunk width");
|
||||
return;
|
||||
}
|
||||
png_memcpy(swidth, ep, png_strlen(ep));
|
||||
png_memcpy(swidth, ep, (png_size_t)png_strlen(ep));
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -1811,7 +1830,7 @@ png_handle_sCAL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
png_warning(png_ptr, "Out of memory while processing sCAL chunk height");
|
||||
return;
|
||||
}
|
||||
png_memcpy(sheight, ep, png_strlen(ep));
|
||||
png_memcpy(sheight, ep, (png_size_t)png_strlen(ep));
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -1856,7 +1875,7 @@ png_handle_tIME(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
png_byte buf[7];
|
||||
png_time mod_time;
|
||||
|
||||
png_debug(1, "in png_handle_tIME");
|
||||
png_debug(1, "in png_handle_tIME\n");
|
||||
|
||||
if (!(png_ptr->mode & PNG_HAVE_IHDR))
|
||||
png_error(png_ptr, "Out of place tIME chunk");
|
||||
@@ -1904,24 +1923,7 @@ png_handle_tEXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
png_size_t slength;
|
||||
int ret;
|
||||
|
||||
png_debug(1, "in png_handle_tEXt");
|
||||
|
||||
#ifdef PNG_SET_USER_LIMITS_SUPPORTED
|
||||
if (png_ptr->user_chunk_cache_max != 0)
|
||||
{
|
||||
if (png_ptr->user_chunk_cache_max == 1)
|
||||
{
|
||||
png_crc_finish(png_ptr, length);
|
||||
return;
|
||||
}
|
||||
if (--png_ptr->user_chunk_cache_max == 1)
|
||||
{
|
||||
png_warning(png_ptr, "No space in chunk cache for tEXt");
|
||||
png_crc_finish(png_ptr, length);
|
||||
return;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
png_debug(1, "in png_handle_tEXt\n");
|
||||
|
||||
if (!(png_ptr->mode & PNG_HAVE_IHDR))
|
||||
png_error(png_ptr, "Missing IHDR before tEXt");
|
||||
@@ -1938,26 +1940,21 @@ png_handle_tEXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
}
|
||||
#endif
|
||||
|
||||
png_free(png_ptr, png_ptr->chunkdata);
|
||||
|
||||
png_ptr->chunkdata = (png_charp)png_malloc_warn(png_ptr, length + 1);
|
||||
if (png_ptr->chunkdata == NULL)
|
||||
key = (png_charp)png_malloc_warn(png_ptr, length + 1);
|
||||
if (key == NULL)
|
||||
{
|
||||
png_warning(png_ptr, "No memory to process text chunk");
|
||||
png_warning(png_ptr, "No memory to process text chunk.");
|
||||
return;
|
||||
}
|
||||
slength = (png_size_t)length;
|
||||
png_crc_read(png_ptr, (png_bytep)png_ptr->chunkdata, slength);
|
||||
png_crc_read(png_ptr, (png_bytep)key, slength);
|
||||
|
||||
if (png_crc_finish(png_ptr, skip))
|
||||
{
|
||||
png_free(png_ptr, png_ptr->chunkdata);
|
||||
png_ptr->chunkdata = NULL;
|
||||
png_free(png_ptr, key);
|
||||
return;
|
||||
}
|
||||
|
||||
key = png_ptr->chunkdata;
|
||||
|
||||
key[slength] = 0x00;
|
||||
|
||||
for (text = key; *text; text++)
|
||||
@@ -1967,12 +1964,11 @@ png_handle_tEXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
text++;
|
||||
|
||||
text_ptr = (png_textp)png_malloc_warn(png_ptr,
|
||||
png_sizeof(png_text));
|
||||
(png_uint_32)png_sizeof(png_text));
|
||||
if (text_ptr == NULL)
|
||||
{
|
||||
png_warning(png_ptr, "Not enough memory to process text chunk");
|
||||
png_free(png_ptr, png_ptr->chunkdata);
|
||||
png_ptr->chunkdata = NULL;
|
||||
png_warning(png_ptr, "Not enough memory to process text chunk.");
|
||||
png_free(png_ptr, key);
|
||||
return;
|
||||
}
|
||||
text_ptr->compression = PNG_TEXT_COMPRESSION_NONE;
|
||||
@@ -1987,11 +1983,10 @@ png_handle_tEXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
|
||||
ret = png_set_text_2(png_ptr, info_ptr, text_ptr, 1);
|
||||
|
||||
png_free(png_ptr, png_ptr->chunkdata);
|
||||
png_ptr->chunkdata = NULL;
|
||||
png_free(png_ptr, key);
|
||||
png_free(png_ptr, text_ptr);
|
||||
if (ret)
|
||||
png_warning(png_ptr, "Insufficient memory to process text chunk");
|
||||
png_warning(png_ptr, "Insufficient memory to process text chunk.");
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -2006,25 +2001,7 @@ png_handle_zTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
int ret;
|
||||
png_size_t slength, prefix_len, data_len;
|
||||
|
||||
png_debug(1, "in png_handle_zTXt");
|
||||
|
||||
#ifdef PNG_SET_USER_LIMITS_SUPPORTED
|
||||
if (png_ptr->user_chunk_cache_max != 0)
|
||||
{
|
||||
if (png_ptr->user_chunk_cache_max == 1)
|
||||
{
|
||||
png_crc_finish(png_ptr, length);
|
||||
return;
|
||||
}
|
||||
if (--png_ptr->user_chunk_cache_max == 1)
|
||||
{
|
||||
png_warning(png_ptr, "No space in chunk cache for zTXt");
|
||||
png_crc_finish(png_ptr, length);
|
||||
return;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
png_debug(1, "in png_handle_zTXt\n");
|
||||
if (!(png_ptr->mode & PNG_HAVE_IHDR))
|
||||
png_error(png_ptr, "Missing IHDR before zTXt");
|
||||
|
||||
@@ -2042,11 +2019,11 @@ png_handle_zTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
}
|
||||
#endif
|
||||
|
||||
png_free(png_ptr, png_ptr->chunkdata);
|
||||
png_free(png_ptr,png_ptr->chunkdata);
|
||||
png_ptr->chunkdata = (png_charp)png_malloc_warn(png_ptr, length + 1);
|
||||
if (png_ptr->chunkdata == NULL)
|
||||
{
|
||||
png_warning(png_ptr, "Out of memory processing zTXt chunk");
|
||||
png_warning(png_ptr, "Out of memory processing zTXt chunk.");
|
||||
return;
|
||||
}
|
||||
slength = (png_size_t)length;
|
||||
@@ -2087,10 +2064,10 @@ png_handle_zTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
(png_size_t)length, prefix_len, &data_len);
|
||||
|
||||
text_ptr = (png_textp)png_malloc_warn(png_ptr,
|
||||
png_sizeof(png_text));
|
||||
(png_uint_32)png_sizeof(png_text));
|
||||
if (text_ptr == NULL)
|
||||
{
|
||||
png_warning(png_ptr, "Not enough memory to process zTXt chunk");
|
||||
png_warning(png_ptr, "Not enough memory to process zTXt chunk.");
|
||||
png_free(png_ptr, png_ptr->chunkdata);
|
||||
png_ptr->chunkdata = NULL;
|
||||
return;
|
||||
@@ -2111,7 +2088,7 @@ png_handle_zTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
png_free(png_ptr, png_ptr->chunkdata);
|
||||
png_ptr->chunkdata = NULL;
|
||||
if (ret)
|
||||
png_error(png_ptr, "Insufficient memory to store zTXt chunk");
|
||||
png_error(png_ptr, "Insufficient memory to store zTXt chunk.");
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -2127,24 +2104,7 @@ png_handle_iTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
int ret;
|
||||
png_size_t slength, prefix_len, data_len;
|
||||
|
||||
png_debug(1, "in png_handle_iTXt");
|
||||
|
||||
#ifdef PNG_SET_USER_LIMITS_SUPPORTED
|
||||
if (png_ptr->user_chunk_cache_max != 0)
|
||||
{
|
||||
if (png_ptr->user_chunk_cache_max == 1)
|
||||
{
|
||||
png_crc_finish(png_ptr, length);
|
||||
return;
|
||||
}
|
||||
if (--png_ptr->user_chunk_cache_max == 1)
|
||||
{
|
||||
png_warning(png_ptr, "No space in chunk cache for iTXt");
|
||||
png_crc_finish(png_ptr, length);
|
||||
return;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
png_debug(1, "in png_handle_iTXt\n");
|
||||
|
||||
if (!(png_ptr->mode & PNG_HAVE_IHDR))
|
||||
png_error(png_ptr, "Missing IHDR before iTXt");
|
||||
@@ -2167,7 +2127,7 @@ png_handle_iTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
png_ptr->chunkdata = (png_charp)png_malloc_warn(png_ptr, length + 1);
|
||||
if (png_ptr->chunkdata == NULL)
|
||||
{
|
||||
png_warning(png_ptr, "No memory to process iTXt chunk");
|
||||
png_warning(png_ptr, "No memory to process iTXt chunk.");
|
||||
return;
|
||||
}
|
||||
slength = (png_size_t)length;
|
||||
@@ -2234,10 +2194,10 @@ png_handle_iTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
else
|
||||
data_len = png_strlen(png_ptr->chunkdata + prefix_len);
|
||||
text_ptr = (png_textp)png_malloc_warn(png_ptr,
|
||||
png_sizeof(png_text));
|
||||
(png_uint_32)png_sizeof(png_text));
|
||||
if (text_ptr == NULL)
|
||||
{
|
||||
png_warning(png_ptr, "Not enough memory to process iTXt chunk");
|
||||
png_warning(png_ptr, "Not enough memory to process iTXt chunk.");
|
||||
png_free(png_ptr, png_ptr->chunkdata);
|
||||
png_ptr->chunkdata = NULL;
|
||||
return;
|
||||
@@ -2256,7 +2216,7 @@ png_handle_iTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
png_free(png_ptr, png_ptr->chunkdata);
|
||||
png_ptr->chunkdata = NULL;
|
||||
if (ret)
|
||||
png_error(png_ptr, "Insufficient memory to store iTXt chunk");
|
||||
png_error(png_ptr, "Insufficient memory to store iTXt chunk.");
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -2270,24 +2230,7 @@ png_handle_unknown(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
{
|
||||
png_uint_32 skip = 0;
|
||||
|
||||
png_debug(1, "in png_handle_unknown");
|
||||
|
||||
#ifdef PNG_SET_USER_LIMITS_SUPPORTED
|
||||
if (png_ptr->user_chunk_cache_max != 0)
|
||||
{
|
||||
if (png_ptr->user_chunk_cache_max == 1)
|
||||
{
|
||||
png_crc_finish(png_ptr, length);
|
||||
return;
|
||||
}
|
||||
if (--png_ptr->user_chunk_cache_max == 1)
|
||||
{
|
||||
png_warning(png_ptr, "No space in chunk cache for unknown chunk");
|
||||
png_crc_finish(png_ptr, length);
|
||||
return;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
png_debug(1, "in png_handle_unknown\n");
|
||||
|
||||
if (png_ptr->mode & PNG_HAVE_IDAT)
|
||||
{
|
||||
@@ -2382,7 +2325,7 @@ png_handle_unknown(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
void /* PRIVATE */
|
||||
png_check_chunk_name(png_structp png_ptr, png_bytep chunk_name)
|
||||
{
|
||||
png_debug(1, "in png_check_chunk_name");
|
||||
png_debug(1, "in png_check_chunk_name\n");
|
||||
if (isnonalpha(chunk_name[0]) || isnonalpha(chunk_name[1]) ||
|
||||
isnonalpha(chunk_name[2]) || isnonalpha(chunk_name[3]))
|
||||
{
|
||||
@@ -2404,7 +2347,7 @@ png_check_chunk_name(png_structp png_ptr, png_bytep chunk_name)
|
||||
void /* PRIVATE */
|
||||
png_combine_row(png_structp png_ptr, png_bytep row, int mask)
|
||||
{
|
||||
png_debug(1, "in png_combine_row");
|
||||
png_debug(1, "in png_combine_row\n");
|
||||
if (mask == 0xff)
|
||||
{
|
||||
png_memcpy(row, png_ptr->row_buf + 1,
|
||||
@@ -2620,7 +2563,7 @@ png_do_read_interlace(png_structp png_ptr)
|
||||
PNG_CONST int png_pass_inc[7] = {8, 8, 4, 4, 2, 2, 1};
|
||||
#endif
|
||||
|
||||
png_debug(1, "in png_do_read_interlace");
|
||||
png_debug(1, "in png_do_read_interlace\n");
|
||||
if (row != NULL && row_info != NULL)
|
||||
{
|
||||
png_uint_32 final_width;
|
||||
@@ -2833,8 +2776,8 @@ void /* PRIVATE */
|
||||
png_read_filter_row(png_structp png_ptr, png_row_infop row_info, png_bytep row,
|
||||
png_bytep prev_row, int filter)
|
||||
{
|
||||
png_debug(1, "in png_read_filter_row");
|
||||
png_debug2(2, "row = %lu, filter = %d", png_ptr->row_number, filter);
|
||||
png_debug(1, "in png_read_filter_row\n");
|
||||
png_debug2(2, "row = %lu, filter = %d\n", png_ptr->row_number, filter);
|
||||
switch (filter)
|
||||
{
|
||||
case PNG_FILTER_VALUE_NONE:
|
||||
@@ -2973,7 +2916,7 @@ png_read_finish_row(png_structp png_ptr)
|
||||
#endif /* PNG_READ_INTERLACING_SUPPORTED */
|
||||
#endif
|
||||
|
||||
png_debug(1, "in png_read_finish_row");
|
||||
png_debug(1, "in png_read_finish_row\n");
|
||||
png_ptr->row_number++;
|
||||
if (png_ptr->row_number < png_ptr->num_rows)
|
||||
return;
|
||||
@@ -2982,7 +2925,8 @@ png_read_finish_row(png_structp png_ptr)
|
||||
if (png_ptr->interlaced)
|
||||
{
|
||||
png_ptr->row_number = 0;
|
||||
png_memset(png_ptr->prev_row, 0, png_ptr->rowbytes + 1);
|
||||
png_memset_check(png_ptr, png_ptr->prev_row, 0,
|
||||
png_ptr->rowbytes + 1);
|
||||
do
|
||||
{
|
||||
png_ptr->pass++;
|
||||
@@ -3065,7 +3009,7 @@ png_read_finish_row(png_structp png_ptr)
|
||||
|
||||
if (!(png_ptr->zstream.avail_out))
|
||||
{
|
||||
png_warning(png_ptr, "Extra compressed data");
|
||||
png_warning(png_ptr, "Extra compressed data.");
|
||||
png_ptr->mode |= PNG_AFTER_IDAT;
|
||||
png_ptr->flags |= PNG_FLAG_ZLIB_FINISHED;
|
||||
break;
|
||||
@@ -3107,7 +3051,7 @@ png_read_start_row(png_structp png_ptr)
|
||||
int max_pixel_depth;
|
||||
png_size_t row_bytes;
|
||||
|
||||
png_debug(1, "in png_read_start_row");
|
||||
png_debug(1, "in png_read_start_row\n");
|
||||
png_ptr->zstream.avail_in = 0;
|
||||
png_init_read_transformations(png_ptr);
|
||||
#ifdef PNG_READ_INTERLACING_SUPPORTED
|
||||
@@ -3261,7 +3205,7 @@ defined(PNG_USER_TRANSFORM_PTR_SUPPORTED)
|
||||
png_error(png_ptr, "This image requires a row greater than 64KB");
|
||||
#endif
|
||||
if ((png_uint_32)png_ptr->rowbytes > (png_uint_32)(PNG_SIZE_MAX - 1))
|
||||
png_error(png_ptr, "Row has too many bytes to allocate in memory");
|
||||
png_error(png_ptr, "Row has too many bytes to allocate in memory.");
|
||||
|
||||
if (png_ptr->rowbytes+1 > png_ptr->old_prev_row_size)
|
||||
{
|
||||
@@ -3271,14 +3215,14 @@ defined(PNG_USER_TRANSFORM_PTR_SUPPORTED)
|
||||
png_ptr->old_prev_row_size = png_ptr->rowbytes+1;
|
||||
}
|
||||
|
||||
png_memset(png_ptr->prev_row, 0, png_ptr->rowbytes + 1);
|
||||
png_memset_check(png_ptr, png_ptr->prev_row, 0, png_ptr->rowbytes + 1);
|
||||
|
||||
png_debug1(3, "width = %lu,", png_ptr->width);
|
||||
png_debug1(3, "height = %lu,", png_ptr->height);
|
||||
png_debug1(3, "iwidth = %lu,", png_ptr->iwidth);
|
||||
png_debug1(3, "num_rows = %lu,", png_ptr->num_rows);
|
||||
png_debug1(3, "rowbytes = %lu,", png_ptr->rowbytes);
|
||||
png_debug1(3, "irowbytes = %lu,", png_ptr->irowbytes);
|
||||
png_debug1(3, "width = %lu,\n", png_ptr->width);
|
||||
png_debug1(3, "height = %lu,\n", png_ptr->height);
|
||||
png_debug1(3, "iwidth = %lu,\n", png_ptr->iwidth);
|
||||
png_debug1(3, "num_rows = %lu\n", png_ptr->num_rows);
|
||||
png_debug1(3, "rowbytes = %lu,\n", png_ptr->rowbytes);
|
||||
png_debug1(3, "irowbytes = %lu,\n", png_ptr->irowbytes);
|
||||
|
||||
png_ptr->flags |= PNG_FLAG_ROW_INIT;
|
||||
}
|
||||
|
||||
339
pngset.c
339
pngset.c
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngset.c - storage of image information into info struct
|
||||
*
|
||||
* Last changed in libpng 1.4.0 [November 13, 2008]
|
||||
* Last changed in libpng 1.2.30 [August 15, 2008]
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2008 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
@@ -13,15 +13,15 @@
|
||||
* info struct and allows us to change the structure in the future.
|
||||
*/
|
||||
|
||||
#define PNG_INTERNAL
|
||||
#include "png.h"
|
||||
#if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
|
||||
#include "pngpriv.h"
|
||||
|
||||
#if defined(PNG_bKGD_SUPPORTED)
|
||||
void PNGAPI
|
||||
png_set_bKGD(png_structp png_ptr, png_infop info_ptr, png_color_16p background)
|
||||
{
|
||||
png_debug1(1, "in %s storage function", "bKGD");
|
||||
png_debug1(1, "in %s storage function\n", "bKGD");
|
||||
if (png_ptr == NULL || info_ptr == NULL)
|
||||
return;
|
||||
|
||||
@@ -37,9 +37,34 @@ png_set_cHRM(png_structp png_ptr, png_infop info_ptr,
|
||||
double white_x, double white_y, double red_x, double red_y,
|
||||
double green_x, double green_y, double blue_x, double blue_y)
|
||||
{
|
||||
png_debug1(1, "in %s storage function", "cHRM");
|
||||
png_debug1(1, "in %s storage function\n", "cHRM");
|
||||
if (png_ptr == NULL || info_ptr == NULL)
|
||||
return;
|
||||
if (!(white_x || white_y || red_x || red_y || green_x || green_y ||
|
||||
blue_x || blue_y))
|
||||
{
|
||||
png_warning(png_ptr,
|
||||
"Ignoring attempt to set all-zero chromaticity values");
|
||||
return;
|
||||
}
|
||||
if (white_x < 0.0 || white_y < 0.0 ||
|
||||
red_x < 0.0 || red_y < 0.0 ||
|
||||
green_x < 0.0 || green_y < 0.0 ||
|
||||
blue_x < 0.0 || blue_y < 0.0)
|
||||
{
|
||||
png_warning(png_ptr,
|
||||
"Ignoring attempt to set negative chromaticity value");
|
||||
return;
|
||||
}
|
||||
if (white_x > 21474.83 || white_y > 21474.83 ||
|
||||
red_x > 21474.83 || red_y > 21474.83 ||
|
||||
green_x > 21474.83 || green_y > 21474.83 ||
|
||||
blue_x > 21474.83 || blue_y > 21474.83)
|
||||
{
|
||||
png_warning(png_ptr,
|
||||
"Ignoring attempt to set chromaticity value exceeding 21474.83");
|
||||
return;
|
||||
}
|
||||
|
||||
info_ptr->x_white = (float)white_x;
|
||||
info_ptr->y_white = (float)white_y;
|
||||
@@ -61,8 +86,7 @@ png_set_cHRM(png_structp png_ptr, png_infop info_ptr,
|
||||
#endif
|
||||
info_ptr->valid |= PNG_INFO_cHRM;
|
||||
}
|
||||
#endif /* PNG_FLOATING_POINT_SUPPORTED */
|
||||
|
||||
#endif
|
||||
#ifdef PNG_FIXED_POINT_SUPPORTED
|
||||
void PNGAPI
|
||||
png_set_cHRM_fixed(png_structp png_ptr, png_infop info_ptr,
|
||||
@@ -70,36 +94,61 @@ png_set_cHRM_fixed(png_structp png_ptr, png_infop info_ptr,
|
||||
png_fixed_point red_y, png_fixed_point green_x, png_fixed_point green_y,
|
||||
png_fixed_point blue_x, png_fixed_point blue_y)
|
||||
{
|
||||
png_debug1(1, "in %s storage function", "cHRM_fixed");
|
||||
png_debug1(1, "in %s storage function\n", "cHRM");
|
||||
if (png_ptr == NULL || info_ptr == NULL)
|
||||
return;
|
||||
|
||||
if (png_check_cHRM_fixed(png_ptr,
|
||||
white_x, white_y, red_x, red_y, green_x, green_y, blue_x, blue_y))
|
||||
if (!(white_x || white_y || red_x || red_y || green_x || green_y ||
|
||||
blue_x || blue_y))
|
||||
{
|
||||
info_ptr->int_x_white = white_x;
|
||||
info_ptr->int_y_white = white_y;
|
||||
info_ptr->int_x_red = red_x;
|
||||
info_ptr->int_y_red = red_y;
|
||||
info_ptr->int_x_green = green_x;
|
||||
info_ptr->int_y_green = green_y;
|
||||
info_ptr->int_x_blue = blue_x;
|
||||
info_ptr->int_y_blue = blue_y;
|
||||
#ifdef PNG_FLOATING_POINT_SUPPORTED
|
||||
info_ptr->x_white = (float)(white_x/100000.);
|
||||
info_ptr->y_white = (float)(white_y/100000.);
|
||||
info_ptr->x_red = (float)( red_x/100000.);
|
||||
info_ptr->y_red = (float)( red_y/100000.);
|
||||
info_ptr->x_green = (float)(green_x/100000.);
|
||||
info_ptr->y_green = (float)(green_y/100000.);
|
||||
info_ptr->x_blue = (float)( blue_x/100000.);
|
||||
info_ptr->y_blue = (float)( blue_y/100000.);
|
||||
#endif
|
||||
info_ptr->valid |= PNG_INFO_cHRM;
|
||||
png_warning(png_ptr,
|
||||
"Ignoring attempt to set all-zero chromaticity values");
|
||||
return;
|
||||
}
|
||||
if (white_x < 0 || white_y < 0 ||
|
||||
red_x < 0 || red_y < 0 ||
|
||||
green_x < 0 || green_y < 0 ||
|
||||
blue_x < 0 || blue_y < 0)
|
||||
{
|
||||
png_warning(png_ptr,
|
||||
"Ignoring attempt to set negative chromaticity value");
|
||||
return;
|
||||
}
|
||||
if (white_x > (png_fixed_point) PNG_UINT_31_MAX ||
|
||||
white_y > (png_fixed_point) PNG_UINT_31_MAX ||
|
||||
red_x > (png_fixed_point) PNG_UINT_31_MAX ||
|
||||
red_y > (png_fixed_point) PNG_UINT_31_MAX ||
|
||||
green_x > (png_fixed_point) PNG_UINT_31_MAX ||
|
||||
green_y > (png_fixed_point) PNG_UINT_31_MAX ||
|
||||
blue_x > (png_fixed_point) PNG_UINT_31_MAX ||
|
||||
blue_y > (png_fixed_point) PNG_UINT_31_MAX )
|
||||
{
|
||||
png_warning(png_ptr,
|
||||
"Ignoring attempt to set chromaticity value exceeding 21474.83");
|
||||
return;
|
||||
}
|
||||
info_ptr->int_x_white = white_x;
|
||||
info_ptr->int_y_white = white_y;
|
||||
info_ptr->int_x_red = red_x;
|
||||
info_ptr->int_y_red = red_y;
|
||||
info_ptr->int_x_green = green_x;
|
||||
info_ptr->int_y_green = green_y;
|
||||
info_ptr->int_x_blue = blue_x;
|
||||
info_ptr->int_y_blue = blue_y;
|
||||
#ifdef PNG_FLOATING_POINT_SUPPORTED
|
||||
info_ptr->x_white = (float)(white_x/100000.);
|
||||
info_ptr->y_white = (float)(white_y/100000.);
|
||||
info_ptr->x_red = (float)( red_x/100000.);
|
||||
info_ptr->y_red = (float)( red_y/100000.);
|
||||
info_ptr->x_green = (float)(green_x/100000.);
|
||||
info_ptr->y_green = (float)(green_y/100000.);
|
||||
info_ptr->x_blue = (float)( blue_x/100000.);
|
||||
info_ptr->y_blue = (float)( blue_y/100000.);
|
||||
#endif
|
||||
info_ptr->valid |= PNG_INFO_cHRM;
|
||||
}
|
||||
#endif /* PNG_FIXED_POINT_SUPPORTED */
|
||||
#endif /* PNG_cHRM_SUPPORTED */
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(PNG_gAMA_SUPPORTED)
|
||||
#ifdef PNG_FLOATING_POINT_SUPPORTED
|
||||
@@ -107,7 +156,7 @@ void PNGAPI
|
||||
png_set_gAMA(png_structp png_ptr, png_infop info_ptr, double file_gamma)
|
||||
{
|
||||
double gamma;
|
||||
png_debug1(1, "in %s storage function", "gAMA");
|
||||
png_debug1(1, "in %s storage function\n", "gAMA");
|
||||
if (png_ptr == NULL || info_ptr == NULL)
|
||||
return;
|
||||
|
||||
@@ -134,7 +183,7 @@ png_set_gAMA_fixed(png_structp png_ptr, png_infop info_ptr, png_fixed_point
|
||||
{
|
||||
png_fixed_point gamma;
|
||||
|
||||
png_debug1(1, "in %s storage function", "gAMA");
|
||||
png_debug1(1, "in %s storage function\n", "gAMA");
|
||||
if (png_ptr == NULL || info_ptr == NULL)
|
||||
return;
|
||||
|
||||
@@ -171,14 +220,14 @@ png_set_hIST(png_structp png_ptr, png_infop info_ptr, png_uint_16p hist)
|
||||
{
|
||||
int i;
|
||||
|
||||
png_debug1(1, "in %s storage function", "hIST");
|
||||
png_debug1(1, "in %s storage function\n", "hIST");
|
||||
if (png_ptr == NULL || info_ptr == NULL)
|
||||
return;
|
||||
if (info_ptr->num_palette == 0 || info_ptr->num_palette
|
||||
> PNG_MAX_PALETTE_LENGTH)
|
||||
{
|
||||
png_warning(png_ptr,
|
||||
"Invalid palette size, hIST allocation skipped");
|
||||
"Invalid palette size, hIST allocation skipped.");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -188,10 +237,10 @@ png_set_hIST(png_structp png_ptr, png_infop info_ptr, png_uint_16p hist)
|
||||
/* Changed from info->num_palette to PNG_MAX_PALETTE_LENGTH in version
|
||||
1.2.1 */
|
||||
png_ptr->hist = (png_uint_16p)png_malloc_warn(png_ptr,
|
||||
PNG_MAX_PALETTE_LENGTH * png_sizeof(png_uint_16));
|
||||
(png_uint_32)(PNG_MAX_PALETTE_LENGTH * png_sizeof(png_uint_16)));
|
||||
if (png_ptr->hist == NULL)
|
||||
{
|
||||
png_warning(png_ptr, "Insufficient memory for hIST chunk data");
|
||||
png_warning(png_ptr, "Insufficient memory for hIST chunk data.");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -214,7 +263,7 @@ png_set_IHDR(png_structp png_ptr, png_infop info_ptr,
|
||||
int color_type, int interlace_type, int compression_type,
|
||||
int filter_type)
|
||||
{
|
||||
png_debug1(1, "in %s storage function", "IHDR");
|
||||
png_debug1(1, "in %s storage function\n", "IHDR");
|
||||
if (png_ptr == NULL || info_ptr == NULL)
|
||||
return;
|
||||
|
||||
@@ -311,7 +360,7 @@ png_set_IHDR(png_structp png_ptr, png_infop info_ptr,
|
||||
- 1 /* filter byte */
|
||||
- 7*8 /* rounding of width to multiple of 8 pixels */
|
||||
- 8) /* extra max_pixel_depth pad */
|
||||
info_ptr->rowbytes = 0;
|
||||
info_ptr->rowbytes = (png_size_t)0;
|
||||
else
|
||||
info_ptr->rowbytes = PNG_ROWBYTES(info_ptr->pixel_depth, width);
|
||||
}
|
||||
@@ -321,7 +370,7 @@ void PNGAPI
|
||||
png_set_oFFs(png_structp png_ptr, png_infop info_ptr,
|
||||
png_int_32 offset_x, png_int_32 offset_y, int unit_type)
|
||||
{
|
||||
png_debug1(1, "in %s storage function", "oFFs");
|
||||
png_debug1(1, "in %s storage function\n", "oFFs");
|
||||
if (png_ptr == NULL || info_ptr == NULL)
|
||||
return;
|
||||
|
||||
@@ -338,46 +387,46 @@ png_set_pCAL(png_structp png_ptr, png_infop info_ptr,
|
||||
png_charp purpose, png_int_32 X0, png_int_32 X1, int type, int nparams,
|
||||
png_charp units, png_charpp params)
|
||||
{
|
||||
png_size_t length;
|
||||
png_uint_32 length;
|
||||
int i;
|
||||
|
||||
png_debug1(1, "in %s storage function", "pCAL");
|
||||
png_debug1(1, "in %s storage function\n", "pCAL");
|
||||
if (png_ptr == NULL || info_ptr == NULL)
|
||||
return;
|
||||
|
||||
length = png_strlen(purpose) + 1;
|
||||
png_debug1(3, "allocating purpose for info (%lu bytes)",
|
||||
png_debug1(3, "allocating purpose for info (%lu bytes)\n",
|
||||
(unsigned long)length);
|
||||
info_ptr->pcal_purpose = (png_charp)png_malloc_warn(png_ptr, length);
|
||||
if (info_ptr->pcal_purpose == NULL)
|
||||
{
|
||||
png_warning(png_ptr, "Insufficient memory for pCAL purpose");
|
||||
png_warning(png_ptr, "Insufficient memory for pCAL purpose.");
|
||||
return;
|
||||
}
|
||||
png_memcpy(info_ptr->pcal_purpose, purpose, length);
|
||||
png_memcpy(info_ptr->pcal_purpose, purpose, (png_size_t)length);
|
||||
|
||||
png_debug(3, "storing X0, X1, type, and nparams in info");
|
||||
png_debug(3, "storing X0, X1, type, and nparams in info\n");
|
||||
info_ptr->pcal_X0 = X0;
|
||||
info_ptr->pcal_X1 = X1;
|
||||
info_ptr->pcal_type = (png_byte)type;
|
||||
info_ptr->pcal_nparams = (png_byte)nparams;
|
||||
|
||||
length = png_strlen(units) + 1;
|
||||
png_debug1(3, "allocating units for info (%lu bytes)",
|
||||
png_debug1(3, "allocating units for info (%lu bytes)\n",
|
||||
(unsigned long)length);
|
||||
info_ptr->pcal_units = (png_charp)png_malloc_warn(png_ptr, length);
|
||||
if (info_ptr->pcal_units == NULL)
|
||||
{
|
||||
png_warning(png_ptr, "Insufficient memory for pCAL units");
|
||||
png_warning(png_ptr, "Insufficient memory for pCAL units.");
|
||||
return;
|
||||
}
|
||||
png_memcpy(info_ptr->pcal_units, units, length);
|
||||
png_memcpy(info_ptr->pcal_units, units, (png_size_t)length);
|
||||
|
||||
info_ptr->pcal_params = (png_charpp)png_malloc_warn(png_ptr,
|
||||
(png_size_t)((nparams + 1) * png_sizeof(png_charp)));
|
||||
(png_uint_32)((nparams + 1) * png_sizeof(png_charp)));
|
||||
if (info_ptr->pcal_params == NULL)
|
||||
{
|
||||
png_warning(png_ptr, "Insufficient memory for pCAL params");
|
||||
png_warning(png_ptr, "Insufficient memory for pCAL params.");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -386,15 +435,15 @@ png_set_pCAL(png_structp png_ptr, png_infop info_ptr,
|
||||
for (i = 0; i < nparams; i++)
|
||||
{
|
||||
length = png_strlen(params[i]) + 1;
|
||||
png_debug2(3, "allocating parameter %d for info (%lu bytes)", i,
|
||||
png_debug2(3, "allocating parameter %d for info (%lu bytes)\n", i,
|
||||
(unsigned long)length);
|
||||
info_ptr->pcal_params[i] = (png_charp)png_malloc_warn(png_ptr, length);
|
||||
if (info_ptr->pcal_params[i] == NULL)
|
||||
{
|
||||
png_warning(png_ptr, "Insufficient memory for pCAL parameter");
|
||||
png_warning(png_ptr, "Insufficient memory for pCAL parameter.");
|
||||
return;
|
||||
}
|
||||
png_memcpy(info_ptr->pcal_params[i], params[i], length);
|
||||
png_memcpy(info_ptr->pcal_params[i], params[i], (png_size_t)length);
|
||||
}
|
||||
|
||||
info_ptr->valid |= PNG_INFO_pCAL;
|
||||
@@ -410,7 +459,7 @@ void PNGAPI
|
||||
png_set_sCAL(png_structp png_ptr, png_infop info_ptr,
|
||||
int unit, double width, double height)
|
||||
{
|
||||
png_debug1(1, "in %s storage function", "sCAL");
|
||||
png_debug1(1, "in %s storage function\n", "sCAL");
|
||||
if (png_ptr == NULL || info_ptr == NULL)
|
||||
return;
|
||||
|
||||
@@ -426,28 +475,28 @@ void PNGAPI
|
||||
png_set_sCAL_s(png_structp png_ptr, png_infop info_ptr,
|
||||
int unit, png_charp swidth, png_charp sheight)
|
||||
{
|
||||
png_size_t length;
|
||||
png_uint_32 length;
|
||||
|
||||
png_debug1(1, "in %s storage function", "sCAL");
|
||||
png_debug1(1, "in %s storage function\n", "sCAL");
|
||||
if (png_ptr == NULL || info_ptr == NULL)
|
||||
return;
|
||||
|
||||
info_ptr->scal_unit = (png_byte)unit;
|
||||
|
||||
length = png_strlen(swidth) + 1;
|
||||
png_debug1(3, "allocating unit for info (%u bytes)",
|
||||
png_debug1(3, "allocating unit for info (%u bytes)\n",
|
||||
(unsigned int)length);
|
||||
info_ptr->scal_s_width = (png_charp)png_malloc_warn(png_ptr, length);
|
||||
if (info_ptr->scal_s_width == NULL)
|
||||
{
|
||||
png_warning(png_ptr,
|
||||
"Memory allocation failed while processing sCAL");
|
||||
"Memory allocation failed while processing sCAL.");
|
||||
return;
|
||||
}
|
||||
png_memcpy(info_ptr->scal_s_width, swidth, length);
|
||||
png_memcpy(info_ptr->scal_s_width, swidth, (png_size_t)length);
|
||||
|
||||
length = png_strlen(sheight) + 1;
|
||||
png_debug1(3, "allocating unit for info (%u bytes)",
|
||||
png_debug1(3, "allocating unit for info (%u bytes)\n",
|
||||
(unsigned int)length);
|
||||
info_ptr->scal_s_height = (png_charp)png_malloc_warn(png_ptr, length);
|
||||
if (info_ptr->scal_s_height == NULL)
|
||||
@@ -455,10 +504,10 @@ png_set_sCAL_s(png_structp png_ptr, png_infop info_ptr,
|
||||
png_free (png_ptr, info_ptr->scal_s_width);
|
||||
info_ptr->scal_s_width = NULL;
|
||||
png_warning(png_ptr,
|
||||
"Memory allocation failed while processing sCAL");
|
||||
"Memory allocation failed while processing sCAL.");
|
||||
return;
|
||||
}
|
||||
png_memcpy(info_ptr->scal_s_height, sheight, length);
|
||||
png_memcpy(info_ptr->scal_s_height, sheight, (png_size_t)length);
|
||||
info_ptr->valid |= PNG_INFO_sCAL;
|
||||
#ifdef PNG_FREE_ME_SUPPORTED
|
||||
info_ptr->free_me |= PNG_FREE_SCAL;
|
||||
@@ -473,7 +522,7 @@ void PNGAPI
|
||||
png_set_pHYs(png_structp png_ptr, png_infop info_ptr,
|
||||
png_uint_32 res_x, png_uint_32 res_y, int unit_type)
|
||||
{
|
||||
png_debug1(1, "in %s storage function", "pHYs");
|
||||
png_debug1(1, "in %s storage function\n", "pHYs");
|
||||
if (png_ptr == NULL || info_ptr == NULL)
|
||||
return;
|
||||
|
||||
@@ -489,7 +538,7 @@ png_set_PLTE(png_structp png_ptr, png_infop info_ptr,
|
||||
png_colorp palette, int num_palette)
|
||||
{
|
||||
|
||||
png_debug1(1, "in %s storage function", "PLTE");
|
||||
png_debug1(1, "in %s storage function\n", "PLTE");
|
||||
if (png_ptr == NULL || info_ptr == NULL)
|
||||
return;
|
||||
|
||||
@@ -538,7 +587,7 @@ void PNGAPI
|
||||
png_set_sBIT(png_structp png_ptr, png_infop info_ptr,
|
||||
png_color_8p sig_bit)
|
||||
{
|
||||
png_debug1(1, "in %s storage function", "sBIT");
|
||||
png_debug1(1, "in %s storage function\n", "sBIT");
|
||||
if (png_ptr == NULL || info_ptr == NULL)
|
||||
return;
|
||||
|
||||
@@ -551,7 +600,7 @@ png_set_sBIT(png_structp png_ptr, png_infop info_ptr,
|
||||
void PNGAPI
|
||||
png_set_sRGB(png_structp png_ptr, png_infop info_ptr, int intent)
|
||||
{
|
||||
png_debug1(1, "in %s storage function", "sRGB");
|
||||
png_debug1(1, "in %s storage function\n", "sRGB");
|
||||
if (png_ptr == NULL || info_ptr == NULL)
|
||||
return;
|
||||
|
||||
@@ -580,7 +629,7 @@ png_set_sRGB_gAMA_and_cHRM(png_structp png_ptr, png_infop info_ptr,
|
||||
int_green_y, int_blue_x, int_blue_y;
|
||||
#endif
|
||||
#endif
|
||||
png_debug1(1, "in %s storage function", "sRGB_gAMA_and_cHRM");
|
||||
png_debug1(1, "in %s storage function\n", "sRGB_gAMA_and_cHRM");
|
||||
if (png_ptr == NULL || info_ptr == NULL)
|
||||
return;
|
||||
|
||||
@@ -608,12 +657,9 @@ png_set_sRGB_gAMA_and_cHRM(png_structp png_ptr, png_infop info_ptr,
|
||||
int_blue_x = 15000L;
|
||||
int_blue_y = 6000L;
|
||||
|
||||
if (png_check_cHRM_fixed(png_ptr,
|
||||
int_white_x, int_white_y, int_red_x, int_red_y, int_green_x,
|
||||
int_green_y, int_blue_x, int_blue_y))
|
||||
png_set_cHRM_fixed(png_ptr, info_ptr,
|
||||
int_white_x, int_white_y, int_red_x, int_red_y, int_green_x,
|
||||
int_green_y, int_blue_x, int_blue_y);
|
||||
png_set_cHRM_fixed(png_ptr, info_ptr,
|
||||
int_white_x, int_white_y, int_red_x, int_red_y, int_green_x, int_green_y,
|
||||
int_blue_x, int_blue_y);
|
||||
#endif
|
||||
#ifdef PNG_FLOATING_POINT_SUPPORTED
|
||||
white_x = (float).3127;
|
||||
@@ -625,10 +671,8 @@ png_set_sRGB_gAMA_and_cHRM(png_structp png_ptr, png_infop info_ptr,
|
||||
blue_x = (float).15;
|
||||
blue_y = (float).06;
|
||||
|
||||
if (png_check_cHRM(png_ptr,
|
||||
white_x, white_y, red_x, red_y, green_x, green_y, blue_x, blue_y))
|
||||
png_set_cHRM(png_ptr, info_ptr,
|
||||
white_x, white_y, red_x, red_y, green_x, green_y, blue_x, blue_y);
|
||||
png_set_cHRM(png_ptr, info_ptr,
|
||||
white_x, white_y, red_x, red_y, green_x, green_y, blue_x, blue_y);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
@@ -645,7 +689,7 @@ png_set_iCCP(png_structp png_ptr, png_infop info_ptr,
|
||||
png_charp new_iccp_profile;
|
||||
png_uint_32 length;
|
||||
|
||||
png_debug1(1, "in %s storage function", "iCCP");
|
||||
png_debug1(1, "in %s storage function\n", "iCCP");
|
||||
if (png_ptr == NULL || info_ptr == NULL || name == NULL || profile == NULL)
|
||||
return;
|
||||
|
||||
@@ -653,7 +697,7 @@ png_set_iCCP(png_structp png_ptr, png_infop info_ptr,
|
||||
new_iccp_name = (png_charp)png_malloc_warn(png_ptr, length);
|
||||
if (new_iccp_name == NULL)
|
||||
{
|
||||
png_warning(png_ptr, "Insufficient memory to process iCCP chunk");
|
||||
png_warning(png_ptr, "Insufficient memory to process iCCP chunk.");
|
||||
return;
|
||||
}
|
||||
png_memcpy(new_iccp_name, name, length);
|
||||
@@ -662,7 +706,7 @@ png_set_iCCP(png_structp png_ptr, png_infop info_ptr,
|
||||
{
|
||||
png_free (png_ptr, new_iccp_name);
|
||||
png_warning(png_ptr,
|
||||
"Insufficient memory to process iCCP profile");
|
||||
"Insufficient memory to process iCCP profile.");
|
||||
return;
|
||||
}
|
||||
png_memcpy(new_iccp_profile, profile, (png_size_t)proflen);
|
||||
@@ -699,7 +743,7 @@ png_set_text_2(png_structp png_ptr, png_infop info_ptr, png_textp text_ptr,
|
||||
{
|
||||
int i;
|
||||
|
||||
png_debug1(1, "in %s storage function", (png_ptr->chunk_name[0] == '\0' ?
|
||||
png_debug1(1, "in %s storage function\n", (png_ptr->chunk_name[0] == '\0' ?
|
||||
"text" : (png_const_charp)png_ptr->chunk_name));
|
||||
|
||||
if (png_ptr == NULL || info_ptr == NULL || num_text == 0)
|
||||
@@ -719,7 +763,7 @@ png_set_text_2(png_structp png_ptr, png_infop info_ptr, png_textp text_ptr,
|
||||
info_ptr->max_text = info_ptr->num_text + num_text + 8;
|
||||
old_text = info_ptr->text;
|
||||
info_ptr->text = (png_textp)png_malloc_warn(png_ptr,
|
||||
(png_size_t)(info_ptr->max_text * png_sizeof(png_text)));
|
||||
(png_uint_32)(info_ptr->max_text * png_sizeof(png_text)));
|
||||
if (info_ptr->text == NULL)
|
||||
{
|
||||
png_free(png_ptr, old_text);
|
||||
@@ -734,14 +778,14 @@ png_set_text_2(png_structp png_ptr, png_infop info_ptr, png_textp text_ptr,
|
||||
info_ptr->max_text = num_text + 8;
|
||||
info_ptr->num_text = 0;
|
||||
info_ptr->text = (png_textp)png_malloc_warn(png_ptr,
|
||||
(png_size_t)(info_ptr->max_text * png_sizeof(png_text)));
|
||||
(png_uint_32)(info_ptr->max_text * png_sizeof(png_text)));
|
||||
if (info_ptr->text == NULL)
|
||||
return(1);
|
||||
#ifdef PNG_FREE_ME_SUPPORTED
|
||||
info_ptr->free_me |= PNG_FREE_TEXT;
|
||||
#endif
|
||||
}
|
||||
png_debug1(3, "allocated %d entries for info_ptr->text",
|
||||
png_debug1(3, "allocated %d entries for info_ptr->text\n",
|
||||
info_ptr->max_text);
|
||||
}
|
||||
for (i = 0; i < num_text; i++)
|
||||
@@ -775,7 +819,7 @@ png_set_text_2(png_structp png_ptr, png_infop info_ptr, png_textp text_ptr,
|
||||
}
|
||||
#else
|
||||
{
|
||||
png_warning(png_ptr, "iTXt chunk not supported");
|
||||
png_warning(png_ptr, "iTXt chunk not supported.");
|
||||
continue;
|
||||
}
|
||||
#endif
|
||||
@@ -797,12 +841,12 @@ png_set_text_2(png_structp png_ptr, png_infop info_ptr, png_textp text_ptr,
|
||||
}
|
||||
|
||||
textp->key = (png_charp)png_malloc_warn(png_ptr,
|
||||
(png_size_t)
|
||||
(png_uint_32)
|
||||
(key_len + text_length + lang_len + lang_key_len + 4));
|
||||
if (textp->key == NULL)
|
||||
return(1);
|
||||
png_debug2(2, "Allocated %lu bytes at %x in png_set_text",
|
||||
(unsigned long)(png_uint_32)
|
||||
png_debug2(2, "Allocated %lu bytes at %x in png_set_text\n",
|
||||
(png_uint_32)
|
||||
(key_len + lang_len + lang_key_len + text_length + 4),
|
||||
(int)textp->key);
|
||||
|
||||
@@ -849,7 +893,7 @@ png_set_text_2(png_structp png_ptr, png_infop info_ptr, png_textp text_ptr,
|
||||
#endif
|
||||
}
|
||||
info_ptr->num_text++;
|
||||
png_debug1(3, "transferred text chunk %d", info_ptr->num_text);
|
||||
png_debug1(3, "transferred text chunk %d\n", info_ptr->num_text);
|
||||
}
|
||||
return(0);
|
||||
}
|
||||
@@ -859,7 +903,7 @@ png_set_text_2(png_structp png_ptr, png_infop info_ptr, png_textp text_ptr,
|
||||
void PNGAPI
|
||||
png_set_tIME(png_structp png_ptr, png_infop info_ptr, png_timep mod_time)
|
||||
{
|
||||
png_debug1(1, "in %s storage function", "tIME");
|
||||
png_debug1(1, "in %s storage function\n", "tIME");
|
||||
if (png_ptr == NULL || info_ptr == NULL ||
|
||||
(png_ptr->mode & PNG_WROTE_tIME))
|
||||
return;
|
||||
@@ -872,9 +916,9 @@ png_set_tIME(png_structp png_ptr, png_infop info_ptr, png_timep mod_time)
|
||||
#if defined(PNG_tRNS_SUPPORTED)
|
||||
void PNGAPI
|
||||
png_set_tRNS(png_structp png_ptr, png_infop info_ptr,
|
||||
png_bytep trans, int num_trans, png_color_16p trans_color)
|
||||
png_bytep trans, int num_trans, png_color_16p trans_values)
|
||||
{
|
||||
png_debug1(1, "in %s storage function", "tRNS");
|
||||
png_debug1(1, "in %s storage function\n", "tRNS");
|
||||
if (png_ptr == NULL || info_ptr == NULL)
|
||||
return;
|
||||
|
||||
@@ -892,23 +936,23 @@ png_set_tRNS(png_structp png_ptr, png_infop info_ptr,
|
||||
|
||||
/* Changed from num_trans to PNG_MAX_PALETTE_LENGTH in version 1.2.1 */
|
||||
png_ptr->trans = info_ptr->trans = (png_bytep)png_malloc(png_ptr,
|
||||
(png_size_t)PNG_MAX_PALETTE_LENGTH);
|
||||
(png_uint_32)PNG_MAX_PALETTE_LENGTH);
|
||||
if (num_trans > 0 && num_trans <= PNG_MAX_PALETTE_LENGTH)
|
||||
png_memcpy(info_ptr->trans, trans, (png_size_t)num_trans);
|
||||
}
|
||||
|
||||
if (trans_color != NULL)
|
||||
if (trans_values != NULL)
|
||||
{
|
||||
int sample_max = (1 << info_ptr->bit_depth);
|
||||
if ((info_ptr->color_type == PNG_COLOR_TYPE_GRAY &&
|
||||
(int)trans_color->gray > sample_max) ||
|
||||
(int)trans_values->gray > sample_max) ||
|
||||
(info_ptr->color_type == PNG_COLOR_TYPE_RGB &&
|
||||
((int)trans_color->red > sample_max ||
|
||||
(int)trans_color->green > sample_max ||
|
||||
(int)trans_color->blue > sample_max)))
|
||||
((int)trans_values->red > sample_max ||
|
||||
(int)trans_values->green > sample_max ||
|
||||
(int)trans_values->blue > sample_max)))
|
||||
png_warning(png_ptr,
|
||||
"tRNS chunk has out-of-range samples for bit_depth");
|
||||
png_memcpy(&(info_ptr->trans_color), trans_color,
|
||||
png_memcpy(&(info_ptr->trans_values), trans_values,
|
||||
png_sizeof(png_color_16));
|
||||
if (num_trans == 0)
|
||||
num_trans = 1;
|
||||
@@ -947,10 +991,10 @@ png_set_sPLT(png_structp png_ptr,
|
||||
|
||||
np = (png_sPLT_tp)png_malloc_warn(png_ptr,
|
||||
(info_ptr->splt_palettes_num + nentries) *
|
||||
(png_size_t)png_sizeof(png_sPLT_t));
|
||||
(png_uint_32)png_sizeof(png_sPLT_t));
|
||||
if (np == NULL)
|
||||
{
|
||||
png_warning(png_ptr, "No memory for sPLT palettes");
|
||||
png_warning(png_ptr, "No memory for sPLT palettes.");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -966,7 +1010,7 @@ png_set_sPLT(png_structp png_ptr,
|
||||
png_uint_32 length;
|
||||
|
||||
length = png_strlen(from->name) + 1;
|
||||
to->name = (png_charp)png_malloc_warn(png_ptr, (png_size_t)length);
|
||||
to->name = (png_charp)png_malloc_warn(png_ptr, length);
|
||||
if (to->name == NULL)
|
||||
{
|
||||
png_warning(png_ptr,
|
||||
@@ -975,7 +1019,7 @@ png_set_sPLT(png_structp png_ptr,
|
||||
}
|
||||
png_memcpy(to->name, from->name, length);
|
||||
to->entries = (png_sPLT_entryp)png_malloc_warn(png_ptr,
|
||||
(png_size_t)(from->nentries * png_sizeof(png_sPLT_entry)));
|
||||
(png_uint_32)(from->nentries * png_sizeof(png_sPLT_entry)));
|
||||
if (to->entries == NULL)
|
||||
{
|
||||
png_warning(png_ptr,
|
||||
@@ -1011,18 +1055,19 @@ png_set_unknown_chunks(png_structp png_ptr,
|
||||
return;
|
||||
|
||||
np = (png_unknown_chunkp)png_malloc_warn(png_ptr,
|
||||
(png_size_t)((info_ptr->unknown_chunks_num + num_unknowns) *
|
||||
(png_uint_32)((info_ptr->unknown_chunks_num + num_unknowns) *
|
||||
png_sizeof(png_unknown_chunk)));
|
||||
if (np == NULL)
|
||||
{
|
||||
png_warning(png_ptr,
|
||||
"Out of memory while processing unknown chunk");
|
||||
"Out of memory while processing unknown chunk.");
|
||||
return;
|
||||
}
|
||||
|
||||
png_memcpy(np, info_ptr->unknown_chunks,
|
||||
info_ptr->unknown_chunks_num * png_sizeof(png_unknown_chunk));
|
||||
png_free(png_ptr, info_ptr->unknown_chunks);
|
||||
info_ptr->unknown_chunks=NULL;
|
||||
|
||||
for (i = 0; i < num_unknowns; i++)
|
||||
{
|
||||
@@ -1042,11 +1087,11 @@ png_set_unknown_chunks(png_structp png_ptr,
|
||||
else
|
||||
{
|
||||
to->data = (png_bytep)png_malloc_warn(png_ptr,
|
||||
(png_size_t)from->size);
|
||||
(png_uint_32)from->size);
|
||||
if (to->data == NULL)
|
||||
{
|
||||
png_warning(png_ptr,
|
||||
"Out of memory while processing unknown chunk");
|
||||
"Out of memory while processing unknown chunk.");
|
||||
to->size = 0;
|
||||
}
|
||||
else
|
||||
@@ -1070,12 +1115,29 @@ png_set_unknown_chunk_location(png_structp png_ptr, png_infop info_ptr,
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(PNG_1_0_X) || defined(PNG_1_2_X)
|
||||
#if defined(PNG_READ_EMPTY_PLTE_SUPPORTED) || \
|
||||
defined(PNG_WRITE_EMPTY_PLTE_SUPPORTED)
|
||||
void PNGAPI
|
||||
png_permit_empty_plte (png_structp png_ptr, int empty_plte_permitted)
|
||||
{
|
||||
/* This function is deprecated in favor of png_permit_mng_features()
|
||||
and will be removed from libpng-1.3.0 */
|
||||
png_debug(1, "in png_permit_empty_plte, DEPRECATED.\n");
|
||||
if (png_ptr == NULL)
|
||||
return;
|
||||
png_ptr->mng_features_permitted = (png_byte)
|
||||
((png_ptr->mng_features_permitted & (~PNG_FLAG_MNG_EMPTY_PLTE)) |
|
||||
((empty_plte_permitted & PNG_FLAG_MNG_EMPTY_PLTE)));
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(PNG_MNG_FEATURES_SUPPORTED)
|
||||
png_uint_32 PNGAPI
|
||||
png_permit_mng_features (png_structp png_ptr, png_uint_32 mng_features)
|
||||
{
|
||||
png_debug(1, "in png_permit_mng_features");
|
||||
png_debug(1, "in png_permit_mng_features\n");
|
||||
if (png_ptr == NULL)
|
||||
return (png_uint_32)0;
|
||||
png_ptr->mng_features_permitted =
|
||||
@@ -1110,7 +1172,7 @@ png_set_keep_unknown_chunks(png_structp png_ptr, int keep, png_bytep
|
||||
return;
|
||||
old_num_chunks = png_ptr->num_chunk_list;
|
||||
new_list=(png_bytep)png_malloc(png_ptr,
|
||||
(png_size_t)
|
||||
(png_uint_32)
|
||||
(5*(num_chunks + old_num_chunks)));
|
||||
if (png_ptr->chunk_list != NULL)
|
||||
{
|
||||
@@ -1136,7 +1198,7 @@ void PNGAPI
|
||||
png_set_read_user_chunk_fn(png_structp png_ptr, png_voidp user_chunk_ptr,
|
||||
png_user_chunk_ptr read_user_chunk_fn)
|
||||
{
|
||||
png_debug(1, "in png_set_read_user_chunk_fn");
|
||||
png_debug(1, "in png_set_read_user_chunk_fn\n");
|
||||
if (png_ptr == NULL)
|
||||
return;
|
||||
png_ptr->read_user_chunk_fn = read_user_chunk_fn;
|
||||
@@ -1148,7 +1210,7 @@ png_set_read_user_chunk_fn(png_structp png_ptr, png_voidp user_chunk_ptr,
|
||||
void PNGAPI
|
||||
png_set_rows(png_structp png_ptr, png_infop info_ptr, png_bytepp row_pointers)
|
||||
{
|
||||
png_debug1(1, "in %s storage function", "rows");
|
||||
png_debug1(1, "in %s storage function\n", "rows");
|
||||
|
||||
if (png_ptr == NULL || info_ptr == NULL)
|
||||
return;
|
||||
@@ -1164,12 +1226,12 @@ png_set_rows(png_structp png_ptr, png_infop info_ptr, png_bytepp row_pointers)
|
||||
#ifdef PNG_WRITE_SUPPORTED
|
||||
void PNGAPI
|
||||
png_set_compression_buffer_size(png_structp png_ptr,
|
||||
png_size_t size)
|
||||
png_uint_32 size)
|
||||
{
|
||||
if (png_ptr == NULL)
|
||||
return;
|
||||
png_free(png_ptr, png_ptr->zbuf);
|
||||
png_ptr->zbuf_size = size;
|
||||
png_ptr->zbuf_size = (png_size_t)size;
|
||||
png_ptr->zbuf = (png_bytep)png_malloc(png_ptr, size);
|
||||
png_ptr->zstream.next_out = png_ptr->zbuf;
|
||||
png_ptr->zstream.avail_out = (uInt)png_ptr->zbuf_size;
|
||||
@@ -1184,6 +1246,32 @@ png_set_invalid(png_structp png_ptr, png_infop info_ptr, int mask)
|
||||
}
|
||||
|
||||
|
||||
#ifndef PNG_1_0_X
|
||||
#ifdef PNG_ASSEMBLER_CODE_SUPPORTED
|
||||
/* function was added to libpng 1.2.0 and should always exist by default */
|
||||
void PNGAPI
|
||||
png_set_asm_flags (png_structp png_ptr, png_uint_32 asm_flags)
|
||||
{
|
||||
/* Obsolete as of libpng-1.2.20 and will be removed from libpng-1.4.0 */
|
||||
if (png_ptr != NULL)
|
||||
png_ptr->asm_flags = 0;
|
||||
asm_flags = asm_flags; /* Quiet the compiler */
|
||||
}
|
||||
|
||||
/* this function was added to libpng 1.2.0 */
|
||||
void PNGAPI
|
||||
png_set_mmx_thresholds (png_structp png_ptr,
|
||||
png_byte mmx_bitdepth_threshold,
|
||||
png_uint_32 mmx_rowbytes_threshold)
|
||||
{
|
||||
/* Obsolete as of libpng-1.2.20 and will be removed from libpng-1.4.0 */
|
||||
if (png_ptr == NULL)
|
||||
return;
|
||||
/* Quiet the compiler */
|
||||
mmx_bitdepth_threshold = mmx_bitdepth_threshold;
|
||||
mmx_rowbytes_threshold = mmx_rowbytes_threshold;
|
||||
}
|
||||
#endif /* ?PNG_ASSEMBLER_CODE_SUPPORTED */
|
||||
|
||||
#ifdef PNG_SET_USER_LIMITS_SUPPORTED
|
||||
/* this function was added to libpng 1.2.6 */
|
||||
@@ -1199,30 +1287,7 @@ png_set_user_limits (png_structp png_ptr, png_uint_32 user_width_max,
|
||||
png_ptr->user_width_max = user_width_max;
|
||||
png_ptr->user_height_max = user_height_max;
|
||||
}
|
||||
/* this function was added to libpng 1.4.0 */
|
||||
void PNGAPI
|
||||
png_set_chunk_cache_max (png_structp png_ptr,
|
||||
png_uint_32 user_chunk_cache_max)
|
||||
{
|
||||
if (png_ptr == NULL) return;
|
||||
png_ptr->user_chunk_cache_max = user_chunk_cache_max;
|
||||
if (user_chunk_cache_max == 0x7fffffffL) /* Unlimited */
|
||||
png_ptr->user_chunk_cache_max = 0;
|
||||
else
|
||||
png_ptr->user_chunk_cache_max = user_chunk_cache_max + 1;
|
||||
}
|
||||
#endif /* ?PNG_SET_USER_LIMITS_SUPPORTED */
|
||||
|
||||
|
||||
#if defined(PNG_BENIGN_ERRORS_SUPPORTED)
|
||||
void PNGAPI
|
||||
png_set_benign_errors(png_structp png_ptr, int allowed)
|
||||
{
|
||||
png_debug(1, "in png_set_benign_errors");
|
||||
if (allowed)
|
||||
png_ptr->flags |= PNG_FLAG_BENIGN_ERRORS_WARN;
|
||||
else
|
||||
png_ptr->flags &= ~PNG_FLAG_BENIGN_ERRORS_WARN;
|
||||
}
|
||||
#endif /* PNG_BENIGN_ERRORS_SUPPORTED */
|
||||
#endif /* ?PNG_1_0_X */
|
||||
#endif /* PNG_READ_SUPPORTED || PNG_WRITE_SUPPORTED */
|
||||
|
||||
198
pngtest.c
198
pngtest.c
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngtest.c - a simple test program to test libpng
|
||||
*
|
||||
* Last changed in libpng 1.4.0 [November 13, 2008]
|
||||
* Last changed in libpng 1.2.32 [September 6, 2008]
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2008 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
@@ -29,14 +29,34 @@
|
||||
*/
|
||||
|
||||
#include "png.h"
|
||||
#include "pngpriv.h"
|
||||
|
||||
#if defined(_WIN32_WCE)
|
||||
# if _WIN32_WCE < 211
|
||||
__error__ (f|w)printf functions are not supported on old WindowsCE.;
|
||||
# endif
|
||||
# include <windows.h>
|
||||
# include <stdlib.h>
|
||||
# define READFILE(file, data, length, check) \
|
||||
if (ReadFile(file, data, length, &check, NULL)) check = 0
|
||||
# define WRITEFILE(file, data, length, check)) \
|
||||
if (WriteFile(file, data, length, &check, NULL)) check = 0
|
||||
# define FCLOSE(file) CloseHandle(file)
|
||||
#else
|
||||
# include <stdio.h>
|
||||
# include <stdlib.h>
|
||||
# define READFILE(file, data, length, check) \
|
||||
check=(png_size_t)fread(data, (png_size_t)1, length, file)
|
||||
# define WRITEFILE(file, data, length, check) \
|
||||
check=(png_size_t)fwrite(data, (png_size_t)1, length, file)
|
||||
# define FCLOSE(file) fclose(file)
|
||||
#endif
|
||||
|
||||
#if defined(PNG_NO_STDIO)
|
||||
# if defined(_WIN32_WCE)
|
||||
typedef HANDLE png_FILE_p;
|
||||
# else
|
||||
typedef FILE * png_FILE_p;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Makes pngtest verbose so we can find problems (needs to be before png.h) */
|
||||
@@ -95,8 +115,14 @@ static int status_dots_requested = 0;
|
||||
static int status_dots = 1;
|
||||
|
||||
void
|
||||
#ifdef PNG_1_0_X
|
||||
PNGAPI
|
||||
#endif
|
||||
read_row_callback(png_structp png_ptr, png_uint_32 row_number, int pass);
|
||||
void
|
||||
#ifdef PNG_1_0_X
|
||||
PNGAPI
|
||||
#endif
|
||||
read_row_callback(png_structp png_ptr, png_uint_32 row_number, int pass)
|
||||
{
|
||||
if (png_ptr == NULL || row_number > PNG_UINT_31_MAX) return;
|
||||
@@ -116,8 +142,14 @@ read_row_callback(png_structp png_ptr, png_uint_32 row_number, int pass)
|
||||
}
|
||||
|
||||
void
|
||||
#ifdef PNG_1_0_X
|
||||
PNGAPI
|
||||
#endif
|
||||
write_row_callback(png_structp png_ptr, png_uint_32 row_number, int pass);
|
||||
void
|
||||
#ifdef PNG_1_0_X
|
||||
PNGAPI
|
||||
#endif
|
||||
write_row_callback(png_structp png_ptr, png_uint_32 row_number, int pass)
|
||||
{
|
||||
if (png_ptr == NULL || row_number > PNG_UINT_31_MAX || pass > 7) return;
|
||||
@@ -131,8 +163,14 @@ write_row_callback(png_structp png_ptr, png_uint_32 row_number, int pass)
|
||||
5 in case illegal filter values are present.) */
|
||||
static png_uint_32 filters_used[256];
|
||||
void
|
||||
#ifdef PNG_1_0_X
|
||||
PNGAPI
|
||||
#endif
|
||||
count_filters(png_structp png_ptr, png_row_infop row_info, png_bytep data);
|
||||
void
|
||||
#ifdef PNG_1_0_X
|
||||
PNGAPI
|
||||
#endif
|
||||
count_filters(png_structp png_ptr, png_row_infop row_info, png_bytep data)
|
||||
{
|
||||
if (png_ptr != NULL && row_info != NULL)
|
||||
@@ -147,8 +185,14 @@ count_filters(png_structp png_ptr, png_row_infop row_info, png_bytep data)
|
||||
static png_uint_32 zero_samples;
|
||||
|
||||
void
|
||||
#ifdef PNG_1_0_X
|
||||
PNGAPI
|
||||
#endif
|
||||
count_zero_samples(png_structp png_ptr, png_row_infop row_info, png_bytep data);
|
||||
void
|
||||
#ifdef PNG_1_0_X
|
||||
PNGAPI
|
||||
#endif
|
||||
count_zero_samples(png_structp png_ptr, png_row_infop row_info, png_bytep data)
|
||||
{
|
||||
png_bytep dp = data;
|
||||
@@ -257,7 +301,7 @@ pngtest_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
|
||||
/* fread() returns 0 on error, so it is OK to store this in a png_size_t
|
||||
* instead of an int, which is what fread() actually returns.
|
||||
*/
|
||||
check = fread(data, 1, length, (png_FILE_p)png_ptr->io_ptr);
|
||||
READFILE((png_FILE_p)png_ptr->io_ptr, data, length, check);
|
||||
|
||||
if (check != length)
|
||||
{
|
||||
@@ -276,7 +320,7 @@ pngtest_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
|
||||
static void
|
||||
pngtest_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
|
||||
{
|
||||
png_size_t check;
|
||||
int check;
|
||||
png_byte *n_data;
|
||||
png_FILE_p io_ptr;
|
||||
|
||||
@@ -285,7 +329,7 @@ pngtest_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
|
||||
io_ptr = (png_FILE_p)CVT_PTR(png_ptr->io_ptr);
|
||||
if ((png_bytep)n_data == data)
|
||||
{
|
||||
check = fread(n_data, 1, length, io_ptr);
|
||||
READFILE(io_ptr, n_data, length, check);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -296,7 +340,7 @@ pngtest_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
|
||||
do
|
||||
{
|
||||
read = MIN(NEAR_BUF_SIZE, remaining);
|
||||
err = fread(buf, 1, 1, io_ptr);
|
||||
READFILE(io_ptr, buf, 1, err);
|
||||
png_memcpy(data, buf, read); /* copy far buffer to near buffer */
|
||||
if (err != read)
|
||||
break;
|
||||
@@ -318,10 +362,12 @@ pngtest_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
|
||||
static void
|
||||
pngtest_flush(png_structp png_ptr)
|
||||
{
|
||||
#if !defined(_WIN32_WCE)
|
||||
png_FILE_p io_ptr;
|
||||
io_ptr = (png_FILE_p)CVT_PTR((png_ptr->io_ptr));
|
||||
if (io_ptr != NULL)
|
||||
fflush(io_ptr);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -333,9 +379,9 @@ pngtest_flush(png_structp png_ptr)
|
||||
static void
|
||||
pngtest_write_data(png_structp png_ptr, png_bytep data, png_size_t length)
|
||||
{
|
||||
png_size_t check;
|
||||
png_uint_32 check;
|
||||
|
||||
check = fwrite(data, 1, length, (png_FILE_p)png_ptr->io_ptr);
|
||||
WRITEFILE((png_FILE_p)png_ptr->io_ptr, data, length, check);
|
||||
if (check != length)
|
||||
{
|
||||
png_error(png_ptr, "Write Error");
|
||||
@@ -353,7 +399,7 @@ pngtest_write_data(png_structp png_ptr, png_bytep data, png_size_t length)
|
||||
static void
|
||||
pngtest_write_data(png_structp png_ptr, png_bytep data, png_size_t length)
|
||||
{
|
||||
png_size_t check;
|
||||
png_uint_32 check;
|
||||
png_byte *near_data; /* Needs to be "png_byte *" instead of "png_bytep" */
|
||||
png_FILE_p io_ptr;
|
||||
|
||||
@@ -362,7 +408,7 @@ pngtest_write_data(png_structp png_ptr, png_bytep data, png_size_t length)
|
||||
io_ptr = (png_FILE_p)CVT_PTR(png_ptr->io_ptr);
|
||||
if ((png_bytep)near_data == data)
|
||||
{
|
||||
check = fwrite(near_data, 1, length, io_ptr);
|
||||
WRITEFILE(io_ptr, near_data, length, check);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -374,7 +420,7 @@ pngtest_write_data(png_structp png_ptr, png_bytep data, png_size_t length)
|
||||
{
|
||||
written = MIN(NEAR_BUF_SIZE, remaining);
|
||||
png_memcpy(buf, data, written); /* copy far buffer to near buffer */
|
||||
err = fwrite(buf, 1, written, io_ptr);
|
||||
WRITEFILE(io_ptr, buf, written, err);
|
||||
if (err != written)
|
||||
break;
|
||||
else
|
||||
@@ -433,7 +479,7 @@ pngtest_error(png_structp png_ptr, png_const_charp message)
|
||||
by setting MAXSEG_64K in zlib zconf.h *or* PNG_MAX_MALLOC_64K. */
|
||||
typedef struct memory_information
|
||||
{
|
||||
png_alloc_size_t size;
|
||||
png_uint_32 size;
|
||||
png_voidp pointer;
|
||||
struct memory_information FAR *next;
|
||||
} memory_information;
|
||||
@@ -445,12 +491,11 @@ static int maximum_allocation = 0;
|
||||
static int total_allocation = 0;
|
||||
static int num_allocations = 0;
|
||||
|
||||
png_voidp png_debug_malloc
|
||||
PNGARG((png_structp png_ptr, png_alloc_size_t size));
|
||||
png_voidp png_debug_malloc PNGARG((png_structp png_ptr, png_uint_32 size));
|
||||
void png_debug_free PNGARG((png_structp png_ptr, png_voidp ptr));
|
||||
|
||||
png_voidp
|
||||
png_debug_malloc(png_structp png_ptr, png_alloc_size_t size)
|
||||
png_debug_malloc(png_structp png_ptr, png_uint_32 size)
|
||||
{
|
||||
|
||||
/* png_malloc has already tested for NULL; png_create_struct calls
|
||||
@@ -466,23 +511,24 @@ png_debug_malloc(png_structp png_ptr, png_alloc_size_t size)
|
||||
memory_infop pinfo;
|
||||
png_set_mem_fn(png_ptr, NULL, NULL, NULL);
|
||||
pinfo = (memory_infop)png_malloc(png_ptr,
|
||||
png_sizeof(*pinfo));
|
||||
(png_uint_32)png_sizeof(*pinfo));
|
||||
pinfo->size = size;
|
||||
current_allocation += size;
|
||||
total_allocation += size;
|
||||
num_allocations ++;
|
||||
if (current_allocation > maximum_allocation)
|
||||
maximum_allocation = current_allocation;
|
||||
pinfo->pointer = png_malloc(png_ptr, size);
|
||||
pinfo->pointer = (png_voidp)png_malloc(png_ptr, size);
|
||||
/* Restore malloc_fn and free_fn */
|
||||
png_set_mem_fn(png_ptr,
|
||||
NULL, png_debug_malloc, png_debug_free);
|
||||
png_voidp_NULL, (png_malloc_ptr)png_debug_malloc,
|
||||
(png_free_ptr)png_debug_free);
|
||||
if (size != 0 && pinfo->pointer == NULL)
|
||||
{
|
||||
current_allocation -= size;
|
||||
total_allocation -= size;
|
||||
png_error(png_ptr,
|
||||
"out of memory in pngtest->png_debug_malloc");
|
||||
"out of memory in pngtest->png_debug_malloc.");
|
||||
}
|
||||
pinfo->next = pinformation;
|
||||
pinformation = pinfo;
|
||||
@@ -641,32 +687,46 @@ test_one_file(PNG_CONST char *inname, PNG_CONST char *outname)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(_WIN32_WCE)
|
||||
TCHAR path[MAX_PATH];
|
||||
#endif
|
||||
char inbuf[256], outbuf[256];
|
||||
|
||||
row_buf = NULL;
|
||||
|
||||
#if defined(_WIN32_WCE)
|
||||
MultiByteToWideChar(CP_ACP, 0, inname, -1, path, MAX_PATH);
|
||||
if ((fpin = CreateFile(path, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL)) == INVALID_HANDLE_VALUE)
|
||||
#else
|
||||
if ((fpin = fopen(inname, "rb")) == NULL)
|
||||
#endif
|
||||
{
|
||||
fprintf(STDERR, "Could not find input file %s\n", inname);
|
||||
return (1);
|
||||
}
|
||||
|
||||
#if defined(_WIN32_WCE)
|
||||
MultiByteToWideChar(CP_ACP, 0, outname, -1, path, MAX_PATH);
|
||||
if ((fpout = CreateFile(path, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0, NULL)) == INVALID_HANDLE_VALUE)
|
||||
#else
|
||||
if ((fpout = fopen(outname, "wb")) == NULL)
|
||||
#endif
|
||||
{
|
||||
fprintf(STDERR, "Could not open output file %s\n", outname);
|
||||
FCLOSE(fpin);
|
||||
return (1);
|
||||
}
|
||||
|
||||
png_debug(0, "Allocating read and write structures");
|
||||
png_debug(0, "Allocating read and write structures\n");
|
||||
#if defined(PNG_USER_MEM_SUPPORTED) && PNG_DEBUG
|
||||
read_ptr =
|
||||
png_create_read_struct_2(PNG_LIBPNG_VER_STRING, NULL,
|
||||
NULL, NULL, NULL,
|
||||
png_create_read_struct_2(PNG_LIBPNG_VER_STRING, png_voidp_NULL,
|
||||
png_error_ptr_NULL, png_error_ptr_NULL, png_voidp_NULL,
|
||||
(png_malloc_ptr)png_debug_malloc, (png_free_ptr)png_debug_free);
|
||||
#else
|
||||
read_ptr =
|
||||
png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
|
||||
png_create_read_struct(PNG_LIBPNG_VER_STRING, png_voidp_NULL,
|
||||
png_error_ptr_NULL, png_error_ptr_NULL);
|
||||
#endif
|
||||
#if defined(PNG_NO_STDIO)
|
||||
png_set_error_fn(read_ptr, (png_voidp)inname, pngtest_error,
|
||||
@@ -685,18 +745,20 @@ test_one_file(PNG_CONST char *inname, PNG_CONST char *outname)
|
||||
#ifdef PNG_WRITE_SUPPORTED
|
||||
#if defined(PNG_USER_MEM_SUPPORTED) && PNG_DEBUG
|
||||
write_ptr =
|
||||
png_create_write_struct_2(PNG_LIBPNG_VER_STRING, NULL,
|
||||
NULL, NULL, NULL, png_debug_malloc, png_debug_free);
|
||||
png_create_write_struct_2(PNG_LIBPNG_VER_STRING, png_voidp_NULL,
|
||||
png_error_ptr_NULL, png_error_ptr_NULL, png_voidp_NULL,
|
||||
(png_malloc_ptr)png_debug_malloc, (png_free_ptr)png_debug_free);
|
||||
#else
|
||||
write_ptr =
|
||||
png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
|
||||
png_create_write_struct(PNG_LIBPNG_VER_STRING, png_voidp_NULL,
|
||||
png_error_ptr_NULL, png_error_ptr_NULL);
|
||||
#endif
|
||||
#if defined(PNG_NO_STDIO)
|
||||
png_set_error_fn(write_ptr, (png_voidp)inname, pngtest_error,
|
||||
pngtest_warning);
|
||||
#endif
|
||||
#endif
|
||||
png_debug(0, "Allocating read_info, write_info and end_info structures");
|
||||
png_debug(0, "Allocating read_info, write_info and end_info structures\n");
|
||||
read_info_ptr = png_create_info_struct(read_ptr);
|
||||
end_info_ptr = png_create_info_struct(read_ptr);
|
||||
#ifdef PNG_WRITE_SUPPORTED
|
||||
@@ -705,7 +767,7 @@ test_one_file(PNG_CONST char *inname, PNG_CONST char *outname)
|
||||
#endif
|
||||
|
||||
#ifdef PNG_SETJMP_SUPPORTED
|
||||
png_debug(0, "Setting jmpbuf for read struct");
|
||||
png_debug(0, "Setting jmpbuf for read struct\n");
|
||||
#ifdef USE_FAR_KEYWORD
|
||||
if (setjmp(jmpbuf))
|
||||
#else
|
||||
@@ -729,7 +791,7 @@ test_one_file(PNG_CONST char *inname, PNG_CONST char *outname)
|
||||
#endif
|
||||
|
||||
#ifdef PNG_WRITE_SUPPORTED
|
||||
png_debug(0, "Setting jmpbuf for write struct");
|
||||
png_debug(0, "Setting jmpbuf for write struct\n");
|
||||
#ifdef USE_FAR_KEYWORD
|
||||
if (setjmp(jmpbuf))
|
||||
#else
|
||||
@@ -752,7 +814,7 @@ test_one_file(PNG_CONST char *inname, PNG_CONST char *outname)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
png_debug(0, "Initializing input and output streams");
|
||||
png_debug(0, "Initializing input and output streams\n");
|
||||
#if !defined(PNG_NO_STDIO)
|
||||
png_init_io(read_ptr, fpin);
|
||||
# ifdef PNG_WRITE_SUPPORTED
|
||||
@@ -779,9 +841,9 @@ test_one_file(PNG_CONST char *inname, PNG_CONST char *outname)
|
||||
else
|
||||
{
|
||||
#ifdef PNG_WRITE_SUPPORTED
|
||||
png_set_write_status_fn(write_ptr, NULL);
|
||||
png_set_write_status_fn(write_ptr, png_write_status_ptr_NULL);
|
||||
#endif
|
||||
png_set_read_status_fn(read_ptr, NULL);
|
||||
png_set_read_status_fn(read_ptr, png_read_status_ptr_NULL);
|
||||
}
|
||||
|
||||
#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED)
|
||||
@@ -802,20 +864,20 @@ test_one_file(PNG_CONST char *inname, PNG_CONST char *outname)
|
||||
# define PNG_HANDLE_CHUNK_ALWAYS 3
|
||||
# endif
|
||||
png_set_keep_unknown_chunks(read_ptr, PNG_HANDLE_CHUNK_ALWAYS,
|
||||
NULL, 0);
|
||||
png_bytep_NULL, 0);
|
||||
#endif
|
||||
#if defined(PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED)
|
||||
# ifndef PNG_HANDLE_CHUNK_IF_SAFE
|
||||
# define PNG_HANDLE_CHUNK_IF_SAFE 2
|
||||
# endif
|
||||
png_set_keep_unknown_chunks(write_ptr, PNG_HANDLE_CHUNK_IF_SAFE,
|
||||
NULL, 0);
|
||||
png_bytep_NULL, 0);
|
||||
#endif
|
||||
|
||||
png_debug(0, "Reading info struct");
|
||||
png_debug(0, "Reading info struct\n");
|
||||
png_read_info(read_ptr, read_info_ptr);
|
||||
|
||||
png_debug(0, "Transferring info struct");
|
||||
png_debug(0, "Transferring info struct\n");
|
||||
{
|
||||
int interlace_type, compression_type, filter_type;
|
||||
|
||||
@@ -1015,7 +1077,7 @@ test_one_file(PNG_CONST char *inname, PNG_CONST char *outname)
|
||||
|
||||
if (png_get_text(read_ptr, read_info_ptr, &text_ptr, &num_text) > 0)
|
||||
{
|
||||
png_debug1(0, "Handling %d iTXt/tEXt/zTXt chunks", num_text);
|
||||
png_debug1(0, "Handling %d iTXt/tEXt/zTXt chunks\n", num_text);
|
||||
png_set_text(write_ptr, write_info_ptr, text_ptr, num_text);
|
||||
}
|
||||
}
|
||||
@@ -1044,21 +1106,21 @@ test_one_file(PNG_CONST char *inname, PNG_CONST char *outname)
|
||||
{
|
||||
png_bytep trans;
|
||||
int num_trans;
|
||||
png_color_16p trans_color;
|
||||
png_color_16p trans_values;
|
||||
|
||||
if (png_get_tRNS(read_ptr, read_info_ptr, &trans, &num_trans,
|
||||
&trans_color))
|
||||
&trans_values))
|
||||
{
|
||||
int sample_max = (1 << read_info_ptr->bit_depth);
|
||||
/* libpng doesn't reject a tRNS chunk with out-of-range samples */
|
||||
if (!((read_info_ptr->color_type == PNG_COLOR_TYPE_GRAY &&
|
||||
(int)trans_color->gray > sample_max) ||
|
||||
(int)trans_values->gray > sample_max) ||
|
||||
(read_info_ptr->color_type == PNG_COLOR_TYPE_RGB &&
|
||||
((int)trans_color->red > sample_max ||
|
||||
(int)trans_color->green > sample_max ||
|
||||
(int)trans_color->blue > sample_max))))
|
||||
((int)trans_values->red > sample_max ||
|
||||
(int)trans_values->green > sample_max ||
|
||||
(int)trans_values->blue > sample_max))))
|
||||
png_set_tRNS(write_ptr, write_info_ptr, trans, num_trans,
|
||||
trans_color);
|
||||
trans_values);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -1083,7 +1145,7 @@ test_one_file(PNG_CONST char *inname, PNG_CONST char *outname)
|
||||
#endif
|
||||
|
||||
#ifdef PNG_WRITE_SUPPORTED
|
||||
png_debug(0, "\nWriting info struct");
|
||||
png_debug(0, "\nWriting info struct\n");
|
||||
|
||||
/* If we wanted, we could write info in two steps:
|
||||
png_write_info_before_PLTE(write_ptr, write_info_ptr);
|
||||
@@ -1129,9 +1191,9 @@ test_one_file(PNG_CONST char *inname, PNG_CONST char *outname)
|
||||
png_debug(0, "\nAllocating row buffer...");
|
||||
row_buf = (png_bytep)png_malloc(read_ptr,
|
||||
png_get_rowbytes(read_ptr, read_info_ptr));
|
||||
png_debug1(0, "0x%08lx\n", (unsigned long)row_buf);
|
||||
png_debug1(0, "0x%08lx\n\n", (unsigned long)row_buf);
|
||||
#endif /* SINGLE_ROWBUF_ALLOC */
|
||||
png_debug(0, "Writing row data");
|
||||
png_debug(0, "Writing row data\n");
|
||||
|
||||
#if defined(PNG_READ_INTERLACING_SUPPORTED) || \
|
||||
defined(PNG_WRITE_INTERLACING_SUPPORTED)
|
||||
@@ -1150,17 +1212,17 @@ test_one_file(PNG_CONST char *inname, PNG_CONST char *outname)
|
||||
#endif
|
||||
for (pass = 0; pass < num_pass; pass++)
|
||||
{
|
||||
png_debug1(0, "Writing row data for pass %d", pass);
|
||||
png_debug1(0, "Writing row data for pass %d\n", pass);
|
||||
for (y = 0; y < height; y++)
|
||||
{
|
||||
#ifndef SINGLE_ROWBUF_ALLOC
|
||||
png_debug2(0, "\nAllocating row buffer (pass %d, y = %ld)...", pass, y);
|
||||
row_buf = (png_bytep)png_malloc(read_ptr,
|
||||
png_get_rowbytes(read_ptr, read_info_ptr));
|
||||
png_debug2(0, "0x%08lx (%ld bytes)", (unsigned long)row_buf,
|
||||
png_debug2(0, "0x%08lx (%ld bytes)\n", (unsigned long)row_buf,
|
||||
png_get_rowbytes(read_ptr, read_info_ptr));
|
||||
#endif /* !SINGLE_ROWBUF_ALLOC */
|
||||
png_read_rows(read_ptr, (png_bytepp)&row_buf, NULL, 1);
|
||||
png_read_rows(read_ptr, (png_bytepp)&row_buf, png_bytepp_NULL, 1);
|
||||
|
||||
#ifdef PNG_WRITE_SUPPORTED
|
||||
#ifdef PNGTEST_TIMING
|
||||
@@ -1177,7 +1239,7 @@ test_one_file(PNG_CONST char *inname, PNG_CONST char *outname)
|
||||
#endif /* PNG_WRITE_SUPPORTED */
|
||||
|
||||
#ifndef SINGLE_ROWBUF_ALLOC
|
||||
png_debug2(0, "Freeing row buffer (pass %d, y = %ld)\n", pass, y);
|
||||
png_debug2(0, "Freeing row buffer (pass %d, y = %ld)\n\n", pass, y);
|
||||
png_free(read_ptr, row_buf);
|
||||
row_buf = NULL;
|
||||
#endif /* !SINGLE_ROWBUF_ALLOC */
|
||||
@@ -1191,7 +1253,7 @@ test_one_file(PNG_CONST char *inname, PNG_CONST char *outname)
|
||||
png_free_data(write_ptr, write_info_ptr, PNG_FREE_UNKN, -1);
|
||||
#endif
|
||||
|
||||
png_debug(0, "Reading and writing end_info data");
|
||||
png_debug(0, "Reading and writing end_info data\n");
|
||||
|
||||
png_read_end(read_ptr, end_info_ptr);
|
||||
#if defined(PNG_TEXT_SUPPORTED)
|
||||
@@ -1201,7 +1263,7 @@ test_one_file(PNG_CONST char *inname, PNG_CONST char *outname)
|
||||
|
||||
if (png_get_text(read_ptr, end_info_ptr, &text_ptr, &num_text) > 0)
|
||||
{
|
||||
png_debug1(0, "Handling %d iTXt/tEXt/zTXt chunks", num_text);
|
||||
png_debug1(0, "Handling %d iTXt/tEXt/zTXt chunks\n", num_text);
|
||||
png_set_text(write_ptr, write_end_info_ptr, text_ptr, num_text);
|
||||
}
|
||||
}
|
||||
@@ -1261,33 +1323,43 @@ test_one_file(PNG_CONST char *inname, PNG_CONST char *outname)
|
||||
}
|
||||
#endif
|
||||
|
||||
png_debug(0, "Destroying data structs");
|
||||
png_debug(0, "Destroying data structs\n");
|
||||
#ifdef SINGLE_ROWBUF_ALLOC
|
||||
png_debug(1, "destroying row_buf for read_ptr");
|
||||
png_debug(1, "destroying row_buf for read_ptr\n");
|
||||
png_free(read_ptr, row_buf);
|
||||
row_buf = NULL;
|
||||
#endif /* SINGLE_ROWBUF_ALLOC */
|
||||
png_debug(1, "destroying read_ptr, read_info_ptr, end_info_ptr");
|
||||
png_debug(1, "destroying read_ptr, read_info_ptr, end_info_ptr\n");
|
||||
png_destroy_read_struct(&read_ptr, &read_info_ptr, &end_info_ptr);
|
||||
#ifdef PNG_WRITE_SUPPORTED
|
||||
png_debug(1, "destroying write_end_info_ptr");
|
||||
png_debug(1, "destroying write_end_info_ptr\n");
|
||||
png_destroy_info_struct(write_ptr, &write_end_info_ptr);
|
||||
png_debug(1, "destroying write_ptr, write_info_ptr");
|
||||
png_debug(1, "destroying write_ptr, write_info_ptr\n");
|
||||
png_destroy_write_struct(&write_ptr, &write_info_ptr);
|
||||
#endif
|
||||
png_debug(0, "Destruction complete.");
|
||||
png_debug(0, "Destruction complete.\n");
|
||||
|
||||
FCLOSE(fpin);
|
||||
FCLOSE(fpout);
|
||||
|
||||
png_debug(0, "Opening files for comparison");
|
||||
png_debug(0, "Opening files for comparison\n");
|
||||
#if defined(_WIN32_WCE)
|
||||
MultiByteToWideChar(CP_ACP, 0, inname, -1, path, MAX_PATH);
|
||||
if ((fpin = CreateFile(path, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL)) == INVALID_HANDLE_VALUE)
|
||||
#else
|
||||
if ((fpin = fopen(inname, "rb")) == NULL)
|
||||
#endif
|
||||
{
|
||||
fprintf(STDERR, "Could not find file %s\n", inname);
|
||||
return (1);
|
||||
}
|
||||
|
||||
#if defined(_WIN32_WCE)
|
||||
MultiByteToWideChar(CP_ACP, 0, outname, -1, path, MAX_PATH);
|
||||
if ((fpout = CreateFile(path, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL)) == INVALID_HANDLE_VALUE)
|
||||
#else
|
||||
if ((fpout = fopen(outname, "rb")) == NULL)
|
||||
#endif
|
||||
{
|
||||
fprintf(STDERR, "Could not find file %s\n", outname);
|
||||
FCLOSE(fpin);
|
||||
@@ -1298,8 +1370,8 @@ test_one_file(PNG_CONST char *inname, PNG_CONST char *outname)
|
||||
{
|
||||
png_size_t num_in, num_out;
|
||||
|
||||
num_in = fread(inbuf, 1, 1, fpin);
|
||||
num_out = fread(outbuf, 1, 1, fpout);
|
||||
READFILE(fpin, inbuf, 1, num_in);
|
||||
READFILE(fpout, outbuf, 1, num_out);
|
||||
|
||||
if (num_in != num_out)
|
||||
{
|
||||
@@ -1613,4 +1685,4 @@ main(int argc, char *argv[])
|
||||
}
|
||||
|
||||
/* Generate a compiler error if there is an old png.h in the search path. */
|
||||
typedef version_1_4_0beta37 your_png_h_is_not_version_1_4_0beta37;
|
||||
typedef version_1_2_32beta01 your_png_h_is_not_version_1_2_32beta01;
|
||||
|
||||
BIN
pngtest.png
BIN
pngtest.png
Binary file not shown.
|
Before Width: | Height: | Size: 8.4 KiB After Width: | Height: | Size: 8.4 KiB |
54
pngtrans.c
54
pngtrans.c
@@ -1,23 +1,23 @@
|
||||
|
||||
/* pngtrans.c - transforms the data in a row (used by both readers and writers)
|
||||
*
|
||||
* Last changed in libpng 1.4.0 [November 13, 2008]
|
||||
* Last changed in libpng 1.2.30 [August 15, 2008]
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2008 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||
*/
|
||||
|
||||
#define PNG_INTERNAL
|
||||
#include "png.h"
|
||||
#if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
|
||||
#include "pngpriv.h"
|
||||
|
||||
#if defined(PNG_READ_BGR_SUPPORTED) || defined(PNG_WRITE_BGR_SUPPORTED)
|
||||
/* turn on BGR-to-RGB mapping */
|
||||
void PNGAPI
|
||||
png_set_bgr(png_structp png_ptr)
|
||||
{
|
||||
png_debug(1, "in png_set_bgr");
|
||||
png_debug(1, "in png_set_bgr\n");
|
||||
if (png_ptr == NULL) return;
|
||||
png_ptr->transformations |= PNG_BGR;
|
||||
}
|
||||
@@ -28,7 +28,7 @@ png_set_bgr(png_structp png_ptr)
|
||||
void PNGAPI
|
||||
png_set_swap(png_structp png_ptr)
|
||||
{
|
||||
png_debug(1, "in png_set_swap");
|
||||
png_debug(1, "in png_set_swap\n");
|
||||
if (png_ptr == NULL) return;
|
||||
if (png_ptr->bit_depth == 16)
|
||||
png_ptr->transformations |= PNG_SWAP_BYTES;
|
||||
@@ -40,7 +40,7 @@ png_set_swap(png_structp png_ptr)
|
||||
void PNGAPI
|
||||
png_set_packing(png_structp png_ptr)
|
||||
{
|
||||
png_debug(1, "in png_set_packing");
|
||||
png_debug(1, "in png_set_packing\n");
|
||||
if (png_ptr == NULL) return;
|
||||
if (png_ptr->bit_depth < 8)
|
||||
{
|
||||
@@ -55,7 +55,7 @@ png_set_packing(png_structp png_ptr)
|
||||
void PNGAPI
|
||||
png_set_packswap(png_structp png_ptr)
|
||||
{
|
||||
png_debug(1, "in png_set_packswap");
|
||||
png_debug(1, "in png_set_packswap\n");
|
||||
if (png_ptr == NULL) return;
|
||||
if (png_ptr->bit_depth < 8)
|
||||
png_ptr->transformations |= PNG_PACKSWAP;
|
||||
@@ -66,7 +66,7 @@ png_set_packswap(png_structp png_ptr)
|
||||
void PNGAPI
|
||||
png_set_shift(png_structp png_ptr, png_color_8p true_bits)
|
||||
{
|
||||
png_debug(1, "in png_set_shift");
|
||||
png_debug(1, "in png_set_shift\n");
|
||||
if (png_ptr == NULL) return;
|
||||
png_ptr->transformations |= PNG_SHIFT;
|
||||
png_ptr->shift = *true_bits;
|
||||
@@ -78,7 +78,7 @@ png_set_shift(png_structp png_ptr, png_color_8p true_bits)
|
||||
int PNGAPI
|
||||
png_set_interlace_handling(png_structp png_ptr)
|
||||
{
|
||||
png_debug(1, "in png_set_interlace handling");
|
||||
png_debug(1, "in png_set_interlace handling\n");
|
||||
if (png_ptr && png_ptr->interlaced)
|
||||
{
|
||||
png_ptr->transformations |= PNG_INTERLACE;
|
||||
@@ -98,7 +98,7 @@ png_set_interlace_handling(png_structp png_ptr)
|
||||
void PNGAPI
|
||||
png_set_filler(png_structp png_ptr, png_uint_32 filler, int filler_loc)
|
||||
{
|
||||
png_debug(1, "in png_set_filler");
|
||||
png_debug(1, "in png_set_filler\n");
|
||||
if (png_ptr == NULL) return;
|
||||
png_ptr->transformations |= PNG_FILLER;
|
||||
png_ptr->filler = (png_byte)filler;
|
||||
@@ -131,7 +131,7 @@ png_set_filler(png_structp png_ptr, png_uint_32 filler, int filler_loc)
|
||||
void PNGAPI
|
||||
png_set_add_alpha(png_structp png_ptr, png_uint_32 filler, int filler_loc)
|
||||
{
|
||||
png_debug(1, "in png_set_add_alpha");
|
||||
png_debug(1, "in png_set_add_alpha\n");
|
||||
if (png_ptr == NULL) return;
|
||||
png_set_filler(png_ptr, filler, filler_loc);
|
||||
png_ptr->transformations |= PNG_ADD_ALPHA;
|
||||
@@ -145,7 +145,7 @@ png_set_add_alpha(png_structp png_ptr, png_uint_32 filler, int filler_loc)
|
||||
void PNGAPI
|
||||
png_set_swap_alpha(png_structp png_ptr)
|
||||
{
|
||||
png_debug(1, "in png_set_swap_alpha");
|
||||
png_debug(1, "in png_set_swap_alpha\n");
|
||||
if (png_ptr == NULL) return;
|
||||
png_ptr->transformations |= PNG_SWAP_ALPHA;
|
||||
}
|
||||
@@ -156,7 +156,7 @@ png_set_swap_alpha(png_structp png_ptr)
|
||||
void PNGAPI
|
||||
png_set_invert_alpha(png_structp png_ptr)
|
||||
{
|
||||
png_debug(1, "in png_set_invert_alpha");
|
||||
png_debug(1, "in png_set_invert_alpha\n");
|
||||
if (png_ptr == NULL) return;
|
||||
png_ptr->transformations |= PNG_INVERT_ALPHA;
|
||||
}
|
||||
@@ -166,7 +166,7 @@ png_set_invert_alpha(png_structp png_ptr)
|
||||
void PNGAPI
|
||||
png_set_invert_mono(png_structp png_ptr)
|
||||
{
|
||||
png_debug(1, "in png_set_invert_mono");
|
||||
png_debug(1, "in png_set_invert_mono\n");
|
||||
if (png_ptr == NULL) return;
|
||||
png_ptr->transformations |= PNG_INVERT_MONO;
|
||||
}
|
||||
@@ -175,10 +175,14 @@ png_set_invert_mono(png_structp png_ptr)
|
||||
void /* PRIVATE */
|
||||
png_do_invert(png_row_infop row_info, png_bytep row)
|
||||
{
|
||||
png_debug(1, "in png_do_invert");
|
||||
png_debug(1, "in png_do_invert\n");
|
||||
/* This test removed from libpng version 1.0.13 and 1.2.0:
|
||||
* if (row_info->bit_depth == 1 &&
|
||||
*/
|
||||
#if defined(PNG_USELESS_TESTS_SUPPORTED)
|
||||
if (row == NULL || row_info == NULL)
|
||||
return;
|
||||
#endif
|
||||
if (row_info->color_type == PNG_COLOR_TYPE_GRAY)
|
||||
{
|
||||
png_bytep rp = row;
|
||||
@@ -226,8 +230,11 @@ png_do_invert(png_row_infop row_info, png_bytep row)
|
||||
void /* PRIVATE */
|
||||
png_do_swap(png_row_infop row_info, png_bytep row)
|
||||
{
|
||||
png_debug(1, "in png_do_swap");
|
||||
png_debug(1, "in png_do_swap\n");
|
||||
if (
|
||||
#if defined(PNG_USELESS_TESTS_SUPPORTED)
|
||||
row != NULL && row_info != NULL &&
|
||||
#endif
|
||||
row_info->bit_depth == 16)
|
||||
{
|
||||
png_bytep rp = row;
|
||||
@@ -354,8 +361,11 @@ static PNG_CONST png_byte fourbppswaptable[256] = {
|
||||
void /* PRIVATE */
|
||||
png_do_packswap(png_row_infop row_info, png_bytep row)
|
||||
{
|
||||
png_debug(1, "in png_do_packswap");
|
||||
png_debug(1, "in png_do_packswap\n");
|
||||
if (
|
||||
#if defined(PNG_USELESS_TESTS_SUPPORTED)
|
||||
row != NULL && row_info != NULL &&
|
||||
#endif
|
||||
row_info->bit_depth < 8)
|
||||
{
|
||||
png_bytep rp, end, table;
|
||||
@@ -383,7 +393,10 @@ png_do_packswap(png_row_infop row_info, png_bytep row)
|
||||
void /* PRIVATE */
|
||||
png_do_strip_filler(png_row_infop row_info, png_bytep row, png_uint_32 flags)
|
||||
{
|
||||
png_debug(1, "in png_do_strip_filler");
|
||||
png_debug(1, "in png_do_strip_filler\n");
|
||||
#if defined(PNG_USELESS_TESTS_SUPPORTED)
|
||||
if (row != NULL && row_info != NULL)
|
||||
#endif
|
||||
{
|
||||
png_bytep sp=row;
|
||||
png_bytep dp=row;
|
||||
@@ -538,8 +551,11 @@ png_do_strip_filler(png_row_infop row_info, png_bytep row, png_uint_32 flags)
|
||||
void /* PRIVATE */
|
||||
png_do_bgr(png_row_infop row_info, png_bytep row)
|
||||
{
|
||||
png_debug(1, "in png_do_bgr");
|
||||
png_debug(1, "in png_do_bgr\n");
|
||||
if (
|
||||
#if defined(PNG_USELESS_TESTS_SUPPORTED)
|
||||
row != NULL && row_info != NULL &&
|
||||
#endif
|
||||
(row_info->color_type & PNG_COLOR_MASK_COLOR))
|
||||
{
|
||||
png_uint_32 row_width = row_info->width;
|
||||
@@ -614,7 +630,7 @@ void PNGAPI
|
||||
png_set_user_transform_info(png_structp png_ptr, png_voidp
|
||||
user_transform_ptr, int user_transform_depth, int user_transform_channels)
|
||||
{
|
||||
png_debug(1, "in png_set_user_transform_info");
|
||||
png_debug(1, "in png_set_user_transform_info\n");
|
||||
if (png_ptr == NULL) return;
|
||||
#if defined(PNG_USER_TRANSFORM_PTR_SUPPORTED)
|
||||
png_ptr->user_transform_ptr = user_transform_ptr;
|
||||
|
||||
27
pngwio.c
27
pngwio.c
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngwio.c - functions for data output
|
||||
*
|
||||
* Last changed in libpng 1.4.0 [November 13, 2008]
|
||||
* Last changed in libpng 1.2.30 [August 15, 2008]
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2008 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
@@ -15,9 +15,9 @@
|
||||
* them at run time with png_set_write_fn(...).
|
||||
*/
|
||||
|
||||
#define PNG_INTERNAL
|
||||
#include "png.h"
|
||||
#ifdef PNG_WRITE_SUPPORTED
|
||||
#include "pngpriv.h"
|
||||
|
||||
/* Write the data to whatever output you are using. The default routine
|
||||
writes to a file pointer. Note that this routine sometimes gets called
|
||||
@@ -46,7 +46,12 @@ png_default_write_data(png_structp png_ptr, png_bytep data, png_size_t length)
|
||||
png_uint_32 check;
|
||||
|
||||
if (png_ptr == NULL) return;
|
||||
#if defined(_WIN32_WCE)
|
||||
if ( !WriteFile((HANDLE)(png_ptr->io_ptr), data, length, &check, NULL) )
|
||||
check = 0;
|
||||
#else
|
||||
check = fwrite(data, 1, length, (png_FILE_p)(png_ptr->io_ptr));
|
||||
#endif
|
||||
if (check != length)
|
||||
png_error(png_ptr, "Write Error");
|
||||
}
|
||||
@@ -72,7 +77,12 @@ png_default_write_data(png_structp png_ptr, png_bytep data, png_size_t length)
|
||||
io_ptr = (png_FILE_p)CVT_PTR(png_ptr->io_ptr);
|
||||
if ((png_bytep)near_data == data)
|
||||
{
|
||||
#if defined(_WIN32_WCE)
|
||||
if ( !WriteFile(io_ptr, near_data, length, &check, NULL) )
|
||||
check = 0;
|
||||
#else
|
||||
check = fwrite(near_data, 1, length, io_ptr);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -84,7 +94,12 @@ png_default_write_data(png_structp png_ptr, png_bytep data, png_size_t length)
|
||||
{
|
||||
written = MIN(NEAR_BUF_SIZE, remaining);
|
||||
png_memcpy(buf, data, written); /* copy far buffer to near buffer */
|
||||
#if defined(_WIN32_WCE)
|
||||
if ( !WriteFile(io_ptr, buf, written, &err, NULL) )
|
||||
err = 0;
|
||||
#else
|
||||
err = fwrite(buf, 1, written, io_ptr);
|
||||
#endif
|
||||
if (err != written)
|
||||
break;
|
||||
else
|
||||
@@ -116,11 +131,15 @@ png_flush(png_structp png_ptr)
|
||||
void PNGAPI
|
||||
png_default_flush(png_structp png_ptr)
|
||||
{
|
||||
#if !defined(_WIN32_WCE)
|
||||
png_FILE_p io_ptr;
|
||||
#endif
|
||||
if (png_ptr == NULL) return;
|
||||
#if !defined(_WIN32_WCE)
|
||||
io_ptr = (png_FILE_p)CVT_PTR((png_ptr->io_ptr));
|
||||
if (io_ptr != NULL && fileno(io_ptr)!=-1)
|
||||
if (io_ptr != NULL)
|
||||
fflush(io_ptr);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
@@ -181,7 +200,7 @@ png_set_write_fn(png_structp png_ptr, png_voidp io_ptr,
|
||||
png_warning(png_ptr,
|
||||
"Attempted to set both read_data_fn and write_data_fn in");
|
||||
png_warning(png_ptr,
|
||||
"the same structure. Resetting read_data_fn to NULL");
|
||||
"the same structure. Resetting read_data_fn to NULL.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
177
pngwrite.c
177
pngwrite.c
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngwrite.c - general routines to write a PNG file
|
||||
*
|
||||
* Last changed in libpng 1.4.0 [November 13, 2008]
|
||||
* Last changed in libpng 1.2.31 [August 19, 2008]
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2008 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
@@ -9,9 +9,9 @@
|
||||
*/
|
||||
|
||||
/* get internal access to png.h */
|
||||
#define PNG_INTERNAL
|
||||
#include "png.h"
|
||||
#ifdef PNG_WRITE_SUPPORTED
|
||||
#include "pngpriv.h"
|
||||
|
||||
/* Writes all the PNG information. This is the suggested way to use the
|
||||
* library. If you have a new chunk to add, make a function to write it,
|
||||
@@ -25,7 +25,7 @@
|
||||
void PNGAPI
|
||||
png_write_info_before_PLTE(png_structp png_ptr, png_infop info_ptr)
|
||||
{
|
||||
png_debug(1, "in png_write_info_before_PLTE");
|
||||
png_debug(1, "in png_write_info_before_PLTE\n");
|
||||
if (png_ptr == NULL || info_ptr == NULL)
|
||||
return;
|
||||
if (!(png_ptr->mode & PNG_WROTE_INFO_BEFORE_PLTE))
|
||||
@@ -99,7 +99,7 @@ png_write_info_before_PLTE(png_structp png_ptr, png_infop info_ptr)
|
||||
{
|
||||
png_unknown_chunk *up;
|
||||
|
||||
png_debug(5, "writing extra chunks");
|
||||
png_debug(5, "writing extra chunks\n");
|
||||
|
||||
for (up = info_ptr->unknown_chunks;
|
||||
up < info_ptr->unknown_chunks + info_ptr->unknown_chunks_num;
|
||||
@@ -130,7 +130,7 @@ png_write_info(png_structp png_ptr, png_infop info_ptr)
|
||||
int i;
|
||||
#endif
|
||||
|
||||
png_debug(1, "in png_write_info");
|
||||
png_debug(1, "in png_write_info\n");
|
||||
|
||||
if (png_ptr == NULL || info_ptr == NULL)
|
||||
return;
|
||||
@@ -156,7 +156,7 @@ png_write_info(png_structp png_ptr, png_infop info_ptr)
|
||||
info_ptr->trans[j] = (png_byte)(255 - info_ptr->trans[j]);
|
||||
}
|
||||
#endif
|
||||
png_write_tRNS(png_ptr, info_ptr->trans, &(info_ptr->trans_color),
|
||||
png_write_tRNS(png_ptr, info_ptr->trans, &(info_ptr->trans_values),
|
||||
info_ptr->num_trans, info_ptr->color_type);
|
||||
}
|
||||
#endif
|
||||
@@ -190,7 +190,7 @@ png_write_info(png_structp png_ptr, png_infop info_ptr)
|
||||
info_ptr->scal_s_width, info_ptr->scal_s_height);
|
||||
#else
|
||||
png_warning(png_ptr,
|
||||
"png_write_sCAL not supported; sCAL chunk not written");
|
||||
"png_write_sCAL not supported; sCAL chunk not written.");
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
@@ -215,7 +215,7 @@ png_write_info(png_structp png_ptr, png_infop info_ptr)
|
||||
/* Check to see if we need to write text chunks */
|
||||
for (i = 0; i < info_ptr->num_text; i++)
|
||||
{
|
||||
png_debug2(2, "Writing header text chunk %d, type %d", i,
|
||||
png_debug2(2, "Writing header text chunk %d, type %d\n", i,
|
||||
info_ptr->text[i].compression);
|
||||
/* an internationalized chunk? */
|
||||
if (info_ptr->text[i].compression > 0)
|
||||
@@ -268,7 +268,7 @@ png_write_info(png_structp png_ptr, png_infop info_ptr)
|
||||
{
|
||||
png_unknown_chunk *up;
|
||||
|
||||
png_debug(5, "writing extra chunks");
|
||||
png_debug(5, "writing extra chunks\n");
|
||||
|
||||
for (up = info_ptr->unknown_chunks;
|
||||
up < info_ptr->unknown_chunks + info_ptr->unknown_chunks_num;
|
||||
@@ -296,7 +296,7 @@ png_write_info(png_structp png_ptr, png_infop info_ptr)
|
||||
void PNGAPI
|
||||
png_write_end(png_structp png_ptr, png_infop info_ptr)
|
||||
{
|
||||
png_debug(1, "in png_write_end");
|
||||
png_debug(1, "in png_write_end\n");
|
||||
if (png_ptr == NULL)
|
||||
return;
|
||||
if (!(png_ptr->mode & PNG_HAVE_IDAT))
|
||||
@@ -318,7 +318,7 @@ png_write_end(png_structp png_ptr, png_infop info_ptr)
|
||||
/* loop through comment chunks */
|
||||
for (i = 0; i < info_ptr->num_text; i++)
|
||||
{
|
||||
png_debug2(2, "Writing trailer text chunk %d, type %d", i,
|
||||
png_debug2(2, "Writing trailer text chunk %d, type %d\n", i,
|
||||
info_ptr->text[i].compression);
|
||||
/* an internationalized chunk? */
|
||||
if (info_ptr->text[i].compression > 0)
|
||||
@@ -370,7 +370,7 @@ png_write_end(png_structp png_ptr, png_infop info_ptr)
|
||||
{
|
||||
png_unknown_chunk *up;
|
||||
|
||||
png_debug(5, "writing extra chunks");
|
||||
png_debug(5, "writing extra chunks\n");
|
||||
|
||||
for (up = info_ptr->unknown_chunks;
|
||||
up < info_ptr->unknown_chunks + info_ptr->unknown_chunks_num;
|
||||
@@ -396,20 +396,24 @@ png_write_end(png_structp png_ptr, png_infop info_ptr)
|
||||
/* This flush, added in libpng-1.0.8, removed from libpng-1.0.9beta03,
|
||||
* and restored again in libpng-1.2.30, may cause some applications that
|
||||
* do not set png_ptr->output_flush_fn to crash. If your application
|
||||
* experiences this problem, please report the event to
|
||||
* png-mng-implement at lists.sf.net .
|
||||
* experiences a problem, please try building libpng with
|
||||
* PNG_WRITE_FLUSH_AFTER_IEND_SUPPORTED defined, and report the event to
|
||||
* png-mng-implement at lists.sf.net . This kludge will be removed
|
||||
* from libpng-1.4.0.
|
||||
*/
|
||||
#if defined(PNG_WRITE_FLUSH_SUPPORTED)
|
||||
#if defined(PNG_WRITE_FLUSH_SUPPORTED) && \
|
||||
defined(PNG_WRITE_FLUSH_AFTER_IEND_SUPPORTED)
|
||||
png_flush(png_ptr);
|
||||
#endif
|
||||
}
|
||||
|
||||
#if defined(PNG_WRITE_tIME_SUPPORTED)
|
||||
#if !defined(_WIN32_WCE)
|
||||
/* "time.h" functions are not supported on WindowsCE */
|
||||
void PNGAPI
|
||||
png_convert_from_struct_tm(png_timep ptime, struct tm FAR * ttime)
|
||||
{
|
||||
png_debug(1, "in png_convert_from_struct_tm");
|
||||
png_debug(1, "in png_convert_from_struct_tm\n");
|
||||
ptime->year = (png_uint_16)(1900 + ttime->tm_year);
|
||||
ptime->month = (png_byte)(ttime->tm_mon + 1);
|
||||
ptime->day = (png_byte)ttime->tm_mday;
|
||||
@@ -423,11 +427,12 @@ png_convert_from_time_t(png_timep ptime, time_t ttime)
|
||||
{
|
||||
struct tm *tbuf;
|
||||
|
||||
png_debug(1, "in png_convert_from_time_t");
|
||||
png_debug(1, "in png_convert_from_time_t\n");
|
||||
tbuf = gmtime(&ttime);
|
||||
png_convert_from_struct_tm(ptime, tbuf);
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* Initialize png_ptr structure, and allocate any memory needed */
|
||||
png_structp PNGAPI
|
||||
@@ -436,7 +441,7 @@ png_create_write_struct(png_const_charp user_png_ver, png_voidp error_ptr,
|
||||
{
|
||||
#ifdef PNG_USER_MEM_SUPPORTED
|
||||
return (png_create_write_struct_2(user_png_ver, error_ptr, error_fn,
|
||||
warn_fn, NULL, NULL, NULL));
|
||||
warn_fn, png_voidp_NULL, png_malloc_ptr_NULL, png_free_ptr_NULL));
|
||||
}
|
||||
|
||||
/* Alternate initialize png_ptr structure, and allocate any memory needed */
|
||||
@@ -446,14 +451,17 @@ png_create_write_struct_2(png_const_charp user_png_ver, png_voidp error_ptr,
|
||||
png_malloc_ptr malloc_fn, png_free_ptr free_fn)
|
||||
{
|
||||
#endif /* PNG_USER_MEM_SUPPORTED */
|
||||
volatile png_structp png_ptr;
|
||||
#ifdef PNG_SETJMP_SUPPORTED
|
||||
volatile
|
||||
#endif
|
||||
png_structp png_ptr;
|
||||
#ifdef PNG_SETJMP_SUPPORTED
|
||||
#ifdef USE_FAR_KEYWORD
|
||||
jmp_buf jmpbuf;
|
||||
#endif
|
||||
#endif
|
||||
int i;
|
||||
png_debug(1, "in png_create_write_struct");
|
||||
png_debug(1, "in png_create_write_struct\n");
|
||||
#ifdef PNG_USER_MEM_SUPPORTED
|
||||
png_ptr = (png_structp)png_create_struct_2(PNG_STRUCT_PNG,
|
||||
(png_malloc_ptr)malloc_fn, (png_voidp)mem_ptr);
|
||||
@@ -477,6 +485,7 @@ png_create_write_struct_2(png_const_charp user_png_ver, png_voidp error_ptr,
|
||||
#endif
|
||||
{
|
||||
png_free(png_ptr, png_ptr->zbuf);
|
||||
png_ptr->zbuf=NULL;
|
||||
png_destroy_struct(png_ptr);
|
||||
return (NULL);
|
||||
}
|
||||
@@ -538,11 +547,12 @@ png_create_write_struct_2(png_const_charp user_png_ver, png_voidp error_ptr,
|
||||
png_ptr->zbuf = (png_bytep)png_malloc(png_ptr,
|
||||
(png_uint_32)png_ptr->zbuf_size);
|
||||
|
||||
png_set_write_fn(png_ptr, NULL, NULL, NULL);
|
||||
png_set_write_fn(png_ptr, png_voidp_NULL, png_rw_ptr_NULL,
|
||||
png_flush_ptr_NULL);
|
||||
|
||||
#if defined(PNG_WRITE_WEIGHTED_FILTER_SUPPORTED)
|
||||
png_set_filter_heuristics(png_ptr, PNG_FILTER_HEURISTIC_DEFAULT,
|
||||
1, NULL, NULL);
|
||||
1, png_doublep_NULL, png_doublep_NULL);
|
||||
#endif
|
||||
|
||||
#ifdef PNG_SETJMP_SUPPORTED
|
||||
@@ -562,6 +572,62 @@ png_create_write_struct_2(png_const_charp user_png_ver, png_voidp error_ptr,
|
||||
}
|
||||
|
||||
/* Initialize png_ptr structure, and allocate any memory needed */
|
||||
#if defined(PNG_1_0_X) || defined(PNG_1_2_X)
|
||||
/* Deprecated. */
|
||||
#undef png_write_init
|
||||
void PNGAPI
|
||||
png_write_init(png_structp png_ptr)
|
||||
{
|
||||
/* We only come here via pre-1.0.7-compiled applications */
|
||||
png_write_init_2(png_ptr, "1.0.6 or earlier", 0, 0);
|
||||
}
|
||||
|
||||
void PNGAPI
|
||||
png_write_init_2(png_structp png_ptr, png_const_charp user_png_ver,
|
||||
png_size_t png_struct_size, png_size_t png_info_size)
|
||||
{
|
||||
/* We only come here via pre-1.0.12-compiled applications */
|
||||
if (png_ptr == NULL) return;
|
||||
#if !defined(PNG_NO_STDIO) && !defined(_WIN32_WCE)
|
||||
if (png_sizeof(png_struct) > png_struct_size ||
|
||||
png_sizeof(png_info) > png_info_size)
|
||||
{
|
||||
char msg[80];
|
||||
png_ptr->warning_fn=NULL;
|
||||
if (user_png_ver)
|
||||
{
|
||||
png_snprintf(msg, 80,
|
||||
"Application was compiled with png.h from libpng-%.20s",
|
||||
user_png_ver);
|
||||
png_warning(png_ptr, msg);
|
||||
}
|
||||
png_snprintf(msg, 80,
|
||||
"Application is running with png.c from libpng-%.20s",
|
||||
png_libpng_ver);
|
||||
png_warning(png_ptr, msg);
|
||||
}
|
||||
#endif
|
||||
if (png_sizeof(png_struct) > png_struct_size)
|
||||
{
|
||||
png_ptr->error_fn=NULL;
|
||||
#ifdef PNG_ERROR_NUMBERS_SUPPORTED
|
||||
png_ptr->flags=0;
|
||||
#endif
|
||||
png_error(png_ptr,
|
||||
"The png struct allocated by the application for writing is too small.");
|
||||
}
|
||||
if (png_sizeof(png_info) > png_info_size)
|
||||
{
|
||||
png_ptr->error_fn=NULL;
|
||||
#ifdef PNG_ERROR_NUMBERS_SUPPORTED
|
||||
png_ptr->flags=0;
|
||||
#endif
|
||||
png_error(png_ptr,
|
||||
"The info struct allocated by the application for writing is too small.");
|
||||
}
|
||||
png_write_init_3(&png_ptr, user_png_ver, png_struct_size);
|
||||
}
|
||||
#endif /* PNG_1_0_X || PNG_1_2_X */
|
||||
|
||||
|
||||
void PNGAPI
|
||||
@@ -593,7 +659,7 @@ png_write_init_3(png_structpp ptr_ptr, png_const_charp user_png_ver,
|
||||
}
|
||||
} while (png_libpng_ver[i++]);
|
||||
|
||||
png_debug(1, "in png_write_init_3");
|
||||
png_debug(1, "in png_write_init_3\n");
|
||||
|
||||
#ifdef PNG_SETJMP_SUPPORTED
|
||||
/* save jump buffer and error functions */
|
||||
@@ -621,7 +687,8 @@ png_write_init_3(png_structpp ptr_ptr, png_const_charp user_png_ver,
|
||||
png_memcpy(png_ptr->jmpbuf, tmp_jmp, png_sizeof(jmp_buf));
|
||||
#endif
|
||||
|
||||
png_set_write_fn(png_ptr, NULL, NULL, NULL);
|
||||
png_set_write_fn(png_ptr, png_voidp_NULL, png_rw_ptr_NULL,
|
||||
png_flush_ptr_NULL);
|
||||
|
||||
/* initialize zbuf - compression buffer */
|
||||
png_ptr->zbuf_size = PNG_ZBUF_SIZE;
|
||||
@@ -630,7 +697,7 @@ png_write_init_3(png_structpp ptr_ptr, png_const_charp user_png_ver,
|
||||
|
||||
#if defined(PNG_WRITE_WEIGHTED_FILTER_SUPPORTED)
|
||||
png_set_filter_heuristics(png_ptr, PNG_FILTER_HEURISTIC_DEFAULT,
|
||||
1, NULL, NULL);
|
||||
1, png_doublep_NULL, png_doublep_NULL);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -646,7 +713,7 @@ png_write_rows(png_structp png_ptr, png_bytepp row,
|
||||
png_uint_32 i; /* row counter */
|
||||
png_bytepp rp; /* row pointer */
|
||||
|
||||
png_debug(1, "in png_write_rows");
|
||||
png_debug(1, "in png_write_rows\n");
|
||||
|
||||
if (png_ptr == NULL)
|
||||
return;
|
||||
@@ -671,7 +738,7 @@ png_write_image(png_structp png_ptr, png_bytepp image)
|
||||
if (png_ptr == NULL)
|
||||
return;
|
||||
|
||||
png_debug(1, "in png_write_image");
|
||||
png_debug(1, "in png_write_image\n");
|
||||
#if defined(PNG_WRITE_INTERLACING_SUPPORTED)
|
||||
/* intialize interlace handling. If image is not interlaced,
|
||||
this will set pass to 1 */
|
||||
@@ -696,7 +763,7 @@ png_write_row(png_structp png_ptr, png_bytep row)
|
||||
{
|
||||
if (png_ptr == NULL)
|
||||
return;
|
||||
png_debug2(1, "in png_write_row (row %ld, pass %d)",
|
||||
png_debug2(1, "in png_write_row (row %ld, pass %d)\n",
|
||||
png_ptr->row_number, png_ptr->pass);
|
||||
|
||||
/* initialize transformations and other stuff if first time */
|
||||
@@ -705,36 +772,36 @@ png_write_row(png_structp png_ptr, png_bytep row)
|
||||
/* make sure we wrote the header info */
|
||||
if (!(png_ptr->mode & PNG_WROTE_INFO_BEFORE_PLTE))
|
||||
png_error(png_ptr,
|
||||
"png_write_info was never called before png_write_row");
|
||||
"png_write_info was never called before png_write_row.");
|
||||
|
||||
/* check for transforms that have been set but were defined out */
|
||||
#if !defined(PNG_WRITE_INVERT_SUPPORTED) && defined(PNG_READ_INVERT_SUPPORTED)
|
||||
if (png_ptr->transformations & PNG_INVERT_MONO)
|
||||
png_warning(png_ptr, "PNG_WRITE_INVERT_SUPPORTED is not defined");
|
||||
png_warning(png_ptr, "PNG_WRITE_INVERT_SUPPORTED is not defined.");
|
||||
#endif
|
||||
#if !defined(PNG_WRITE_FILLER_SUPPORTED) && defined(PNG_READ_FILLER_SUPPORTED)
|
||||
if (png_ptr->transformations & PNG_FILLER)
|
||||
png_warning(png_ptr, "PNG_WRITE_FILLER_SUPPORTED is not defined");
|
||||
png_warning(png_ptr, "PNG_WRITE_FILLER_SUPPORTED is not defined.");
|
||||
#endif
|
||||
#if !defined(PNG_WRITE_PACKSWAP_SUPPORTED) && defined(PNG_READ_PACKSWAP_SUPPORTED)
|
||||
if (png_ptr->transformations & PNG_PACKSWAP)
|
||||
png_warning(png_ptr, "PNG_WRITE_PACKSWAP_SUPPORTED is not defined");
|
||||
png_warning(png_ptr, "PNG_WRITE_PACKSWAP_SUPPORTED is not defined.");
|
||||
#endif
|
||||
#if !defined(PNG_WRITE_PACK_SUPPORTED) && defined(PNG_READ_PACK_SUPPORTED)
|
||||
if (png_ptr->transformations & PNG_PACK)
|
||||
png_warning(png_ptr, "PNG_WRITE_PACK_SUPPORTED is not defined");
|
||||
png_warning(png_ptr, "PNG_WRITE_PACK_SUPPORTED is not defined.");
|
||||
#endif
|
||||
#if !defined(PNG_WRITE_SHIFT_SUPPORTED) && defined(PNG_READ_SHIFT_SUPPORTED)
|
||||
if (png_ptr->transformations & PNG_SHIFT)
|
||||
png_warning(png_ptr, "PNG_WRITE_SHIFT_SUPPORTED is not defined");
|
||||
png_warning(png_ptr, "PNG_WRITE_SHIFT_SUPPORTED is not defined.");
|
||||
#endif
|
||||
#if !defined(PNG_WRITE_BGR_SUPPORTED) && defined(PNG_READ_BGR_SUPPORTED)
|
||||
if (png_ptr->transformations & PNG_BGR)
|
||||
png_warning(png_ptr, "PNG_WRITE_BGR_SUPPORTED is not defined");
|
||||
png_warning(png_ptr, "PNG_WRITE_BGR_SUPPORTED is not defined.");
|
||||
#endif
|
||||
#if !defined(PNG_WRITE_SWAP_SUPPORTED) && defined(PNG_READ_SWAP_SUPPORTED)
|
||||
if (png_ptr->transformations & PNG_SWAP_BYTES)
|
||||
png_warning(png_ptr, "PNG_WRITE_SWAP_SUPPORTED is not defined");
|
||||
png_warning(png_ptr, "PNG_WRITE_SWAP_SUPPORTED is not defined.");
|
||||
#endif
|
||||
|
||||
png_write_start_row(png_ptr);
|
||||
@@ -810,15 +877,16 @@ png_write_row(png_structp png_ptr, png_bytep row)
|
||||
png_ptr->row_info.rowbytes = PNG_ROWBYTES(png_ptr->row_info.pixel_depth,
|
||||
png_ptr->row_info.width);
|
||||
|
||||
png_debug1(3, "row_info->color_type = %d", png_ptr->row_info.color_type);
|
||||
png_debug1(3, "row_info->width = %lu", png_ptr->row_info.width);
|
||||
png_debug1(3, "row_info->channels = %d", png_ptr->row_info.channels);
|
||||
png_debug1(3, "row_info->bit_depth = %d", png_ptr->row_info.bit_depth);
|
||||
png_debug1(3, "row_info->pixel_depth = %d", png_ptr->row_info.pixel_depth);
|
||||
png_debug1(3, "row_info->rowbytes = %lu", png_ptr->row_info.rowbytes);
|
||||
png_debug1(3, "row_info->color_type = %d\n", png_ptr->row_info.color_type);
|
||||
png_debug1(3, "row_info->width = %lu\n", png_ptr->row_info.width);
|
||||
png_debug1(3, "row_info->channels = %d\n", png_ptr->row_info.channels);
|
||||
png_debug1(3, "row_info->bit_depth = %d\n", png_ptr->row_info.bit_depth);
|
||||
png_debug1(3, "row_info->pixel_depth = %d\n", png_ptr->row_info.pixel_depth);
|
||||
png_debug1(3, "row_info->rowbytes = %lu\n", png_ptr->row_info.rowbytes);
|
||||
|
||||
/* Copy user's row into buffer, leaving room for filter byte. */
|
||||
png_memcpy(png_ptr->row_buf + 1, row, png_ptr->row_info.rowbytes);
|
||||
png_memcpy_check(png_ptr, png_ptr->row_buf + 1, row,
|
||||
png_ptr->row_info.rowbytes);
|
||||
|
||||
#if defined(PNG_WRITE_INTERLACING_SUPPORTED)
|
||||
/* handle interlacing */
|
||||
@@ -870,7 +938,7 @@ png_write_row(png_structp png_ptr, png_bytep row)
|
||||
void PNGAPI
|
||||
png_set_flush(png_structp png_ptr, int nrows)
|
||||
{
|
||||
png_debug(1, "in png_set_flush");
|
||||
png_debug(1, "in png_set_flush\n");
|
||||
if (png_ptr == NULL)
|
||||
return;
|
||||
png_ptr->flush_dist = (nrows < 0 ? 0 : nrows);
|
||||
@@ -882,7 +950,7 @@ png_write_flush(png_structp png_ptr)
|
||||
{
|
||||
int wrote_IDAT;
|
||||
|
||||
png_debug(1, "in png_write_flush");
|
||||
png_debug(1, "in png_write_flush\n");
|
||||
if (png_ptr == NULL)
|
||||
return;
|
||||
/* We have already written out all of the data */
|
||||
@@ -942,7 +1010,7 @@ png_destroy_write_struct(png_structpp png_ptr_ptr, png_infopp info_ptr_ptr)
|
||||
png_voidp mem_ptr = NULL;
|
||||
#endif
|
||||
|
||||
png_debug(1, "in png_destroy_write_struct");
|
||||
png_debug(1, "in png_destroy_write_struct\n");
|
||||
if (png_ptr_ptr != NULL)
|
||||
{
|
||||
png_ptr = *png_ptr_ptr;
|
||||
@@ -973,6 +1041,7 @@ png_destroy_write_struct(png_structpp png_ptr_ptr, png_infopp info_ptr_ptr)
|
||||
if (png_ptr->num_chunk_list)
|
||||
{
|
||||
png_free(png_ptr, png_ptr->chunk_list);
|
||||
png_ptr->chunk_list=NULL;
|
||||
png_ptr->num_chunk_list = 0;
|
||||
}
|
||||
#endif
|
||||
@@ -1015,7 +1084,7 @@ png_write_destroy(png_structp png_ptr)
|
||||
png_free_ptr free_fn;
|
||||
#endif
|
||||
|
||||
png_debug(1, "in png_write_destroy");
|
||||
png_debug(1, "in png_write_destroy\n");
|
||||
/* free any memory zlib uses */
|
||||
deflateEnd(&png_ptr->zstream);
|
||||
|
||||
@@ -1072,7 +1141,7 @@ png_write_destroy(png_structp png_ptr)
|
||||
void PNGAPI
|
||||
png_set_filter(png_structp png_ptr, int method, int filters)
|
||||
{
|
||||
png_debug(1, "in png_set_filter");
|
||||
png_debug(1, "in png_set_filter\n");
|
||||
if (png_ptr == NULL)
|
||||
return;
|
||||
#if defined(PNG_MNG_FEATURES_SUPPORTED)
|
||||
@@ -1195,7 +1264,7 @@ png_set_filter_heuristics(png_structp png_ptr, int heuristic_method,
|
||||
{
|
||||
int i;
|
||||
|
||||
png_debug(1, "in png_set_filter_heuristics");
|
||||
png_debug(1, "in png_set_filter_heuristics\n");
|
||||
if (png_ptr == NULL)
|
||||
return;
|
||||
if (heuristic_method >= PNG_FILTER_HEURISTIC_LAST)
|
||||
@@ -1309,7 +1378,7 @@ png_set_filter_heuristics(png_structp png_ptr, int heuristic_method,
|
||||
void PNGAPI
|
||||
png_set_compression_level(png_structp png_ptr, int level)
|
||||
{
|
||||
png_debug(1, "in png_set_compression_level");
|
||||
png_debug(1, "in png_set_compression_level\n");
|
||||
if (png_ptr == NULL)
|
||||
return;
|
||||
png_ptr->flags |= PNG_FLAG_ZLIB_CUSTOM_LEVEL;
|
||||
@@ -1319,7 +1388,7 @@ png_set_compression_level(png_structp png_ptr, int level)
|
||||
void PNGAPI
|
||||
png_set_compression_mem_level(png_structp png_ptr, int mem_level)
|
||||
{
|
||||
png_debug(1, "in png_set_compression_mem_level");
|
||||
png_debug(1, "in png_set_compression_mem_level\n");
|
||||
if (png_ptr == NULL)
|
||||
return;
|
||||
png_ptr->flags |= PNG_FLAG_ZLIB_CUSTOM_MEM_LEVEL;
|
||||
@@ -1329,7 +1398,7 @@ png_set_compression_mem_level(png_structp png_ptr, int mem_level)
|
||||
void PNGAPI
|
||||
png_set_compression_strategy(png_structp png_ptr, int strategy)
|
||||
{
|
||||
png_debug(1, "in png_set_compression_strategy");
|
||||
png_debug(1, "in png_set_compression_strategy\n");
|
||||
if (png_ptr == NULL)
|
||||
return;
|
||||
png_ptr->flags |= PNG_FLAG_ZLIB_CUSTOM_STRATEGY;
|
||||
@@ -1360,7 +1429,7 @@ png_set_compression_window_bits(png_structp png_ptr, int window_bits)
|
||||
void PNGAPI
|
||||
png_set_compression_method(png_structp png_ptr, int method)
|
||||
{
|
||||
png_debug(1, "in png_set_compression_method");
|
||||
png_debug(1, "in png_set_compression_method\n");
|
||||
if (png_ptr == NULL)
|
||||
return;
|
||||
if (method != 8)
|
||||
@@ -1382,7 +1451,7 @@ void PNGAPI
|
||||
png_set_write_user_transform_fn(png_structp png_ptr, png_user_transform_ptr
|
||||
write_user_transform_fn)
|
||||
{
|
||||
png_debug(1, "in png_set_write_user_transform_fn");
|
||||
png_debug(1, "in png_set_write_user_transform_fn\n");
|
||||
if (png_ptr == NULL)
|
||||
return;
|
||||
png_ptr->transformations |= PNG_USER_TRANSFORM;
|
||||
|
||||
34
pngwtran.c
34
pngwtran.c
@@ -1,16 +1,16 @@
|
||||
|
||||
/* pngwtran.c - transforms the data in a row for PNG writers
|
||||
*
|
||||
* Last changed in libpng 1.4.0 [November 13, 2008]
|
||||
* Last changed in libpng 1.2.9 April 14, 2006
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2008 Glenn Randers-Pehrson
|
||||
* Copyright (c) 1998-2006 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||
*/
|
||||
|
||||
#define PNG_INTERNAL
|
||||
#include "png.h"
|
||||
#ifdef PNG_WRITE_SUPPORTED
|
||||
#include "pngpriv.h"
|
||||
|
||||
/* Transform the data according to the user's wishes. The order of
|
||||
* transformations is significant.
|
||||
@@ -18,7 +18,7 @@
|
||||
void /* PRIVATE */
|
||||
png_do_write_transformations(png_structp png_ptr)
|
||||
{
|
||||
png_debug(1, "in png_do_write_transformations");
|
||||
png_debug(1, "in png_do_write_transformations\n");
|
||||
|
||||
if (png_ptr == NULL)
|
||||
return;
|
||||
@@ -86,8 +86,11 @@ png_do_write_transformations(png_structp png_ptr)
|
||||
void /* PRIVATE */
|
||||
png_do_pack(png_row_infop row_info, png_bytep row, png_uint_32 bit_depth)
|
||||
{
|
||||
png_debug(1, "in png_do_pack");
|
||||
png_debug(1, "in png_do_pack\n");
|
||||
if (row_info->bit_depth == 8 &&
|
||||
#if defined(PNG_USELESS_TESTS_SUPPORTED)
|
||||
row != NULL && row_info != NULL &&
|
||||
#endif
|
||||
row_info->channels == 1)
|
||||
{
|
||||
switch ((int)bit_depth)
|
||||
@@ -209,8 +212,12 @@ png_do_pack(png_row_infop row_info, png_bytep row, png_uint_32 bit_depth)
|
||||
void /* PRIVATE */
|
||||
png_do_shift(png_row_infop row_info, png_bytep row, png_color_8p bit_depth)
|
||||
{
|
||||
png_debug(1, "in png_do_shift");
|
||||
png_debug(1, "in png_do_shift\n");
|
||||
#if defined(PNG_USELESS_TESTS_SUPPORTED)
|
||||
if (row != NULL && row_info != NULL &&
|
||||
#else
|
||||
if (
|
||||
#endif
|
||||
row_info->color_type != PNG_COLOR_TYPE_PALETTE)
|
||||
{
|
||||
int shift_start[4], shift_dec[4];
|
||||
@@ -329,7 +336,10 @@ png_do_shift(png_row_infop row_info, png_bytep row, png_color_8p bit_depth)
|
||||
void /* PRIVATE */
|
||||
png_do_write_swap_alpha(png_row_infop row_info, png_bytep row)
|
||||
{
|
||||
png_debug(1, "in png_do_write_swap_alpha");
|
||||
png_debug(1, "in png_do_write_swap_alpha\n");
|
||||
#if defined(PNG_USELESS_TESTS_SUPPORTED)
|
||||
if (row != NULL && row_info != NULL)
|
||||
#endif
|
||||
{
|
||||
if (row_info->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
|
||||
{
|
||||
@@ -414,7 +424,10 @@ png_do_write_swap_alpha(png_row_infop row_info, png_bytep row)
|
||||
void /* PRIVATE */
|
||||
png_do_write_invert_alpha(png_row_infop row_info, png_bytep row)
|
||||
{
|
||||
png_debug(1, "in png_do_write_invert_alpha");
|
||||
png_debug(1, "in png_do_write_invert_alpha\n");
|
||||
#if defined(PNG_USELESS_TESTS_SUPPORTED)
|
||||
if (row != NULL && row_info != NULL)
|
||||
#endif
|
||||
{
|
||||
if (row_info->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
|
||||
{
|
||||
@@ -501,8 +514,11 @@ png_do_write_invert_alpha(png_row_infop row_info, png_bytep row)
|
||||
void /* PRIVATE */
|
||||
png_do_write_intrapixel(png_row_infop row_info, png_bytep row)
|
||||
{
|
||||
png_debug(1, "in png_do_write_intrapixel");
|
||||
png_debug(1, "in png_do_write_intrapixel\n");
|
||||
if (
|
||||
#if defined(PNG_USELESS_TESTS_SUPPORTED)
|
||||
row != NULL && row_info != NULL &&
|
||||
#endif
|
||||
(row_info->color_type & PNG_COLOR_MASK_COLOR))
|
||||
{
|
||||
int bytes_per_pixel;
|
||||
|
||||
232
pngwutil.c
232
pngwutil.c
@@ -1,16 +1,16 @@
|
||||
|
||||
/* pngwutil.c - utilities to write a PNG file
|
||||
*
|
||||
* Last changed in libpng 1.4.0 [November 13, 2008]
|
||||
* Last changed in libpng 1.2.30 [August 15, 2008]
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2008 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||
*/
|
||||
|
||||
#define PNG_INTERNAL
|
||||
#include "png.h"
|
||||
#ifdef PNG_WRITE_SUPPORTED
|
||||
#include "pngpriv.h"
|
||||
|
||||
/* Place a 32-bit number into a buffer in PNG byte order. We work
|
||||
* with unsigned numbers for convenience, although one supported
|
||||
@@ -25,7 +25,6 @@ png_save_uint_32(png_bytep buf, png_uint_32 i)
|
||||
buf[3] = (png_byte)(i & 0xff);
|
||||
}
|
||||
|
||||
#if defined(PNG_SAVE_INT_32_SUPPORTED)
|
||||
/* The png_save_int_32 function assumes integers are stored in two's
|
||||
* complement format. If this isn't the case, then this routine needs to
|
||||
* be modified to write data in two's complement format.
|
||||
@@ -38,7 +37,6 @@ png_save_int_32(png_bytep buf, png_int_32 i)
|
||||
buf[2] = (png_byte)((i >> 8) & 0xff);
|
||||
buf[3] = (png_byte)(i & 0xff);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Place a 16-bit number into a buffer in PNG byte order.
|
||||
* The parameter is declared unsigned int, not png_uint_16,
|
||||
@@ -57,16 +55,11 @@ png_save_uint_16(png_bytep buf, unsigned int i)
|
||||
* we should call png_set_sig_bytes() to tell libpng how many of the
|
||||
* bytes have already been written.
|
||||
*/
|
||||
void PNGAPI
|
||||
void /* PRIVATE */
|
||||
png_write_sig(png_structp png_ptr)
|
||||
{
|
||||
png_byte png_signature[8] = {137, 80, 78, 71, 13, 10, 26, 10};
|
||||
|
||||
#ifdef PNG_IO_STATE_SUPPORTED
|
||||
/* inform the I/O callback that the signature is being written */
|
||||
png_ptr->io_state = PNG_IO_WRITING | PNG_IO_SIGNATURE;
|
||||
#endif
|
||||
|
||||
/* write the rest of the 8 byte signature */
|
||||
png_write_data(png_ptr, &png_signature[png_ptr->sig_bytes],
|
||||
(png_size_t)(8 - png_ptr->sig_bytes));
|
||||
@@ -103,14 +96,7 @@ png_write_chunk_start(png_structp png_ptr, png_bytep chunk_name,
|
||||
{
|
||||
png_byte buf[8];
|
||||
|
||||
#ifdef PNG_IO_STATE_SUPPORTED
|
||||
/* Inform the I/O callback that the chunk header is being written.
|
||||
* PNG_IO_CHUNK_HDR requires a single I/O call.
|
||||
*/
|
||||
png_ptr->io_state = PNG_IO_WRITING | PNG_IO_CHUNK_HDR;
|
||||
#endif
|
||||
|
||||
png_debug2(0, "Writing %s chunk, length = %lu", chunk_name,
|
||||
png_debug2(0, "Writing %s chunk, length = %lu\n", chunk_name,
|
||||
(unsigned long)length);
|
||||
if (png_ptr == NULL) return;
|
||||
|
||||
@@ -122,14 +108,7 @@ png_write_chunk_start(png_structp png_ptr, png_bytep chunk_name,
|
||||
png_memcpy(png_ptr->chunk_name, chunk_name, 4);
|
||||
/* reset the crc and run it over the chunk name */
|
||||
png_reset_crc(png_ptr);
|
||||
png_calculate_crc(png_ptr, chunk_name, 4);
|
||||
|
||||
#ifdef PNG_IO_STATE_SUPPORTED
|
||||
/* Inform the I/O callback that chunk data will (possibly) be written.
|
||||
* PNG_IO_CHUNK_DATA does NOT require a specific number of I/O calls.
|
||||
*/
|
||||
png_ptr->io_state = PNG_IO_WRITING | PNG_IO_CHUNK_DATA;
|
||||
#endif
|
||||
png_calculate_crc(png_ptr, chunk_name, (png_size_t)4);
|
||||
}
|
||||
|
||||
/* Write the data of a PNG chunk started with png_write_chunk_start().
|
||||
@@ -160,13 +139,6 @@ png_write_chunk_end(png_structp png_ptr)
|
||||
|
||||
if (png_ptr == NULL) return;
|
||||
|
||||
#ifdef PNG_IO_STATE_SUPPORTED
|
||||
/* Inform the I/O callback that the chunk CRC is being written.
|
||||
* PNG_IO_CHUNK_CRC requires a single I/O function call.
|
||||
*/
|
||||
png_ptr->io_state = PNG_IO_WRITING | PNG_IO_CHUNK_CRC;
|
||||
#endif
|
||||
|
||||
/* write the crc in a single operation */
|
||||
png_save_uint_32(buf, png_ptr->crc);
|
||||
|
||||
@@ -214,7 +186,7 @@ png_text_compress(png_structp png_ptr,
|
||||
|
||||
if (compression >= PNG_TEXT_COMPRESSION_LAST)
|
||||
{
|
||||
#if !defined(PNG_NO_STDIO)
|
||||
#if !defined(PNG_NO_STDIO) && !defined(_WIN32_WCE)
|
||||
char msg[50];
|
||||
png_snprintf(msg, 50, "Unknown compression type %d", compression);
|
||||
png_warning(png_ptr, msg);
|
||||
@@ -273,7 +245,7 @@ png_text_compress(png_structp png_ptr,
|
||||
|
||||
old_ptr = comp->output_ptr;
|
||||
comp->output_ptr = (png_charpp)png_malloc(png_ptr,
|
||||
(png_size_t)
|
||||
(png_uint_32)
|
||||
(comp->max_output_ptr * png_sizeof(png_charpp)));
|
||||
png_memcpy(comp->output_ptr, old_ptr, old_max
|
||||
* png_sizeof(png_charp));
|
||||
@@ -281,14 +253,14 @@ png_text_compress(png_structp png_ptr,
|
||||
}
|
||||
else
|
||||
comp->output_ptr = (png_charpp)png_malloc(png_ptr,
|
||||
(png_size_t)
|
||||
(png_uint_32)
|
||||
(comp->max_output_ptr * png_sizeof(png_charp)));
|
||||
}
|
||||
|
||||
/* save the data */
|
||||
comp->output_ptr[comp->num_output_ptr] =
|
||||
(png_charp)png_malloc(png_ptr,
|
||||
png_ptr->zbuf_size);
|
||||
(png_uint_32)png_ptr->zbuf_size);
|
||||
png_memcpy(comp->output_ptr[comp->num_output_ptr], png_ptr->zbuf,
|
||||
png_ptr->zbuf_size);
|
||||
comp->num_output_ptr++;
|
||||
@@ -325,7 +297,7 @@ png_text_compress(png_structp png_ptr,
|
||||
old_ptr = comp->output_ptr;
|
||||
/* This could be optimized to realloc() */
|
||||
comp->output_ptr = (png_charpp)png_malloc(png_ptr,
|
||||
(png_size_t)(comp->max_output_ptr *
|
||||
(png_uint_32)(comp->max_output_ptr *
|
||||
png_sizeof(png_charp)));
|
||||
png_memcpy(comp->output_ptr, old_ptr,
|
||||
old_max * png_sizeof(png_charp));
|
||||
@@ -333,14 +305,14 @@ png_text_compress(png_structp png_ptr,
|
||||
}
|
||||
else
|
||||
comp->output_ptr = (png_charpp)png_malloc(png_ptr,
|
||||
(png_size_t)(comp->max_output_ptr *
|
||||
(png_uint_32)(comp->max_output_ptr *
|
||||
png_sizeof(png_charp)));
|
||||
}
|
||||
|
||||
/* save off the data */
|
||||
comp->output_ptr[comp->num_output_ptr] =
|
||||
(png_charp)png_malloc(png_ptr,
|
||||
(png_size_t)png_ptr->zbuf_size);
|
||||
(png_uint_32)png_ptr->zbuf_size);
|
||||
png_memcpy(comp->output_ptr[comp->num_output_ptr], png_ptr->zbuf,
|
||||
png_ptr->zbuf_size);
|
||||
comp->num_output_ptr++;
|
||||
@@ -388,9 +360,11 @@ png_write_compressed_data_out(png_structp png_ptr, compression_state *comp)
|
||||
png_write_chunk_data(png_ptr, (png_bytep)comp->output_ptr[i],
|
||||
(png_size_t)png_ptr->zbuf_size);
|
||||
png_free(png_ptr, comp->output_ptr[i]);
|
||||
comp->output_ptr[i]=NULL;
|
||||
}
|
||||
if (comp->max_output_ptr != 0)
|
||||
png_free(png_ptr, comp->output_ptr);
|
||||
comp->output_ptr=NULL;
|
||||
/* write anything left in zbuf */
|
||||
if (png_ptr->zstream.avail_out < (png_uint_32)png_ptr->zbuf_size)
|
||||
png_write_chunk_data(png_ptr, png_ptr->zbuf,
|
||||
@@ -418,7 +392,7 @@ png_write_IHDR(png_structp png_ptr, png_uint_32 width, png_uint_32 height,
|
||||
|
||||
png_byte buf[13]; /* buffer to store the IHDR info */
|
||||
|
||||
png_debug(1, "in png_write_IHDR");
|
||||
png_debug(1, "in png_write_IHDR\n");
|
||||
/* Check that we have valid input data from the application info */
|
||||
switch (color_type)
|
||||
{
|
||||
@@ -595,7 +569,7 @@ png_write_PLTE(png_structp png_ptr, png_colorp palette, png_uint_32 num_pal)
|
||||
png_colorp pal_ptr;
|
||||
png_byte buf[3];
|
||||
|
||||
png_debug(1, "in png_write_PLTE");
|
||||
png_debug(1, "in png_write_PLTE\n");
|
||||
if ((
|
||||
#if defined(PNG_MNG_FEATURES_SUPPORTED)
|
||||
!(png_ptr->mng_features_permitted & PNG_FLAG_MNG_EMPTY_PLTE) &&
|
||||
@@ -621,7 +595,7 @@ png_write_PLTE(png_structp png_ptr, png_colorp palette, png_uint_32 num_pal)
|
||||
}
|
||||
|
||||
png_ptr->num_palette = (png_uint_16)num_pal;
|
||||
png_debug1(3, "num_palette = %d", png_ptr->num_palette);
|
||||
png_debug1(3, "num_palette = %d\n", png_ptr->num_palette);
|
||||
|
||||
png_write_chunk_start(png_ptr, (png_bytep)png_PLTE,
|
||||
(png_uint_32)(num_pal * 3));
|
||||
@@ -655,7 +629,7 @@ png_write_IDAT(png_structp png_ptr, png_bytep data, png_size_t length)
|
||||
#ifdef PNG_USE_LOCAL_ARRAYS
|
||||
PNG_IDAT;
|
||||
#endif
|
||||
png_debug(1, "in png_write_IDAT");
|
||||
png_debug(1, "in png_write_IDAT\n");
|
||||
|
||||
/* Optimize the CMF field in the zlib stream. */
|
||||
/* This hack of the zlib stream is compliant to the stream specification. */
|
||||
@@ -707,8 +681,8 @@ png_write_IEND(png_structp png_ptr)
|
||||
#ifdef PNG_USE_LOCAL_ARRAYS
|
||||
PNG_IEND;
|
||||
#endif
|
||||
png_debug(1, "in png_write_IEND");
|
||||
png_write_chunk(png_ptr, (png_bytep)png_IEND, NULL,
|
||||
png_debug(1, "in png_write_IEND\n");
|
||||
png_write_chunk(png_ptr, (png_bytep)png_IEND, png_bytep_NULL,
|
||||
(png_size_t)0);
|
||||
png_ptr->mode |= PNG_HAVE_IEND;
|
||||
}
|
||||
@@ -725,7 +699,7 @@ png_write_gAMA(png_structp png_ptr, double file_gamma)
|
||||
png_uint_32 igamma;
|
||||
png_byte buf[4];
|
||||
|
||||
png_debug(1, "in png_write_gAMA");
|
||||
png_debug(1, "in png_write_gAMA\n");
|
||||
/* file_gamma is saved in 1/100,000ths */
|
||||
igamma = (png_uint_32)(file_gamma * 100000.0 + 0.5);
|
||||
png_save_uint_32(buf, igamma);
|
||||
@@ -741,7 +715,7 @@ png_write_gAMA_fixed(png_structp png_ptr, png_fixed_point file_gamma)
|
||||
#endif
|
||||
png_byte buf[4];
|
||||
|
||||
png_debug(1, "in png_write_gAMA");
|
||||
png_debug(1, "in png_write_gAMA\n");
|
||||
/* file_gamma is saved in 1/100,000ths */
|
||||
png_save_uint_32(buf, (png_uint_32)file_gamma);
|
||||
png_write_chunk(png_ptr, (png_bytep)png_gAMA, buf, (png_size_t)4);
|
||||
@@ -759,7 +733,7 @@ png_write_sRGB(png_structp png_ptr, int srgb_intent)
|
||||
#endif
|
||||
png_byte buf[1];
|
||||
|
||||
png_debug(1, "in png_write_sRGB");
|
||||
png_debug(1, "in png_write_sRGB\n");
|
||||
if (srgb_intent >= PNG_sRGB_INTENT_LAST)
|
||||
png_warning(png_ptr,
|
||||
"Invalid sRGB rendering intent specified");
|
||||
@@ -782,7 +756,7 @@ png_write_iCCP(png_structp png_ptr, png_charp name, int compression_type,
|
||||
compression_state comp;
|
||||
int embedded_profile_len = 0;
|
||||
|
||||
png_debug(1, "in png_write_iCCP");
|
||||
png_debug(1, "in png_write_iCCP\n");
|
||||
|
||||
comp.num_output_ptr = 0;
|
||||
comp.max_output_ptr = 0;
|
||||
@@ -854,14 +828,14 @@ png_write_sPLT(png_structp png_ptr, png_sPLT_tp spalette)
|
||||
png_size_t name_len;
|
||||
png_charp new_name;
|
||||
png_byte entrybuf[10];
|
||||
png_size_t entry_size = (spalette->depth == 8 ? 6 : 10);
|
||||
png_size_t palette_size = entry_size * spalette->nentries;
|
||||
int entry_size = (spalette->depth == 8 ? 6 : 10);
|
||||
int palette_size = entry_size * spalette->nentries;
|
||||
png_sPLT_entryp ep;
|
||||
#ifdef PNG_NO_POINTER_INDEXING
|
||||
int i;
|
||||
#endif
|
||||
|
||||
png_debug(1, "in png_write_sPLT");
|
||||
png_debug(1, "in png_write_sPLT\n");
|
||||
if (spalette->name == NULL || (name_len = png_check_keyword(png_ptr,
|
||||
spalette->name, &new_name))==0)
|
||||
{
|
||||
@@ -938,7 +912,7 @@ png_write_sBIT(png_structp png_ptr, png_color_8p sbit, int color_type)
|
||||
png_byte buf[4];
|
||||
png_size_t size;
|
||||
|
||||
png_debug(1, "in png_write_sBIT");
|
||||
png_debug(1, "in png_write_sBIT\n");
|
||||
/* make sure we don't depend upon the order of PNG_COLOR_8 */
|
||||
if (color_type & PNG_COLOR_MASK_COLOR)
|
||||
{
|
||||
@@ -997,33 +971,53 @@ png_write_cHRM(png_structp png_ptr, double white_x, double white_y,
|
||||
png_byte buf[32];
|
||||
png_uint_32 itemp;
|
||||
|
||||
png_debug(1, "in png_write_cHRM");
|
||||
png_debug(1, "in png_write_cHRM\n");
|
||||
/* each value is saved in 1/100,000ths */
|
||||
if (png_check_cHRM(png_ptr, white_x, white_y, red_x, red_y,
|
||||
green_x, green_y, blue_x, blue_y))
|
||||
if (white_x < 0 || white_x > 0.8 || white_y < 0 || white_y > 0.8 ||
|
||||
white_x + white_y > 1.0)
|
||||
{
|
||||
png_warning(png_ptr, "Invalid cHRM white point specified");
|
||||
#if !defined(PNG_NO_CONSOLE_IO)
|
||||
fprintf(stderr, "white_x=%f, white_y=%f\n", white_x, white_y);
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
itemp = (png_uint_32)(white_x * 100000.0 + 0.5);
|
||||
png_save_uint_32(buf, itemp);
|
||||
itemp = (png_uint_32)(white_y * 100000.0 + 0.5);
|
||||
png_save_uint_32(buf + 4, itemp);
|
||||
|
||||
if (red_x < 0 || red_y < 0 || red_x + red_y > 1.0)
|
||||
{
|
||||
png_warning(png_ptr, "Invalid cHRM red point specified");
|
||||
return;
|
||||
}
|
||||
itemp = (png_uint_32)(red_x * 100000.0 + 0.5);
|
||||
png_save_uint_32(buf + 8, itemp);
|
||||
itemp = (png_uint_32)(red_y * 100000.0 + 0.5);
|
||||
png_save_uint_32(buf + 12, itemp);
|
||||
|
||||
if (green_x < 0 || green_y < 0 || green_x + green_y > 1.0)
|
||||
{
|
||||
png_warning(png_ptr, "Invalid cHRM green point specified");
|
||||
return;
|
||||
}
|
||||
itemp = (png_uint_32)(green_x * 100000.0 + 0.5);
|
||||
png_save_uint_32(buf + 16, itemp);
|
||||
itemp = (png_uint_32)(green_y * 100000.0 + 0.5);
|
||||
png_save_uint_32(buf + 20, itemp);
|
||||
|
||||
if (blue_x < 0 || blue_y < 0 || blue_x + blue_y > 1.0)
|
||||
{
|
||||
png_warning(png_ptr, "Invalid cHRM blue point specified");
|
||||
return;
|
||||
}
|
||||
itemp = (png_uint_32)(blue_x * 100000.0 + 0.5);
|
||||
png_save_uint_32(buf + 24, itemp);
|
||||
itemp = (png_uint_32)(blue_y * 100000.0 + 0.5);
|
||||
png_save_uint_32(buf + 28, itemp);
|
||||
|
||||
png_write_chunk(png_ptr, (png_bytep)png_cHRM, buf, (png_size_t)32);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#ifdef PNG_FIXED_POINT_SUPPORTED
|
||||
@@ -1038,25 +1032,45 @@ png_write_cHRM_fixed(png_structp png_ptr, png_fixed_point white_x,
|
||||
#endif
|
||||
png_byte buf[32];
|
||||
|
||||
png_debug(1, "in png_write_cHRM");
|
||||
png_debug(1, "in png_write_cHRM\n");
|
||||
/* each value is saved in 1/100,000ths */
|
||||
if (png_check_cHRM_fixed(png_ptr, white_x, white_y, red_x, red_y,
|
||||
green_x, green_y, blue_x, blue_y))
|
||||
if (white_x > 80000L || white_y > 80000L || white_x + white_y > 100000L)
|
||||
{
|
||||
png_warning(png_ptr, "Invalid fixed cHRM white point specified");
|
||||
#if !defined(PNG_NO_CONSOLE_IO)
|
||||
fprintf(stderr, "white_x=%ld, white_y=%ld\n", (unsigned long)white_x,
|
||||
(unsigned long)white_y);
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
png_save_uint_32(buf, (png_uint_32)white_x);
|
||||
png_save_uint_32(buf + 4, (png_uint_32)white_y);
|
||||
|
||||
if (red_x + red_y > 100000L)
|
||||
{
|
||||
png_warning(png_ptr, "Invalid cHRM fixed red point specified");
|
||||
return;
|
||||
}
|
||||
png_save_uint_32(buf + 8, (png_uint_32)red_x);
|
||||
png_save_uint_32(buf + 12, (png_uint_32)red_y);
|
||||
|
||||
if (green_x + green_y > 100000L)
|
||||
{
|
||||
png_warning(png_ptr, "Invalid fixed cHRM green point specified");
|
||||
return;
|
||||
}
|
||||
png_save_uint_32(buf + 16, (png_uint_32)green_x);
|
||||
png_save_uint_32(buf + 20, (png_uint_32)green_y);
|
||||
|
||||
if (blue_x + blue_y > 100000L)
|
||||
{
|
||||
png_warning(png_ptr, "Invalid fixed cHRM blue point specified");
|
||||
return;
|
||||
}
|
||||
png_save_uint_32(buf + 24, (png_uint_32)blue_x);
|
||||
png_save_uint_32(buf + 28, (png_uint_32)blue_y);
|
||||
|
||||
png_write_chunk(png_ptr, (png_bytep)png_cHRM, buf, (png_size_t)32);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
@@ -1072,7 +1086,7 @@ png_write_tRNS(png_structp png_ptr, png_bytep trans, png_color_16p tran,
|
||||
#endif
|
||||
png_byte buf[6];
|
||||
|
||||
png_debug(1, "in png_write_tRNS");
|
||||
png_debug(1, "in png_write_tRNS\n");
|
||||
if (color_type == PNG_COLOR_TYPE_PALETTE)
|
||||
{
|
||||
if (num_trans <= 0 || num_trans > (int)png_ptr->num_palette)
|
||||
@@ -1127,7 +1141,7 @@ png_write_bKGD(png_structp png_ptr, png_color_16p back, int color_type)
|
||||
#endif
|
||||
png_byte buf[6];
|
||||
|
||||
png_debug(1, "in png_write_bKGD");
|
||||
png_debug(1, "in png_write_bKGD\n");
|
||||
if (color_type == PNG_COLOR_TYPE_PALETTE)
|
||||
{
|
||||
if (
|
||||
@@ -1181,10 +1195,10 @@ png_write_hIST(png_structp png_ptr, png_uint_16p hist, int num_hist)
|
||||
int i;
|
||||
png_byte buf[3];
|
||||
|
||||
png_debug(1, "in png_write_hIST");
|
||||
png_debug(1, "in png_write_hIST\n");
|
||||
if (num_hist > (int)png_ptr->num_palette)
|
||||
{
|
||||
png_debug2(3, "num_hist = %d, num_palette = %d", num_hist,
|
||||
png_debug2(3, "num_hist = %d, num_palette = %d\n", num_hist,
|
||||
png_ptr->num_palette);
|
||||
png_warning(png_ptr, "Invalid number of histogram entries specified");
|
||||
return;
|
||||
@@ -1221,7 +1235,7 @@ png_check_keyword(png_structp png_ptr, png_charp key, png_charpp new_key)
|
||||
int kflag;
|
||||
int kwarn=0;
|
||||
|
||||
png_debug(1, "in png_check_keyword");
|
||||
png_debug(1, "in png_check_keyword\n");
|
||||
*new_key = NULL;
|
||||
|
||||
if (key == NULL || (key_len = png_strlen(key)) == 0)
|
||||
@@ -1230,7 +1244,7 @@ png_check_keyword(png_structp png_ptr, png_charp key, png_charpp new_key)
|
||||
return ((png_size_t)0);
|
||||
}
|
||||
|
||||
png_debug1(2, "Keyword to be checked is '%s'", key);
|
||||
png_debug1(2, "Keyword to be checked is '%s'\n", key);
|
||||
|
||||
*new_key = (png_charp)png_malloc_warn(png_ptr, (png_uint_32)(key_len + 2));
|
||||
if (*new_key == NULL)
|
||||
@@ -1245,7 +1259,7 @@ png_check_keyword(png_structp png_ptr, png_charp key, png_charpp new_key)
|
||||
if ((png_byte)*kp < 0x20 ||
|
||||
((png_byte)*kp > 0x7E && (png_byte)*kp < 0xA1))
|
||||
{
|
||||
#if !defined(PNG_NO_STDIO)
|
||||
#if !defined(PNG_NO_STDIO) && !defined(_WIN32_WCE)
|
||||
char msg[40];
|
||||
|
||||
png_snprintf(msg, 40,
|
||||
@@ -1289,7 +1303,7 @@ png_check_keyword(png_structp png_ptr, png_charp key, png_charpp new_key)
|
||||
}
|
||||
}
|
||||
|
||||
png_debug1(2, "Checking for multiple internal spaces in '%s'", kp);
|
||||
png_debug1(2, "Checking for multiple internal spaces in '%s'\n", kp);
|
||||
|
||||
/* Remove multiple internal spaces. */
|
||||
for (kflag = 0, dp = *new_key; *kp != '\0'; kp++)
|
||||
@@ -1317,6 +1331,7 @@ png_check_keyword(png_structp png_ptr, png_charp key, png_charpp new_key)
|
||||
if (key_len == 0)
|
||||
{
|
||||
png_free(png_ptr, *new_key);
|
||||
*new_key=NULL;
|
||||
png_warning(png_ptr, "Zero length keyword");
|
||||
}
|
||||
|
||||
@@ -1343,7 +1358,7 @@ png_write_tEXt(png_structp png_ptr, png_charp key, png_charp text,
|
||||
png_size_t key_len;
|
||||
png_charp new_key;
|
||||
|
||||
png_debug(1, "in png_write_tEXt");
|
||||
png_debug(1, "in png_write_tEXt\n");
|
||||
if (key == NULL || (key_len = png_check_keyword(png_ptr, key, &new_key))==0)
|
||||
{
|
||||
png_warning(png_ptr, "Empty keyword in tEXt chunk");
|
||||
@@ -1388,7 +1403,7 @@ png_write_zTXt(png_structp png_ptr, png_charp key, png_charp text,
|
||||
png_charp new_key;
|
||||
compression_state comp;
|
||||
|
||||
png_debug(1, "in png_write_zTXt");
|
||||
png_debug(1, "in png_write_zTXt\n");
|
||||
|
||||
comp.num_output_ptr = 0;
|
||||
comp.max_output_ptr = 0;
|
||||
@@ -1449,7 +1464,7 @@ png_write_iTXt(png_structp png_ptr, int compression, png_charp key,
|
||||
png_byte cbuf[2];
|
||||
compression_state comp;
|
||||
|
||||
png_debug(1, "in png_write_iTXt");
|
||||
png_debug(1, "in png_write_iTXt\n");
|
||||
|
||||
comp.num_output_ptr = 0;
|
||||
comp.max_output_ptr = 0;
|
||||
@@ -1537,7 +1552,7 @@ png_write_oFFs(png_structp png_ptr, png_int_32 x_offset, png_int_32 y_offset,
|
||||
#endif
|
||||
png_byte buf[9];
|
||||
|
||||
png_debug(1, "in png_write_oFFs");
|
||||
png_debug(1, "in png_write_oFFs\n");
|
||||
if (unit_type >= PNG_OFFSET_LAST)
|
||||
png_warning(png_ptr, "Unrecognized unit type for oFFs chunk");
|
||||
|
||||
@@ -1563,30 +1578,30 @@ png_write_pCAL(png_structp png_ptr, png_charp purpose, png_int_32 X0,
|
||||
png_charp new_purpose;
|
||||
int i;
|
||||
|
||||
png_debug1(1, "in png_write_pCAL (%d parameters)", nparams);
|
||||
png_debug1(1, "in png_write_pCAL (%d parameters)\n", nparams);
|
||||
if (type >= PNG_EQUATION_LAST)
|
||||
png_warning(png_ptr, "Unrecognized equation type for pCAL chunk");
|
||||
|
||||
purpose_len = png_check_keyword(png_ptr, purpose, &new_purpose) + 1;
|
||||
png_debug1(3, "pCAL purpose length = %d", (int)purpose_len);
|
||||
png_debug1(3, "pCAL purpose length = %d\n", (int)purpose_len);
|
||||
units_len = png_strlen(units) + (nparams == 0 ? 0 : 1);
|
||||
png_debug1(3, "pCAL units length = %d", (int)units_len);
|
||||
png_debug1(3, "pCAL units length = %d\n", (int)units_len);
|
||||
total_len = purpose_len + units_len + 10;
|
||||
|
||||
params_len = (png_uint_32p)png_malloc(png_ptr,
|
||||
(png_size_t)(nparams * png_sizeof(png_uint_32)));
|
||||
(png_uint_32)(nparams * png_sizeof(png_uint_32)));
|
||||
|
||||
/* Find the length of each parameter, making sure we don't count the
|
||||
null terminator for the last parameter. */
|
||||
for (i = 0; i < nparams; i++)
|
||||
{
|
||||
params_len[i] = png_strlen(params[i]) + (i == nparams - 1 ? 0 : 1);
|
||||
png_debug2(3, "pCAL parameter %d length = %lu", i,
|
||||
png_debug2(3, "pCAL parameter %d length = %lu\n", i,
|
||||
(unsigned long) params_len[i]);
|
||||
total_len += (png_size_t)params_len[i];
|
||||
}
|
||||
|
||||
png_debug1(3, "pCAL total length = %d", (int)total_len);
|
||||
png_debug1(3, "pCAL total length = %d\n", (int)total_len);
|
||||
png_write_chunk_start(png_ptr, (png_bytep)png_pCAL, (png_uint_32)total_len);
|
||||
png_write_chunk_data(png_ptr, (png_bytep)new_purpose,
|
||||
(png_size_t)purpose_len);
|
||||
@@ -1622,15 +1637,32 @@ png_write_sCAL(png_structp png_ptr, int unit, double width, double height)
|
||||
char buf[64];
|
||||
png_size_t total_len;
|
||||
|
||||
png_debug(1, "in png_write_sCAL");
|
||||
png_debug(1, "in png_write_sCAL\n");
|
||||
|
||||
buf[0] = (char)unit;
|
||||
#if defined(_WIN32_WCE)
|
||||
/* sprintf() function is not supported on WindowsCE */
|
||||
{
|
||||
wchar_t wc_buf[32];
|
||||
size_t wc_len;
|
||||
swprintf(wc_buf, TEXT("%12.12e"), width);
|
||||
wc_len = wcslen(wc_buf);
|
||||
WideCharToMultiByte(CP_ACP, 0, wc_buf, -1, buf + 1, wc_len, NULL, NULL);
|
||||
total_len = wc_len + 2;
|
||||
swprintf(wc_buf, TEXT("%12.12e"), height);
|
||||
wc_len = wcslen(wc_buf);
|
||||
WideCharToMultiByte(CP_ACP, 0, wc_buf, -1, buf + total_len, wc_len,
|
||||
NULL, NULL);
|
||||
total_len += wc_len;
|
||||
}
|
||||
#else
|
||||
png_snprintf(buf + 1, 63, "%12.12e", width);
|
||||
total_len = 1 + png_strlen(buf + 1) + 1;
|
||||
png_snprintf(buf + total_len, 64-total_len, "%12.12e", height);
|
||||
total_len += png_strlen(buf + total_len);
|
||||
#endif
|
||||
|
||||
png_debug1(3, "sCAL total length = %u", (unsigned int)total_len);
|
||||
png_debug1(3, "sCAL total length = %u\n", (unsigned int)total_len);
|
||||
png_write_chunk(png_ptr, (png_bytep)png_sCAL, (png_bytep)buf, total_len);
|
||||
}
|
||||
#else
|
||||
@@ -1645,7 +1677,7 @@ png_write_sCAL_s(png_structp png_ptr, int unit, png_charp width,
|
||||
png_byte buf[64];
|
||||
png_size_t wlen, hlen, total_len;
|
||||
|
||||
png_debug(1, "in png_write_sCAL_s");
|
||||
png_debug(1, "in png_write_sCAL_s\n");
|
||||
|
||||
wlen = png_strlen(width);
|
||||
hlen = png_strlen(height);
|
||||
@@ -1660,7 +1692,7 @@ png_write_sCAL_s(png_structp png_ptr, int unit, png_charp width,
|
||||
png_memcpy(buf + 1, width, wlen + 1); /* append the '\0' here */
|
||||
png_memcpy(buf + wlen + 2, height, hlen); /* do NOT append the '\0' here */
|
||||
|
||||
png_debug1(3, "sCAL total length = %u", (unsigned int)total_len);
|
||||
png_debug1(3, "sCAL total length = %u\n", (unsigned int)total_len);
|
||||
png_write_chunk(png_ptr, (png_bytep)png_sCAL, buf, total_len);
|
||||
}
|
||||
#endif
|
||||
@@ -1679,7 +1711,7 @@ png_write_pHYs(png_structp png_ptr, png_uint_32 x_pixels_per_unit,
|
||||
#endif
|
||||
png_byte buf[9];
|
||||
|
||||
png_debug(1, "in png_write_pHYs");
|
||||
png_debug(1, "in png_write_pHYs\n");
|
||||
if (unit_type >= PNG_RESOLUTION_LAST)
|
||||
png_warning(png_ptr, "Unrecognized unit type for pHYs chunk");
|
||||
|
||||
@@ -1703,7 +1735,7 @@ png_write_tIME(png_structp png_ptr, png_timep mod_time)
|
||||
#endif
|
||||
png_byte buf[7];
|
||||
|
||||
png_debug(1, "in png_write_tIME");
|
||||
png_debug(1, "in png_write_tIME\n");
|
||||
if (mod_time->month > 12 || mod_time->month < 1 ||
|
||||
mod_time->day > 31 || mod_time->day < 1 ||
|
||||
mod_time->hour > 23 || mod_time->second > 60)
|
||||
@@ -1747,13 +1779,13 @@ png_write_start_row(png_structp png_ptr)
|
||||
|
||||
png_size_t buf_size;
|
||||
|
||||
png_debug(1, "in png_write_start_row");
|
||||
png_debug(1, "in png_write_start_row\n");
|
||||
buf_size = (png_size_t)(PNG_ROWBYTES(
|
||||
png_ptr->usr_channels*png_ptr->usr_bit_depth, png_ptr->width) + 1);
|
||||
|
||||
/* set up row buffer */
|
||||
png_ptr->row_buf = (png_bytep)png_malloc(png_ptr,
|
||||
(png_size_t)buf_size);
|
||||
(png_uint_32)buf_size);
|
||||
png_ptr->row_buf[0] = PNG_FILTER_VALUE_NONE;
|
||||
|
||||
#ifndef PNG_NO_WRITE_FILTER
|
||||
@@ -1761,7 +1793,7 @@ png_write_start_row(png_structp png_ptr)
|
||||
if (png_ptr->do_filter & PNG_FILTER_SUB)
|
||||
{
|
||||
png_ptr->sub_row = (png_bytep)png_malloc(png_ptr,
|
||||
(png_size_t)(png_ptr->rowbytes + 1));
|
||||
(png_uint_32)(png_ptr->rowbytes + 1));
|
||||
png_ptr->sub_row[0] = PNG_FILTER_VALUE_SUB;
|
||||
}
|
||||
|
||||
@@ -1770,27 +1802,27 @@ png_write_start_row(png_structp png_ptr)
|
||||
{
|
||||
/* set up previous row buffer */
|
||||
png_ptr->prev_row = (png_bytep)png_malloc(png_ptr,
|
||||
(png_size_t)buf_size);
|
||||
(png_uint_32)buf_size);
|
||||
png_memset(png_ptr->prev_row, 0, buf_size);
|
||||
|
||||
if (png_ptr->do_filter & PNG_FILTER_UP)
|
||||
{
|
||||
png_ptr->up_row = (png_bytep)png_malloc(png_ptr,
|
||||
(png_size_t)(png_ptr->rowbytes + 1));
|
||||
(png_uint_32)(png_ptr->rowbytes + 1));
|
||||
png_ptr->up_row[0] = PNG_FILTER_VALUE_UP;
|
||||
}
|
||||
|
||||
if (png_ptr->do_filter & PNG_FILTER_AVG)
|
||||
{
|
||||
png_ptr->avg_row = (png_bytep)png_malloc(png_ptr,
|
||||
(png_size_t)(png_ptr->rowbytes + 1));
|
||||
(png_uint_32)(png_ptr->rowbytes + 1));
|
||||
png_ptr->avg_row[0] = PNG_FILTER_VALUE_AVG;
|
||||
}
|
||||
|
||||
if (png_ptr->do_filter & PNG_FILTER_PAETH)
|
||||
{
|
||||
png_ptr->paeth_row = (png_bytep)png_malloc(png_ptr,
|
||||
(png_size_t)(png_ptr->rowbytes + 1));
|
||||
(png_uint_32)(png_ptr->rowbytes + 1));
|
||||
png_ptr->paeth_row[0] = PNG_FILTER_VALUE_PAETH;
|
||||
}
|
||||
}
|
||||
@@ -1847,7 +1879,7 @@ png_write_finish_row(png_structp png_ptr)
|
||||
|
||||
int ret;
|
||||
|
||||
png_debug(1, "in png_write_finish_row");
|
||||
png_debug(1, "in png_write_finish_row\n");
|
||||
/* next row */
|
||||
png_ptr->row_number++;
|
||||
|
||||
@@ -1956,9 +1988,13 @@ png_do_write_interlace(png_row_infop row_info, png_bytep row, int pass)
|
||||
int png_pass_inc[7] = {8, 8, 4, 4, 2, 2, 1};
|
||||
#endif
|
||||
|
||||
png_debug(1, "in png_do_write_interlace");
|
||||
png_debug(1, "in png_do_write_interlace\n");
|
||||
/* we don't have to do anything on the last pass (6) */
|
||||
#if defined(PNG_USELESS_TESTS_SUPPORTED)
|
||||
if (row != NULL && row_info != NULL && pass < 6)
|
||||
#else
|
||||
if (pass < 6)
|
||||
#endif
|
||||
{
|
||||
/* each pixel depth is handled separately */
|
||||
switch (row_info->pixel_depth)
|
||||
@@ -2123,7 +2159,7 @@ png_write_find_filter(png_structp png_ptr, png_row_infop row_info)
|
||||
int num_p_filters = (int)png_ptr->num_prev_filters;
|
||||
#endif
|
||||
|
||||
png_debug(1, "in png_write_find_filter");
|
||||
png_debug(1, "in png_write_find_filter\n");
|
||||
/* find out how many bytes offset each pixel is */
|
||||
bpp = (row_info->pixel_depth + 7) >> 3;
|
||||
|
||||
@@ -2732,8 +2768,8 @@ png_write_find_filter(png_structp png_ptr, png_row_infop row_info)
|
||||
void /* PRIVATE */
|
||||
png_write_filtered_row(png_structp png_ptr, png_bytep filtered_row)
|
||||
{
|
||||
png_debug(1, "in png_write_filtered_row");
|
||||
png_debug1(2, "filter = %d", filtered_row[0]);
|
||||
png_debug(1, "in png_write_filtered_row\n");
|
||||
png_debug1(2, "filter = %d\n", filtered_row[0]);
|
||||
/* set up the zlib input buffer */
|
||||
|
||||
png_ptr->zstream.next_in = filtered_row;
|
||||
|
||||
@@ -31,11 +31,11 @@ To use:
|
||||
|
||||
This project builds the libpng binaries as follows:
|
||||
|
||||
* Win32_DLL_Release\libpng14.dll DLL build
|
||||
* Win32_DLL_Debug\libpng14d.dll DLL build (debug version)
|
||||
* Win32_DLL_ASM_Release\libpng14.dll DLL build using ASM code
|
||||
* Win32_DLL_ASM_Debug\libpng14d.dll DLL build using ASM (debug version)
|
||||
* Win32_DLL_VB\libpng14vb.dll DLL build for Visual Basic, using stdcall
|
||||
* Win32_DLL_Release\libpng13.dll DLL build
|
||||
* Win32_DLL_Debug\libpng13d.dll DLL build (debug version)
|
||||
* Win32_DLL_ASM_Release\libpng13.dll DLL build using ASM code
|
||||
* Win32_DLL_ASM_Debug\libpng13d.dll DLL build using ASM (debug version)
|
||||
* Win32_DLL_VB\libpng13vb.dll DLL build for Visual Basic, using stdcall
|
||||
* Win32_LIB_Release\libpng.lib static build
|
||||
* Win32_LIB_Debug\libpngd.lib static build (debug version)
|
||||
* Win32_LIB_ASM_Release\libpng.lib static build using ASM code
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
CFG=libpng - Win32 DLL Release
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "libpng.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "libpng.mak" CFG="libpng - Win32 DLL Release"
|
||||
!MESSAGE
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE
|
||||
!MESSAGE "libpng - Win32 DLL Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "libpng - Win32 DLL Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "libpng - Win32 DLL ASM Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
@@ -27,7 +27,7 @@ CFG=libpng - Win32 DLL Release
|
||||
!MESSAGE "libpng - Win32 LIB Debug" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "libpng - Win32 LIB ASM Release" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "libpng - Win32 LIB ASM Debug" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
@@ -50,7 +50,7 @@ CFG=libpng - Win32 DLL Release
|
||||
CPP=cl.exe
|
||||
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
||||
# SUBTRACT BASE CPP /YX /Yc /Yu
|
||||
# ADD CPP /nologo /MD /W3 /O2 /I "..\.." /I "..\..\..\zlib" /D "WIN32" /D "NDEBUG" /D "PNG_BUILD_DLL" /D "ZLIB_DLL" /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /O2 /I "..\.." /I "..\..\..\zlib" /D "WIN32" /D "NDEBUG" /D "PNG_BUILD_DLL" /D "PNG_NO_MMX_CODE" /D "ZLIB_DLL" /D "_CRT_SECURE_NO_WARNINGS" /FD /c
|
||||
# SUBTRACT CPP /YX /Yc /Yu
|
||||
MTL=midl.exe
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
@@ -63,7 +63,7 @@ BSC32=bscmake.exe
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 /nologo /dll /machine:I386
|
||||
# ADD LINK32 zlib1.lib /nologo /dll /machine:I386 /out:"Win32_DLL_Release\libpng14.dll" /libpath:"..\..\..\zlib\projects\visualc6\Win32_DLL_Release"
|
||||
# ADD LINK32 zlib1.lib /nologo /dll /machine:I386 /out:"Win32_DLL_Release\libpng13.dll" /libpath:"..\..\..\zlib\projects\visualc6\Win32_DLL_Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "libpng - Win32 DLL Debug"
|
||||
|
||||
@@ -81,7 +81,7 @@ LINK32=link.exe
|
||||
CPP=cl.exe
|
||||
# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
||||
# SUBTRACT BASE CPP /YX /Yc /Yu
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /I "..\.." /I "..\..\..\zlib" /D "WIN32" /D "_DEBUG" /D "DEBUG" /D PNG_DEBUG=1 /D "PNG_BUILD_DLL" /D "ZLIB_DLL" /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /I "..\.." /I "..\..\..\zlib" /D "WIN32" /D "_DEBUG" /D "DEBUG" /D "PNG_NO_MMX_CODE" /D PNG_DEBUG=1 /D "PNG_BUILD_DLL" /D "ZLIB_DLL" /D "_CRT_SECURE_NO_WARNINGS" /FD /GZ /c
|
||||
# SUBTRACT CPP /YX /Yc /Yu
|
||||
MTL=midl.exe
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
@@ -94,7 +94,7 @@ BSC32=bscmake.exe
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 zlib1d.lib /nologo /dll /debug /machine:I386 /out:"Win32_DLL_Debug\libpng14d.dll" /libpath:"..\..\..\zlib\projects\visualc6\Win32_DLL_Debug"
|
||||
# ADD LINK32 zlib1d.lib /nologo /dll /debug /machine:I386 /out:"Win32_DLL_Debug\libpng13d.dll" /libpath:"..\..\..\zlib\projects\visualc6\Win32_DLL_Debug"
|
||||
|
||||
!ELSEIF "$(CFG)" == "libpng - Win32 DLL ASM Release"
|
||||
|
||||
@@ -112,7 +112,7 @@ LINK32=link.exe
|
||||
CPP=cl.exe
|
||||
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
||||
# SUBTRACT BASE CPP /YX /Yc /Yu
|
||||
# ADD CPP /nologo /MD /W3 /O2 /I "..\.." /I "..\..\..\zlib" /D "WIN32" /D "NDEBUG" /D "PNG_USE_PNGVCRD" /D "PNG_BUILD_DLL" /D "ZLIB_DLL" /D "PNG_LIBPNG_SPECIALBUILD" /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /O2 /I "..\.." /I "..\..\..\zlib" /D "WIN32" /D "NDEBUG" /D "PNG_USE_PNGVCRD" /D "PNG_BUILD_DLL" /D "ZLIB_DLL" /D "PNG_LIBPNG_SPECIALBUILD" /D "_CRT_SECURE_NO_WARNINGS" /FD /c
|
||||
# SUBTRACT CPP /YX /Yc /Yu
|
||||
MTL=midl.exe
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
@@ -125,7 +125,7 @@ BSC32=bscmake.exe
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 /nologo /dll /machine:I386
|
||||
# ADD LINK32 zlib1.lib /nologo /dll /machine:I386 /out:"Win32_DLL_ASM_Release\libpng14.dll" /libpath:"..\..\..\zlib\projects\visualc6\Win32_DLL_ASM_Release"
|
||||
# ADD LINK32 zlib1.lib /nologo /dll /machine:I386 /out:"Win32_DLL_ASM_Release\libpng13.dll" /libpath:"..\..\..\zlib\projects\visualc6\Win32_DLL_ASM_Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "libpng - Win32 DLL ASM Debug"
|
||||
|
||||
@@ -143,7 +143,7 @@ LINK32=link.exe
|
||||
CPP=cl.exe
|
||||
# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
||||
# SUBTRACT BASE CPP /YX /Yc /Yu
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /I "..\.." /I "..\..\..\zlib" /D "WIN32" /D "_DEBUG" /D "DEBUG" /D PNG_DEBUG=1 /D "PNG_USE_PNGVCRD" /D "PNG_BUILD_DLL" /D "ZLIB_DLL" /D "PNG_LIBPNG_SPECIALBUILD" /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /I "..\.." /I "..\..\..\zlib" /D "WIN32" /D "_DEBUG" /D "DEBUG" /D PNG_DEBUG=1 /D "PNG_USE_PNGVCRD" /D "PNG_BUILD_DLL" /D "ZLIB_DLL" /D "PNG_LIBPNG_SPECIALBUILD" /D "_CRT_SECURE_NO_WARNINGS" /FD /GZ /c
|
||||
# SUBTRACT CPP /YX /Yc /Yu
|
||||
MTL=midl.exe
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
@@ -156,7 +156,7 @@ BSC32=bscmake.exe
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 zlib1d.lib /nologo /dll /debug /machine:I386 /out:"Win32_DLL_ASM_Debug\libpng14d.dll" /libpath:"..\..\..\zlib\projects\visualc6\Win32_DLL_ASM_Debug"
|
||||
# ADD LINK32 zlib1d.lib /nologo /dll /debug /machine:I386 /out:"Win32_DLL_ASM_Debug\libpng13d.dll" /libpath:"..\..\..\zlib\projects\visualc6\Win32_DLL_ASM_Debug"
|
||||
|
||||
!ELSEIF "$(CFG)" == "libpng - Win32 DLL VB"
|
||||
|
||||
@@ -174,7 +174,7 @@ LINK32=link.exe
|
||||
CPP=cl.exe
|
||||
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
||||
# SUBTRACT BASE CPP /YX /Yc /Yu
|
||||
# ADD CPP /nologo /MD /W3 /O2 /I "..\.." /I "..\..\..\zlib" /D "WIN32" /D "NDEBUG" /D "PNG_BUILD_DLL" /D "ZLIB_DLL" /D PNGAPI=__stdcall /D "PNG_NO_MODULEDEF" /D "PNG_LIBPNG_SPECIALBUILD" /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /O2 /I "..\.." /I "..\..\..\zlib" /D "WIN32" /D "NDEBUG" /D "PNG_BUILD_DLL" /D "ZLIB_DLL" /D PNGAPI=__stdcall /D "PNG_NO_MODULEDEF" /D "PNG_LIBPNG_SPECIALBUILD" /D "_CRT_SECURE_NO_WARNINGS" /FD /c
|
||||
# SUBTRACT CPP /YX /Yc /Yu
|
||||
MTL=midl.exe
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
@@ -187,10 +187,10 @@ BSC32=bscmake.exe
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 /nologo /dll /machine:I386
|
||||
# ADD LINK32 zlib1.lib /nologo /dll /machine:I386 /out:"Win32_DLL_VB\libpng14vb.dll" /libpath:"..\..\..\zlib\projects\visualc6\Win32_DLL_Release"
|
||||
# ADD LINK32 zlib1.lib /nologo /dll /machine:I386 /out:"Win32_DLL_VB\libpng13vb.dll" /libpath:"..\..\..\zlib\projects\visualc6\Win32_DLL_Release"
|
||||
# Begin Special Build Tool
|
||||
OutDir=.\Win32_DLL_VB
|
||||
TargetName=libpng14vb
|
||||
TargetName=libpng13vb
|
||||
SOURCE="$(InputPath)"
|
||||
PostBuild_Cmds=echo Deleting $(targetname) import library and export file (Not required for VB projects) del $(outdir)\$(targetname).lib del $(outdir)\$(targetname).exp
|
||||
# End Special Build Tool
|
||||
@@ -210,7 +210,7 @@ PostBuild_Cmds=echo Deleting $(targetname) import library and export file (No
|
||||
CPP=cl.exe
|
||||
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
||||
# SUBTRACT BASE CPP /YX /Yc /Yu
|
||||
# ADD CPP /nologo /MD /W3 /O2 /I "..\.." /I "..\..\..\zlib" /D "WIN32" /D "NDEBUG" /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /O2 /I "..\.." /I "..\..\..\zlib" /D "PNG_NO_MMX_CODE" /D "WIN32" /D "NDEBUG" /D "_CRT_SECURE_NO_WARNINGS" /FD /c
|
||||
# SUBTRACT CPP /YX /Yc /Yu
|
||||
RSC=rc.exe
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
@@ -237,7 +237,7 @@ LIB32=link.exe -lib
|
||||
CPP=cl.exe
|
||||
# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
||||
# SUBTRACT BASE CPP /YX /Yc /Yu
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /I "..\.." /I "..\..\..\zlib" /D "WIN32" /D "_DEBUG" /D "DEBUG" /D PNG_DEBUG=1 /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /I "..\.." /I "..\..\..\zlib" /D "WIN32" /D "_DEBUG" /D "DEBUG" /D "PNG_NO_MMX_CODE" /D PNG_DEBUG=1 /D "_CRT_SECURE_NO_WARNINGS" /FD /GZ /c
|
||||
# SUBTRACT CPP /YX /Yc /Yu
|
||||
RSC=rc.exe
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
@@ -264,7 +264,7 @@ LIB32=link.exe -lib
|
||||
CPP=cl.exe
|
||||
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
||||
# SUBTRACT BASE CPP /YX /Yc /Yu
|
||||
# ADD CPP /nologo /MD /W3 /O2 /I "..\.." /I "..\..\..\zlib" /D "WIN32" /D "NDEBUG" /D "PNG_USE_PNGVCRD" /D "PNG_LIBPNG_SPECIALBUILD" /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /O2 /I "..\.." /I "..\..\..\zlib" /D "WIN32" /D "NDEBUG" /D "PNG_USE_PNGVCRD" /D "PNG_LIBPNG_SPECIALBUILD" /D "_CRT_SECURE_NO_WARNINGS" /FD /c
|
||||
# SUBTRACT CPP /YX /Yc /Yu
|
||||
RSC=rc.exe
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
@@ -291,7 +291,7 @@ LIB32=link.exe -lib
|
||||
CPP=cl.exe
|
||||
# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
||||
# SUBTRACT BASE CPP /YX /Yc /Yu
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /I "..\.." /I "..\..\..\zlib" /D "WIN32" /D "_DEBUG" /D "DEBUG" /D PNG_DEBUG=1 /D "PNG_USE_PNGVCRD" /D "PNG_LIBPNG_SPECIALBUILD" /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /I "..\.." /I "..\..\..\zlib" /D "WIN32" /D "_DEBUG" /D "DEBUG" /D PNG_DEBUG=1 /D "PNG_USE_PNGVCRD" /D "PNG_LIBPNG_SPECIALBUILD" /D "_CRT_SECURE_NO_WARNINGS" /FD /GZ /c
|
||||
# SUBTRACT CPP /YX /Yc /Yu
|
||||
RSC=rc.exe
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
@@ -303,7 +303,7 @@ LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo /out:"Win32_LIB_ASM_Debug\libpngd.lib"
|
||||
|
||||
!ENDIF
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
@@ -365,42 +365,7 @@ SOURCE=..\..\pngtrans.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\pngvcrd.c
|
||||
|
||||
!IF "$(CFG)" == "libpng - Win32 DLL Release"
|
||||
|
||||
# PROP Exclude_From_Build 1
|
||||
|
||||
!ELSEIF "$(CFG)" == "libpng - Win32 DLL Debug"
|
||||
|
||||
# PROP Exclude_From_Build 1
|
||||
|
||||
!ELSEIF "$(CFG)" == "libpng - Win32 DLL ASM Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "libpng - Win32 DLL ASM Debug"
|
||||
|
||||
!ELSEIF "$(CFG)" == "libpng - Win32 DLL VB"
|
||||
|
||||
# PROP Exclude_From_Build 1
|
||||
|
||||
!ELSEIF "$(CFG)" == "libpng - Win32 LIB Release"
|
||||
|
||||
# PROP Exclude_From_Build 1
|
||||
|
||||
!ELSEIF "$(CFG)" == "libpng - Win32 LIB Debug"
|
||||
|
||||
# PROP Exclude_From_Build 1
|
||||
|
||||
!ELSEIF "$(CFG)" == "libpng - Win32 LIB ASM Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "libpng - Win32 LIB ASM Debug"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\scripts\pngwin.def
|
||||
SOURCE=..\..\scripts\pngw32.def
|
||||
|
||||
!IF "$(CFG)" == "libpng - Win32 DLL Release"
|
||||
|
||||
@@ -430,7 +395,7 @@ SOURCE=..\..\scripts\pngwin.def
|
||||
|
||||
# PROP Exclude_From_Build 1
|
||||
|
||||
!ENDIF
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
@@ -461,17 +426,13 @@ SOURCE=..\..\png.h
|
||||
|
||||
SOURCE=..\..\pngconf.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\pngpriv.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\scripts\pngwin.rc
|
||||
SOURCE=..\..\scripts\pngw32.rc
|
||||
|
||||
!IF "$(CFG)" == "libpng - Win32 DLL Release"
|
||||
|
||||
@@ -499,7 +460,7 @@ SOURCE=..\..\scripts\pngwin.rc
|
||||
|
||||
# PROP Exclude_From_Build 1
|
||||
|
||||
!ENDIF
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# End Group
|
||||
|
||||
@@ -58,7 +58,7 @@ BSC32=bscmake.exe
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 Win32_DLL_Release\libpng14.lib ..\..\..\zlib\projects\visualc6\Win32_DLL_Release\zlib1.lib /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 Win32_DLL_Release\libpng13.lib ..\..\..\zlib\projects\visualc6\Win32_DLL_Release\zlib1.lib /nologo /subsystem:console /machine:I386
|
||||
# Begin Special Build Tool
|
||||
OutDir=.\Win32_DLL_Release
|
||||
SOURCE="$(InputPath)"
|
||||
@@ -90,7 +90,7 @@ BSC32=bscmake.exe
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 Win32_DLL_Debug\libpng14d.lib ..\..\..\zlib\projects\visualc6\Win32_DLL_Debug\zlib1d.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 Win32_DLL_Debug\libpng13d.lib ..\..\..\zlib\projects\visualc6\Win32_DLL_Debug\zlib1d.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# Begin Special Build Tool
|
||||
OutDir=.\Win32_DLL_Debug
|
||||
SOURCE="$(InputPath)"
|
||||
@@ -122,7 +122,7 @@ BSC32=bscmake.exe
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 Win32_DLL_ASM_Release\libpng14.lib ..\..\..\zlib\projects\visualc6\Win32_DLL_ASM_Release\zlib1.lib /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 Win32_DLL_ASM_Release\libpng13.lib ..\..\..\zlib\projects\visualc6\Win32_DLL_ASM_Release\zlib1.lib /nologo /subsystem:console /machine:I386
|
||||
# Begin Special Build Tool
|
||||
OutDir=.\Win32_DLL_ASM_Release
|
||||
SOURCE="$(InputPath)"
|
||||
@@ -154,7 +154,7 @@ BSC32=bscmake.exe
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 Win32_DLL_ASM_Debug\libpng14d.lib ..\..\..\zlib\projects\visualc6\Win32_DLL_ASM_Debug\zlib1d.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 Win32_DLL_ASM_Debug\libpng13d.lib ..\..\..\zlib\projects\visualc6\Win32_DLL_ASM_Debug\zlib1d.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# Begin Special Build Tool
|
||||
OutDir=.\Win32_DLL_ASM_Debug
|
||||
SOURCE="$(InputPath)"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Prevent "Cannot find missing dependency..." warnings while compiling
|
||||
# pngwin.rc (PRJ0041).
|
||||
# pngw32.rc (PRJ0041).
|
||||
|
||||
all: $(IntDir)\alloc.h \
|
||||
$(IntDir)\fp.h \
|
||||
|
||||
@@ -32,11 +32,11 @@ To use:
|
||||
|
||||
This project builds the libpng binaries as follows:
|
||||
|
||||
* Win32_DLL_Release\libpng14.dll DLL build
|
||||
* Win32_DLL_Debug\libpng14d.dll DLL build (debug version)
|
||||
* Win32_DLL_ASM_Release\libpng14.dll DLL build using ASM code
|
||||
* Win32_DLL_ASM_Debug\libpng14d.dll DLL build using ASM (debug version)
|
||||
* Win32_DLL_VB\libpng14vb.dll DLL build for Visual Basic, using stdcall
|
||||
* Win32_DLL_Release\libpng13.dll DLL build
|
||||
* Win32_DLL_Debug\libpng13d.dll DLL build (debug version)
|
||||
* Win32_DLL_ASM_Release\libpng13.dll DLL build using ASM code
|
||||
* Win32_DLL_ASM_Debug\libpng13d.dll DLL build using ASM (debug version)
|
||||
* Win32_DLL_VB\libpng13vb.dll DLL build for Visual Basic, using stdcall
|
||||
* Win32_LIB_Release\libpng.lib static build
|
||||
* Win32_LIB_Debug\libpngd.lib static build (debug version)
|
||||
* Win32_LIB_ASM_Release\libpng.lib static build using ASM code
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..;..\..\..\zlib"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;PNG_BUILD_DLL;ZLIB_DLL"
|
||||
PreprocessorDefinitions="WIN32;PNG_NO_MMX_CODE;NDEBUG;PNG_BUILD_DLL;ZLIB_DLL;_CRT_SECURE_NO_WARNINGS"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
@@ -30,9 +30,9 @@
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
OutputFile="$(OutDir)/libpng14.dll"
|
||||
OutputFile="$(OutDir)/libpng13.dll"
|
||||
LinkIncremental="1"
|
||||
ModuleDefinitionFile="..\..\scripts\pngwin.def"/>
|
||||
ModuleDefinitionFile="..\..\scripts\pngw32.def"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
<Tool
|
||||
@@ -43,7 +43,7 @@
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
PreprocessorDefinitions="NDEBUG;_CRT_SECURE_NO_WARNINGS"
|
||||
Culture="1033"
|
||||
AdditionalIncludeDirectories="..\..;..\..\..\zlib;$(IntDir)"/>
|
||||
<Tool
|
||||
@@ -66,7 +66,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..;..\..\..\zlib"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;DEBUG;PNG_DEBUG=1;PNG_BUILD_DLL;ZLIB_DLL"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;DEBUG;PNG_NO_MMX_CODE;PNG_DEBUG=1;PNG_BUILD_DLL;ZLIB_DLL;_CRT_SECURE_NO_WARNINGS"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
UsePrecompiledHeader="3"
|
||||
@@ -78,8 +78,8 @@
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
OutputFile="$(OutDir)/libpng14d.dll"
|
||||
ModuleDefinitionFile="..\..\scripts\pngwin.def"
|
||||
OutputFile="$(OutDir)/libpng13d.dll"
|
||||
ModuleDefinitionFile="..\..\scripts\pngw32.def"
|
||||
GenerateDebugInformation="TRUE"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
@@ -91,7 +91,7 @@
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG,PNG_DEBUG=1"
|
||||
PreprocessorDefinitions="_DEBUG,PNG_DEBUG=1;_CRT_SECURE_NO_WARNINGS"
|
||||
Culture="1033"
|
||||
AdditionalIncludeDirectories="..\..;..\..\..\zlib;$(IntDir)"/>
|
||||
<Tool
|
||||
@@ -114,7 +114,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..;..\..\..\zlib"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;PNG_USE_PNGVCRD;PNG_BUILD_DLL;ZLIB_DLL;PNG_LIBPNG_SPECIALBUILD"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;PNG_USE_PNGVCRD;PNG_BUILD_DLL;ZLIB_DLL;PNG_LIBPNG_SPECIALBUILD;_CRT_SECURE_NO_WARNINGS"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
@@ -126,9 +126,9 @@
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
OutputFile="$(OutDir)/libpng14.dll"
|
||||
OutputFile="$(OutDir)/libpng13.dll"
|
||||
LinkIncremental="1"
|
||||
ModuleDefinitionFile="..\..\scripts\pngwin.def"/>
|
||||
ModuleDefinitionFile="..\..\scripts\pngw32.def"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
<Tool
|
||||
@@ -140,7 +140,7 @@
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalOptions="/d PNG_LIBPNG_SPECIALBUILD=""""Use MMX instructions"""""
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
PreprocessorDefinitions="NDEBUG;_CRT_SECURE_NO_WARNINGS"
|
||||
Culture="1033"
|
||||
AdditionalIncludeDirectories="..\..;..\..\..\zlib;$(IntDir)"/>
|
||||
<Tool
|
||||
@@ -163,7 +163,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..;..\..\..\zlib"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;DEBUG;PNG_DEBUG=1;PNG_USE_PNGVCRD;PNG_BUILD_DLL;ZLIB_DLL;PNG_LIBPNG_SPECIALBUILD"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;DEBUG;PNG_DEBUG=1;PNG_USE_PNGVCRD;PNG_BUILD_DLL;ZLIB_DLL;PNG_LIBPNG_SPECIALBUILD;_CRT_SECURE_NO_WARNINGS"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
UsePrecompiledHeader="3"
|
||||
@@ -175,8 +175,8 @@
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
OutputFile="$(OutDir)/libpng14d.dll"
|
||||
ModuleDefinitionFile="..\..\scripts\pngwin.def"
|
||||
OutputFile="$(OutDir)/libpng13d.dll"
|
||||
ModuleDefinitionFile="..\..\scripts\pngw32.def"
|
||||
GenerateDebugInformation="TRUE"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
@@ -189,7 +189,7 @@
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalOptions="/d PNG_LIBPNG_SPECIALBUILD=""""Use MMX instructions"""""
|
||||
PreprocessorDefinitions="_DEBUG,PNG_DEBUG=1"
|
||||
PreprocessorDefinitions="_DEBUG,PNG_DEBUG=1;_CRT_SECURE_NO_WARNINGS"
|
||||
Culture="1033"
|
||||
AdditionalIncludeDirectories="..\..;..\..\..\zlib;$(IntDir)"/>
|
||||
<Tool
|
||||
@@ -212,7 +212,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..;..\..\..\zlib"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;PNG_BUILD_DLL;ZLIB_DLL;PNGAPI=__stdcall;PNG_NO_MODULEDEF;PNG_LIBPNG_SPECIALBUILD"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;PNG_BUILD_DLL;ZLIB_DLL;PNGAPI=__stdcall;PNG_NO_MMX_CODE;PNG_NO_MODULEDEF;PNG_LIBPNG_SPECIALBUILD;_CRT_SECURE_NO_WARNINGS"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
@@ -224,7 +224,7 @@
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
OutputFile="$(OutDir)/libpng14vb.dll"
|
||||
OutputFile="$(OutDir)/libpng13vb.dll"
|
||||
LinkIncremental="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
@@ -237,7 +237,7 @@
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalOptions="/d PNG_LIBPNG_DLLFNAME_POSTFIX=""""VB"""" /d PNG_LIBPNG_SPECIALBUILD=""""__stdcall calling convention used for exported functions"""""
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
PreprocessorDefinitions="NDEBUG;_CRT_SECURE_NO_WARNINGS"
|
||||
Culture="1033"
|
||||
AdditionalIncludeDirectories="..\..;..\..\..\zlib;$(IntDir)"/>
|
||||
<Tool
|
||||
@@ -260,7 +260,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..;..\..\..\zlib"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG"
|
||||
PreprocessorDefinitions="PNG_NO_MMX_CODE;WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
@@ -301,7 +301,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..;..\..\..\zlib"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;DEBUG;PNG_DEBUG=1"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;DEBUG;PNG_NO_MMX_CODE;PNG_DEBUG=1;_CRT_SECURE_NO_WARNINGS"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
UsePrecompiledHeader="3"
|
||||
@@ -342,7 +342,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..,..\..\..\zlib"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;PNG_USE_PNGVCRD;PNG_LIBPNG_SPECIALBUILD"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;PNG_USE_PNGVCRD;PNG_LIBPNG_SPECIALBUILD;_CRT_SECURE_NO_WARNINGS"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
@@ -383,7 +383,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..,..\..\..\zlib"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;DEBUG;PNG_DEBUG=1;PNG_USE_PNGVCRD;PNG_LIBPNG_SPECIALBUILD"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;DEBUG;PNG_DEBUG=1;PNG_USE_PNGVCRD;PNG_LIBPNG_SPECIALBUILD;_CRT_SECURE_NO_WARNINGS"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
UsePrecompiledHeader="3"
|
||||
@@ -564,40 +564,7 @@
|
||||
RelativePath="..\..\pngtrans.c">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\pngvcrd.c">
|
||||
<FileConfiguration
|
||||
Name="DLL Release|Win32"
|
||||
ExcludedFromBuild="TRUE">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="DLL Debug|Win32"
|
||||
ExcludedFromBuild="TRUE">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="DLL VB|Win32"
|
||||
ExcludedFromBuild="TRUE">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="LIB Release|Win32"
|
||||
ExcludedFromBuild="TRUE">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="LIB Debug|Win32"
|
||||
ExcludedFromBuild="TRUE">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\scripts\pngwin.def">
|
||||
RelativePath="..\..\scripts\pngw32.def">
|
||||
<FileConfiguration
|
||||
Name="DLL VB|Win32"
|
||||
ExcludedFromBuild="TRUE">
|
||||
@@ -651,15 +618,12 @@
|
||||
<File
|
||||
RelativePath="..\..\pngconf.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\pngpriv.h">
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
|
||||
<File
|
||||
RelativePath="..\..\scripts\pngwin.rc">
|
||||
RelativePath="..\..\scripts\pngw32.rc">
|
||||
<FileConfiguration
|
||||
Name="LIB Release|Win32"
|
||||
ExcludedFromBuild="TRUE">
|
||||
|
||||
@@ -226,7 +226,7 @@ $(TargetPath) ..\..\pngtest.png $(IntDir)\pngout.png"
|
||||
Name="VCLinkerTool"
|
||||
OutputFile="$(OutDir)/pngtest.exe"
|
||||
LinkIncremental="1"
|
||||
IgnoreDefaultLibraryNames="$(IntDir)\libpng14vb.lib"
|
||||
IgnoreDefaultLibraryNames="$(IntDir)\libpng13vb.lib"
|
||||
SubSystem="1"
|
||||
TargetMachine="1"/>
|
||||
<Tool
|
||||
|
||||
6
projects/wince.txt
Normal file
6
projects/wince.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
A set of project files is available for WinCE. Get
|
||||
libpng-1.2.5-project-wince.zip from a libpng distribution
|
||||
site such as http://libpng.sourceforge.net
|
||||
|
||||
Put the zip file in this directory (projects) and then run
|
||||
"unzip -a libpng-1.2.5-project-wince.zip"
|
||||
@@ -1,11 +1,12 @@
|
||||
|
||||
project(PNG)
|
||||
|
||||
# Copyright (C) 2007 Glenn Randers-Pehrson
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
|
||||
set(PNGLIB_MAJOR 1)
|
||||
set(PNGLIB_MINOR 4)
|
||||
set(PNGLIB_RELEASE 0)
|
||||
set(PNGLIB_MINOR 2)
|
||||
set(PNGLIB_RELEASE 32)
|
||||
set(PNGLIB_NAME libpng${PNGLIB_MAJOR}${PNGLIB_MINOR})
|
||||
set(PNGLIB_VERSION ${PNGLIB_MAJOR}.${PNGLIB_MINOR}.${PNGLIB_RELEASE})
|
||||
|
||||
@@ -29,7 +30,11 @@ endif(NOT WIN32)
|
||||
# COMMAND LINE OPTIONS
|
||||
option(PNG_SHARED "Build shared lib" YES)
|
||||
option(PNG_STATIC "Build static lib" YES)
|
||||
option(PNG_TESTS "Build pngtest" YES)
|
||||
if(MINGW)
|
||||
option(PNG_TESTS "Build pngtest" NO)
|
||||
else(MINGW)
|
||||
option(PNG_TESTS "Build pngtest" YES)
|
||||
endif(MINGW)
|
||||
option(PNG_NO_CONSOLE_IO "FIXME" YES)
|
||||
option(PNG_NO_STDIO "FIXME" YES)
|
||||
option(PNG_DEBUG "Build with debug output" YES)
|
||||
@@ -49,10 +54,14 @@ if(NOT WIN32)
|
||||
set(png_asm_tmp "OFF")
|
||||
endif("uname_output" MATCHES "^.*i[1-9]86.*$")
|
||||
endif(uname_executable)
|
||||
else(NOT WIN32)
|
||||
# this env var is normally only set on win64
|
||||
SET(TEXT "ProgramFiles(x86)")
|
||||
if("$ENV{${TEXT}}" STREQUAL "")
|
||||
set(png_asm_tmp "ON")
|
||||
endif("$ENV{${TEXT}}" STREQUAL "")
|
||||
endif(NOT WIN32)
|
||||
|
||||
option(PNG_MMX "Use MMX assembler code (x86 only)" ${png_asm_tmp})
|
||||
|
||||
# SET LIBNAME
|
||||
# msvc does not append 'lib' - do it here to have consistent name
|
||||
if(MSVC)
|
||||
@@ -88,32 +97,14 @@ set(pngtest_sources
|
||||
pngtest.c
|
||||
)
|
||||
# SOME NEEDED DEFINITIONS
|
||||
add_definitions(-DZLIB_DLL)
|
||||
|
||||
if(MSVC)
|
||||
add_definitions(-DPNG_NO_MODULEDEF -D_CRT_SECURE_NO_DEPRECATE)
|
||||
FILE(WRITE pngdefs.h "#define PNG_USE_PNGVCRD\n")
|
||||
set(libpng_sources ${libpng_sources}
|
||||
pngvcrd.c
|
||||
)
|
||||
else(MSVC)
|
||||
FILE(WRITE pngdefs.h "#define PNG_USE_PNGGCCRD\n")
|
||||
set(libpng_sources ${libpng_sources}
|
||||
pnggccrd.c
|
||||
)
|
||||
add_definitions(-DPNG_NO_MODULEDEF -D_CRT_SECURE_NO_DEPRECATE)
|
||||
endif(MSVC)
|
||||
|
||||
if(NOT MSVC)
|
||||
if(NOT PNG_MMX)
|
||||
FILE(APPEND pngdefs.h "#define PNG_NO_MMX_CODE\n")
|
||||
endif(NOT PNG_MMX)
|
||||
else(NOT MSVC)
|
||||
if(PNG_MMX)
|
||||
# maybe add this to pngconf.h ?
|
||||
FILE(APPEND pngdefs.h "#define PNG_MMX_MMX_CODE_SUPPORTED\n")
|
||||
endif(PNG_MMX)
|
||||
endif(NOT MSVC)
|
||||
add_definitions(-DZLIB_DLL)
|
||||
|
||||
add_definitions(-DLIBPNG_NO_MMX)
|
||||
add_definitions(-DPNG_NO_MMX_CODE)
|
||||
|
||||
if(PNG_CONSOLE_IO_SUPPORTED)
|
||||
add_definitions(-DPNG_CONSOLE_IO_SUPPORTED)
|
||||
@@ -131,9 +122,9 @@ if(PNG_DEBUG)
|
||||
add_definitions(-DPNG_DEBUG)
|
||||
endif(PNG_DEBUG)
|
||||
|
||||
if(NOT M_LIBRARY)
|
||||
if(NOT M_LIBRARY AND NOT WIN32)
|
||||
add_definitions(-DPNG_NO_FLOATING_POINT_SUPPORTED)
|
||||
endif(NOT M_LIBRARY)
|
||||
endif(NOT M_LIBRARY AND NOT WIN32)
|
||||
|
||||
# NOW BUILD OUR TARGET
|
||||
include_directories(${PNG_SOURCE_DIR} ${ZLIB_INCLUDE_DIR})
|
||||
@@ -178,18 +169,24 @@ configure_file(${PNG_SOURCE_DIR}/scripts/libpng-config.in
|
||||
|
||||
# SET UP LINKS
|
||||
set_target_properties(${PNG_LIB_NAME} PROPERTIES
|
||||
# VERSION 0.${PNGLIB_RELEASE}.1.4.0beta37
|
||||
# VERSION 0.${PNGLIB_RELEASE}.1.2.32beta01
|
||||
VERSION 0.${PNGLIB_RELEASE}.0
|
||||
SOVERSION 0
|
||||
CLEAN_DIRECT_OUTPUT 1)
|
||||
set_target_properties(${PNG_LIB_NAME_STATIC} PROPERTIES
|
||||
if(NOT WIN32)
|
||||
# that's uncool on win32 - it overwrites our static import lib...
|
||||
set_target_properties(${PNG_LIB_NAME_STATIC} PROPERTIES
|
||||
OUTPUT_NAME ${PNG_LIB_NAME}
|
||||
CLEAN_DIRECT_OUTPUT 1)
|
||||
|
||||
endif(NOT WIN32)
|
||||
# INSTALL
|
||||
install_targets(/lib ${PNG_LIB_NAME} ${PNG_LIB_NAME_STATIC})
|
||||
install(FILES png.h pngconf.h pngpriv.h pngdefs.h DESTINATION include)
|
||||
install(FILES png.h pngconf.h pngpriv.h pngdefs.h DESTINATION include/${PNGLIB_NAME})
|
||||
install_targets(/lib ${PNG_LIB_NAME})
|
||||
if(PNG_STATIC)
|
||||
install_targets(/lib ${PNG_LIB_NAME_STATIC})
|
||||
endif(PNG_STATIC)
|
||||
|
||||
install(FILES png.h pngconf.h DESTINATION include)
|
||||
install(FILES png.h pngconf.h DESTINATION include/${PNGLIB_NAME})
|
||||
install(FILES libpng.3 libpngpf.3 DESTINATION man/man3)
|
||||
install(FILES png.5 DESTINATION man/man5)
|
||||
install(FILES ${PNG_BINARY_DIR}/libpng.pc DESTINATION lib/pkgconfig)
|
||||
@@ -210,3 +207,4 @@ install(FILES ${PNG_BINARY_DIR}/${PNGLIB_NAME}-config DESTINATION bin)
|
||||
# to create msvc import lib for mingw compiled shared lib
|
||||
# pexports libpng.dll > libpng.def
|
||||
# lib /def:libpng.def /machine:x86
|
||||
|
||||
|
||||
@@ -15,12 +15,9 @@ OBJS = png.obj, pngset.obj, pngget.obj, pngrutil.obj, pngtrans.obj,\
|
||||
|
||||
CFLAGS= $(C_DEB) $(CC_DEFS) $(PREF)
|
||||
|
||||
all : pngtest.exe libpng.olb pngdefs.h
|
||||
all : pngtest.exe libpng.olb
|
||||
@ write sys$output " pngtest available"
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by MMS */" > pngdefs.h
|
||||
|
||||
libpng.olb : libpng.olb($(OBJS))
|
||||
@ write sys$output " Libpng available"
|
||||
|
||||
@@ -32,23 +29,24 @@ test : pngtest.exe
|
||||
run pngtest
|
||||
|
||||
clean :
|
||||
delete *.obj;*,*.exe;*,pngdefs.h
|
||||
delete *.obj;*,*.exe;*
|
||||
|
||||
|
||||
# Other dependencies.
|
||||
png.obj : png.h, pngconf.h, pngdefs.h, pngpriv.h
|
||||
pngpread.obj : png.h, pngconf.h, pngdefs.h, pngpriv.h
|
||||
pngset.obj : png.h, pngconf.h, pngdefs.h, pngpriv.h
|
||||
pngget.obj : png.h, pngconf.h, pngdefs.h, pngpriv.h
|
||||
pngread.obj : png.h, pngconf.h, pngdefs.h, pngpriv.h
|
||||
pngrtran.obj : png.h, pngconf.h, pngdefs.h, pngpriv.h
|
||||
pngrutil.obj : png.h, pngconf.h, pngdefs.h, pngpriv.h
|
||||
pngerror.obj : png.h, pngconf.h, pngdefs.h, pngpriv.h
|
||||
pngmem.obj : png.h, pngconf.h, pngdefs.h, pngpriv.h
|
||||
pngrio.obj : png.h, pngconf.h, pngdefs.h, pngpriv.h
|
||||
pngwio.obj : png.h, pngconf.h, pngdefs.h, pngpriv.h
|
||||
pngtrans.obj : png.h, pngconf.h, pngdefs.h, pngpriv.h
|
||||
pngwrite.obj : png.h, pngconf.h, pngdefs.h, pngpriv.h
|
||||
pngwtran.obj : png.h, pngconf.h, pngdefs.h, pngpriv.h
|
||||
pngwutil.obj : png.h, pngconf.h, pngdefs.h, pngpriv.h
|
||||
pngtest.obj : png.h, pngconf.h, pngdefs.h
|
||||
png.obj : png.h, pngconf.h
|
||||
pngpread.obj : png.h, pngconf.h
|
||||
pngset.obj : png.h, pngconf.h
|
||||
pngget.obj : png.h, pngconf.h
|
||||
pngread.obj : png.h, pngconf.h
|
||||
pngrtran.obj : png.h, pngconf.h
|
||||
pngrutil.obj : png.h, pngconf.h
|
||||
pngerror.obj : png.h, pngconf.h
|
||||
pngmem.obj : png.h, pngconf.h
|
||||
pngrio.obj : png.h, pngconf.h
|
||||
pngwio.obj : png.h, pngconf.h
|
||||
pngtest.obj : png.h, pngconf.h
|
||||
pngtrans.obj : png.h, pngconf.h
|
||||
pngwrite.obj : png.h, pngconf.h
|
||||
pngwtran.obj : png.h, pngconf.h
|
||||
pngwutil.obj : png.h, pngconf.h
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
# Modeled after libxml-config.
|
||||
|
||||
version=1.4.0beta37
|
||||
version=1.2.32beta01
|
||||
prefix=""
|
||||
libdir=""
|
||||
libs=""
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
prefix=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
libdir=@libdir@
|
||||
includedir=@includedir@/libpng14
|
||||
includedir=@includedir@/libpng12
|
||||
|
||||
Name: libpng
|
||||
Description: Loads and saves PNG files
|
||||
Version: 1.4.0beta37
|
||||
Libs: -L${libdir} -lpng14
|
||||
Version: 1.2.32beta01
|
||||
Libs: -L${libdir} -lpng12
|
||||
Cflags: -I${includedir}
|
||||
|
||||
@@ -6,9 +6,9 @@
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
|
||||
# Library name:
|
||||
LIBNAME=libpng14
|
||||
PNGMAJ = 14
|
||||
PNGMIN = 1.4.0beta37
|
||||
LIBNAME=libpng12
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.32beta01
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
# Shared library names:
|
||||
@@ -16,6 +16,8 @@ LIBSO=$(LIBNAME).so
|
||||
LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
|
||||
LIBSOVER=$(LIBNAME).so.$(PNGVER)
|
||||
OLDSO=libpng.so
|
||||
OLDSOMAJ=libpng.so.3
|
||||
OLDSOVER=libpng.so.3.$(PNGMIN)
|
||||
|
||||
# Utilities:
|
||||
CC=cc
|
||||
@@ -28,7 +30,7 @@ RM_F=/bin/rm -f
|
||||
SUN_CC_FLAGS=-fast -xtarget=ultra
|
||||
SUN_LD_FLAGS=-fast -xtarget=ultra
|
||||
|
||||
# where make install puts libpng.a, libpng14.so and libpng14/png.h
|
||||
# where make install puts libpng.a, libpng12.so and libpng12/png.h
|
||||
prefix=/a
|
||||
exec_prefix=$(prefix)
|
||||
|
||||
@@ -79,17 +81,18 @@ OBJSDLL = $(OBJS:.o=.pic.o)
|
||||
.c.pic.o:
|
||||
$(CC) -c $(CFLAGS) -KPIC -o $@ $*.c
|
||||
|
||||
all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.32sunu */" > pngdefs.h
|
||||
all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
$(AR_RC) $@ $(OBJS)
|
||||
$(RANLIB) $@
|
||||
|
||||
libpng.pc:
|
||||
cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
|
||||
cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
|
||||
-e s!@exec_prefix@!$(exec_prefix)! \
|
||||
-e s!@libdir@!$(LIBPATH)! \
|
||||
-e s!@includedir@!$(INCPATH)! \
|
||||
-e s!-lpng12!-lpng12\ -lz\ -lm! > libpng.pc
|
||||
|
||||
libpng-config:
|
||||
( cat scripts/libpng-config-head.in; \
|
||||
@@ -100,7 +103,7 @@ libpng-config:
|
||||
echo R_opts=\"-R$(LIBPATH)\"; \
|
||||
echo ccopts=\"-xtarget=ultra\"; \
|
||||
echo ldopts=\"-xtarget=ultra\"; \
|
||||
echo libs=\"-lpng14 -lz -lm\"; \
|
||||
echo libs=\"-lpng12 -lz -lm\"; \
|
||||
cat scripts/libpng-config-body.in ) > libpng-config
|
||||
chmod +x libpng-config
|
||||
|
||||
@@ -126,19 +129,22 @@ $(LIBSOVER): $(OBJSDLL)
|
||||
$(LD) -G -L$(ZLIBLIB) -R$(ZLIBLIB) -h $(LIBSOMAJ) \
|
||||
-o $(LIBSOVER) $(OBJSDLL)
|
||||
|
||||
$(OLDSOVER): $(OBJSDLL)
|
||||
$(LD) -G -L$(ZLIBLIB) -R$(ZLIBLIB) -h $(OLDSOMAJ) \
|
||||
-o $(OLDSOVER) $(OBJSDLL)
|
||||
|
||||
pngtest: pngtest.o $(LIBSO)
|
||||
$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
|
||||
|
||||
test: pngtest
|
||||
./pngtest
|
||||
|
||||
install-headers: png.h pngconf.h pngdefs.h
|
||||
install-headers: png.h pngconf.h
|
||||
-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h pngdefs.h $(DI)/$(LIBNAME)
|
||||
cp png.h pngconf.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
|
||||
chmod 644 $(DI)/$(LIBNAME)/pngdefs.h
|
||||
-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pngdefs.h
|
||||
-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h
|
||||
-@$(RM_F) $(DI)/libpng
|
||||
(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
|
||||
|
||||
@@ -149,18 +155,24 @@ install-static: install-headers libpng.a
|
||||
-@$(RM_F) $(DL)/libpng.a
|
||||
(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers $(LIBSOVER) libpng.pc
|
||||
install-shared: install-headers $(LIBSOVER) libpng.pc \
|
||||
$(OLDSOVER)
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(LIBSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(OLDSO)
|
||||
-@$(RM_F) $(DL)/$(OLDSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(OLDSOMAJ).$(PNGVER)*
|
||||
cp $(LIBSOVER) $(DL)
|
||||
cp $(OLDSOVER) $(DL)
|
||||
chmod 755 $(DL)/$(LIBSOVER)
|
||||
chmod 755 $(DL)/$(OLDSOVER)
|
||||
(cd $(DL); \
|
||||
$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
|
||||
$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
|
||||
$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO); \
|
||||
$(LN_SF) $(OLDSO) $(LIBSO))
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO))
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
|
||||
-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@$(RM_F) $(DL)/pkgconfig/libpng.pc
|
||||
@@ -214,7 +226,8 @@ test-installed:
|
||||
clean:
|
||||
$(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
|
||||
libpng-config $(LIBSO) $(LIBSOMAJ)* \
|
||||
libpng.pc pngdefs.h
|
||||
$(OLDSOVER) \
|
||||
libpng.pc
|
||||
|
||||
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
|
||||
writelock:
|
||||
@@ -222,20 +235,20 @@ writelock:
|
||||
|
||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||
|
||||
png.o png.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngerror.o pngerror.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrio.o pngrio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwio.o pngwio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngmem.o pngmem.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngset.o pngset.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngget.o pngget.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngread.o pngread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrtran.o pngrtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrutil.o pngrutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtrans.o pngtrans.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwrite.o pngwrite.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwtran.o pngwtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwutil.o pngwutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngpread.o pngpread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
png.o png.pic.o: png.h pngconf.h
|
||||
pngerror.o pngerror.pic.o: png.h pngconf.h
|
||||
pngrio.o pngrio.pic.o: png.h pngconf.h
|
||||
pngwio.o pngwio.pic.o: png.h pngconf.h
|
||||
pngmem.o pngmem.pic.o: png.h pngconf.h
|
||||
pngset.o pngset.pic.o: png.h pngconf.h
|
||||
pngget.o pngget.pic.o: png.h pngconf.h
|
||||
pngread.o pngread.pic.o: png.h pngconf.h
|
||||
pngrtran.o pngrtran.pic.o: png.h pngconf.h
|
||||
pngrutil.o pngrutil.pic.o: png.h pngconf.h
|
||||
pngtrans.o pngtrans.pic.o: png.h pngconf.h
|
||||
pngwrite.o pngwrite.pic.o: png.h pngconf.h
|
||||
pngwtran.o pngwtran.pic.o: png.h pngconf.h
|
||||
pngwutil.o pngwutil.pic.o: png.h pngconf.h
|
||||
pngpread.o pngpread.pic.o: png.h pngconf.h
|
||||
|
||||
pngtest.o: png.h pngconf.h pngdefs.h
|
||||
pngtest.o: png.h pngconf.h
|
||||
|
||||
@@ -6,9 +6,9 @@
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
|
||||
# Library name:
|
||||
LIBNAME=libpng14
|
||||
PNGMAJ = 14
|
||||
PNGMIN = 1.4.0beta37
|
||||
LIBNAME=libpng12
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.32beta01
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
# Shared library names:
|
||||
@@ -16,6 +16,8 @@ LIBSO=$(LIBNAME).so
|
||||
LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
|
||||
LIBSOVER=$(LIBNAME).so.$(PNGVER)
|
||||
OLDSO=libpng.so
|
||||
OLDSOMAJ=libpng.so.3
|
||||
OLDSOVER=libpng.so.3.$(PNGMIN)
|
||||
|
||||
# Utilities:
|
||||
CC=cc
|
||||
@@ -28,7 +30,7 @@ RM_F=/bin/rm -f
|
||||
SUN_CC_FLAGS=-fast -xtarget=ultra -xarch=v9
|
||||
SUN_LD_FLAGS=-fast -xtarget=ultra -xarch=v9
|
||||
|
||||
# where make install puts libpng.a, libpng14.so and libpng14/png.h
|
||||
# where make install puts libpng.a, libpng12.so and libpng12/png.h
|
||||
prefix=/a
|
||||
exec_prefix=$(prefix)
|
||||
|
||||
@@ -46,7 +48,7 @@ WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
|
||||
-Wstrict-prototypes -Wmissing-prototypes #-Wconversion
|
||||
CFLAGS=-I$(ZLIBINC) $(SUN_CC_FLAGS) \
|
||||
# $(WARNMORE) -g -DPNG_DEBUG=5
|
||||
LDFLAGS=-L. -R. $(SUN_LD_FLAGS) -L$(ZLIBLIB) -R$(ZLIBLIB) -lpng14 -lz -lm
|
||||
LDFLAGS=-L. -R. $(SUN_LD_FLAGS) -L$(ZLIBLIB) -R$(ZLIBLIB) -lpng12 -lz -lm
|
||||
|
||||
INCPATH=$(prefix)/include
|
||||
LIBPATH=$(exec_prefix)/lib
|
||||
@@ -79,17 +81,18 @@ OBJSDLL = $(OBJS:.o=.pic.o)
|
||||
.c.pic.o:
|
||||
$(CC) -c $(CFLAGS) -KPIC -o $@ $*.c
|
||||
|
||||
all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.64sunu */" > pngdefs.h
|
||||
all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
$(AR_RC) $@ $(OBJS)
|
||||
$(RANLIB) $@
|
||||
|
||||
libpng.pc:
|
||||
cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
|
||||
cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
|
||||
-e s!@exec_prefix@!$(exec_prefix)! \
|
||||
-e s!@libdir@!$(LIBPATH)! \
|
||||
-e s!@includedir@!$(INCPATH)! \
|
||||
-e s!-lpng12!-lpng12\ -lz\ -lm! > libpng.pc
|
||||
|
||||
libpng-config:
|
||||
( cat scripts/libpng-config-head.in; \
|
||||
@@ -100,7 +103,7 @@ libpng-config:
|
||||
echo R_opts=\"-R$(LIBPATH)\"; \
|
||||
echo ccopts=\"-xtarget=ultra -xarch=v9\"; \
|
||||
echo ldopts=\"-xtarget=ultra -xarch=v9\"; \
|
||||
echo libs=\"-lpng14 -lz -lm\"; \
|
||||
echo libs=\"-lpng12 -lz -lm\"; \
|
||||
cat scripts/libpng-config-body.in ) > libpng-config
|
||||
chmod +x libpng-config
|
||||
|
||||
@@ -126,19 +129,22 @@ $(LIBSOVER): $(OBJSDLL)
|
||||
$(LD) -G -L$(ZLIBLIB) -R$(ZLIBLIB) -h $(LIBSOMAJ) \
|
||||
-o $(LIBSOVER) $(OBJSDLL)
|
||||
|
||||
$(OLDSOVER): $(OBJSDLL)
|
||||
$(LD) -G -L$(ZLIBLIB) -R$(ZLIBLIB) -h $(OLDSOMAJ) \
|
||||
-o $(OLDSOVER) $(OBJSDLL)
|
||||
|
||||
pngtest: pngtest.o $(LIBSO)
|
||||
$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
|
||||
|
||||
test: pngtest
|
||||
./pngtest
|
||||
|
||||
install-headers: png.h pngconf.h pngdefs.h
|
||||
install-headers: png.h pngconf.h
|
||||
-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h pngdefs.h $(DI)/$(LIBNAME)
|
||||
cp png.h pngconf.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
|
||||
chmod 644 $(DI)/$(LIBNAME)/pngdefs.h
|
||||
-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pngdefs.h
|
||||
-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h
|
||||
-@$(RM_F) $(DI)/libpng
|
||||
(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
|
||||
|
||||
@@ -149,18 +155,24 @@ install-static: install-headers libpng.a
|
||||
-@$(RM_F) $(DL)/libpng.a
|
||||
(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers $(LIBSOVER) libpng.pc
|
||||
install-shared: install-headers $(LIBSOVER) libpng.pc \
|
||||
$(OLDSOVER)
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(LIBSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(OLDSO)
|
||||
-@$(RM_F) $(DL)/$(OLDSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(OLDSOMAJ).$(PNGVER)*
|
||||
cp $(LIBSOVER) $(DL)
|
||||
cp $(OLDSOVER) $(DL)
|
||||
chmod 755 $(DL)/$(LIBSOVER)
|
||||
chmod 755 $(DL)/$(OLDSOVER)
|
||||
(cd $(DL); \
|
||||
$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
|
||||
$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
|
||||
$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO); \
|
||||
$(LN_SF) $(OLDSO) $(LIBSO))
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO))
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
|
||||
-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@$(RM_F) $(DL)/pkgconfig/libpng.pc
|
||||
@@ -214,7 +226,8 @@ test-installed:
|
||||
clean:
|
||||
$(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
|
||||
libpng-config $(LIBSO) $(LIBSOMAJ)* \
|
||||
libpng.pc pngdefs.h
|
||||
$(OLDSOVER) \
|
||||
libpng.pc
|
||||
|
||||
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
|
||||
writelock:
|
||||
@@ -222,20 +235,20 @@ writelock:
|
||||
|
||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||
|
||||
png.o png.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngerror.o pngerror.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrio.o pngrio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwio.o pngwio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngmem.o pngmem.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngset.o pngset.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngget.o pngget.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngread.o pngread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrtran.o pngrtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrutil.o pngrutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtrans.o pngtrans.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwrite.o pngwrite.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwtran.o pngwtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwutil.o pngwutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngpread.o pngpread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
png.o png.pic.o: png.h pngconf.h
|
||||
pngerror.o pngerror.pic.o: png.h pngconf.h
|
||||
pngrio.o pngrio.pic.o: png.h pngconf.h
|
||||
pngwio.o pngwio.pic.o: png.h pngconf.h
|
||||
pngmem.o pngmem.pic.o: png.h pngconf.h
|
||||
pngset.o pngset.pic.o: png.h pngconf.h
|
||||
pngget.o pngget.pic.o: png.h pngconf.h
|
||||
pngread.o pngread.pic.o: png.h pngconf.h
|
||||
pngrtran.o pngrtran.pic.o: png.h pngconf.h
|
||||
pngrutil.o pngrutil.pic.o: png.h pngconf.h
|
||||
pngtrans.o pngtrans.pic.o: png.h pngconf.h
|
||||
pngwrite.o pngwrite.pic.o: png.h pngconf.h
|
||||
pngwtran.o pngwtran.pic.o: png.h pngconf.h
|
||||
pngwutil.o pngwutil.pic.o: png.h pngconf.h
|
||||
pngpread.o pngpread.pic.o: png.h pngconf.h
|
||||
|
||||
pngtest.o: png.h pngconf.h pngdefs.h
|
||||
pngtest.o: png.h pngconf.h
|
||||
|
||||
@@ -10,6 +10,7 @@ CMHGflags =
|
||||
LibFileflags = -c -l -o $@
|
||||
Squeezeflags = -o $@
|
||||
|
||||
|
||||
# Final targets:
|
||||
@.libpng-lib: @.o.png @.o.pngerror @.o.pngrio @.o.pngwio @.o.pngmem \
|
||||
@.o.pngpread @.o.pngset @.o.pngget @.o.pngread @.o.pngrtran \
|
||||
@@ -36,11 +37,6 @@ Test: @.pngtest
|
||||
@.pngtest: @.o.pngtest @.libpng-lib C:o.Stubs Zlib:zlib_lib
|
||||
Link $(Linkflags) @.o.pngtest @.libpng-lib C:o.Stubs Zlib:zlib_lib
|
||||
|
||||
all: pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.acorn */" > pngdefs.h
|
||||
|
||||
.SUFFIXES: .o .mm .c
|
||||
|
||||
.c.mm:
|
||||
@@ -51,4 +47,5 @@ pngdefs.h:
|
||||
|
||||
# Static dependencies:
|
||||
|
||||
|
||||
# Dynamic dependencies:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# makefile for libpng using gcc (generic, static library)
|
||||
# Copyright (C) 2002, 2006 Glenn Randers-Pehrson
|
||||
# Copyright (C) 2002, 2006, 2008 Glenn Randers-Pehrson
|
||||
# Copyright (C) 2000 Cosmin Truta
|
||||
# Copyright (C) 2000 Marc O. Gloor (AIX support added, from makefile.gcc)
|
||||
# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
|
||||
@@ -18,9 +18,9 @@ RANLIB = ranlib
|
||||
RM_F = rm -f
|
||||
LN_SF = ln -f -s
|
||||
|
||||
LIBNAME=libpng14
|
||||
PNGMAJ = 14
|
||||
PNGMIN = 1.4.0beta37
|
||||
LIBNAME=libpng12
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.32beta01
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
prefix=/usr/local
|
||||
@@ -46,7 +46,7 @@ CRELEASE = -O2
|
||||
LDRELEASE = -s
|
||||
WARNMORE=-W -Wall
|
||||
CFLAGS = -I$(ZLIBINC) $(WARNMORE) $(CRELEASE)
|
||||
LDFLAGS = -L. -L$(ZLIBLIB) -lpng14 -lz -lm $(LDRELEASE)
|
||||
LDFLAGS = -L. -L$(ZLIBLIB) -lpng12 -lz -lm $(LDRELEASE)
|
||||
|
||||
# File extensions
|
||||
O=.o
|
||||
@@ -56,14 +56,10 @@ E=
|
||||
# Variables
|
||||
OBJS = png$(O) pngerror$(O) pngget$(O) pngmem$(O) pngpread$(O) \
|
||||
pngread$(O) pngrio$(O) pngrtran$(O) pngrutil$(O) pngset$(O) \
|
||||
pngtrans$(O) pngwio$(O) pngwrite$(O) pngwtran$(O) pngwutil$(O) \
|
||||
pnggccrd$(O)
|
||||
pngtrans$(O) pngwio$(O) pngwrite$(O) pngwtran$(O) pngwutil$(O)
|
||||
|
||||
# Targets
|
||||
all: $(LIBNAME)$(A) pngtest$(E) pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.aix */" > pngdefs.h
|
||||
all: $(LIBNAME)$(A) pngtest$(E)
|
||||
|
||||
$(LIBNAME)$(A): $(OBJS)
|
||||
$(AR_RC) $@ $(OBJS)
|
||||
@@ -98,21 +94,20 @@ install: $(LIBNAME)$(A)
|
||||
clean:
|
||||
$(RM_F) *.o $(LIBNAME)$(A) pngtest pngout.png
|
||||
|
||||
png$(O): png.h pngconf.h pngpriv.h
|
||||
pngerror$(O): png.h pngconf.h pngpriv.h
|
||||
pnggccrd$(O): png.h pngconf.h pngpriv.h
|
||||
pngget$(O): png.h pngconf.h pngpriv.h
|
||||
pngmem$(O): png.h pngconf.h pngpriv.h
|
||||
pngpread$(O): png.h pngconf.h pngpriv.h
|
||||
pngread$(O): png.h pngconf.h pngpriv.h
|
||||
pngrio$(O): png.h pngconf.h pngpriv.h
|
||||
pngrtran$(O): png.h pngconf.h pngpriv.h
|
||||
pngrutil$(O): png.h pngconf.h pngpriv.h
|
||||
pngset$(O): png.h pngconf.h pngpriv.h
|
||||
pngtest$(O): png.h pngconf.h pngpriv.h
|
||||
pngtrans$(O): png.h pngconf.h pngpriv.h
|
||||
pngwio$(O): png.h pngconf.h pngpriv.h
|
||||
pngwrite$(O): png.h pngconf.h pngpriv.h
|
||||
pngwtran$(O): png.h pngconf.h pngpriv.h
|
||||
pngwutil$(O): png.h pngconf.h pngpriv.h
|
||||
pngtest$(O): png.h pngconf.h
|
||||
png$(O): png.h pngconf.h
|
||||
pngerror$(O): png.h pngconf.h
|
||||
pngget$(O): png.h pngconf.h
|
||||
pngmem$(O): png.h pngconf.h
|
||||
pngpread$(O): png.h pngconf.h
|
||||
pngread$(O): png.h pngconf.h
|
||||
pngrio$(O): png.h pngconf.h
|
||||
pngrtran$(O): png.h pngconf.h
|
||||
pngrutil$(O): png.h pngconf.h
|
||||
pngset$(O): png.h pngconf.h
|
||||
pngtest$(O): png.h pngconf.h
|
||||
pngtrans$(O): png.h pngconf.h
|
||||
pngwio$(O): png.h pngconf.h
|
||||
pngwrite$(O): png.h pngconf.h
|
||||
pngwtran$(O): png.h pngconf.h
|
||||
pngwutil$(O): png.h pngconf.h
|
||||
|
||||
|
||||
@@ -32,10 +32,7 @@ OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
|
||||
pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
|
||||
pngwtran.o pngmem.o pngerror.o pngpread.o
|
||||
|
||||
all: libpng.lib pngtest pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.amiga */" > pngdefs.h
|
||||
all: libpng.lib pngtest
|
||||
|
||||
libpng.lib: $(OBJS)
|
||||
-$(RM) libpng.lib
|
||||
|
||||
@@ -30,10 +30,7 @@ OBJS = $(LBR)(png.o) $(LBR)(pngset.o) $(LBR)(pngget.o) $(LBR)(pngrutil.o)\
|
||||
$(LBR)(pngrtran.o) $(LBR)(pngwtran.o)\
|
||||
$(LBR)(pngmem.o) $(LBR)(pngrio.o) $(LBR)(pngwio.o) $(LBR)(pngpread.o)
|
||||
|
||||
all: $(LBR) pngtest.ttp pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.atari */" > pngdefs.h
|
||||
all: $(LBR) pngtest.ttp
|
||||
|
||||
$(LBR): $(OBJS)
|
||||
|
||||
@@ -46,12 +43,9 @@ install: libpng.a
|
||||
-@mkdir $(DESTDIR)$(LIBPATH)
|
||||
-@rm -f $(DESTDIR)$(INCPATH)/png.h
|
||||
-@rm -f $(DESTDIR)$(INCPATH)/pngconf.h
|
||||
-@rm -f $(DESTDIR)$(INCPATH)/pngdefs.h
|
||||
cp png.h $(DESTDIR)$(INCPATH)/libpng
|
||||
cp pngconf.h $(DESTDIR)$(INCPATH)/libpng
|
||||
cp pngdefs.h $(DESTDIR)$(INCPATH)/libpng
|
||||
chmod 644 $(DESTDIR)$(INCPATH)/libpng/png.h
|
||||
chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngconf.h
|
||||
chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngdefs.h
|
||||
(cd $(DESTDIR)$(INCPATH); ln -f -s $(LIBNAME) libpng; \
|
||||
ln -f -s $(LIBNAME)/* .)
|
||||
|
||||
@@ -100,11 +100,9 @@ LIBNAME=libpng.lib
|
||||
.obj.exe:
|
||||
$(LD) $(LDFLAGS) $*.obj $(LIBNAME) zlib.lib $(NOEHLIB)
|
||||
|
||||
## Major targets
|
||||
all: libpng pngtest pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.bc32 */" > pngdefs.h
|
||||
## Major targets
|
||||
all: libpng pngtest
|
||||
|
||||
libpng: $(LIBNAME)
|
||||
|
||||
@@ -113,23 +111,24 @@ pngtest: pngtest.exe
|
||||
test: pngtest.exe
|
||||
pngtest
|
||||
|
||||
|
||||
## Minor Targets
|
||||
|
||||
png.obj: png.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngerror.obj: pngerror.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngget.obj: pngget.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngmem.obj: pngmem.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngpread.obj: pngpread.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngread.obj: pngread.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrio.obj: pngrio.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrtran.obj: pngrtran.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrutil.obj: pngrutil.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngset.obj: pngset.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtrans.obj: pngtrans.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwio.obj: pngwio.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwrite.obj: pngwrite.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwtran.obj: pngwtran.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwutil.obj: pngwutil.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
png.obj: png.c
|
||||
pngerror.obj: pngerror.c
|
||||
pngget.obj: pngget.c
|
||||
pngmem.obj: pngmem.c
|
||||
pngpread.obj: pngpread.c
|
||||
pngread.obj: pngread.c
|
||||
pngrio.obj: pngrio.c
|
||||
pngrtran.obj: pngrtran.c
|
||||
pngrutil.obj: pngrutil.c
|
||||
pngset.obj: pngset.c
|
||||
pngtrans.obj: pngtrans.c
|
||||
pngwio.obj: pngwio.c
|
||||
pngwrite.obj: pngwrite.c
|
||||
pngwtran.obj: pngwtran.c
|
||||
pngwutil.obj: pngwutil.c
|
||||
|
||||
|
||||
$(LIBNAME): $(OBJS)
|
||||
@@ -148,7 +147,6 @@ clean:
|
||||
-del *.map
|
||||
-del *.tds
|
||||
-del pngout.png
|
||||
-del pngdefs.h
|
||||
|
||||
|
||||
# End of makefile for libpng
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
# makefile for libpng on BeOS x86 ELF with gcc
|
||||
# modified from makefile.linux by Sander Stoks
|
||||
# Copyright (C) 2002, 2006 Glenn Randers-Pehrson
|
||||
# Copyright (C) 2002, 2006, 2008 Glenn Randers-Pehrson
|
||||
# Copyright (C) 1999 Greg Roelofs
|
||||
# Copyright (C) 1996, 1997 Andreas Dilger
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
|
||||
# Library name:
|
||||
LIBNAME=libpng14
|
||||
PNGMAJ = 14
|
||||
PNGMIN = 1.4.0beta37
|
||||
LIBNAME=libpng12
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.32beta01
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
# Shared library names:
|
||||
@@ -16,6 +16,8 @@ LIBSO=$(LIBNAME).so
|
||||
LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
|
||||
LIBSOVER=$(LIBNAME).so.$(PNGVER)
|
||||
OLDSO=libpng.so
|
||||
OLDSOMAJ=libpng.so.3
|
||||
OLDSOVER=libpng.so.3.$(PNGMIN)
|
||||
|
||||
# Utilities:
|
||||
CC=gcc
|
||||
@@ -44,7 +46,7 @@ CFLAGS=-I$(ZLIBINC) -W -Wall -O1 -funroll-loops \
|
||||
# LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng -lz
|
||||
LDFLAGS=-L. -Wl,-soname=$(LIBSOMAJ) -L$(ZLIBLIB) -lz
|
||||
|
||||
# where make install puts libpng.a, libpng14.so*, and png.h
|
||||
# where make install puts libpng.a, libpng12.so*, and png.h
|
||||
prefix=/usr/local
|
||||
exec_prefix=$(prefix)
|
||||
INCPATH=$(prefix)/include
|
||||
@@ -75,23 +77,24 @@ OBJSDLL = $(OBJS)
|
||||
|
||||
.SUFFIXES: .c .o
|
||||
|
||||
all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.beos */" > pngdefs.h
|
||||
all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
$(AR_RC) $@ $(OBJS)
|
||||
$(RANLIB) $@
|
||||
|
||||
libpng.pc:
|
||||
cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
|
||||
cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
|
||||
-e s!@exec_prefix@!$(exec_prefix)! \
|
||||
-e s!@libdir@!$(LIBPATH)! \
|
||||
-e s!@includedir@!$(INCPATH)! \
|
||||
-e s!-lpng12!-lpng12\ -lz\ -lm! > libpng.pc
|
||||
|
||||
libpng-config:
|
||||
( cat scripts/libpng-config-head.in; \
|
||||
echo prefix=\"$(prefix)\"; \
|
||||
echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
|
||||
echo libs=\"-lpng14 -lz \"; \
|
||||
echo libs=\"-lpng12 -lz \"; \
|
||||
cat scripts/libpng-config-body.in ) > libpng-config
|
||||
chmod +x libpng-config
|
||||
|
||||
@@ -106,19 +109,22 @@ $(LIBSOVER): $(OBJSDLL)
|
||||
$(CC) -nostart -Wl,-soname,$(LIBSOMAJ) -o \
|
||||
$(LIBSOVER) $(OBJSDLL) $(LDFLAGS)
|
||||
|
||||
$(OLDSOVER): $(OBJSDLL)
|
||||
$(CC) -nostart -Wl,-soname,$(OLDSOMAJ) -o \
|
||||
$(OLDSOVER) $(OBJSDLL) $(LDFLAGS)
|
||||
|
||||
pngtest: pngtest.o $(LIBSO)
|
||||
$(CC) -L$(ZLIBLIB) -L. -lz -lpng14 -o pngtest pngtest.o
|
||||
$(CC) -L$(ZLIBLIB) -L. -lz -lpng12 -o pngtest pngtest.o
|
||||
|
||||
test: pngtest
|
||||
./pngtest
|
||||
|
||||
install-headers: png.h pngconf.h pngdefs.h
|
||||
install-headers: png.h pngconf.h
|
||||
-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h pngdefs.h $(DI)/$(LIBNAME)
|
||||
cp png.h pngconf.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
|
||||
chmod 644 $(DI)/$(LIBNAME)/pngdefs.h
|
||||
-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pngdefs.h
|
||||
-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h
|
||||
-@$(RM_F) $(DI)/libpng
|
||||
(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
|
||||
|
||||
@@ -129,17 +135,23 @@ install-static: install-headers libpng.a
|
||||
-@$(RM_F) $(DL)/libpng.a
|
||||
(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers $(LIBSOVER) libpng.pc
|
||||
install-shared: install-headers $(LIBSOVER) libpng.pc \
|
||||
$(OLDSOVER)
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(LIBSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(OLDSO)
|
||||
-@$(RM_F) $(DL)/$(OLDSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(OLDSOVER)*
|
||||
cp $(LIBSOVER) $(DL)
|
||||
cp $(OLDSOVER) $(DL)
|
||||
chmod 755 $(DL)/$(LIBSOVER)
|
||||
chmod 755 $(DL)/$(OLDSOVER)
|
||||
(cd $(DL); \
|
||||
$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
|
||||
$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
|
||||
$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO); \
|
||||
$(LN_SF) $(OLDSO) $(LIBSO))
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO))
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
|
||||
-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@$(RM_F) $(DL)/pkgconfig/libpng.pc
|
||||
@@ -191,23 +203,24 @@ test-installed:
|
||||
clean:
|
||||
$(RM_F) *.o libpng.a pngtest pngout.png libpng-config \
|
||||
$(LIBSO) $(LIBSOMAJ)* pngtesti \
|
||||
libpng.pc pngdefs.h
|
||||
$(OLDSOVER) \
|
||||
libpng.pc
|
||||
|
||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||
|
||||
png.o png.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngerror.o pngerror.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrio.o pngrio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwio.o pngwio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngmem.o pngmem.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngset.o pngset.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngget.o pngget.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngread.o pngread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrtran.o pngrtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrutil.o pngrutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtrans.o pngtrans.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwrite.o pngwrite.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwtran.o pngwtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwutil.o pngwutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngpread.o pngpread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtest.o: png.h pngconf.h pngdefs.h
|
||||
png.o png.pic.o: png.h pngconf.h
|
||||
pngerror.o pngerror.pic.o: png.h pngconf.h
|
||||
pngrio.o pngrio.pic.o: png.h pngconf.h
|
||||
pngwio.o pngwio.pic.o: png.h pngconf.h
|
||||
pngmem.o pngmem.pic.o: png.h pngconf.h
|
||||
pngset.o pngset.pic.o: png.h pngconf.h
|
||||
pngget.o pngget.pic.o: png.h pngconf.h
|
||||
pngread.o pngread.pic.o: png.h pngconf.h
|
||||
pngrtran.o pngrtran.pic.o: png.h pngconf.h
|
||||
pngrutil.o pngrutil.pic.o: png.h pngconf.h
|
||||
pngtrans.o pngtrans.pic.o: png.h pngconf.h
|
||||
pngwrite.o pngwrite.pic.o: png.h pngconf.h
|
||||
pngwtran.o pngwtran.pic.o: png.h pngconf.h
|
||||
pngwutil.o pngwutil.pic.o: png.h pngconf.h
|
||||
pngpread.o pngpread.pic.o: png.h pngconf.h
|
||||
pngtest.o: png.h pngconf.h
|
||||
|
||||
@@ -107,10 +107,7 @@ LIBNAME=libpng$(MODEL).lib
|
||||
|
||||
|
||||
## Major targets
|
||||
all: libpng pngtest pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.bor */" > pngdefs.h
|
||||
all: libpng pngtest
|
||||
|
||||
libpng: $(LIBNAME)
|
||||
|
||||
@@ -122,21 +119,22 @@ test: pngtest$(MODEL).exe
|
||||
|
||||
## Minor Targets
|
||||
|
||||
png.obj: png.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngerror.obj: pngerror.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngget.obj: pngget.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngmem.obj: pngmem.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngpread.obj: pngpread.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngread.obj: pngread.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrio.obj: pngrio.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrtran.obj: pngrtran.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrutil.obj: pngrutil.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngset.obj: pngset.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtrans.obj: pngtrans.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwio.obj: pngwio.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwrite.obj: pngwrite.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwtran.obj: pngwtran.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwutil.obj: pngwutil.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
png.obj: png.c
|
||||
pngerror.obj: pngerror.c
|
||||
pngget.obj: pngget.c
|
||||
pngmem.obj: pngmem.c
|
||||
pngpread.obj: pngpread.c
|
||||
pngread.obj: pngread.c
|
||||
pngrio.obj: pngrio.c
|
||||
pngrtran.obj: pngrtran.c
|
||||
pngrutil.obj: pngrutil.c
|
||||
pngset.obj: pngset.c
|
||||
pngtrans.obj: pngtrans.c
|
||||
pngwio.obj: pngwio.c
|
||||
pngwrite.obj: pngwrite.c
|
||||
pngwtran.obj: pngwtran.c
|
||||
pngwutil.obj: pngwutil.c
|
||||
|
||||
|
||||
$(LIBNAME): $(OBJS)
|
||||
-del $(LIBNAME)
|
||||
@@ -159,7 +157,6 @@ clean:
|
||||
-del *.lib
|
||||
-del *.lst
|
||||
-del *.map
|
||||
-del pngdefs.h
|
||||
|
||||
|
||||
# End of makefile for libpng
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# of the library, and builds two copies of pngtest: one
|
||||
# statically linked and one dynamically linked.
|
||||
#
|
||||
# Copyright (C) 2002, 2006 Soren Anderson, Charles Wilson,
|
||||
# Copyright (C) 2002, 2006-2008 Soren Anderson, Charles Wilson,
|
||||
# and Glenn Randers-Pehrson, based on makefile for linux-elf w/mmx by:
|
||||
# Copyright (C) 1998-2000 Greg Roelofs
|
||||
# Copyright (C) 1996, 1997 Andreas Dilger
|
||||
@@ -58,14 +58,23 @@ WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
|
||||
-Wmissing-declarations -Wtraditional -Wcast-align \
|
||||
-Wstrict-prototypes -Wmissing-prototypes #-Wconversion
|
||||
|
||||
### if you don't need thread safety, but want the asm accel
|
||||
#CFLAGS= $(strip $(MINGW_CCFLAGS) -DPNG_THREAD_UNSAFE_OK \
|
||||
# $(addprefix -I,$(ZLIBINC)) -W -Wall -O $(ALIGN) -funroll-loops \
|
||||
# -fomit-frame-pointer) # $(WARNMORE) -g -DPNG_DEBUG=5
|
||||
### if you need thread safety and want (minimal) asm accel
|
||||
#CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \
|
||||
# -W -Wall -O $(ALIGN) -funroll-loops \
|
||||
# -fomit-frame-pointer) # $(WARNMORE) -g -DPNG_DEBUG=5
|
||||
### Normal (non-asm) compilation
|
||||
CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \
|
||||
-W -Wall -O3 $(ALIGN) -funroll-loops \
|
||||
-W -Wall -O3 $(ALIGN) -funroll-loops -DPNG_NO_MMX_CODE \
|
||||
-fomit-frame-pointer) # $(WARNMORE) -g -DPNG_DEBUG=5
|
||||
|
||||
LIBNAME = libpng14
|
||||
PNGMAJ = 14
|
||||
CYGDLL = 14
|
||||
PNGMIN = 1.4.0beta37
|
||||
LIBNAME = libpng12
|
||||
PNGMAJ = 0
|
||||
CYGDLL = 12
|
||||
PNGMIN = 1.2.32beta01
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
SHAREDLIB=cygpng$(CYGDLL).dll
|
||||
@@ -100,7 +109,7 @@ DL =$(D)$(LIBPATH)
|
||||
|
||||
OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
|
||||
pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
|
||||
pngwtran.o pngmem.o pngerror.o pngpread.o pnggccrd.o
|
||||
pngwtran.o pngmem.o pngerror.o pngpread.o
|
||||
|
||||
OBJSDLL = $(OBJS:.o=.pic.o)
|
||||
|
||||
@@ -112,11 +121,7 @@ OBJSDLL = $(OBJS:.o=.pic.o)
|
||||
%.pic.o : %.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
all: all-static all-shared libpng.pc libpng-config libpng.pc libpng-config \
|
||||
pngconf.h pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.cygwin */" > pngdefs.h
|
||||
all: all-static all-shared libpng.pc libpng-config libpng.pc libpng-config
|
||||
|
||||
# Make this to verify that "make [...] install" will do what you want.
|
||||
buildsetup-tell:
|
||||
@@ -129,8 +134,11 @@ buildsetup-tell:
|
||||
libpng.pc: scripts/libpng.pc.in
|
||||
@echo -e Making pkg-config file for this libpng installation..'\n' \
|
||||
using PREFIX=\"$(prefix)\"'\n'
|
||||
cat $(S)/scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! | \
|
||||
sed -e s/-lm// > libpng.pc
|
||||
cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
|
||||
-e s!@exec_prefix@!$(exec_prefix)! \
|
||||
-e s!@libdir@!$(LIBPATH)! \
|
||||
-e s!@includedir@!$(INCPATH)! \
|
||||
-e s!-lpng12!-lpng12\ -lz! > libpng.pc
|
||||
|
||||
libpng-config: scripts/libpng-config-head.in scripts/libpng-config-body.in
|
||||
@echo -e Making $(LIBNAME) libpng-config file for this libpng \
|
||||
@@ -148,25 +156,11 @@ shared: all-shared
|
||||
all-static: $(STATLIB) pngtest-stat$(EXE)
|
||||
all-shared: $(SHAREDLIB) pngtest$(EXE)
|
||||
|
||||
pnggccrd.o: pnggccrd.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
@echo ""
|
||||
@echo ' You can ignore the "control reaches end of non-void function"'
|
||||
@echo ' warning and "<variable> defined but not used" warnings:'
|
||||
@echo ""
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
pnggccrd.pic.o: pnggccrd.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
@echo ""
|
||||
@echo ' You can ignore the "control reaches end of non-void function"'
|
||||
@echo ' warning and "<variable> defined but not used" warnings:'
|
||||
@echo ""
|
||||
$(CC) -c $(CFLAGS) -DPNG_BUILD_DLL -o $@ $<
|
||||
|
||||
$(STATLIB): $(OBJS)
|
||||
ar rc $@ $(OBJS)
|
||||
$(RANLIB) $@
|
||||
|
||||
$(SHAREDDEF): scripts/pngwin.def
|
||||
$(SHAREDDEF): scripts/pngw32.def
|
||||
cat $< | sed -e '1{G;s/^\(.*\)\(\n\)/EXPORTS/;};2,/^EXPORTS/d' | \
|
||||
sed -e 's/\([^;]*\);/;/' > $@
|
||||
|
||||
@@ -179,10 +173,10 @@ pngtest$(EXE): pngtest.pic.o $(SHAREDLIB)
|
||||
pngtest-stat$(EXE): pngtest.o $(STATLIB)
|
||||
$(CC) -static $(CFLAGS) $< $(LDFLAGS) -o $@
|
||||
|
||||
pngtest.pic.o: pngtest.c pngconf.h pngdefs.h
|
||||
pngtest.pic.o: pngtest.c
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
|
||||
pngtest.o: pngtest.c pngconf.h pngdefs.h
|
||||
pngtest.o: pngtest.c
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
|
||||
test: test-static test-shared
|
||||
@@ -217,8 +211,7 @@ install-headers:
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
|
||||
-@rm -f $(DI)/png.h
|
||||
-@rm -f $(DI)/pngconf.h
|
||||
-@rm -f $(DI)/pngdefs.h
|
||||
install -m 644 $(S)/png.h $(S)/pngconf.h $(S)/pngdefs.h $(DI)/$(LIBNAME)
|
||||
install -m 644 $(S)/png.h $(S)/pngconf.h $(DI)/$(LIBNAME)
|
||||
-@rm -f $(DI)/libpng
|
||||
(cd $(DI); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .)
|
||||
|
||||
@@ -258,22 +251,22 @@ test-dd:
|
||||
echo
|
||||
echo Testing installed dynamic shared library in $(DL).
|
||||
$(CC) -I$(DI) $(CFLAGS) \
|
||||
`$(BINPATH)/libpng14-config --cflags` pngtest.c \
|
||||
`$(BINPATH)/libpng12-config --cflags` pngtest.c \
|
||||
-L$(DL) -L$(ZLIBLIB) \
|
||||
-o pngtestd `$(BINPATH)/libpng14-config --ldflags`
|
||||
-o pngtestd `$(BINPATH)/libpng12-config --ldflags`
|
||||
./pngtestd pngtest.png
|
||||
|
||||
test-installed:
|
||||
$(CC) $(CFLAGS) \
|
||||
`$(BINPATH)/libpng14-config --cflags` pngtest.c \
|
||||
`$(BINPATH)/libpng12-config --cflags` pngtest.c \
|
||||
-L$(ZLIBLIB) \
|
||||
-o pngtesti$(EXE) `$(BINPATH)/libpng14-config --ldflags`
|
||||
-o pngtesti$(EXE) `$(BINPATH)/libpng12-config --ldflags`
|
||||
./pngtesti$(EXE) pngtest.png
|
||||
|
||||
clean:
|
||||
/bin/rm -f *.pic.o *.o $(STATLIB) $(IMPLIB) $(SHAREDLIB) \
|
||||
pngtest-stat$(EXE) pngtest$(EXE) pngout.png $(SHAREDDEF) \
|
||||
libpng-config libpng.pc pngtesti$(EXE) pngdefs.h
|
||||
libpng-config libpng.pc pngtesti$(EXE)
|
||||
|
||||
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
|
||||
writelock:
|
||||
@@ -283,22 +276,24 @@ writelock:
|
||||
|
||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||
|
||||
png.o png.pic.o: png.h pngconf.h pngdefs.h pngpriv.h png.c
|
||||
pngerror.o pngerror.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngerror.c
|
||||
pngrio.o pngrio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngrio.c
|
||||
pngwio.o pngwio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngwio.c
|
||||
pngmem.o pngmem.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngmem.c
|
||||
pngset.o pngset.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngset.c
|
||||
pnggccrd.o pnggccrd.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngget.c
|
||||
pngget.o pngget.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngget.c
|
||||
pngread.o pngread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngread.c
|
||||
pngrtran.o pngrtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngrtran.c
|
||||
pngrutil.o pngrutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngrutil.c
|
||||
pngtrans.o pngtrans.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngtrans.c
|
||||
pngwrite.o pngwrite.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngwrite.c
|
||||
pngwtran.o pngwtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngwtran.c
|
||||
pngwutil.o pngwutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngwutil.c
|
||||
pngpread.o pngpread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngpread.c
|
||||
png.o png.pic.o: png.h pngconf.h png.c
|
||||
pngerror.o pngerror.pic.o: png.h pngconf.h pngerror.c
|
||||
pngrio.o pngrio.pic.o: png.h pngconf.h pngrio.c
|
||||
pngwio.o pngwio.pic.o: png.h pngconf.h pngwio.c
|
||||
pngmem.o pngmem.pic.o: png.h pngconf.h pngmem.c
|
||||
pngset.o pngset.pic.o: png.h pngconf.h pngset.c
|
||||
pngget.o pngget.pic.o: png.h pngconf.h pngget.c
|
||||
pngread.o pngread.pic.o: png.h pngconf.h pngread.c
|
||||
pngrtran.o pngrtran.pic.o: png.h pngconf.h pngrtran.c
|
||||
pngrutil.o pngrutil.pic.o: png.h pngconf.h pngrutil.c
|
||||
pngtrans.o pngtrans.pic.o: png.h pngconf.h pngtrans.c
|
||||
pngwrite.o pngwrite.pic.o: png.h pngconf.h pngwrite.c
|
||||
pngwtran.o pngwtran.pic.o: png.h pngconf.h pngwtran.c
|
||||
pngwutil.o pngwutil.pic.o: png.h pngconf.h pngwutil.c
|
||||
pngpread.o pngpread.pic.o: png.h pngconf.h pngpread.c
|
||||
|
||||
pngtest.o: png.h pngconf.h pngtest.c
|
||||
pngtest-stat.o: png.h pngconf.h pngtest.c
|
||||
|
||||
|
||||
|
||||
pngtest.o: png.h pngconf.h pngdefs.h pngtest.c
|
||||
pngtest-stat.o: png.h pngconf.h pngdefs.h pngtest.c
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
# Copyright (C) 1996, 1997 Andreas Dilger
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
|
||||
# where "make install" puts libpng.a, libpng14.dylib, png.h and pngconf.h
|
||||
# where "make install" puts libpng.a, libpng12.dylib, png.h and pngconf.h
|
||||
prefix=/usr/local
|
||||
exec_prefix=$(prefix)
|
||||
|
||||
@@ -17,9 +17,9 @@ ZLIBLIB=../zlib
|
||||
ZLIBINC=../zlib
|
||||
|
||||
# Library name:
|
||||
LIBNAME = libpng14
|
||||
LIBNAME = libpng12
|
||||
PNGMAJ = 12
|
||||
PNGMIN = 1.4.0beta37
|
||||
PNGMIN = 1.2.32beta01
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
# Shared library names:
|
||||
@@ -27,8 +27,8 @@ LIBSO=$(LIBNAME).dylib
|
||||
LIBSOMAJ=$(LIBNAME).$(PNGMAJ).dylib
|
||||
LIBSOVER=$(LIBNAME).$(PNGVER).dylib
|
||||
OLDSO=libpng.dylib
|
||||
OLDSOMAJ=libpng.14.dylib
|
||||
OLDSOVER=libpng.14.$(PNGMIN).dylib
|
||||
OLDSOMAJ=libpng.3.dylib
|
||||
OLDSOVER=libpng.3.$(PNGMIN).dylib
|
||||
|
||||
# Utilities:
|
||||
CC=cc
|
||||
@@ -40,7 +40,7 @@ RM_F=/bin/rm -f
|
||||
|
||||
# CFLAGS=-I$(ZLIBINC) -W -Wall -O3 -funroll-loops -DPNG_NO_MMX_CODE
|
||||
CFLAGS=-I$(ZLIBINC) -W -Wall -O -funroll-loops
|
||||
LDFLAGS=-L. -L$(ZLIBLIB) -lpng14 -lz
|
||||
LDFLAGS=-L. -L$(ZLIBLIB) -lpng12 -lz
|
||||
|
||||
INCPATH=$(prefix)/include
|
||||
LIBPATH=$(exec_prefix)/lib
|
||||
@@ -84,14 +84,14 @@ libpng.pc:
|
||||
-e s!@exec_prefix@!$(exec_prefix)! \
|
||||
-e s!@libdir@!$(LIBPATH)! \
|
||||
-e s!@includedir@!$(INCPATH)! \
|
||||
-e s!-lpng14!-lpng14\ -lz! > libpng.pc
|
||||
-e s!-lpng12!-lpng12\ -lz! > libpng.pc
|
||||
|
||||
libpng-config:
|
||||
( cat scripts/libpng-config-head.in; \
|
||||
echo prefix=\"$(prefix)\"; \
|
||||
echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
|
||||
echo L_opts=\"-L$(LIBPATH)\"; \
|
||||
echo libs=\"-lpng14 -lz\"; \
|
||||
echo libs=\"-lpng12 -lz\"; \
|
||||
cat scripts/libpng-config-body.in ) > libpng-config
|
||||
chmod +x libpng-config
|
||||
|
||||
@@ -104,14 +104,14 @@ $(LIBSOMAJ): $(LIBSOVER)
|
||||
$(LIBSOVER): $(OBJSDLL)
|
||||
$(CC) -dynamiclib \
|
||||
-install_name $(LIBPATH)/$(LIBSOMAJ) \
|
||||
-current_version 14 -compatibility_version 14 \
|
||||
-current_version $(PNGVER) -compatibility_version $(PNGVER) \
|
||||
-o $(LIBSOVER) \
|
||||
$(OBJSDLL) -L$(ZLIBLIB) -lz
|
||||
|
||||
$(OLDSOVER): $(OBJSDLL)
|
||||
$(CC) -dynamiclib \
|
||||
-install_name $(LIBPATH)/$(OLDSOMAJ) \
|
||||
-current_version 14 -compatibility_version 14 \
|
||||
-current_version 3 -compatibility_version 3 \
|
||||
-o $(OLDSOVER) \
|
||||
$(OBJSDLL) -L$(ZLIBLIB) -lz
|
||||
|
||||
|
||||
@@ -4,16 +4,18 @@
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
|
||||
# Library name:
|
||||
PNGMAJ = 14
|
||||
PNGMIN = 1.4.0beta37
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.32beta01
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
LIBNAME = libpng14
|
||||
LIBNAME = libpng12
|
||||
|
||||
# Shared library names:
|
||||
LIBSO=$(LIBNAME).so
|
||||
LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
|
||||
LIBSOVER=$(LIBNAME).so.$(PNGVER)
|
||||
OLDSO=libpng.so
|
||||
OLDSOMAJ=libpng.so.3
|
||||
OLDSOVER=libpng.so.3.$(PNGMIN)
|
||||
|
||||
# Utilities:
|
||||
AR_RC=ar rc
|
||||
@@ -59,17 +61,18 @@ OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
|
||||
pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
|
||||
pngwtran.o pngmem.o pngerror.o pngpread.o
|
||||
|
||||
all: $(LIBSO) libpng.a pngtest libpng.pc libpng-config pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.dec */" > pngdefs.h
|
||||
all: $(LIBSO) libpng.a pngtest libpng.pc libpng-config
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
$(AR_RC) $@ $(OBJS)
|
||||
$(RANLIB) $@
|
||||
|
||||
libpng.pc:
|
||||
cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
|
||||
cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
|
||||
-e s!@exec_prefix@!$(exec_prefix)! \
|
||||
-e s!@libdir@!$(LIBPATH)! \
|
||||
-e s!@includedir@!$(INCPATH)! \
|
||||
-e s!-lpng12!-lpng12\ -lz\ -lm! > libpng.pc
|
||||
|
||||
libpng-config:
|
||||
( cat scripts/libpng-config-head.in; \
|
||||
@@ -77,7 +80,7 @@ libpng-config:
|
||||
echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
|
||||
echo ccopts=\"-std\"; \
|
||||
echo L_opts=\"-L$(LIBPATH)\"; \
|
||||
echo libs=\"-lpng14 -lz -lm\"; \
|
||||
echo libs=\"-lpng12 -lz -lm\"; \
|
||||
cat scripts/libpng-config-body.in ) > libpng-config
|
||||
chmod +x libpng-config
|
||||
|
||||
@@ -91,19 +94,22 @@ $(LIBSOVER): $(OBJS)
|
||||
$(CC) -shared -o $@ $(OBJS) -L$(ZLIBLIB) \
|
||||
-soname $(LIBSOMAJ)
|
||||
|
||||
$(OLDSOVER): $(OBJS)
|
||||
$(CC) -shared -o $@ $(OBJS) -L$(ZLIBLIB) \
|
||||
-soname $(OLDSOMAJ)
|
||||
|
||||
pngtest: pngtest.o libpng.a
|
||||
$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
|
||||
|
||||
test: pngtest
|
||||
./pngtest
|
||||
|
||||
install-headers: png.h pngconf.h pngdefs.h
|
||||
install-headers: png.h pngconf.h
|
||||
-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h pngdefs.h $(DI)/$(LIBNAME)
|
||||
cp png.h pngconf.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
|
||||
chmod 644 $(DI)/$(LIBNAME)/pngdefs.h
|
||||
-@/bin/rm -f $(DI)/png.h $(DI)/pngconf.h $(DI)/pngdefs.h
|
||||
-@/bin/rm -f $(DI)/png.h $(DI)/pngconf.h
|
||||
-@/bin/rm -f $(DI)/libpng
|
||||
(cd $(DI); $(LN_SF)(LIBNAME) libpng; $(LN_SF)(LIBNAME)/* .)
|
||||
|
||||
@@ -114,17 +120,23 @@ install-static: install-headers libpng.a
|
||||
-@/bin/rm -f $(DL)/libpng.a
|
||||
(cd $(DL); $(LN_SF)(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers $(LIBSOVER) libpng.pc
|
||||
install-shared: install-headers $(LIBSOVER) libpng.pc \
|
||||
$(OLDSOVER)
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
-@/bin/rm -f $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
|
||||
-@/bin/rm -f $(DL)/$(LIBSOMAJ)
|
||||
-@/bin/rm -f $(DL)/$(OLDSO)
|
||||
-@/bin/rm -f $(DL)/$(OLDSOMAJ)
|
||||
-@/bin/rm -f $(DL)/$(OLDSOVER)*
|
||||
cp $(LIBSOVER) $(DL)
|
||||
cp $(OLDSOVER) $(DL)
|
||||
chmod 755 $(DL)/$(LIBSOVER)
|
||||
chmod 755 $(DL)/$(OLDSOVER)
|
||||
(cd $(DL); \
|
||||
$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO); \
|
||||
$(LN_SF) $(OLDSO) $(LIBSO))
|
||||
$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
|
||||
$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
|
||||
$(LN_SF)(LIBSOVER) $(LIBSOMAJ); \
|
||||
$(LN_SF)(LIBSOMAJ) $(LIBSO))
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
|
||||
-@/bin/rm -f $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@/bin/rm -f $(DL)/pkgconfig/libpng.pc
|
||||
@@ -178,24 +190,25 @@ test-installed:
|
||||
clean:
|
||||
/bin/rm -f *.o libpng.a pngtest pngtesti pngout.png \
|
||||
libpng-config $(LIBSO) $(LIBSOMAJ)* \
|
||||
libpng.pc pngdefs.h
|
||||
$(OLDSOVER) \
|
||||
libpng.pc
|
||||
|
||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||
|
||||
png.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngerror.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrio.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwio.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngmem.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngset.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngget.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngread.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrtran.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrutil.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtrans.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwrite.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwtran.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwutil.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngpread.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
png.o: png.h pngconf.h
|
||||
pngerror.o: png.h pngconf.h
|
||||
pngrio.o: png.h pngconf.h
|
||||
pngwio.o: png.h pngconf.h
|
||||
pngmem.o: png.h pngconf.h
|
||||
pngset.o: png.h pngconf.h
|
||||
pngget.o: png.h pngconf.h
|
||||
pngread.o: png.h pngconf.h
|
||||
pngrtran.o: png.h pngconf.h
|
||||
pngrutil.o: png.h pngconf.h
|
||||
pngtest.o: png.h pngconf.h
|
||||
pngtrans.o: png.h pngconf.h
|
||||
pngwrite.o: png.h pngconf.h
|
||||
pngwtran.o: png.h pngconf.h
|
||||
pngwutil.o: png.h pngconf.h
|
||||
pngpread.o: png.h pngconf.h
|
||||
|
||||
pngtest.o: png.h pngconf.h pngdefs.h
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# DJGPP (DOS gcc) makefile for libpng
|
||||
# Copyright (C) 2006 Glenn Randers-Pehrson
|
||||
# Copyright (C) 2002 Glenn Randers-Pehrson
|
||||
# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
@@ -18,12 +17,9 @@ RANLIB=ranlib
|
||||
|
||||
OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
|
||||
pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o pngwtran.o \
|
||||
pngmem.o pngerror.o pngpread.o pnggccrd.o
|
||||
pngmem.o pngerror.o pngpread.o
|
||||
|
||||
all: libpng.a pngtest pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.dj2 */" > pngdefs.h
|
||||
all: libpng.a pngtest
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
ar rc $@ $(OBJS)
|
||||
@@ -36,25 +32,24 @@ pngtest: pngtest.o libpng.a
|
||||
test: pngtest
|
||||
./pngtest
|
||||
clean:
|
||||
rm -f *.o libpng.a pngtest pngout.png pngdefs.h
|
||||
rm -f *.o libpng.a pngtest pngout.png
|
||||
|
||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||
|
||||
png.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngerror.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrio.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwio.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngmem.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngset.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pnggccrd.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngget.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngread.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngpread.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrtran.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrutil.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtrans.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwrite.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwtran.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwutil.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
png.o: png.h pngconf.h
|
||||
pngerror.o: png.h pngconf.h
|
||||
pngrio.o: png.h pngconf.h
|
||||
pngwio.o: png.h pngconf.h
|
||||
pngmem.o: png.h pngconf.h
|
||||
pngset.o: png.h pngconf.h
|
||||
pngget.o: png.h pngconf.h
|
||||
pngread.o: png.h pngconf.h
|
||||
pngpread.o: png.h pngconf.h
|
||||
pngrtran.o: png.h pngconf.h
|
||||
pngrutil.o: png.h pngconf.h
|
||||
pngtest.o: png.h pngconf.h
|
||||
pngtrans.o: png.h pngconf.h
|
||||
pngwrite.o: png.h pngconf.h
|
||||
pngwtran.o: png.h pngconf.h
|
||||
pngwutil.o: png.h pngconf.h
|
||||
|
||||
pngtest.o: png.h pngconf.h pngdefs.h
|
||||
|
||||
@@ -1,24 +1,28 @@
|
||||
# makefile for libpng.a and libpng14.so on Linux ELF with gcc
|
||||
# Copyright (C) 1998, 1999, 2002, 2006 Greg Roelofs and Glenn Randers-Pehrson
|
||||
# makefile for libpng.a and libpng12.so on Linux ELF with gcc
|
||||
# Copyright (C) 1998, 1999, 2002, 2006, 2008 Greg Roelofs
|
||||
# and Glenn Randers-Pehrson
|
||||
# Copyright (C) 1996, 1997 Andreas Dilger
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
|
||||
# Modified for Debian by Junichi Uekawa and Josselin Mouette
|
||||
# Major modifications are:
|
||||
# * link libpng explicitly with libz and libm
|
||||
# * $(OLDSO) is a symlink rather than a different library
|
||||
# * $(OLDSO).3 is a symlink rather than a different library
|
||||
# * versioned symbols
|
||||
|
||||
# Library name:
|
||||
LIBNAME = libpng14
|
||||
PNGMAJ = 14
|
||||
PNGMIN = 1.4.0beta37
|
||||
LIBNAME = libpng12
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.32beta01
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
# Shared library names:
|
||||
LIBSO=$(LIBNAME).so
|
||||
LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
|
||||
LIBSOVER=$(LIBNAME).so.$(PNGVER)
|
||||
OLDSO=libpng.so
|
||||
OLDSOMAJ=libpng.so.3
|
||||
OLDSOVER=libpng.so.3.$(PNGMIN)
|
||||
|
||||
# Utilities:
|
||||
AR_RC=ar rc
|
||||
@@ -28,8 +32,8 @@ LN_SF=ln -sf
|
||||
RANLIB=ranlib
|
||||
RM_F=/bin/rm -f
|
||||
|
||||
# where "make install" puts libpng14.a, libpng14.so*,
|
||||
# libpng14/png.h and libpng14/pngconf.h
|
||||
# where "make install" puts libpng12.a, libpng12.so*,
|
||||
# libpng12/png.h and libpng12/pngconf.h
|
||||
# Prefix must be a full pathname.
|
||||
prefix=/usr/local
|
||||
exec_prefix=$(prefix)
|
||||
@@ -53,7 +57,7 @@ WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
|
||||
CFLAGS=-W -Wall -D_REENTRANT -O2 \
|
||||
$(ALIGN) # $(WARNMORE) -g -DPNG_DEBUG=5
|
||||
|
||||
LDFLAGS=-L. -lpng14
|
||||
LDFLAGS=-L. -lpng12
|
||||
LDFLAGS_A=libpng.a -lz -lm
|
||||
LIBADDFLAGS=-lz -lm
|
||||
|
||||
@@ -89,21 +93,22 @@ OBJSDLL = $(OBJS:.o=.pic.o)
|
||||
.c.pic.o:
|
||||
$(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
|
||||
|
||||
all: libpng.a $(LIBSO) pngtest pngtest-static libpng.pc libpng-config pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.elf */" > pngdefs.h
|
||||
all: libpng.a $(LIBSO) pngtest pngtest-static libpng.pc libpng-config
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
$(AR_RC) $@ $(OBJS)
|
||||
$(RANLIB) $@
|
||||
|
||||
libpng.pc:
|
||||
cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
|
||||
cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
|
||||
-e s!@exec_prefix@!$(exec_prefix)! \
|
||||
-e s!@libdir@!$(LIBPATH)! \
|
||||
-e s!@includedir@!$(INCPATH)! \
|
||||
-e s!-lpng12!-lpng12\ -lz\ -lm! > libpng.pc
|
||||
|
||||
libpng.syms: png.h pngconf.h
|
||||
$(CC) $(CFLAGS) -E -DPNG_BUILDSYMS -DPNG_INTERNAL png.h |\
|
||||
awk -F '[\t [\\]();]' -v PNGMAJ=$(PNGMAJ) 'BEGIN{printf("PNG14%s {global:\n",PNGMAJ)}\
|
||||
awk -F '[\t [\\]();]' -v PNGMAJ=$(PNGMAJ) 'BEGIN{printf("PNG12_%s {global:\n",PNGMAJ)}\
|
||||
{ for (i=1;i+2<=NF;++i)\
|
||||
if ($$(i)=="PNG_FUNCTION_EXPORT" && $$(i+2)=="END")\
|
||||
print $$(i+1) ";";\
|
||||
@@ -120,18 +125,27 @@ libpng-config:
|
||||
echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
|
||||
echo L_opts=\"\"; \
|
||||
echo R_opts=\"\"; \
|
||||
echo libs=\"-lpng14\"; \
|
||||
echo all_libs=\"-lpng14 $(LIBADDFLAGS)\"; \
|
||||
echo libs=\"-lpng12\"; \
|
||||
echo all_libs=\"-lpng12 $(LIBADDFLAGS)\"; \
|
||||
cat scripts/libpng-config-body.in ) > libpng-config
|
||||
chmod +x libpng-config
|
||||
|
||||
$(LIBSO): $(LIBSOMAJ)
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO)
|
||||
|
||||
$(LIBSOMAJ): $(OBJSDLL) libpng.syms
|
||||
$(LIBSOMAJ): $(LIBSOVER)
|
||||
$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
|
||||
|
||||
$(LIBSOVER): $(OBJSDLL) libpng.syms
|
||||
$(CC) -shared -Wl,-soname,$(LIBSOMAJ) \
|
||||
-Wl,-version-script,libpng.syms \
|
||||
-o $(LIBSOMAJ) \
|
||||
-o $(LIBSOVER) \
|
||||
$(OBJSDLL)
|
||||
|
||||
$(OLDSOVER): $(OBJSDLL) libpng.syms
|
||||
$(CC) -shared -Wl,-soname,$(OLDSOMAJ) \
|
||||
-Wl,-version-script,libpng.syms \
|
||||
-o $(OLDSOVER) \
|
||||
$(OBJSDLL)
|
||||
|
||||
pngtest: pngtest.o $(LIBSO)
|
||||
@@ -150,13 +164,12 @@ test: pngtest pngtest-static
|
||||
@echo ""
|
||||
./pngtest-static
|
||||
|
||||
install-headers: png.h pngconf.h pngdefs.h
|
||||
install-headers: png.h pngconf.h
|
||||
-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h pngdefs.h $(DI)/$(LIBNAME)
|
||||
cp png.h pngconf.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
|
||||
chmod 644 $(DI)/$(LIBNAME)/pngdefs.h
|
||||
-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pngdefs.h
|
||||
-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h
|
||||
-@$(RM_F) $(DI)/libpng
|
||||
(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
|
||||
|
||||
@@ -167,14 +180,23 @@ install-static: install-headers libpng.a
|
||||
-@$(RM_F) $(DL)/libpng.a
|
||||
(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers libpng.pc
|
||||
install-shared: install-headers $(LIBSOVER) libpng.pc \
|
||||
$(OLDSOVER)
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
-@$(RM_F) $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(LIBSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(OLDSO)
|
||||
-@$(RM_F) $(DL)/$(OLDSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(OLDSOVER)*
|
||||
cp $(LIBSOVER) $(DL)
|
||||
cp $(OLDSOVER) $(DL)
|
||||
chmod 755 $(DL)/$(LIBSOVER)
|
||||
chmod 755 $(DL)/$(OLDSOVER)
|
||||
(cd $(DL); \
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO); \
|
||||
$(LN_SF) $(OLDSO) $(LIBSO))
|
||||
$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
|
||||
$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
|
||||
$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO))
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
|
||||
-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@$(RM_F) $(DL)/pkgconfig/libpng.pc
|
||||
@@ -226,7 +248,8 @@ test-installed:
|
||||
clean:
|
||||
$(RM_F) *.o libpng.a libpng.syms pngtest pngout.png libpng-config \
|
||||
$(LIBSO) $(LIBSOMAJ)* pngtest-static pngtesti \
|
||||
libpng.pc pngdefs.h
|
||||
$(OLDSOVER) \
|
||||
libpng.pc
|
||||
|
||||
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
|
||||
writelock:
|
||||
@@ -234,20 +257,20 @@ writelock:
|
||||
|
||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||
|
||||
png.o png.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngerror.o pngerror.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrio.o pngrio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwio.o pngwio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngmem.o pngmem.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngset.o pngset.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngget.o pngget.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngread.o pngread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrtran.o pngrtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrutil.o pngrutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtrans.o pngtrans.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwrite.o pngwrite.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwtran.o pngwtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwutil.o pngwutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngpread.o pngpread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
png.o png.pic.o: png.h pngconf.h
|
||||
pngerror.o pngerror.pic.o: png.h pngconf.h
|
||||
pngrio.o pngrio.pic.o: png.h pngconf.h
|
||||
pngwio.o pngwio.pic.o: png.h pngconf.h
|
||||
pngmem.o pngmem.pic.o: png.h pngconf.h
|
||||
pngset.o pngset.pic.o: png.h pngconf.h
|
||||
pngget.o pngget.pic.o: png.h pngconf.h
|
||||
pngread.o pngread.pic.o: png.h pngconf.h
|
||||
pngrtran.o pngrtran.pic.o: png.h pngconf.h
|
||||
pngrutil.o pngrutil.pic.o: png.h pngconf.h
|
||||
pngtrans.o pngtrans.pic.o: png.h pngconf.h
|
||||
pngwrite.o pngwrite.pic.o: png.h pngconf.h
|
||||
pngwtran.o pngwtran.pic.o: png.h pngconf.h
|
||||
pngwutil.o pngwutil.pic.o: png.h pngconf.h
|
||||
pngpread.o pngpread.pic.o: png.h pngconf.h
|
||||
|
||||
pngtest.o: png.h pngconf.h pngdefs.h
|
||||
pngtest.o: png.h pngconf.h
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# makefile for libpng under FreeBSD
|
||||
# Copyright (C) 2002, 2006 Glenn Randers-Pehrson and Andrey A. Chernov
|
||||
# Copyright (C) 2002, 2007 Glenn Randers-Pehrson and Andrey A. Chernov
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
|
||||
PREFIX?= /usr/local
|
||||
SHLIB_VER?= %SONUM%
|
||||
SHLIB_VER?= 5
|
||||
|
||||
LIB= png
|
||||
SHLIB_MAJOR= ${SHLIB_VER}
|
||||
@@ -14,31 +14,24 @@ NOOBJ= YES
|
||||
# where make install puts libpng.a and png.h
|
||||
DESTDIR= ${PREFIX}
|
||||
LIBDIR= /lib
|
||||
INCS= png.h pngconf.h pngdefs.h
|
||||
INCS= png.h pngconf.h
|
||||
INCSDIR= /include/libpng
|
||||
INCDIR= ${INCSDIR} # for 4.x bsd.lib.mk
|
||||
MAN= libpng.3 libpngpf.3 png.5
|
||||
MANDIR= /man/man
|
||||
SYMLINKS= libpng/png.h ${INCSDIR}/../png.h \
|
||||
libpng/pngconf.h ${INCSDIR}/../pngconf.h
|
||||
libpng/pngdefs.h ${INCSDIR}/../pngdefs.h
|
||||
LDADD+= -lm -lz
|
||||
DPADD+= ${LIBM} ${LIBZ}
|
||||
|
||||
all: pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.freebsd */" > pngdefs.h
|
||||
CFLAGS+= -I.
|
||||
.if (${MACHINE_ARCH} != "i386")
|
||||
/* uncomment this if you don't need thread safety */
|
||||
# echo "#define PNG_THREAD_UNSAFE_OK" >> pngdefs.h
|
||||
.else
|
||||
echo "#define PNG_NO_MMX_CODE" >> pngdefs.h
|
||||
CFLAGS+= -DPNG_NO_MMX_CODE
|
||||
.endif
|
||||
|
||||
SRCS= png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
|
||||
pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
|
||||
pngwtran.c pngmem.c pngerror.c pngpread.c pnggccrd.c
|
||||
pngwtran.c pngmem.c pngerror.c pngpread.c
|
||||
|
||||
pngtest: pngtest.o libpng.a
|
||||
${CC} ${CFLAGS} -L. -static -o pngtest pngtest.o -lpng -lz -lm
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# makefile for libpng using gcc (generic, static library)
|
||||
# Copyright (C) 2006 Glenn Randers-Pehrson
|
||||
# Copyright (C) 2008 Glenn Randers-Pehrson
|
||||
# Copyright (C) 2000 Cosmin Truta
|
||||
# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
@@ -32,15 +32,11 @@ EXE=
|
||||
|
||||
# Variables
|
||||
OBJS = png$(O) pngerror$(O) pngget$(O) pngmem$(O) pngpread$(O) \
|
||||
pngread$(O) pngrio$(O) pngrtran$(O) pngrutil$(O) pngset$(O) \
|
||||
pngtrans$(O) pngwio$(O) pngwrite$(O) pngwtran$(O) pngwutil$(O) \
|
||||
pnggccrd$(O)
|
||||
pngread$(O) pngrio$(O) pngrtran$(O) pngrutil$(O) pngset$(O) \
|
||||
pngtrans$(O) pngwio$(O) pngwrite$(O) pngwtran$(O) pngwutil$(O)
|
||||
|
||||
# Targets
|
||||
all: static pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.gcc */" > pngdefs.h
|
||||
all: static
|
||||
|
||||
.c$(O):
|
||||
$(CC) -c $(CFLAGS) -I$(ZLIBINC) $<
|
||||
@@ -63,23 +59,22 @@ pngtest$(EXE): pngtest$(O) libpng$(A)
|
||||
$(LD) $(LDFLAGS) -L$(ZLIBLIB) -o $@ pngtest$(O) libpng$(A) $(LIBS)
|
||||
|
||||
clean:
|
||||
$(RM_F) *$(O) libpng$(A) pngtest$(EXE) pngout.png pngdefs.h
|
||||
$(RM_F) *$(O) libpng$(A) pngtest$(EXE) pngout.png
|
||||
|
||||
png$(O): png.h pngconf.h
|
||||
pngerror$(O): png.h pngconf.h
|
||||
pngget$(O): png.h pngconf.h
|
||||
pngmem$(O): png.h pngconf.h
|
||||
pngpread$(O): png.h pngconf.h
|
||||
pngread$(O): png.h pngconf.h
|
||||
pngrio$(O): png.h pngconf.h
|
||||
pngrtran$(O): png.h pngconf.h
|
||||
pngrutil$(O): png.h pngconf.h
|
||||
pngset$(O): png.h pngconf.h
|
||||
pngtest$(O): png.h pngconf.h
|
||||
pngtrans$(O): png.h pngconf.h
|
||||
pngwio$(O): png.h pngconf.h
|
||||
pngwrite$(O): png.h pngconf.h
|
||||
pngwtran$(O): png.h pngconf.h
|
||||
pngwutil$(O): png.h pngconf.h
|
||||
|
||||
png$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngerror$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pnggccrd$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngget$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngmem$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngpread$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngread$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrio$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrtran$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrutil$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngset$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtest$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtrans$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwio$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwrite$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwtran$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwutil$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtest$(O): png.h pngconf.h pngdefs.h
|
||||
|
||||
@@ -1,22 +1,20 @@
|
||||
# makefile for libpng.a and libpng14.so on Linux ELF with gcc using MMX
|
||||
# makefile for libpng.a and libpng12.so on Linux ELF with gcc using MMX
|
||||
# assembler code
|
||||
# Copyright 2002, 2006 Greg Roelofs and Glenn Randers-Pehrson
|
||||
# Copyright 2002, 2006, 2008 Greg Roelofs and Glenn Randers-Pehrson
|
||||
# Copyright 1998-2001 Greg Roelofs
|
||||
# Copyright 1996-1997 Andreas Dilger
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
|
||||
# CAUTION: Do not use this makefile with gcc versions 2.7.2.2 and earlier.
|
||||
|
||||
# WARNING: The assembler code in pnggccrd.c may not be thread safe.
|
||||
|
||||
# NOTE: When testing MMX performance on a multitasking system, make sure
|
||||
# there are no floating-point programs (e.g., SETI@Home) running in
|
||||
# the background! Context switches between MMX and FPU are expensive.
|
||||
|
||||
# Library name:
|
||||
LIBNAME = libpng14
|
||||
PNGMAJ = 14
|
||||
PNGMIN = 1.4.0beta37
|
||||
LIBNAME = libpng12
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.32beta01
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
# Shared library names:
|
||||
@@ -24,6 +22,8 @@ LIBSO=$(LIBNAME).so
|
||||
LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
|
||||
LIBSOVER=$(LIBNAME).so.$(PNGVER)
|
||||
OLDSO=libpng.so
|
||||
OLDSOMAJ=libpng.so.3
|
||||
OLDSOVER=libpng.so.3.$(PNGMIN)
|
||||
|
||||
# Utilities:
|
||||
CC = gcc
|
||||
@@ -34,8 +34,8 @@ MKDIR_P = mkdir -p
|
||||
RANLIB = ranlib
|
||||
RM_F = /bin/rm -f
|
||||
|
||||
# where "make install" puts libpng14.a, libpng14.so*,
|
||||
# libpng14/png.h and libpng14/pngconf.h
|
||||
# where "make install" puts libpng12.a, libpng12.so*,
|
||||
# libpng12/png.h and libpng12/pngconf.h
|
||||
# Prefix must be a full pathname.
|
||||
prefix=/usr/local
|
||||
exec_prefix=$(prefix)
|
||||
@@ -56,19 +56,21 @@ WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
|
||||
|
||||
# for pgcc version 2.95.1, -O3 is buggy; don't use it.
|
||||
|
||||
CFLAGS= -I$(ZLIBINC) -W -Wall \
|
||||
-O3 $(ALIGN) -funroll-loops \
|
||||
# Remove -DPNG_THREAD_UNSAFE_OK if you need thread safety
|
||||
### for generic gcc:
|
||||
CFLAGS=-DPNG_THREAD_UNSAFE_OK -I$(ZLIBINC) -W -Wall -O \
|
||||
$(ALIGN) -funroll-loops \
|
||||
-fomit-frame-pointer # $(WARNMORE) -g -DPNG_DEBUG=5
|
||||
### for gcc 2.95.2 on 686:
|
||||
#CFLAGS= -I$(ZLIBINC) -W -Wall -O3 \
|
||||
#CFLAGS=-DPNG_THREAD_UNSAFE_OK -I$(ZLIBINC) -W -Wall -O \
|
||||
# -mcpu=i686 -malign-double -ffast-math -fstrict-aliasing \
|
||||
# $(ALIGN) -funroll-loops -funroll-all-loops -fomit-frame-pointer
|
||||
### for gcc 2.7.2.3 on 486 and up:
|
||||
#CFLAGS= -I$(ZLIBINC) -W -Wall -O3 \
|
||||
#CFLAGS=-DPNG_THREAD_UNSAFE_OK -I$(ZLIBINC) -W -Wall -O \
|
||||
# -m486 -malign-double -ffast-math \
|
||||
# $(ALIGN) -funroll-loops -funroll-all-loops -fomit-frame-pointer
|
||||
|
||||
LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng14 -lz -lm
|
||||
LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng12 -lz -lm
|
||||
LDFLAGS_A=-L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) libpng.a -lz -lm
|
||||
|
||||
|
||||
@@ -94,7 +96,7 @@ DM=$(DESTDIR)$(MANPATH)
|
||||
|
||||
OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
|
||||
pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
|
||||
pngwtran.o pngmem.o pngerror.o pngpread.o pnggccrd.o
|
||||
pngwtran.o pngmem.o pngerror.o pngpread.o
|
||||
|
||||
OBJSDLL = $(OBJS:.o=.pic.o)
|
||||
|
||||
@@ -103,39 +105,30 @@ OBJSDLL = $(OBJS:.o=.pic.o)
|
||||
.c.pic.o:
|
||||
$(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
|
||||
|
||||
all: libpng.a $(LIBSO) pngtest pngtest-static libpng.pc libpng-config \
|
||||
pngconf.h pngdefs.h
|
||||
|
||||
# Use makefile.gcmmx if you want to use the MMX assembler code.
|
||||
# If you don't need thread safety you can uncomment the define.
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.gcmmx */" > pngdefs.h
|
||||
# echo "#define PNG_THREAD_UNSAFE_OK" >> pngdefs.h
|
||||
all: libpng.a $(LIBSO) pngtest pngtest-static libpng.pc libpng-config
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
$(AR_RC) $@ $(OBJS)
|
||||
$(RANLIB) $@
|
||||
|
||||
libpng.pc:
|
||||
cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
|
||||
cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
|
||||
-e s!@exec_prefix@!$(exec_prefix)! \
|
||||
-e s!@libdir@!$(LIBPATH)! \
|
||||
-e s!@includedir@!$(INCPATH)! \
|
||||
-e s!-lpng12!-lpng12\ -lz\ -lm! > libpng.pc
|
||||
|
||||
libpng-config:
|
||||
( cat scripts/libpng-config-head.in; \
|
||||
echo prefix=\"$(prefix)\"; \
|
||||
echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
|
||||
echo cppflags=""; \
|
||||
echo cppflags=\"-DPNG_THREAD_UNSAFE_OK \"; \
|
||||
echo L_opts=\"-L$(LIBPATH)\"; \
|
||||
echo R_opts=\"-Wl,-rpath,$(LIBPATH)\"; \
|
||||
echo libs=\"-lpng14 -lz -lm\"; \
|
||||
echo libs=\"-lpng12 -lz -lm\"; \
|
||||
cat scripts/libpng-config-body.in ) > libpng-config
|
||||
chmod +x libpng-config
|
||||
|
||||
pnggccrd.o: pnggccrd.c png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) -o $@ $*.c
|
||||
|
||||
pnggccrd.pic.o: pnggccrd.c png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) -fPIC -o $@ pnggccrd.c
|
||||
|
||||
$(LIBSO): $(LIBSOMAJ)
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO)
|
||||
|
||||
@@ -147,6 +140,11 @@ $(LIBSOVER): $(OBJSDLL)
|
||||
-o $(LIBSOVER) \
|
||||
$(OBJSDLL)
|
||||
|
||||
$(OLDSOVER): $(OBJSDLL)
|
||||
$(CC) -shared -Wl,-soname,$(OLDSOMAJ) \
|
||||
-o $(OLDSOVER) \
|
||||
$(OBJSDLL)
|
||||
|
||||
pngtest: pngtest.o $(LIBSO)
|
||||
$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
|
||||
|
||||
@@ -163,13 +161,12 @@ test: pngtest pngtest-static
|
||||
@echo ""
|
||||
./pngtest-static
|
||||
|
||||
install-headers: png.h pngconf.h pngdefs.h
|
||||
install-headers: png.h pngconf.h
|
||||
-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h pngdefs.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h \
|
||||
$(DI)/$(LIBNAME)/pngdefs.h
|
||||
-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pngdefs.h
|
||||
cp png.h pngconf.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
|
||||
-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h
|
||||
-@$(RM_F) $(DI)/libpng
|
||||
(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
|
||||
|
||||
@@ -180,17 +177,23 @@ install-static: install-headers libpng.a
|
||||
-@$(RM_F) $(DL)/libpng.a
|
||||
(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers $(LIBSOVER) libpng.pc
|
||||
install-shared: install-headers $(LIBSOVER) libpng.pc \
|
||||
$(OLDSOVER)
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(LIBSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(OLDSO)
|
||||
-@$(RM_F) $(DL)/$(OLDSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(OLDSOVER)*
|
||||
cp $(LIBSOVER) $(DL)
|
||||
cp $(OLDSOVER) $(DL)
|
||||
chmod 755 $(DL)/$(LIBSOVER)
|
||||
chmod 755 $(DL)/$(OLDSOVER)
|
||||
(cd $(DL); \
|
||||
$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
|
||||
$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
|
||||
$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO); \
|
||||
$(LN_SF) $(OLDSO) $(LIBSO))
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO))
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
|
||||
-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@$(RM_F) $(DL)/pkgconfig/libpng.pc
|
||||
@@ -240,28 +243,29 @@ test-installed:
|
||||
./pngtesti pngtest.png
|
||||
|
||||
clean:
|
||||
$(RM_F) *.o libpng.a pngtest pngout.png libpng-config pngdefs.h \
|
||||
$(RM_F) *.o libpng.a pngtest pngout.png libpng-config \
|
||||
$(LIBSO) $(LIBSOMAJ)* pngtest-static pngtesti \
|
||||
$(OLDSOVER) \
|
||||
libpng.pc
|
||||
|
||||
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
|
||||
writelock:
|
||||
chmod a-w *.[ch35] $(DOCS) scripts/*
|
||||
|
||||
png.o png.pic.o: png.h pngconf.h pngdefs.h pngpriv.h png.c
|
||||
pngerror.o pngerror.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngerror.c
|
||||
pngrio.o pngrio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngrio.c
|
||||
pngwio.o pngwio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngwio.c
|
||||
pngmem.o pngmem.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngmem.c
|
||||
pngset.o pngset.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngset.c
|
||||
pngget.o pngget.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngget.c
|
||||
pngread.o pngread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngread.c
|
||||
pngrtran.o pngrtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngrtran.c
|
||||
pngrutil.o pngrutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngrutil.c
|
||||
pngtrans.o pngtrans.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngtrans.c
|
||||
pngwrite.o pngwrite.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngwrite.c
|
||||
pngwtran.o pngwtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngwtran.c
|
||||
pngwutil.o pngwutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngwutil.c
|
||||
pngpread.o pngpread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngpread.c
|
||||
png.o png.pic.o: png.h pngconf.h png.c
|
||||
pngerror.o pngerror.pic.o: png.h pngconf.h pngerror.c
|
||||
pngrio.o pngrio.pic.o: png.h pngconf.h pngrio.c
|
||||
pngwio.o pngwio.pic.o: png.h pngconf.h pngwio.c
|
||||
pngmem.o pngmem.pic.o: png.h pngconf.h pngmem.c
|
||||
pngset.o pngset.pic.o: png.h pngconf.h pngset.c
|
||||
pngget.o pngget.pic.o: png.h pngconf.h pngget.c
|
||||
pngread.o pngread.pic.o: png.h pngconf.h pngread.c
|
||||
pngrtran.o pngrtran.pic.o: png.h pngconf.h pngrtran.c
|
||||
pngrutil.o pngrutil.pic.o: png.h pngconf.h pngrutil.c
|
||||
pngtrans.o pngtrans.pic.o: png.h pngconf.h pngtrans.c
|
||||
pngwrite.o pngwrite.pic.o: png.h pngconf.h pngwrite.c
|
||||
pngwtran.o pngwtran.pic.o: png.h pngconf.h pngwtran.c
|
||||
pngwutil.o pngwutil.pic.o: png.h pngconf.h pngwutil.c
|
||||
pngpread.o pngpread.pic.o: png.h pngconf.h pngpread.c
|
||||
|
||||
pngtest.o: png.h pngconf.h pngdefs.h pngtest.c
|
||||
pngtest.o: png.h pngconf.h pngtest.c
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# makefile for libpng, HPUX (10.20 and 11.00) using the ANSI/C product.
|
||||
# Copyright (C) 1999-2002, 2006 Glenn Randers-Pehrson
|
||||
# Copyright (C) 1999-2002 Glenn Randers-Pehrson
|
||||
# Copyright (C) 1995 Guy Eric Schalnat, Group 42
|
||||
# contributed by Jim Rice and updated by Chris Schleicher, Hewlett Packard
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
@@ -16,9 +16,9 @@ ZLIBINC=/opt/zlib/include
|
||||
# SHAREDLIB=libz.sl
|
||||
|
||||
# Library name:
|
||||
LIBNAME = libpng14
|
||||
PNGMAJ = 14
|
||||
PNGMIN = 1.4.0beta37
|
||||
LIBNAME = libpng12
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.32beta01
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
# Shared library names:
|
||||
@@ -26,6 +26,8 @@ LIBSO=$(LIBNAME).sl
|
||||
LIBSOMAJ=$(LIBNAME).sl.$(PNGMAJ)
|
||||
LIBSOVER=$(LIBNAME).sl.$(PNGVER)
|
||||
OLDSO=libpng.sl
|
||||
OLDSOMAJ=libpng.sl.3
|
||||
OLDSOVER=libpng.sl.3.$(PNGMIN)
|
||||
|
||||
# Utilities:
|
||||
AR_RC=ar rc
|
||||
@@ -43,7 +45,7 @@ CCFLAGS=-I$(ZLIBINC) -O -Ae -Wl,+vnocompatwarnings +DD64 \
|
||||
|
||||
LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
|
||||
|
||||
# where make install puts libpng.a, libpng14.sl, and png.h
|
||||
# where make install puts libpng.a, libpng12.sl, and png.h
|
||||
prefix=/opt/libpng
|
||||
exec_prefix=$(prefix)
|
||||
INCPATH=$(prefix)/include
|
||||
@@ -77,17 +79,18 @@ OBJSDLL = $(OBJS:.o=.pic.o)
|
||||
.c.pic.o:
|
||||
$(CC) -c $(CFLAGS) +z -o $@ $*.c
|
||||
|
||||
all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.hp64 */" > pngdefs.h
|
||||
all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
$(AR_RC) $@ $(OBJS)
|
||||
$(RANLIB) $@
|
||||
|
||||
libpng.pc:
|
||||
cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
|
||||
cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
|
||||
-e s!@exec_prefix@!$(exec_prefix)! \
|
||||
-e s!@libdir@!$(LIBPATH)! \
|
||||
-e s!@includedir@!$(INCPATH)! \
|
||||
-e s!-lpng12!-lpng12\ -lz\ -lm! > libpng.pc
|
||||
|
||||
libpng-config:
|
||||
( cat scripts/libpng-config-head.in; \
|
||||
@@ -95,7 +98,7 @@ libpng-config:
|
||||
echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
|
||||
echo ccopts=\"-Ae +DA1.1 +DS2.0\"; \
|
||||
echo L_opts=\"-L$(LIBPATH)\"; \
|
||||
echo libs=\"-lpng14 -lz -lm\"; \
|
||||
echo libs=\"-lpng12 -lz -lm\"; \
|
||||
cat scripts/libpng-config-body.in ) > libpng-config
|
||||
chmod +x libpng-config
|
||||
|
||||
@@ -109,19 +112,22 @@ $(LIBSOVER): $(OBJSDLL)
|
||||
$(LD) -b +s \
|
||||
+h $(LIBSOMAJ) -o $(LIBSOVER) $(OBJSDLL)
|
||||
|
||||
$(OLDSOVER): $(OBJSDLL)
|
||||
$(LD) -b +s \
|
||||
+h $(OLDSOMAJ) -o $(OLDSOVER) $(OBJSDLL)
|
||||
|
||||
pngtest: pngtest.o libpng.a
|
||||
$(CC) -o pngtest $(CCFLAGS) pngtest.o $(LDFLAGS)
|
||||
|
||||
test: pngtest
|
||||
./pngtest
|
||||
|
||||
install-headers: png.h pngconf.h pngdefs.h
|
||||
install-headers: png.h pngconf.h
|
||||
-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h pngdefs.h $(DI)/$(LIBNAME)
|
||||
cp png.h pngconf.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
|
||||
chmod 644 $(DI)/$(LIBNAME)/pngdefs.h
|
||||
-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pngdefs.h
|
||||
-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h
|
||||
-@$(RM_F) $(DI)/libpng
|
||||
(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
|
||||
|
||||
@@ -132,17 +138,23 @@ install-static: install-headers libpng.a
|
||||
-@$(RM_F) $(DL)/libpng.a
|
||||
(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers $(LIBSOVER) libpng.pc
|
||||
install-shared: install-headers $(LIBSOVER) libpng.pc \
|
||||
$(OLDSOVER)
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(LIBSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(OLDSO)
|
||||
-@$(RM_F) $(DL)/$(OLDSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(OLDSOVER)*
|
||||
cp $(LIBSOVER) $(DL)
|
||||
cp $(OLDSOVER) $(DL)
|
||||
chmod 755 $(DL)/$(LIBSOVER)
|
||||
chmod 755 $(DL)/$(OLDSOVER)
|
||||
(cd $(DL); \
|
||||
$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
|
||||
$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
|
||||
$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO); \
|
||||
$(LN_SF) $(OLDSO) $(LIBSO))
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO))
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
|
||||
-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@$(RM_F) $(DL)/pkgconfig/libpng.pc
|
||||
@@ -196,7 +208,8 @@ test-installed:
|
||||
clean:
|
||||
$(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
|
||||
libpng-config $(LIBSO) $(LIBSOMAJ)* \
|
||||
libpng.pc pngdefs.h
|
||||
$(OLDSOVER) \
|
||||
libpng.pc
|
||||
|
||||
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
|
||||
writelock:
|
||||
@@ -204,19 +217,19 @@ writelock:
|
||||
|
||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||
|
||||
png.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngerror.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrio.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwio.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngmem.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngset.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngget.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngread.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrtran.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrutil.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtrans.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwrite.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwtran.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwutil.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngpread.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtest.o: png.h pngconf.h pngdefs.h
|
||||
png.o: png.h pngconf.h
|
||||
pngerror.o: png.h pngconf.h
|
||||
pngrio.o: png.h pngconf.h
|
||||
pngwio.o: png.h pngconf.h
|
||||
pngmem.o: png.h pngconf.h
|
||||
pngset.o: png.h pngconf.h
|
||||
pngget.o: png.h pngconf.h
|
||||
pngread.o: png.h pngconf.h
|
||||
pngrtran.o: png.h pngconf.h
|
||||
pngrutil.o: png.h pngconf.h
|
||||
pngtest.o: png.h pngconf.h
|
||||
pngtrans.o: png.h pngconf.h
|
||||
pngwrite.o: png.h pngconf.h
|
||||
pngwtran.o: png.h pngconf.h
|
||||
pngwutil.o: png.h pngconf.h
|
||||
pngpread.o: png.h pngconf.h
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
# makefile for libpng on HP-UX using GCC with the HP ANSI/C linker.
|
||||
# Copyright (C) 2002, 2006 Glenn Randers-Pehrson
|
||||
# Copyright (C) 2002, 2006-2008 Glenn Randers-Pehrson
|
||||
# Copyright (C) 2001, Laurent faillie
|
||||
# Copyright (C) 1998, 1999 Greg Roelofs
|
||||
# Copyright (C) 1996, 1997 Andreas Dilger
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
|
||||
# Library name:
|
||||
LIBNAME = libpng14
|
||||
PNGMAJ = 14
|
||||
PNGMIN = 1.4.0beta37
|
||||
LIBNAME = libpng12
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.32beta01
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
# Shared library names:
|
||||
@@ -16,6 +16,8 @@ LIBSO=$(LIBNAME).sl
|
||||
LIBSOMAJ=$(LIBNAME).sl.$(PNGMAJ)
|
||||
LIBSOVER=$(LIBNAME).sl.$(PNGVER)
|
||||
OLDSO=libpng.sl
|
||||
OLDSOMAJ=libpng.sl.3
|
||||
OLDSOVER=libpng.sl.3.$(PNGMIN)
|
||||
|
||||
# Utilities:
|
||||
CC=gcc
|
||||
@@ -51,10 +53,10 @@ WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
|
||||
|
||||
# for pgcc version 2.95.1, -O3 is buggy; don't use it.
|
||||
|
||||
CFLAGS=-I$(ZLIBINC) -W -Wall -O3 -funroll-loops \
|
||||
CFLAGS=-I$(ZLIBINC) -W -Wall -O3 -funroll-loops -DPNG_NO_MMX_CODE \
|
||||
$(ALIGN) # $(WARNMORE) -g -DPNG_DEBUG=5
|
||||
#LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng14 -lz -lm
|
||||
LDFLAGS=-L. -L$(ZLIBLIB) -lpng14 -lz -lm
|
||||
#LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng12 -lz -lm
|
||||
LDFLAGS=-L. -L$(ZLIBLIB) -lpng12 -lz -lm
|
||||
|
||||
INCPATH=$(prefix)/include
|
||||
LIBPATH=$(exec_prefix)/lib
|
||||
@@ -87,23 +89,24 @@ OBJSDLL = $(OBJS:.o=.pic.o)
|
||||
.c.pic.o:
|
||||
$(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
|
||||
|
||||
all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.hpgcc */" > pngdefs.h
|
||||
all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
$(AR_RC) $@ $(OBJS)
|
||||
$(RANLIB) $@
|
||||
|
||||
libpng.pc:
|
||||
cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
|
||||
cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
|
||||
-e s!@exec_prefix@!$(exec_prefix)! \
|
||||
-e s!@libdir@!$(LIBPATH)! \
|
||||
-e s!@includedir@!$(INCPATH)! \
|
||||
-e s!-lpng12!-lpng12\ -lz\ -lm! > libpng.pc
|
||||
|
||||
libpng-config:
|
||||
( cat scripts/libpng-config-head.in; \
|
||||
echo prefix=\"$(prefix)\"; \
|
||||
echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
|
||||
echo libs=\"-lpng14 -lz -lm\"; \
|
||||
echo libs=\"-lpng12 -lz -lm\"; \
|
||||
cat scripts/libpng-config-body.in ) > libpng-config
|
||||
chmod +x libpng-config
|
||||
|
||||
@@ -117,6 +120,10 @@ $(LIBSOVER): $(OBJSDLL)
|
||||
$(LD) -b +s \
|
||||
+h $(LIBSOMAJ) -o $(LIBSOVER) $(OBJSDLL)
|
||||
|
||||
$(OLDSOVER): $(OBJSDLL)
|
||||
$(LD) -b +s \
|
||||
+h $(OLDSOMAJ) -o $(OLDSOVER) $(OBJSDLL)
|
||||
|
||||
pngtest: pngtest.o $(LIBSO)
|
||||
$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
|
||||
|
||||
@@ -124,13 +131,12 @@ test: pngtest
|
||||
./pngtest
|
||||
|
||||
|
||||
install-headers: png.h pngconf.h pngdefs.h
|
||||
install-headers: png.h pngconf.h
|
||||
-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h pngdefs.h $(DI)/$(LIBNAME)
|
||||
cp png.h pngconf.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
|
||||
chmod 644 $(DI)/$(LIBNAME)/pngdefs.h
|
||||
-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pngdefs.h
|
||||
-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h
|
||||
-@$(RM_F) $(DI)/libpng
|
||||
(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
|
||||
|
||||
@@ -141,17 +147,23 @@ install-static: install-headers libpng.a
|
||||
-@$(RM_F) $(DL)/libpng.a
|
||||
(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers $(LIBSOVER) libpng.pc
|
||||
install-shared: install-headers $(LIBSOVER) libpng.pc \
|
||||
$(OLDSOVER)
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(LIBSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(OLDSO)
|
||||
-@$(RM_F) $(DL)/$(OLDSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(OLDSOVER)*
|
||||
cp $(LIBSOVER) $(DL)
|
||||
cp $(OLDSOVER) $(DL)
|
||||
chmod 755 $(DL)/$(LIBSOVER)
|
||||
chmod 755 $(DL)/$(OLDSOVER)
|
||||
(cd $(DL); \
|
||||
$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
|
||||
$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
|
||||
$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO); \
|
||||
$(LN_SF) $(OLDSO) $(LIBSO))
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO))
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
|
||||
-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@$(RM_F) $(DL)/pkgconfig/libpng.pc
|
||||
@@ -205,7 +217,8 @@ test-installed:
|
||||
clean:
|
||||
$(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
|
||||
libpng-config $(LIBSO) $(LIBSOMAJ)* \
|
||||
libpng.pc pngdefs.h
|
||||
$(OLDSOVER) \
|
||||
libpng.pc
|
||||
|
||||
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
|
||||
writelock:
|
||||
@@ -213,20 +226,20 @@ writelock:
|
||||
|
||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||
|
||||
png.o png.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngerror.o pngerror.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrio.o pngrio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwio.o pngwio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngmem.o pngmem.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngset.o pngset.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngget.o pngget.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngread.o pngread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrtran.o pngrtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrutil.o pngrutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtrans.o pngtrans.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwrite.o pngwrite.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwtran.o pngwtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwutil.o pngwutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngpread.o pngpread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
png.o png.pic.o: png.h pngconf.h
|
||||
pngerror.o pngerror.pic.o: png.h pngconf.h
|
||||
pngrio.o pngrio.pic.o: png.h pngconf.h
|
||||
pngwio.o pngwio.pic.o: png.h pngconf.h
|
||||
pngmem.o pngmem.pic.o: png.h pngconf.h
|
||||
pngset.o pngset.pic.o: png.h pngconf.h
|
||||
pngget.o pngget.pic.o: png.h pngconf.h
|
||||
pngread.o pngread.pic.o: png.h pngconf.h
|
||||
pngrtran.o pngrtran.pic.o: png.h pngconf.h
|
||||
pngrutil.o pngrutil.pic.o: png.h pngconf.h
|
||||
pngtrans.o pngtrans.pic.o: png.h pngconf.h
|
||||
pngwrite.o pngwrite.pic.o: png.h pngconf.h
|
||||
pngwtran.o pngwtran.pic.o: png.h pngconf.h
|
||||
pngwutil.o pngwutil.pic.o: png.h pngconf.h
|
||||
pngpread.o pngpread.pic.o: png.h pngconf.h
|
||||
|
||||
pngtest.o: png.h pngconf.h pngdefs.h
|
||||
pngtest.o: png.h pngconf.h
|
||||
|
||||
@@ -16,9 +16,9 @@ ZLIBINC=/opt/zlib/include
|
||||
# SHAREDLIB=libz.sl
|
||||
|
||||
# Library name:
|
||||
LIBNAME = libpng14
|
||||
PNGMAJ = 14
|
||||
PNGMIN = 1.4.0beta37
|
||||
LIBNAME = libpng12
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.32beta01
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
# Shared library names:
|
||||
@@ -26,6 +26,8 @@ LIBSO=$(LIBNAME).sl
|
||||
LIBSOMAJ=$(LIBNAME).sl.$(PNGMAJ)
|
||||
LIBSOVER=$(LIBNAME).sl.$(PNGVER)
|
||||
OLDSO=libpng.sl
|
||||
OLDSOMAJ=libpng.sl.3
|
||||
OLDSOVER=libpng.sl.3.$(PNGMIN)
|
||||
|
||||
# Utilities:
|
||||
AR_RC=ar rc
|
||||
@@ -35,7 +37,7 @@ LN_SF=ln -sf
|
||||
RANLIB=ranlib
|
||||
RM_F=/bin/rm -f
|
||||
|
||||
# where make install puts libpng.a, libpng14.sl, and png.h
|
||||
# where make install puts libpng.a, libpng12.sl, and png.h
|
||||
prefix=/opt/libpng
|
||||
exec_prefix=$(prefix)
|
||||
INCPATH=$(prefix)/include
|
||||
@@ -43,7 +45,7 @@ LIBPATH=$(exec_prefix)/lib
|
||||
MANPATH=$(prefix)/man
|
||||
BINPATH=$(exec_prefix)/bin
|
||||
|
||||
CFLAGS=-I$(ZLIBINC) -O -Ae +DA1.1 +DS2.0
|
||||
CFLAGS=-I$(ZLIBINC) -O -Ae +DA1.1 +DS2.0 -DPNG_NO_MMX_CODE
|
||||
# Caution: be sure you have built zlib with the same CFLAGS.
|
||||
CCFLAGS=-I$(ZLIBINC) -O -Ae +DA1.1 +DS2.0
|
||||
LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
|
||||
@@ -74,17 +76,18 @@ OBJSDLL = $(OBJS:.o=.pic.o)
|
||||
.c.pic.o:
|
||||
$(CC) -c $(CFLAGS) +z -o $@ $*.c
|
||||
|
||||
all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.hpux */" > pngdefs.h
|
||||
all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
$(AR_RC) $@ $(OBJS)
|
||||
$(RANLIB) $@
|
||||
|
||||
libpng.pc:
|
||||
cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
|
||||
cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
|
||||
-e s!@exec_prefix@!$(exec_prefix)! \
|
||||
-e s!@libdir@!$(LIBPATH)! \
|
||||
-e s!@includedir@!$(INCPATH)! \
|
||||
-e s!-lpng12!-lpng12\ -lz\ -lm! > libpng.pc
|
||||
|
||||
libpng-config:
|
||||
( cat scripts/libpng-config-head.in; \
|
||||
@@ -92,7 +95,7 @@ libpng-config:
|
||||
echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
|
||||
echo ccopts=\"-Ae +DA1.1 +DS2.0\"; \
|
||||
echo L_opts=\"-L$(LIBPATH)\"; \
|
||||
echo libs=\"-lpng14 -lz -lm\"; \
|
||||
echo libs=\"-lpng12 -lz -lm\"; \
|
||||
cat scripts/libpng-config-body.in ) > libpng-config
|
||||
chmod +x libpng-config
|
||||
|
||||
@@ -106,19 +109,22 @@ $(LIBSOVER): $(OBJSDLL)
|
||||
$(LD) -b +s \
|
||||
+h $(LIBSOMAJ) -o $(LIBSOVER) $(OBJSDLL)
|
||||
|
||||
$(OLDSOVER): $(OBJSDLL)
|
||||
$(LD) -b +s \
|
||||
+h $(OLDSOMAJ) -o $(OLDSOVER) $(OBJSDLL)
|
||||
|
||||
pngtest: pngtest.o libpng.a
|
||||
$(CC) -o pngtest $(CCFLAGS) pngtest.o $(LDFLAGS)
|
||||
|
||||
test: pngtest
|
||||
./pngtest
|
||||
|
||||
install-headers: png.h pngconf.h pngdefs.h
|
||||
install-headers: png.h pngconf.h
|
||||
-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h pngdefs.h $(DI)/$(LIBNAME)
|
||||
cp png.h pngconf.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
|
||||
chmod 644 $(DI)/$(LIBNAME)/pngdefs.h
|
||||
-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pngdefs.h
|
||||
-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h
|
||||
-@$(RM_F) $(DI)/libpng
|
||||
(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
|
||||
|
||||
@@ -129,17 +135,23 @@ install-static: install-headers libpng.a
|
||||
-@$(RM_F) $(DL)/libpng.a
|
||||
(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers $(LIBSOVER) libpng.pc
|
||||
install-shared: install-headers $(LIBSOVER) libpng.pc \
|
||||
$(OLDSOVER)
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(LIBSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(OLDSO)
|
||||
-@$(RM_F) $(DL)/$(OLDSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(OLDSOVER)*
|
||||
cp $(LIBSOVER) $(DL)
|
||||
cp $(OLDSOVER) $(DL)
|
||||
chmod 755 $(DL)/$(LIBSOVER)
|
||||
chmod 755 $(DL)/$(OLDSOVER)
|
||||
(cd $(DL); \
|
||||
$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
|
||||
$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
|
||||
$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO); \
|
||||
$(LN_SF) $(OLDSO) $(LIBSO))
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO))
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
|
||||
-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@$(RM_F) $(DL)/pkgconfig/libpng.pc
|
||||
@@ -166,7 +178,7 @@ install-config: libpng-config
|
||||
chmod 755 $(DB)/$(LIBNAME)-config
|
||||
(cd $(DB); $(LN_SF) $(LIBNAME)-config libpng-config)
|
||||
|
||||
install: install-static install-shared install-man install-config pngdefs.h
|
||||
install: install-static install-shared install-man install-config
|
||||
|
||||
# If you installed in $(DESTDIR), test-installed won't work until you
|
||||
# move the library to its final location. Use test-dd to test it
|
||||
@@ -193,7 +205,8 @@ test-installed:
|
||||
clean:
|
||||
$(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
|
||||
libpng-config $(LIBSO) $(LIBSOMAJ)* \
|
||||
libpng.pc pngdefs.h
|
||||
$(OLDSOVER) \
|
||||
libpng.pc
|
||||
|
||||
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
|
||||
writelock:
|
||||
@@ -201,19 +214,19 @@ writelock:
|
||||
|
||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||
|
||||
png.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngerror.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrio.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwio.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngmem.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngset.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngget.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngread.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrtran.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrutil.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtrans.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwrite.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwtran.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwutil.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngpread.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtest.o: png.h pngconf.h pngdefs.h
|
||||
png.o: png.h pngconf.h
|
||||
pngerror.o: png.h pngconf.h
|
||||
pngrio.o: png.h pngconf.h
|
||||
pngwio.o: png.h pngconf.h
|
||||
pngmem.o: png.h pngconf.h
|
||||
pngset.o: png.h pngconf.h
|
||||
pngget.o: png.h pngconf.h
|
||||
pngread.o: png.h pngconf.h
|
||||
pngrtran.o: png.h pngconf.h
|
||||
pngrutil.o: png.h pngconf.h
|
||||
pngtest.o: png.h pngconf.h
|
||||
pngtrans.o: png.h pngconf.h
|
||||
pngwrite.o: png.h pngconf.h
|
||||
pngwtran.o: png.h pngconf.h
|
||||
pngwutil.o: png.h pngconf.h
|
||||
pngpread.o: png.h pngconf.h
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# Makefile for libpng (static)
|
||||
# IBM C version 3.x for Win32 and OS/2
|
||||
# Copyright (C) 2006 Glenn Randers-Pehrson
|
||||
# Copyright (C) 2000 Cosmin Truta
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
# Notes:
|
||||
@@ -30,16 +29,12 @@ E=.exe
|
||||
# Variables
|
||||
OBJS = png$(O) pngerror$(O) pngget$(O) pngmem$(O) pngpread$(O) \
|
||||
pngread$(O) pngrio$(O) pngrtran$(O) pngrutil$(O) pngset$(O) \
|
||||
pngtrans$(O) pngwio$(O) pngwrite$(O) pngwtran$(O) pngwutil$(O) \
|
||||
pnggccrd$(O)
|
||||
pngtrans$(O) pngwio$(O) pngwrite$(O) pngwtran$(O) pngwutil$(O)
|
||||
|
||||
LIBS = libpng$(A) $(ZLIBLIB)/zlib$(A)
|
||||
|
||||
# Targets
|
||||
all: libpng$(A) pngtest$(E) pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.ibmc */" > pngdefs.h
|
||||
all: libpng$(A) pngtest$(E)
|
||||
|
||||
libpng$(A): $(OBJS)
|
||||
$(AR) -out:$@ $(OBJS)
|
||||
@@ -57,23 +52,20 @@ clean:
|
||||
$(RM) libpng$(A)
|
||||
$(RM) pngtest$(E)
|
||||
$(RM) pngout.png
|
||||
$(RM) pngdefs.h
|
||||
|
||||
png$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngerror$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pnggccrd$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngget$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngmem$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngpread$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngread$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrio$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrtran$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrutil$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngset$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtest$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtrans$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwio$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwrite$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwtran$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwutil$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtest$(O): png.h pngconf.h pngdefs.h
|
||||
png$(O): png.h pngconf.h
|
||||
pngerror$(O): png.h pngconf.h
|
||||
pngget$(O): png.h pngconf.h
|
||||
pngmem$(O): png.h pngconf.h
|
||||
pngpread$(O): png.h pngconf.h
|
||||
pngread$(O): png.h pngconf.h
|
||||
pngrio$(O): png.h pngconf.h
|
||||
pngrtran$(O): png.h pngconf.h
|
||||
pngrutil$(O): png.h pngconf.h
|
||||
pngset$(O): png.h pngconf.h
|
||||
pngtest$(O): png.h pngconf.h
|
||||
pngtrans$(O): png.h pngconf.h
|
||||
pngwio$(O): png.h pngconf.h
|
||||
pngwrite$(O): png.h pngconf.h
|
||||
pngwtran$(O): png.h pngconf.h
|
||||
pngwutil$(O): png.h pngconf.h
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
# Makefile for libpng
|
||||
# Microsoft Visual C++ with Intel C/C++ Compiler 4.0 and later
|
||||
|
||||
# Copyright (C) 2006 Glenn Randers-Pehrson
|
||||
# Copyright (C) 2000, Pawel Mrochen, based on makefile.msc which is
|
||||
# copyright 1995 Guy Eric Schalnat, Group 42, Inc.
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
@@ -9,12 +8,6 @@
|
||||
# To use, do "nmake /f scripts\makefile.intel"
|
||||
|
||||
|
||||
# ------------------- Intel C/C++ Compiler 4.0 and later -------------------
|
||||
|
||||
# Caution: the assembler code was introduced at libpng version 1.0.4 and has
|
||||
# not yet been thoroughly tested.
|
||||
|
||||
|
||||
# Where the zlib library and include files are located
|
||||
ZLIBLIB=..\zlib
|
||||
ZLIBINC=..\zlib
|
||||
@@ -35,7 +28,7 @@ CALLING=r # __fastcall
|
||||
|
||||
|
||||
CC=icl -c
|
||||
CFLAGS=-O2 -G$(CPU)$(CALLING) -Qip -Qunroll4 -I$(ZLIBINC) -nologo
|
||||
CFLAGS=-O2 -G$(CPU)$(CALLING) -Qip -Qunroll4 -I$(ZLIBINC) -nologo
|
||||
LD=link
|
||||
LDFLAGS=/SUBSYSTEM:CONSOLE /NOLOGO
|
||||
|
||||
@@ -43,64 +36,56 @@ O=.obj
|
||||
|
||||
OBJS=png$(O) pngset$(O) pngget$(O) pngrutil$(O) pngtrans$(O) pngwutil$(O) \
|
||||
pngmem$(O) pngpread$(O) pngread$(O) pngerror$(O) pngwrite$(O) \
|
||||
pngrtran$(O) pngwtran$(O) pngrio$(O) pngwio$(O) pngvcrd$(O)
|
||||
pngrtran$(O) pngwtran$(O) pngrio$(O) pngwio$(O)
|
||||
|
||||
all: test
|
||||
|
||||
all: test pngconf.h pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.intel */" > pngdefs.h
|
||||
echo "#define PNG_USE_PNGVCRD" >> pngdefs.h
|
||||
|
||||
png$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
png$(O): png.h pngconf.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngset$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngset$(O): png.h pngconf.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngget$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngget$(O): png.h pngconf.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngread$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngread$(O): png.h pngconf.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngpread$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngpread$(O): png.h pngconf.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngrtran$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrtran$(O): png.h pngconf.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngrutil$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrutil$(O): png.h pngconf.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngvcrd$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngerror$(O): png.h pngconf.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngerror$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngmem$(O): png.h pngconf.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngmem$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrio$(O): png.h pngconf.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngrio$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwio$(O): png.h pngconf.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngwio$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtest$(O): png.h pngconf.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngtest$(O): png.h pngconf.h pngdefs.h
|
||||
pngtrans$(O): png.h pngconf.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngtrans$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwrite$(O): png.h pngconf.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngwrite$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwtran$(O): png.h pngconf.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngwtran$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngwutil$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwutil$(O): png.h pngconf.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
libpng.lib: $(OBJS)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# makefile for libpng
|
||||
# Copyright (C) 2002, 2006 Glenn Randers-Pehrson
|
||||
# Copyright (C) 2002 Glenn Randers-Pehrson
|
||||
# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
|
||||
@@ -34,12 +34,9 @@ RANLIB=ranlib
|
||||
|
||||
OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
|
||||
pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
|
||||
pngwtran.o pngmem.o pngerror.o pngpread.o pnggccrd.o
|
||||
pngwtran.o pngmem.o pngerror.o pngpread.o
|
||||
|
||||
all: ansi2knr libpng.a pngtest pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.knr */" > pngdefs.h
|
||||
all: ansi2knr libpng.a pngtest
|
||||
|
||||
# general rule to allow ansi2knr to work
|
||||
.c.o:
|
||||
@@ -61,25 +58,22 @@ pngtest: pngtest.o libpng.a
|
||||
test: pngtest
|
||||
./pngtest
|
||||
|
||||
install: libpng.a png.h pngconf.h pngdefs.h
|
||||
install: libpng.a
|
||||
-@mkdir $(DESTDIR)$(INCPATH)
|
||||
-@mkdir $(DESTDIR)$(INCPATH)/libpng
|
||||
-@mkdir $(DESTDIR)$(LIBPATH)
|
||||
-@rm -f $(DESTDIR)$(INCPATH)/png.h
|
||||
-@rm -f $(DESTDIR)$(INCPATH)/pngconf.h
|
||||
-@rm -f $(DESTDIR)$(INCPATH)/pngdefs.h
|
||||
cp png.h $(DESTDIR)$(INCPATH)/libpng
|
||||
cp pngconf.h $(DESTDIR)$(INCPATH)/libpng
|
||||
cp pngdefs.h $(DESTDIR)$(INCPATH)/libpng
|
||||
chmod 644 $(DESTDIR)$(INCPATH)/libpng/png.h
|
||||
chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngconf.h
|
||||
chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngdefs.h
|
||||
(cd $(DESTDIR)$(INCPATH); ln -f -s libpng/* .)
|
||||
cp libpng.a $(DESTDIR)$(LIBPATH)
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/libpng.a
|
||||
|
||||
clean:
|
||||
rm -f *.o libpng.a pngtest pngout.png ansi2knr pngdefs.h
|
||||
rm -f *.o libpng.a pngtest pngout.png ansi2knr
|
||||
|
||||
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
|
||||
writelock:
|
||||
@@ -87,20 +81,19 @@ writelock:
|
||||
|
||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||
|
||||
png.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngerror.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrio.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwio.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngmem.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngset.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pnggccrd.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngget.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngread.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngpread.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrtran.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrutil.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtrans.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwrite.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwtran.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwutil.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtest.o: png.h pngconf.h pngdefs.h
|
||||
png.o: png.h pngconf.h
|
||||
pngerror.o: png.h pngconf.h
|
||||
pngrio.o: png.h pngconf.h
|
||||
pngwio.o: png.h pngconf.h
|
||||
pngmem.o: png.h pngconf.h
|
||||
pngset.o: png.h pngconf.h
|
||||
pngget.o: png.h pngconf.h
|
||||
pngread.o: png.h pngconf.h
|
||||
pngpread.o: png.h pngconf.h
|
||||
pngrtran.o: png.h pngconf.h
|
||||
pngrutil.o: png.h pngconf.h
|
||||
pngtest.o: png.h pngconf.h
|
||||
pngtrans.o: png.h pngconf.h
|
||||
pngwrite.o: png.h pngconf.h
|
||||
pngwtran.o: png.h pngconf.h
|
||||
pngwutil.o: png.h pngconf.h
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
# makefile for libpng.a and libpng14.so on Linux ELF with gcc
|
||||
# Copyright (C) 1998, 1999, 2002, 2006 Greg Roelofs and Glenn Randers-Pehrson
|
||||
# makefile for libpng.a and libpng12.so on Linux ELF with gcc
|
||||
# Copyright (C) 1998, 1999, 2002, 2006, 2008 Greg Roelofs and
|
||||
# Glenn Randers-Pehrson
|
||||
# Copyright (C) 1996, 1997 Andreas Dilger
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
|
||||
# Library name:
|
||||
LIBNAME = libpng14
|
||||
PNGMAJ = 14
|
||||
PNGMIN = 1.4.0beta37
|
||||
LIBNAME = libpng12
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.32beta01
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
# Shared library names:
|
||||
@@ -14,6 +15,8 @@ LIBSO=$(LIBNAME).so
|
||||
LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
|
||||
LIBSOVER=$(LIBNAME).so.$(PNGVER)
|
||||
OLDSO=libpng.so
|
||||
OLDSOMAJ=libpng.so.3
|
||||
OLDSOVER=libpng.so.3.$(PNGMIN)
|
||||
|
||||
# Utilities:
|
||||
AR_RC=ar rc
|
||||
@@ -23,8 +26,8 @@ LN_SF=ln -sf
|
||||
RANLIB=ranlib
|
||||
RM_F=/bin/rm -f
|
||||
|
||||
# where "make install" puts libpng14.a, libpng14.so*,
|
||||
# libpng14/png.h and libpng14/pngconf.h
|
||||
# where "make install" puts libpng12.a, libpng12.so*,
|
||||
# libpng12/png.h and libpng12/pngconf.h
|
||||
# Prefix must be a full pathname.
|
||||
prefix=/usr/local
|
||||
exec_prefix=$(prefix)
|
||||
@@ -45,10 +48,10 @@ WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
|
||||
|
||||
# for pgcc version 2.95.1, -O3 is buggy; don't use it.
|
||||
|
||||
CFLAGS=-I$(ZLIBINC) -W -Wall -O3 -funroll-loops \
|
||||
CFLAGS=-I$(ZLIBINC) -W -Wall -O3 -funroll-loops -DPNG_NO_MMX_CODE \
|
||||
$(ALIGN) # $(WARNMORE) -g -DPNG_DEBUG=5
|
||||
|
||||
LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng14 -lz -lm
|
||||
LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng12 -lz -lm
|
||||
LDFLAGS_A=-L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) libpng.a -lz -lm
|
||||
|
||||
INCPATH=$(prefix)/include
|
||||
@@ -82,21 +85,18 @@ OBJSDLL = $(OBJS:.o=.pic.o)
|
||||
.c.pic.o:
|
||||
$(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
|
||||
|
||||
all: libpng.a $(LIBSO) pngtest pngtest-static libpng.pc libpng-config pngdefs.h
|
||||
|
||||
# Use makefile.gcmmx if you want to use the MMX assembler code.
|
||||
# If you don't need thread safety you can uncomment the define.
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.linux */" > pngdefs.h
|
||||
echo "#define PNG_NO_MMX_CODE" >> pngdefs.h
|
||||
# echo "#define PNG_THREAD_UNSAFE_OK" >> pngdefs.h
|
||||
all: libpng.a $(LIBSO) pngtest pngtest-static libpng.pc libpng-config
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
$(AR_RC) $@ $(OBJS)
|
||||
$(RANLIB) $@
|
||||
|
||||
libpng.pc:
|
||||
cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
|
||||
cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
|
||||
-e s!@exec_prefix@!$(exec_prefix)! \
|
||||
-e s!@libdir@!$(LIBPATH)! \
|
||||
-e s!@includedir@!$(INCPATH)! \
|
||||
-e s!-lpng12!-lpng12\ -lz\ -lm! > libpng.pc
|
||||
|
||||
libpng-config:
|
||||
( cat scripts/libpng-config-head.in; \
|
||||
@@ -104,7 +104,7 @@ libpng-config:
|
||||
echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
|
||||
echo L_opts=\"-L$(LIBPATH)\"; \
|
||||
echo R_opts=\"-Wl,-rpath,$(LIBPATH)\"; \
|
||||
echo libs=\"-lpng14 -lz -lm\"; \
|
||||
echo libs=\"-lpng12 -lz -lm\"; \
|
||||
cat scripts/libpng-config-body.in ) > libpng-config
|
||||
chmod +x libpng-config
|
||||
|
||||
@@ -117,6 +117,11 @@ $(LIBSOMAJ): $(LIBSOVER)
|
||||
$(LIBSOVER): $(OBJSDLL)
|
||||
$(CC) -shared -Wl,-soname,$(LIBSOMAJ) -o $(LIBSOVER) $(OBJSDLL)
|
||||
|
||||
$(OLDSOVER): $(OBJSDLL)
|
||||
$(CC) -shared -Wl,-soname,$(OLDSOMAJ) \
|
||||
-o $(OLDSOVER) \
|
||||
$(OBJSDLL)
|
||||
|
||||
pngtest: pngtest.o $(LIBSO)
|
||||
$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
|
||||
|
||||
@@ -133,13 +138,12 @@ test: pngtest pngtest-static
|
||||
@echo ""
|
||||
./pngtest-static
|
||||
|
||||
install-headers: png.h pngconf.h pngdefs.h
|
||||
install-headers: png.h pngconf.h
|
||||
-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h pngdefs.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h \
|
||||
$(DI)/$(LIBNAME)/pngdefs.h
|
||||
-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pngdefs.h
|
||||
cp png.h pngconf.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
|
||||
-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h
|
||||
-@$(RM_F) $(DI)/libpng
|
||||
(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
|
||||
|
||||
@@ -150,17 +154,23 @@ install-static: install-headers libpng.a
|
||||
-@$(RM_F) $(DL)/libpng.a
|
||||
(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers $(LIBSOVER) libpng.pc
|
||||
install-shared: install-headers $(LIBSOVER) libpng.pc \
|
||||
$(OLDSOVER)
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(LIBSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(OLDSO)
|
||||
-@$(RM_F) $(DL)/$(OLDSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(OLDSOVER)*
|
||||
cp $(LIBSOVER) $(DL)
|
||||
cp $(OLDSOVER) $(DL)
|
||||
chmod 755 $(DL)/$(LIBSOVER)
|
||||
chmod 755 $(DL)/$(OLDSOVER)
|
||||
(cd $(DL); \
|
||||
$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
|
||||
$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
|
||||
$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO); \
|
||||
$(LN_SF) $(OLDSO) $(LIBSO))
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO))
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
|
||||
-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@$(RM_F) $(DL)/pkgconfig/libpng.pc
|
||||
@@ -210,8 +220,9 @@ test-installed:
|
||||
./pngtesti pngtest.png
|
||||
|
||||
clean:
|
||||
$(RM_F) *.o libpng.a pngtest pngout.png libpng-config pngdefs.h \
|
||||
$(RM_F) *.o libpng.a pngtest pngout.png libpng-config \
|
||||
$(LIBSO) $(LIBSOMAJ)* pngtest-static pngtesti \
|
||||
$(OLDSOVER) \
|
||||
libpng.pc
|
||||
|
||||
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
|
||||
@@ -220,20 +231,20 @@ writelock:
|
||||
|
||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||
|
||||
png.o png.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngerror.o pngerror.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrio.o pngrio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwio.o pngwio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngmem.o pngmem.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngset.o pngset.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngget.o pngget.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngread.o pngread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrtran.o pngrtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrutil.o pngrutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtrans.o pngtrans.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwrite.o pngwrite.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwtran.o pngwtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwutil.o pngwutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngpread.o pngpread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
png.o png.pic.o: png.h pngconf.h
|
||||
pngerror.o pngerror.pic.o: png.h pngconf.h
|
||||
pngrio.o pngrio.pic.o: png.h pngconf.h
|
||||
pngwio.o pngwio.pic.o: png.h pngconf.h
|
||||
pngmem.o pngmem.pic.o: png.h pngconf.h
|
||||
pngset.o pngset.pic.o: png.h pngconf.h
|
||||
pngget.o pngget.pic.o: png.h pngconf.h
|
||||
pngread.o pngread.pic.o: png.h pngconf.h
|
||||
pngrtran.o pngrtran.pic.o: png.h pngconf.h
|
||||
pngrutil.o pngrutil.pic.o: png.h pngconf.h
|
||||
pngtrans.o pngtrans.pic.o: png.h pngconf.h
|
||||
pngwrite.o pngwrite.pic.o: png.h pngconf.h
|
||||
pngwtran.o pngwtran.pic.o: png.h pngconf.h
|
||||
pngwutil.o pngwutil.pic.o: png.h pngconf.h
|
||||
pngpread.o pngpread.pic.o: png.h pngconf.h
|
||||
|
||||
pngtest.o: png.h pngconf.h pngdefs.h
|
||||
pngtest.o: png.h pngconf.h
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
# statically linked and one dynamically linked.
|
||||
#
|
||||
# Built from makefile.cygwin
|
||||
# Copyright (C) 2002, 2006 Soren Anderson, Charles Wilson,
|
||||
# Copyright (C) 2002, 2006, 2008 Soren Anderson, Charles Wilson,
|
||||
# and Glenn Randers-Pehrson, based on makefile for linux-elf w/mmx by:
|
||||
# Copyright (C) 1998-2000, 2007 Greg Roelofs
|
||||
# Copyright (C) 1996, 1997 Andreas Dilger
|
||||
@@ -39,11 +39,6 @@ RANLIB=ranlib
|
||||
|
||||
MKDIR_P=/bin/mkdir -pv
|
||||
|
||||
|
||||
# To enable assembler optimizations, add '-DPNG_USE_PNGGCCRD' to
|
||||
# $CFLAGS, and include pnggccrd.o in $OBJS, below.
|
||||
|
||||
|
||||
# Where "make install" puts libpng*.a, *png*.dll, png.h, and pngconf.h
|
||||
ifndef prefix
|
||||
prefix=/usr
|
||||
@@ -63,25 +58,23 @@ WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
|
||||
-Wmissing-declarations -Wtraditional -Wcast-align \
|
||||
-Wstrict-prototypes -Wmissing-prototypes #-Wconversion
|
||||
|
||||
### if you use the asm, add pnggccrd.o to the OBJS list
|
||||
###
|
||||
### if you don't need thread safety, but want the asm accel
|
||||
#CFLAGS= $(strip $(MINGW_CCFLAGS) -DPNG_THREAD_UNSAFE_OK -DPNG_USE_PNGGCCRD \
|
||||
# $(addprefix -I,$(ZLIBINC)) -W -Wall -O3 $(ALIGN) -funroll-loops \
|
||||
#CFLAGS= $(strip $(MINGW_CCFLAGS) -DPNG_THREAD_UNSAFE_OK \
|
||||
# $(addprefix -I,$(ZLIBINC)) -W -Wall -O $(ALIGN) -funroll-loops \
|
||||
# -fomit-frame-pointer) # $(WARNMORE) -g -DPNG_DEBUG=5
|
||||
### if you need thread safety and want (minimal) asm accel
|
||||
#CFLAGS= $(strip $(MINGW_CCFLAGS) -DPNG_USE_PNGGCCRD $(addprefix -I,$(ZLIBINC)) \
|
||||
# -W -Wall -O3 $(ALIGN) -funroll-loops \
|
||||
#CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \
|
||||
# -W -Wall -O $(ALIGN) -funroll-loops \
|
||||
# -fomit-frame-pointer) # $(WARNMORE) -g -DPNG_DEBUG=5
|
||||
### Normal (non-asm) compilation
|
||||
CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \
|
||||
-W -Wall -O3 $(ALIGN) -funroll-loops \
|
||||
-W -Wall -O3 $(ALIGN) -funroll-loops -DPNG_NO_MMX_CODE \
|
||||
-fomit-frame-pointer) # $(WARNMORE) -g -DPNG_DEBUG=5
|
||||
|
||||
LIBNAME = libpng14
|
||||
PNGMAJ = 14
|
||||
MINGDLL = 14
|
||||
PNGMIN = 1.4.0beta37
|
||||
LIBNAME = libpng12
|
||||
PNGMAJ = 0
|
||||
MINGDLL = 12
|
||||
PNGMIN = 1.2.32beta01
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
SHAREDLIB=libpng$(MINGDLL).dll
|
||||
@@ -112,7 +105,7 @@ DL =$(D)$(LIBPATH)
|
||||
|
||||
OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
|
||||
pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
|
||||
pngwtran.o pngmem.o pngerror.o pngpread.o # pnggccrd.o
|
||||
pngwtran.o pngmem.o pngerror.o pngpread.o
|
||||
|
||||
OBJSDLL = $(OBJS:.o=.pic.o)
|
||||
|
||||
@@ -124,15 +117,7 @@ OBJSDLL = $(OBJS:.o=.pic.o)
|
||||
%.pic.o : %.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
all: all-static all-shared libpng.pc libpng-config libpng.pc libpng-config \
|
||||
pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.mingw */" > pngdefs.h
|
||||
/* if you don't want to use the intel MMX code, uncomment this */
|
||||
# echo "#define PNG_NO_MMX_CODE" >> pngdefs.h
|
||||
/* if you don't need thread safety you can uncomment this */
|
||||
# echo "#define PNG_THREAD_UNSAFE_OK" >> pngdefs.h
|
||||
all: all-static all-shared libpng.pc libpng-config libpng.pc libpng-config
|
||||
|
||||
# Make this to verify that "make [...] install" will do what you want.
|
||||
buildsetup-tell:
|
||||
@@ -145,8 +130,12 @@ buildsetup-tell:
|
||||
libpng.pc: scripts/libpng.pc.in
|
||||
@echo -e Making pkg-config file for this libpng installation..'\n' \
|
||||
using PREFIX=\"$(prefix)\"'\n'
|
||||
cat $(S)/scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! | \
|
||||
sed -e s/-lm// > libpng.pc
|
||||
cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
|
||||
-e s!@exec_prefix@!$(exec_prefix)! \
|
||||
-e s!@libdir@!$(LIBPATH)! \
|
||||
-e s!@includedir@!$(INCPATH)! \
|
||||
-e s!@includedir@!$(INCPATH)! \
|
||||
-e s!-lpng12!-lpng12\ -lz\ -lm! > libpng.pc
|
||||
|
||||
libpng-config: scripts/libpng-config-head.in scripts/libpng-config-body.in
|
||||
@echo -e Making $(LIBNAME) libpng-config file for this libpng \
|
||||
@@ -168,7 +157,7 @@ $(STATLIB): $(OBJS)
|
||||
$(AR) rc $@ $(OBJS)
|
||||
$(RANLIB) $@
|
||||
|
||||
$(SHAREDDEF): scripts/pngwin.def
|
||||
$(SHAREDDEF): scripts/pngw32.def
|
||||
cat $< | sed -e '1{G;s/^\(.*\)\(\n\)/EXPORTS/;};2,/^EXPORTS/d' | \
|
||||
sed -e 's/\([^;]*\);/;/' > $@
|
||||
|
||||
@@ -253,16 +242,16 @@ test-dd:
|
||||
echo
|
||||
echo Testing installed dynamic shared library in $(DL).
|
||||
$(CC) -I$(DI) $(CFLAGS) \
|
||||
`$(BINPATH)/libpng14-config --cflags` pngtest.c \
|
||||
`$(BINPATH)/libpng12-config --cflags` pngtest.c \
|
||||
-L$(DL) -L$(ZLIBLIB) \
|
||||
-o pngtestd `$(BINPATH)/libpng14-config --ldflags`
|
||||
-o pngtestd `$(BINPATH)/libpng12-config --ldflags`
|
||||
./pngtestd pngtest.png
|
||||
|
||||
test-installed:
|
||||
$(CC) $(CFLAGS) \
|
||||
`$(BINPATH)/libpng14-config --cflags` pngtest.c \
|
||||
`$(BINPATH)/libpng12-config --cflags` pngtest.c \
|
||||
-L$(ZLIBLIB) \
|
||||
-o pngtesti$(EXE) `$(BINPATH)/libpng14-config --ldflags`
|
||||
-o pngtesti$(EXE) `$(BINPATH)/libpng12-config --ldflags`
|
||||
./pngtesti$(EXE) pngtest.png
|
||||
|
||||
clean:
|
||||
@@ -278,24 +267,23 @@ writelock:
|
||||
|
||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||
|
||||
png.o png.pic.o: png.h pngconf.h pngpriv.h pngdefs.h png.c
|
||||
pngerror.o pngerror.pic.o: png.h pngconf.h pngpriv.h pngdefs.h pngerror.c
|
||||
pngrio.o pngrio.pic.o: png.h pngconf.h pngpriv.h pngdefs.h pngrio.c
|
||||
pngwio.o pngwio.pic.o: png.h pngconf.h pngpriv.h pngdefs.h pngwio.c
|
||||
pngmem.o pngmem.pic.o: png.h pngconf.h pngpriv.h pngdefs.h pngmem.c
|
||||
pngset.o pngset.pic.o: png.h pngconf.h pngpriv.h pngdefs.h pngset.c
|
||||
pngget.o pngget.pic.o: png.h pngconf.h pngpriv.h pngdefs.h pngget.c
|
||||
pngread.o pngread.pic.o: png.h pngconf.h pngpriv.h pngdefs.h pngread.c
|
||||
pngrtran.o pngrtran.pic.o: png.h pngconf.h pngpriv.h pngdefs.h pngrtran.c
|
||||
pngrutil.o pngrutil.pic.o: png.h pngconf.h pngpriv.h pngdefs.h pngrutil.c
|
||||
pngtrans.o pngtrans.pic.o: png.h pngconf.h pngpriv.h pngdefs.h pngtrans.c
|
||||
pngwrite.o pngwrite.pic.o: png.h pngconf.h pngpriv.h pngdefs.h pngwrite.c
|
||||
pngwtran.o pngwtran.pic.o: png.h pngconf.h pngpriv.h pngdefs.h pngwtran.c
|
||||
pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpriv.h pngdefs.h pngwutil.c
|
||||
pngpread.o pngpread.pic.o: png.h pngconf.h pngpriv.h pngdefs.h pngpread.c
|
||||
pnggccrd.o pnggccrd.pic.o: png.h pngconf.h pngpriv.h pngdefs.h pnggccrd.c
|
||||
png.o png.pic.o: png.h pngconf.h png.c
|
||||
pngerror.o pngerror.pic.o: png.h pngconf.h pngerror.c
|
||||
pngrio.o pngrio.pic.o: png.h pngconf.h pngrio.c
|
||||
pngwio.o pngwio.pic.o: png.h pngconf.h pngwio.c
|
||||
pngmem.o pngmem.pic.o: png.h pngconf.h pngmem.c
|
||||
pngset.o pngset.pic.o: png.h pngconf.h pngset.c
|
||||
pngget.o pngget.pic.o: png.h pngconf.h pngget.c
|
||||
pngread.o pngread.pic.o: png.h pngconf.h pngread.c
|
||||
pngrtran.o pngrtran.pic.o: png.h pngconf.h pngrtran.c
|
||||
pngrutil.o pngrutil.pic.o: png.h pngconf.h pngrutil.c
|
||||
pngtrans.o pngtrans.pic.o: png.h pngconf.h pngtrans.c
|
||||
pngwrite.o pngwrite.pic.o: png.h pngconf.h pngwrite.c
|
||||
pngwtran.o pngwtran.pic.o: png.h pngconf.h pngwtran.c
|
||||
pngwutil.o pngwutil.pic.o: png.h pngconf.h pngwutil.c
|
||||
pngpread.o pngpread.pic.o: png.h pngconf.h pngpread.c
|
||||
|
||||
pngtest.o pngtest.pic.o: png.h pngconf.h pngpriv.h pngdefs.h pngtest.c
|
||||
pngtest.o pngtest.pic.o: png.h pngconf.h pngtest.c
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -30,10 +30,7 @@ OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
|
||||
pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
|
||||
pngwtran.o pngmem.o pngerror.o pngpread.o
|
||||
|
||||
all: libpng.a pngtest pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.mips */" > pngdefs.h
|
||||
all: libpng.a pngtest
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
ar rc $@ $(OBJS)
|
||||
@@ -51,19 +48,16 @@ install: libpng.a
|
||||
-@mkdir $(DESTDIR)$(LIBPATH)
|
||||
-@rm -f $(DESTDIR)$(INCPATH)/png.h
|
||||
-@rm -f $(DESTDIR)$(INCPATH)/pngconf.h
|
||||
-@rm -f $(DESTDIR)$(INCPATH)/pngdefs.h
|
||||
cp png.h $(DESTDIR)$(INCPATH)/libpng
|
||||
cp pngconf.h $(DESTDIR)$(INCPATH)/libpng
|
||||
cp pngdefs.h $(DESTDIR)$(INCPATH)/libpng
|
||||
chmod 644 $(DESTDIR)$(INCPATH)/libpng/png.h
|
||||
chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngconf.h
|
||||
chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngdefs.h
|
||||
(cd $(DESTDIR)$(INCPATH); ln -f -s libpng/* .)
|
||||
cp libpng.a $(DESTDIR)$(LIBPATH)
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/libpng.a
|
||||
|
||||
clean:
|
||||
rm -f *.o libpng.a pngtest pngout.png pngdefs.h
|
||||
rm -f *.o libpng.a pngtest pngout.png
|
||||
|
||||
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
|
||||
writelock:
|
||||
@@ -71,19 +65,19 @@ writelock:
|
||||
|
||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||
|
||||
png.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngerror.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrio.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwio.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngmem.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngset.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngget.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngread.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngpread.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrtran.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrutil.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtrans.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwrite.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwtran.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwutil.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtest.o: png.h pngconf.h pngdefs.h
|
||||
png.o: png.h pngconf.h
|
||||
pngerror.o: png.h pngconf.h
|
||||
pngrio.o: png.h pngconf.h
|
||||
pngwio.o: png.h pngconf.h
|
||||
pngmem.o: png.h pngconf.h
|
||||
pngset.o: png.h pngconf.h
|
||||
pngget.o: png.h pngconf.h
|
||||
pngread.o: png.h pngconf.h
|
||||
pngpread.o: png.h pngconf.h
|
||||
pngrtran.o: png.h pngconf.h
|
||||
pngrutil.o: png.h pngconf.h
|
||||
pngtest.o: png.h pngconf.h
|
||||
pngtrans.o: png.h pngconf.h
|
||||
pngwrite.o: png.h pngconf.h
|
||||
pngwtran.o: png.h pngconf.h
|
||||
pngwutil.o: png.h pngconf.h
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# makefile for libpng
|
||||
# Copyright (C) 2006 Glenn Randers-Pehrson
|
||||
# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
# Assumes that zlib.lib, zconf.h, and zlib.h have been copied to ..\zlib
|
||||
@@ -19,62 +18,56 @@ ERRFILE= >> pngerrs
|
||||
# variables
|
||||
OBJS1 = png$(O) pngset$(O) pngget$(O) pngrutil$(O) pngtrans$(O) pngwutil$(O)
|
||||
OBJS2 = pngmem$(O) pngpread$(O) pngread$(O) pngerror$(O) pngwrite$(O)
|
||||
OBJS3 = pngrtran$(O) pngwtran$(O) pngrio$(O) pngwio$(O) pnggccrd$(O)
|
||||
OBJS3 = pngrtran$(O) pngwtran$(O) pngrio$(O) pngwio$(O)
|
||||
|
||||
all: libpng.lib pngdefs.h
|
||||
all: libpng.lib
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.msc */" > pngdefs.h
|
||||
|
||||
png$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
png$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngset$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngset$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pnggccrd$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngget$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngget$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngread$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngread$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngpread$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngpread$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngrtran$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrtran$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngrutil$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrutil$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngerror$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngerror$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngmem$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngmem$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngrio$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrio$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngwio$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwio$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngtest$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtest$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngtrans$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtrans$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngwrite$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwrite$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngwtran$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwtran$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngwutil$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwutil$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
libpng.lib: $(OBJS1) $(OBJS2) $(OBJS3)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# makefile for libpng for NetBSD for the standard
|
||||
# make obj && make depend && make && make test
|
||||
# make includes && make install
|
||||
# Copyright (C) 2006 Glenn Randers-Pehrson
|
||||
# Copyright (C) 2002 Patrick R.L. Welche
|
||||
# Copyright (C) 2007 Glenn Randers-Pehrson
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
|
||||
# You should also run makefile.netbsd
|
||||
@@ -10,39 +10,29 @@
|
||||
LOCALBASE?=/usr/local
|
||||
LIBDIR= ${LOCALBASE}/lib
|
||||
MANDIR= ${LOCALBASE}/man
|
||||
INCSDIR=${LOCALBASE}/include/libpng14
|
||||
INCSDIR=${LOCALBASE}/include/libpng12
|
||||
|
||||
LIB= png14
|
||||
LIB= png12
|
||||
SHLIB_MAJOR= 0
|
||||
SHLIB_MINOR= 1.4.0beta37
|
||||
SRCS= pnggccrd.c png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
|
||||
pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
|
||||
pngwtran.c pngmem.c pngerror.c pngpread.c
|
||||
INCS= png.h pngconf.h pngpriv.h
|
||||
SHLIB_MINOR= 1.2.32beta01
|
||||
SRCS= png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
|
||||
pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
|
||||
pngwtran.c pngmem.c pngerror.c pngpread.c
|
||||
INCS= png.h pngconf.h
|
||||
MAN= libpng.3 libpngpf.3 png.5
|
||||
|
||||
CPPFLAGS+=-I${.CURDIR}
|
||||
|
||||
CLEANFILES+=pngtest.o pngtest
|
||||
|
||||
all: pngconf.h pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.netbsd */" > pngdefs.h
|
||||
/* if you don't want to use the intel MMX code, uncomment this */
|
||||
# echo "#define PNG_NO_MMX_CODE" >> pngdefs.h
|
||||
/* if you don't need thread safety you can uncomment this */
|
||||
# echo "#define PNG_THREAD_UNSAFE_OK" >> pngdefs.h
|
||||
|
||||
# We should be able to do something like this instead of the manual
|
||||
# uncommenting, but it core dumps for me at the moment:
|
||||
# something like this for mmx assembler, but it core dumps for me at the moment
|
||||
# .if ${MACHINE_ARCH} == "i386"
|
||||
# echo "#define PNG_THREAD_UNSAFE_OK" >> pngdefs.h
|
||||
# CPPFLAGS+=-DPNG_THREAD_UNSAFE_OK
|
||||
# MKLINT= no
|
||||
# .else
|
||||
# echo "#define PNG_NO_MMX_CODE" >> pngdefs.h
|
||||
CPPFLAGS+=-DPNG_NO_MMX_CODE
|
||||
# .endif
|
||||
|
||||
CLEANFILES+=pngtest.o pngtest
|
||||
|
||||
pngtest.o: pngtest.c
|
||||
${CC} -c ${CPPFLAGS} ${CFLAGS} ${.ALLSRC} -o ${.TARGET}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
# make obj && make depend && make && make test
|
||||
# make includes && make install
|
||||
# Copyright (C) 2002 Patrick R.L. Welche
|
||||
# Copyright (C) 2007 Glenn Randers-Pehrson
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
|
||||
# You should also run makefile.ne0bsd
|
||||
@@ -13,35 +14,25 @@ INCSDIR=${LOCALBASE}/include/libpng
|
||||
|
||||
LIB= png
|
||||
SHLIB_MAJOR= 3
|
||||
SHLIB_MINOR= 1.4.0beta37
|
||||
SRCS= pnggccrd.c png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
|
||||
pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
|
||||
pngwtran.c pngmem.c pngerror.c pngpread.c
|
||||
INCS= png.h pngconf.h pngpriv.h
|
||||
SHLIB_MINOR= 1.2.32beta01
|
||||
SRCS= png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
|
||||
pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
|
||||
pngwtran.c pngmem.c pngerror.c pngpread.c
|
||||
INCS= png.h pngconf.h
|
||||
MAN= libpng.3 libpngpf.3 png.5
|
||||
|
||||
CPPFLAGS+=-I${.CURDIR}
|
||||
|
||||
CLEANFILES+=pngtest.o pngtest
|
||||
|
||||
all: pngconf.h pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.netbsd */" > pngdefs.h
|
||||
/* if you don't want to use the intel MMX code, uncomment this */
|
||||
# echo "#define PNG_NO_MMX_CODE" >> pngdefs.h
|
||||
/* if you don't need thread safety you can uncomment this */
|
||||
# echo "#define PNG_THREAD_UNSAFE_OK" >> pngdefs.h
|
||||
|
||||
# We should be able to do something like this instead of the manual
|
||||
# uncommenting, but it core dumps for me at the moment:
|
||||
# something like this for mmx assembler, but it core dumps for me at the moment
|
||||
# .if ${MACHINE_ARCH} == "i386"
|
||||
# echo "#define PNG_THREAD_UNSAFE_OK" >> pngdefs.h
|
||||
# CPPFLAGS+=-DPNG_THREAD_UNSAFE_OK
|
||||
# MKLINT= no
|
||||
# .else
|
||||
# echo "#define PNG_NO_MMX_CODE" >> pngdefs.h
|
||||
CPPFLAGS+=-DPNG_NO_MMX_CODE
|
||||
# .endif
|
||||
|
||||
CLEANFILES+=pngtest.o pngtest
|
||||
|
||||
pngtest.o: pngtest.c
|
||||
${CC} -c ${CPPFLAGS} ${CFLAGS} ${.ALLSRC} -o ${.TARGET}
|
||||
|
||||
|
||||
@@ -1,22 +1,13 @@
|
||||
# makefile for libpng.a and libpng14.so on Linux ELF with gcc using MMX
|
||||
# assembler code
|
||||
# Copyright 2002, 2006 Greg Roelofs and Glenn Randers-Pehrson
|
||||
# Copyright 1998-2001 Greg Roelofs
|
||||
# Copyright 1996-1997 Andreas Dilger
|
||||
# makefile for libpng.a and libpng12.so on Linux ELF with gcc
|
||||
# Copyright (C) 1998, 1999, 2002, 2006-2008 Greg Roelofs and
|
||||
# Glenn Randers-Pehrson
|
||||
# Copyright (C) 1996, 1997 Andreas Dilger
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
|
||||
# CAUTION: Do not use this makefile with gcc versions 2.7.2.2 and earlier.
|
||||
|
||||
# WARNING: The assembler code in pnggccrd.c may not be thread safe.
|
||||
|
||||
# NOTE: When testing MMX performance on a multitasking system, make sure
|
||||
# there are no floating-point programs (e.g., SETI@Home) running in
|
||||
# the background! Context switches between MMX and FPU are expensive.
|
||||
|
||||
# Library name:
|
||||
LIBNAME = libpng14
|
||||
PNGMAJ = 14
|
||||
PNGMIN = 1.4.0beta37
|
||||
LIBNAME = libpng12
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.32beta01
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
# Shared library names:
|
||||
@@ -24,18 +15,19 @@ LIBSO=$(LIBNAME).so
|
||||
LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
|
||||
LIBSOVER=$(LIBNAME).so.$(PNGVER)
|
||||
OLDSO=libpng.so
|
||||
OLDSOMAJ=libpng.so.3
|
||||
OLDSOVER=libpng.so.3.$(PNGMIN)
|
||||
|
||||
# Utilities:
|
||||
CC = gcc
|
||||
LD = $(CC)
|
||||
AR_RC = ar rc
|
||||
LN_SF = ln -sf
|
||||
MKDIR_P = mkdir -p
|
||||
RANLIB = ranlib
|
||||
RM_F = /bin/rm -f
|
||||
AR_RC=ar rc
|
||||
CC=gcc
|
||||
MKDIR_P=mkdir -p
|
||||
LN_SF=ln -sf
|
||||
RANLIB=ranlib
|
||||
RM_F=/bin/rm -f
|
||||
|
||||
# where "make install" puts libpng14.a, libpng14.so*,
|
||||
# libpng14/png.h and libpng14/pngconf.h
|
||||
# where "make install" puts libpng12.a, libpng12.so*,
|
||||
# libpng12/png.h and libpng12/pngconf.h
|
||||
# Prefix must be a full pathname.
|
||||
prefix=/usr/local
|
||||
exec_prefix=$(prefix)
|
||||
@@ -56,22 +48,12 @@ WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
|
||||
|
||||
# for pgcc version 2.95.1, -O3 is buggy; don't use it.
|
||||
|
||||
CFLAGS= -I$(ZLIBINC) -W -Wall \
|
||||
-O3 $(ALIGN) -funroll-loops \
|
||||
-fomit-frame-pointer # $(WARNMORE) -g -DPNG_DEBUG=5
|
||||
### for gcc 2.95.2 on 686:
|
||||
#CFLAGS= -I$(ZLIBINC) -W -Wall -O3 \
|
||||
# -mcpu=i686 -malign-double -ffast-math -fstrict-aliasing \
|
||||
# $(ALIGN) -funroll-loops -funroll-all-loops -fomit-frame-pointer
|
||||
### for gcc 2.7.2.3 on 486 and up:
|
||||
#CFLAGS= -I$(ZLIBINC) -W -Wall -O3 \
|
||||
# -m486 -malign-double -ffast-math \
|
||||
# $(ALIGN) -funroll-loops -funroll-all-loops -fomit-frame-pointer
|
||||
CFLAGS=-I$(ZLIBINC) -W -Wall -O3 -funroll-loops -DPNG_NO_MMX_CODE \
|
||||
$(ALIGN) # $(WARNMORE) -g -DPNG_DEBUG=5
|
||||
|
||||
LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng14 -lz -lm
|
||||
LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng12 -lz -lm
|
||||
LDFLAGS_A=-L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) libpng.a -lz -lm
|
||||
|
||||
|
||||
INCPATH=$(prefix)/include
|
||||
LIBPATH=$(exec_prefix)/lib
|
||||
MANPATH=$(prefix)/man
|
||||
@@ -94,7 +76,7 @@ DM=$(DESTDIR)$(MANPATH)
|
||||
|
||||
OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
|
||||
pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
|
||||
pngwtran.o pngmem.o pngerror.o pngpread.o pnggccrd.o
|
||||
pngwtran.o pngmem.o pngerror.o pngpread.o
|
||||
|
||||
OBJSDLL = $(OBJS:.o=.pic.o)
|
||||
|
||||
@@ -103,38 +85,31 @@ OBJSDLL = $(OBJS:.o=.pic.o)
|
||||
.c.pic.o:
|
||||
$(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
|
||||
|
||||
all: libpng.a $(LIBSO) pngtest pngtest-static libpng.pc libpng-config \
|
||||
pngconf.h pngdefs.h
|
||||
|
||||
# Use makefile.gcmmx if you want to use the MMX assembler code.
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.nommx */" > pngdefs.h
|
||||
echo "#define PNG_NO_MMX_CODE" >> pngdefs.h
|
||||
all: libpng.a $(LIBSO) pngtest pngtest-static libpng.pc libpng-config
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
$(AR_RC) $@ $(OBJS)
|
||||
$(RANLIB) $@
|
||||
|
||||
libpng.pc:
|
||||
cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
|
||||
cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
|
||||
-e s!@exec_prefix@!$(exec_prefix)! \
|
||||
-e s!@libdir@!$(LIBPATH)! \
|
||||
-e s!@includedir@!$(INCPATH)! \
|
||||
-e s!@includedir@!$(INCPATH)! \
|
||||
-e s!-lpng12!-lpng12\ -lz\ -lm! \
|
||||
-e s!Cflags: !Cflags:\ -DPNG_NO_MMX_CODE!> libpng.pc
|
||||
|
||||
libpng-config:
|
||||
( cat scripts/libpng-config-head.in; \
|
||||
echo prefix=\"$(prefix)\"; \
|
||||
echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
|
||||
echo cppflags=""; \
|
||||
echo I_opts=\"-I$(INCPATH)/$(LIBNAME) -DPNG_NO_MMX_CODE\"; \
|
||||
echo L_opts=\"-L$(LIBPATH)\"; \
|
||||
echo R_opts=\"-Wl,-rpath,$(LIBPATH)\"; \
|
||||
echo libs=\"-lpng14 -lz -lm\"; \
|
||||
echo libs=\"-lpng12 -lz -lm\"; \
|
||||
cat scripts/libpng-config-body.in ) > libpng-config
|
||||
chmod +x libpng-config
|
||||
|
||||
pnggccrd.o: pnggccrd.c png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) -o $@ $*.c
|
||||
|
||||
pnggccrd.pic.o: pnggccrd.c png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) -fPIC -o $@ pnggccrd.c
|
||||
|
||||
$(LIBSO): $(LIBSOMAJ)
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO)
|
||||
|
||||
@@ -142,8 +117,11 @@ $(LIBSOMAJ): $(LIBSOVER)
|
||||
$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
|
||||
|
||||
$(LIBSOVER): $(OBJSDLL)
|
||||
$(CC) -shared -Wl,-soname,$(LIBSOMAJ) \
|
||||
-o $(LIBSOVER) \
|
||||
$(CC) -shared -Wl,-soname,$(LIBSOMAJ) -o $(LIBSOVER) $(OBJSDLL)
|
||||
|
||||
$(OLDSOVER): $(OBJSDLL)
|
||||
$(CC) -shared -Wl,-soname,$(OLDSOMAJ) \
|
||||
-o $(OLDSOVER) \
|
||||
$(OBJSDLL)
|
||||
|
||||
pngtest: pngtest.o $(LIBSO)
|
||||
@@ -162,13 +140,12 @@ test: pngtest pngtest-static
|
||||
@echo ""
|
||||
./pngtest-static
|
||||
|
||||
install-headers: png.h pngconf.h pngdefs.h
|
||||
install-headers: png.h pngconf.h
|
||||
-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h pngdefs.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h \
|
||||
$(DI)/$(LIBNAME)/pngdefs.h
|
||||
-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pngdefs.h
|
||||
cp png.h pngconf.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
|
||||
-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h
|
||||
-@$(RM_F) $(DI)/libpng
|
||||
(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
|
||||
|
||||
@@ -179,17 +156,23 @@ install-static: install-headers libpng.a
|
||||
-@$(RM_F) $(DL)/libpng.a
|
||||
(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers $(LIBSOVER) libpng.pc
|
||||
install-shared: install-headers $(LIBSOVER) libpng.pc \
|
||||
$(OLDSOVER)
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(LIBSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(OLDSO)
|
||||
-@$(RM_F) $(DL)/$(OLDSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(OLDSOVER)*
|
||||
cp $(LIBSOVER) $(DL)
|
||||
cp $(OLDSOVER) $(DL)
|
||||
chmod 755 $(DL)/$(LIBSOVER)
|
||||
chmod 755 $(DL)/$(OLDSOVER)
|
||||
(cd $(DL); \
|
||||
$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
|
||||
$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
|
||||
$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO); \
|
||||
$(LN_SF) $(OLDSO) $(LIBSO))
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO))
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
|
||||
-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@$(RM_F) $(DL)/pkgconfig/libpng.pc
|
||||
@@ -239,28 +222,31 @@ test-installed:
|
||||
./pngtesti pngtest.png
|
||||
|
||||
clean:
|
||||
$(RM_F) *.o libpng.a pngtest pngout.png libpng-config pngdefs.h \
|
||||
$(RM_F) *.o libpng.a pngtest pngout.png libpng-config \
|
||||
$(LIBSO) $(LIBSOMAJ)* pngtest-static pngtesti \
|
||||
$(OLDSOVER) \
|
||||
libpng.pc
|
||||
|
||||
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
|
||||
writelock:
|
||||
chmod a-w *.[ch35] $(DOCS) scripts/*
|
||||
|
||||
png.o png.pic.o: png.h pngconf.h pngdefs.h pngpriv.h png.c
|
||||
pngerror.o pngerror.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngerror.c
|
||||
pngrio.o pngrio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngrio.c
|
||||
pngwio.o pngwio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngwio.c
|
||||
pngmem.o pngmem.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngmem.c
|
||||
pngset.o pngset.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngset.c
|
||||
pngget.o pngget.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngget.c
|
||||
pngread.o pngread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngread.c
|
||||
pngrtran.o pngrtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngrtran.c
|
||||
pngrutil.o pngrutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngrutil.c
|
||||
pngtrans.o pngtrans.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngtrans.c
|
||||
pngwrite.o pngwrite.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngwrite.c
|
||||
pngwtran.o pngwtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngwtran.c
|
||||
pngwutil.o pngwutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngwutil.c
|
||||
pngpread.o pngpread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h pngpread.c
|
||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||
|
||||
pngtest.o: png.h pngconf.h pngdefs.h pngtest.c
|
||||
png.o png.pic.o: png.h pngconf.h
|
||||
pngerror.o pngerror.pic.o: png.h pngconf.h
|
||||
pngrio.o pngrio.pic.o: png.h pngconf.h
|
||||
pngwio.o pngwio.pic.o: png.h pngconf.h
|
||||
pngmem.o pngmem.pic.o: png.h pngconf.h
|
||||
pngset.o pngset.pic.o: png.h pngconf.h
|
||||
pngget.o pngget.pic.o: png.h pngconf.h
|
||||
pngread.o pngread.pic.o: png.h pngconf.h
|
||||
pngrtran.o pngrtran.pic.o: png.h pngconf.h
|
||||
pngrutil.o pngrutil.pic.o: png.h pngconf.h
|
||||
pngtrans.o pngtrans.pic.o: png.h pngconf.h
|
||||
pngwrite.o pngwrite.pic.o: png.h pngconf.h
|
||||
pngwtran.o pngwtran.pic.o: png.h pngconf.h
|
||||
pngwutil.o pngwutil.pic.o: png.h pngconf.h
|
||||
pngpread.o pngpread.pic.o: png.h pngconf.h
|
||||
|
||||
pngtest.o: png.h pngconf.h
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# makefile for libpng
|
||||
# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
|
||||
# Copyright (C) 2006 Glenn Randers-Pehrson
|
||||
# Copyright (C) 2007-2008 Glenn Randers-Pehrson
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
|
||||
PREFIX?= /usr/local
|
||||
@@ -8,23 +8,17 @@ LIBDIR= ${PREFIX}/lib
|
||||
MANDIR= ${PREFIX}/man/cat
|
||||
|
||||
SHLIB_MAJOR= 0
|
||||
SHLIB_MINOR= 1.4.0beta37
|
||||
SHLIB_MINOR= 1.2.32beta01
|
||||
|
||||
LIB= png
|
||||
SRCS= png.c pngerror.c pnggccrd.c pngget.c pngmem.c pngpread.c \
|
||||
SRCS= png.c pngerror.c pngget.c pngmem.c pngpread.c \
|
||||
pngread.c pngrio.c pngrtran.c pngrutil.c pngset.c pngtrans.c \
|
||||
pngwio.c pngwrite.c pngwtran.c pngwutil.c
|
||||
|
||||
HDRS= png.h pngconf.h pngpriv.h pngdefs.h
|
||||
HDRS= png.h pngconf.h
|
||||
|
||||
CFLAGS+= -W -Wall
|
||||
CPPFLAGS+= -I${.CURDIR}
|
||||
|
||||
all: pngconf.h pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.openbsd */" > pngdefs.h
|
||||
echo "#define PNG_NO_ASSEMBLER_CODE" >> pngdefs.h
|
||||
CPPFLAGS+= -I${.CURDIR} -DPNG_NO_MMX_CODE
|
||||
|
||||
NOPROFILE= Yes
|
||||
|
||||
@@ -68,7 +62,6 @@ afterinstall:
|
||||
@rm -f ${DESTDIR}${LIBDIR}/debug/libpng.a
|
||||
@rm -f ${DESTDIR}${PREFIX}/include/png.h
|
||||
@rm -f ${DESTDIR}${PREFIX}/include/pngconf.h
|
||||
@rm -f ${DESTDIR}${PREFIX}/include/pngdefs.h
|
||||
@rmdir ${DESTDIR}${LIBDIR}/debug 2>/dev/null || true
|
||||
${INSTALL} ${INSTALL_COPY} -o ${SHAREOWN} -g ${SHAREGRP} \
|
||||
-m ${NONBINMODE} ${HDRS} ${DESTDIR}${PREFIX}/include/libpng
|
||||
|
||||
@@ -28,10 +28,7 @@ OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
|
||||
|
||||
.SUFFIXES: .c .o
|
||||
|
||||
all: $(PNGLIB) $(SHAREDLIB) $(SHAREDLIBIMP) pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.os2 */" > pngdefs.h
|
||||
all: $(PNGLIB) $(SHAREDLIB) $(SHAREDLIBIMP)
|
||||
|
||||
$(PNGLIB): $(OBJS)
|
||||
$(AR) rc $@ $(OBJS)
|
||||
@@ -53,20 +50,20 @@ clean:
|
||||
|
||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||
|
||||
png.o png.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngerror.o pngerror.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrio.o pngrio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwio.o pngwio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngmem.o pngmem.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngset.o pngset.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngget.o pngget.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngread.o pngread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrtran.o pngrtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrutil.o pngrutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtrans.o pngtrans.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwrite.o pngwrite.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwtran.o pngwtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwutil.o pngwutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngpread.o pngpread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
png.o png.pic.o: png.h pngconf.h
|
||||
pngerror.o pngerror.pic.o: png.h pngconf.h
|
||||
pngrio.o pngrio.pic.o: png.h pngconf.h
|
||||
pngwio.o pngwio.pic.o: png.h pngconf.h
|
||||
pngmem.o pngmem.pic.o: png.h pngconf.h
|
||||
pngset.o pngset.pic.o: png.h pngconf.h
|
||||
pngget.o pngget.pic.o: png.h pngconf.h
|
||||
pngread.o pngread.pic.o: png.h pngconf.h
|
||||
pngrtran.o pngrtran.pic.o: png.h pngconf.h
|
||||
pngrutil.o pngrutil.pic.o: png.h pngconf.h
|
||||
pngtrans.o pngtrans.pic.o: png.h pngconf.h
|
||||
pngwrite.o pngwrite.pic.o: png.h pngconf.h
|
||||
pngwtran.o pngwtran.pic.o: png.h pngconf.h
|
||||
pngwutil.o pngwutil.pic.o: png.h pngconf.h
|
||||
pngpread.o pngpread.pic.o: png.h pngconf.h
|
||||
|
||||
pngtest.o: png.h pngconf.h pngdefs.h
|
||||
pngtest.o: png.h pngconf.h
|
||||
|
||||
@@ -7,9 +7,9 @@
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
|
||||
# Library name:
|
||||
LIBNAME = libpng14
|
||||
PNGMAJ = 14
|
||||
PNGMIN = 1.4.0beta37
|
||||
LIBNAME = libpng12
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.32beta01
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
# Shared library names:
|
||||
@@ -17,6 +17,8 @@ LIBSO=$(LIBNAME).so
|
||||
LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
|
||||
LIBSOVER=$(LIBNAME).so.$(PNGVER)
|
||||
OLDSO=libpng.so
|
||||
OLDSOMAJ=libpng.so.3
|
||||
OLDSOVER=libpng.so.3.$(PNGMIN)
|
||||
|
||||
# Utilities:
|
||||
CC=cc
|
||||
@@ -36,8 +38,8 @@ exec_prefix=$(prefix)
|
||||
ZLIBLIB=../zlib
|
||||
ZLIBINC=../zlib
|
||||
|
||||
CFLAGS= -dy -belf -I$(ZLIBINC) -O3
|
||||
LDFLAGS=-L. -L$(ZLIBLIB) -lpng14 -lz -lm
|
||||
CFLAGS= -dy -belf -I$(ZLIBINC) -O3 -DPNG_NO_MMX_CODE
|
||||
LDFLAGS=-L. -L$(ZLIBLIB) -lpng12 -lz -lm
|
||||
|
||||
INCPATH=$(prefix)/include/libpng
|
||||
LIBPATH=$(exec_prefix)/lib
|
||||
@@ -70,17 +72,18 @@ OBJSDLL = $(OBJS:.o=.pic.o)
|
||||
.c.pic.o:
|
||||
$(CC) -c $(CFLAGS) -KPIC -o $@ $*.c
|
||||
|
||||
all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.sco */" > pngdefs.h
|
||||
all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
$(AR_RC) $@ $(OBJS)
|
||||
$(RANLIB) $@
|
||||
|
||||
libpng.pc:
|
||||
cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
|
||||
cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
|
||||
-e s!@exec_prefix@!$(exec_prefix)! \
|
||||
-e s!@libdir@!$(LIBPATH)! \
|
||||
-e s!@includedir@!$(INCPATH)! \
|
||||
-e s!-lpng12!-lpng12\ -lz\ -lm! > libpng.pc
|
||||
|
||||
libpng-config:
|
||||
( cat scripts/libpng-config-head.in; \
|
||||
@@ -88,7 +91,7 @@ libpng-config:
|
||||
echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
|
||||
echo ccopts=\"-belf\"; \
|
||||
echo L_opts=\"-L$(LIBPATH)\"; \
|
||||
echo libs=\"-lpng14 -lz -lm\"; \
|
||||
echo libs=\"-lpng12 -lz -lm\"; \
|
||||
cat scripts/libpng-config-body.in ) > libpng-config
|
||||
chmod +x libpng-config
|
||||
|
||||
@@ -102,6 +105,10 @@ $(LIBSOVER): $(OBJSDLL)
|
||||
$(CC) -G -Wl,-h,$(LIBSOMAJ) -o $(LIBSOVER) \
|
||||
$(OBJSDLL)
|
||||
|
||||
$(OLDSOVER): $(OBJSDLL)
|
||||
$(CC) -G -Wl,-h,$(OLDSOMAJ) -o $(OLDSOVER) \
|
||||
$(OBJSDLL)
|
||||
|
||||
pngtest: pngtest.o $(LIBSO)
|
||||
LD_RUN_PATH=.:$(ZLIBLIB) $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
|
||||
|
||||
@@ -113,11 +120,9 @@ install-headers: png.h pngconf.h
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
|
||||
-@$(RM_F) $(DI)/png.h
|
||||
-@$(RM_F) $(DI)/pngconf.h
|
||||
-@$(RM_F) $(DI)/pngdefs.h
|
||||
cp png.h pngconf.h pngdefs.h $(DI)/$(LIBNAME)
|
||||
cp png.h pngconf.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
|
||||
chmod 644 $(DI)/$(LIBNAME)/pngdefs.h
|
||||
-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pngdefs.h
|
||||
-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h
|
||||
-@$(RM_F) $(DI)/libpng
|
||||
(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
|
||||
|
||||
@@ -128,17 +133,23 @@ install-static: install-headers libpng.a
|
||||
-@$(RM_F) $(DL)/libpng.a
|
||||
(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers $(LIBSOVER) libpng.pc
|
||||
install-shared: install-headers $(LIBSOVER) libpng.pc \
|
||||
$(OLDSOVER)
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(LIBSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(OLDSO)
|
||||
-@$(RM_F) $(DL)/$(OLDSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(OLDSOVER)*
|
||||
cp $(LIBSOVER) $(DL)
|
||||
cp $(OLDSOVER) $(DL)
|
||||
chmod 755 $(DL)/$(LIBSOVER)
|
||||
chmod 755 $(DL)/$(OLDSOVER)
|
||||
(cd $(DL); \
|
||||
$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
|
||||
$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
|
||||
$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO); \
|
||||
$(LN_SF) $(OLDSO) $(LIBSO))
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO))
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
|
||||
-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@$(RM_F) $(DL)/pkgconfig/libpng.pc
|
||||
@@ -190,7 +201,8 @@ test-installed:
|
||||
clean:
|
||||
$(RM_F) *.o libpng.a pngtest pngout.png libpng-config \
|
||||
$(LIBSO) $(LIBSOMAJ)* pngtest-static pngtesti \
|
||||
libpng.pc pngdefs.h
|
||||
$(OLDSOVER) \
|
||||
libpng.pc
|
||||
|
||||
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
|
||||
writelock:
|
||||
@@ -198,20 +210,20 @@ writelock:
|
||||
|
||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||
|
||||
png.o png.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngerror.o pngerror.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrio.o pngrio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwio.o pngwio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngmem.o pngmem.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngset.o pngset.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngget.o pngget.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngread.o pngread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrtran.o pngrtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrutil.o pngrutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtrans.o pngtrans.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwrite.o pngwrite.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwtran.o pngwtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwutil.o pngwutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngpread.o pngpread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
png.o png.pic.o: png.h pngconf.h
|
||||
pngerror.o pngerror.pic.o: png.h pngconf.h
|
||||
pngrio.o pngrio.pic.o: png.h pngconf.h
|
||||
pngwio.o pngwio.pic.o: png.h pngconf.h
|
||||
pngmem.o pngmem.pic.o: png.h pngconf.h
|
||||
pngset.o pngset.pic.o: png.h pngconf.h
|
||||
pngget.o pngget.pic.o: png.h pngconf.h
|
||||
pngread.o pngread.pic.o: png.h pngconf.h
|
||||
pngrtran.o pngrtran.pic.o: png.h pngconf.h
|
||||
pngrutil.o pngrutil.pic.o: png.h pngconf.h
|
||||
pngtrans.o pngtrans.pic.o: png.h pngconf.h
|
||||
pngwrite.o pngwrite.pic.o: png.h pngconf.h
|
||||
pngwtran.o pngwtran.pic.o: png.h pngconf.h
|
||||
pngwutil.o pngwutil.pic.o: png.h pngconf.h
|
||||
pngpread.o pngpread.pic.o: png.h pngconf.h
|
||||
|
||||
pngtest.o: png.h pngconf.h pngdefs.h
|
||||
pngtest.o: png.h pngconf.h
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# makefile for libpng.a and libpng14.so, SGI IRIX with 'cc'
|
||||
# makefile for libpng.a and libpng12.so, SGI IRIX with 'cc'
|
||||
# Copyright (C) 2001-2002, 2006 Glenn Randers-Pehrson
|
||||
# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
|
||||
# Library name:
|
||||
LIBNAME=libpng14
|
||||
PNGMAJ = 14
|
||||
PNGMIN = 1.4.0beta37
|
||||
LIBNAME=libpng12
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.32beta01
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
# Shared library names:
|
||||
@@ -14,6 +14,8 @@ LIBSO=$(LIBNAME).so
|
||||
LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
|
||||
LIBSOVER=$(LIBNAME).so.$(PNGVER)
|
||||
OLDSO=libpng.so
|
||||
OLDSOMAJ=libpng.so.3
|
||||
OLDSOVER=libpng.so.3.$(PNGMIN)
|
||||
|
||||
# Utilities:
|
||||
AR_RC=ar rc
|
||||
@@ -23,7 +25,7 @@ LN_SF=ln -sf
|
||||
RANLIB=echo
|
||||
RM_F=/bin/rm -f
|
||||
|
||||
# Where make install puts libpng.a, libpng14.so, and libpng14/png.h
|
||||
# Where make install puts libpng.a, libpng12.so, and libpng12/png.h
|
||||
# Prefix must be a full pathname.
|
||||
|
||||
prefix=/usr/local
|
||||
@@ -42,10 +44,12 @@ ZLIBINC=../zlib
|
||||
ABI=
|
||||
|
||||
WARNMORE= # -g -DPNG_DEBUG=5
|
||||
CFLAGS=$(ABI) -I$(ZLIBINC) -O2 $(WARNMORE) -fPIC -mabi=n32
|
||||
CFLAGS=$(ABI) -I$(ZLIBINC) -O $(WARNMORE) -fPIC -mabi=n32 -DPNG_NO_MMX_CODE
|
||||
LDFLAGS=$(ABI) -L. -L$(ZLIBLIB) -lpng -lz -lm
|
||||
LDSHARED=cc $(ABI) -shared -soname $(LIBSOMAJ) \
|
||||
-set_version sgi$(PNGMAJ).0
|
||||
LDLEGACY=cc $(ABI) -shared -soname $(OLDSOMAJ) \
|
||||
-set_version sgi$3.0
|
||||
# See "man dso" for info about shared objects
|
||||
|
||||
INCPATH=$(prefix)/include
|
||||
@@ -69,15 +73,11 @@ DI=$(DESTDIR)$(INCPATH)
|
||||
DL=$(DESTDIR)$(LIBPATH)
|
||||
DM=$(DESTDIR)$(MANPATH)
|
||||
|
||||
OBJS = pnggccrd.o png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
|
||||
OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
|
||||
pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
|
||||
pngwtran.o pngmem.o pngerror.o pngpread.o
|
||||
|
||||
all: libpng.a pngtest shared libpng.pc libpng-config pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.sggcc */" > pngdefs.h
|
||||
echo "#define PNG_NO_MMX_CODE" >> pngdefs.h
|
||||
all: libpng.a pngtest shared libpng.pc libpng-config
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
$(AR_RC) $@ $(OBJS)
|
||||
@@ -86,17 +86,22 @@ libpng.a: $(OBJS)
|
||||
shared: $(LIBSOVER)
|
||||
|
||||
libpng.pc:
|
||||
cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
|
||||
cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
|
||||
-e s!@exec_prefix@!$(exec_prefix)! \
|
||||
-e s!@libdir@!$(LIBPATH)! \
|
||||
-e s!@includedir@!$(INCPATH)! \
|
||||
-e s!-lpng12!-lpng12\ -lz\ -lm! > libpng.pc
|
||||
|
||||
libpng-config:
|
||||
( cat scripts/libpng-config-head.in; \
|
||||
echo prefix=\"$(prefix)\"; \
|
||||
echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
|
||||
echo ccopts=\"$(ABI)\"; \
|
||||
echo cppflags=\"-DPNG_NO_MMX_CODE\"; \
|
||||
echo ldopts=\"$(ABI)\"; \
|
||||
echo L_opts=\"-L$(LIBPATH)\"; \
|
||||
echo libdir=\"$(LIBPATH)\"; \
|
||||
echo libs=\"-lpng14 -lz -lm\"; \
|
||||
echo libs=\"-lpng12 -lz -lm\"; \
|
||||
cat scripts/libpng-config-body.in ) > libpng-config
|
||||
chmod +x libpng-config
|
||||
|
||||
@@ -110,6 +115,9 @@ $(LIBSOVER): $(OBJS)
|
||||
$(LDSHARED) -o $@ $(OBJS)
|
||||
$(RM_F) $(LIBSO) $(LIBSOMAJ)
|
||||
|
||||
$(OLDSOVER): $(OBJS)
|
||||
$(LDLEGACY) -o $@ $(OBJS)
|
||||
|
||||
pngtest: pngtest.o libpng.a
|
||||
$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
|
||||
|
||||
@@ -118,13 +126,12 @@ test: pngtest
|
||||
echo Testing local static library.
|
||||
./pngtest
|
||||
|
||||
install-headers: png.h pngconf.h pngdefs.h
|
||||
install-headers: png.h pngconf.h
|
||||
-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
|
||||
chmod 644 $(DI)/$(LIBNAME)/pngdefs.h
|
||||
-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pngdefs.h
|
||||
-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h
|
||||
-@$(RM_F) $(DI)/libpng
|
||||
(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
|
||||
|
||||
@@ -135,17 +142,23 @@ install-static: install-headers libpng.a
|
||||
-@$(RM_F) $(DL)/libpng.a
|
||||
(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers $(LIBSOVER) libpng.pc
|
||||
install-shared: install-headers $(LIBSOVER) libpng.pc \
|
||||
$(OLDSOVER)
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(LIBSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(OLDSO)
|
||||
-@$(RM_F) $(DL)/$(OLDSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(OLDSOVER)*
|
||||
cp $(LIBSOVER) $(DL)
|
||||
cp $(OLDSOVER) $(DL)
|
||||
chmod 755 $(DL)/$(LIBSOVER)
|
||||
chmod 755 $(DL)/$(OLDSOVER)
|
||||
(cd $(DL); \
|
||||
$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
|
||||
$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
|
||||
$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO); \
|
||||
$(LN_SF) $(OLDSO) $(LIBSO))
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO))
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
|
||||
-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@$(RM_F) $(DL)/pkgconfig/libpng.pc
|
||||
@@ -201,7 +214,8 @@ test-installed:
|
||||
clean:
|
||||
$(RM_F) libpng.a pngtest pngtesti pngout.png libpng.pc libpng-config \
|
||||
$(LIBSO) $(LIBSOMAJ)* \
|
||||
so_locations pngdefs.h
|
||||
$(OLDSOVER) \
|
||||
so_locations
|
||||
|
||||
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
|
||||
writelock:
|
||||
@@ -209,21 +223,20 @@ writelock:
|
||||
|
||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||
|
||||
png.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngerror.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrio.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwio.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngmem.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngset.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pnggccrd.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngget.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngread.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrtran.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrutil.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtrans.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwrite.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwtran.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwutil.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngpread.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
png.o: png.h pngconf.h
|
||||
pngerror.o: png.h pngconf.h
|
||||
pngrio.o: png.h pngconf.h
|
||||
pngwio.o: png.h pngconf.h
|
||||
pngmem.o: png.h pngconf.h
|
||||
pngset.o: png.h pngconf.h
|
||||
pngget.o: png.h pngconf.h
|
||||
pngread.o: png.h pngconf.h
|
||||
pngrtran.o: png.h pngconf.h
|
||||
pngrutil.o: png.h pngconf.h
|
||||
pngtest.o: png.h pngconf.h
|
||||
pngtrans.o: png.h pngconf.h
|
||||
pngwrite.o: png.h pngconf.h
|
||||
pngwtran.o: png.h pngconf.h
|
||||
pngwutil.o: png.h pngconf.h
|
||||
pngpread.o: png.h pngconf.h
|
||||
|
||||
pngtest.o: png.h pngconf.h pngdefs.h
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# makefile for libpng.a and libpng14.so, SGI IRIX with 'cc'
|
||||
# Copyright (C) 2001-2002, 2006 Glenn Randers-Pehrson
|
||||
# makefile for libpng.a and libpng12.so, SGI IRIX with 'cc'
|
||||
# Copyright (C) 2001-2002, 2006, 2007 Glenn Randers-Pehrson
|
||||
# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
|
||||
# Library name:
|
||||
LIBNAME=libpng14
|
||||
PNGMAJ = 14
|
||||
PNGMIN = 1.4.0beta37
|
||||
LIBNAME=libpng12
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.32beta01
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
# Shared library names:
|
||||
@@ -14,6 +14,8 @@ LIBSO=$(LIBNAME).so
|
||||
LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
|
||||
LIBSOVER=$(LIBNAME).so.$(PNGVER)
|
||||
OLDSO=libpng.so
|
||||
OLDSOMAJ=libpng.so.3
|
||||
OLDSOVER=libpng.so.3.$(PNGMIN)
|
||||
|
||||
# Utilities:
|
||||
AR_RC=ar rc
|
||||
@@ -23,7 +25,7 @@ LN_SF=ln -sf
|
||||
RANLIB=echo
|
||||
RM_F=/bin/rm -f
|
||||
|
||||
# Where make install puts libpng.a, libpng14.so, and libpng14/png.h
|
||||
# Where make install puts libpng.a, libpng12.so, and libpng12/png.h
|
||||
# Prefix must be a full pathname.
|
||||
|
||||
prefix=/usr/local
|
||||
@@ -43,12 +45,14 @@ ABI=
|
||||
|
||||
WARNMORE=-fullwarn
|
||||
# Note: -KPIC is the default anyhow
|
||||
#CFLAGS= $(ABI) -I$(ZLIBINC) -O $(WARNMORE) -KPIC # -g -DPNG_DEBUG=5
|
||||
CFLAGS=$(ABI) -I$(ZLIBINC) -O $(WARNMORE)
|
||||
LDFLAGS_A=$(ABI) -L. -L$(ZLIBLIB) -lpng14 -lz -lm
|
||||
#CFLAGS= $(ABI) -I$(ZLIBINC) -O $(WARNMORE) -KPIC -DPNG_NO_MMX_CODE # -g -DPNG_DEBUG=5
|
||||
CFLAGS=$(ABI) -I$(ZLIBINC) -O $(WARNMORE) -DPNG_NO_MMX_CODE
|
||||
LDFLAGS_A=$(ABI) -L. -L$(ZLIBLIB) -lpng12 -lz -lm
|
||||
LDFLAGS=$(ABI) -L. -L$(ZLIBLIB) -lpng -lz -lm
|
||||
LDSHARED=cc $(ABI) -shared -soname $(LIBSOMAJ) \
|
||||
-set_version sgi$(PNGMAJ).0
|
||||
LDLEGACY=cc $(ABI) -shared -soname $(OLDSOMAJ) \
|
||||
-set_version sgi$3.0
|
||||
# See "man dso" for info about shared objects
|
||||
|
||||
INCPATH=$(prefix)/include
|
||||
@@ -72,15 +76,11 @@ DI=$(DESTDIR)$(INCPATH)
|
||||
DL=$(DESTDIR)$(LIBPATH)
|
||||
DM=$(DESTDIR)$(MANPATH)
|
||||
|
||||
OBJS = pnggccrd.o png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
|
||||
OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
|
||||
pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
|
||||
pngwtran.o pngmem.o pngerror.o pngpread.o
|
||||
|
||||
all: libpng.a pngtest shared libpng.pc libpng-config pngconf.h pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.sgi */" > pngdefs.h
|
||||
echo "#define PNG_NO_MMX_CODE" >> pngdefs.h
|
||||
all: libpng.a pngtest shared libpng.pc libpng-config
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
$(AR_RC) $@ $(OBJS)
|
||||
@@ -89,18 +89,22 @@ libpng.a: $(OBJS)
|
||||
shared: $(LIBSOVER)
|
||||
|
||||
libpng.pc:
|
||||
cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
|
||||
cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
|
||||
-e s!@exec_prefix@!$(exec_prefix)! \
|
||||
-e s!@libdir@!$(LIBPATH)! \
|
||||
-e s!@includedir@!$(INCPATH)! \
|
||||
-e s!-lpng12!-lpng12\ -lz\ -lm! > libpng.pc
|
||||
|
||||
libpng-config:
|
||||
( cat scripts/libpng-config-head.in; \
|
||||
echo prefix=\"$(prefix)\"; \
|
||||
echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
|
||||
echo cppflags=\""; \
|
||||
echo cppflags=\"-DPNG_NO_MMX_CODE\"; \
|
||||
echo ccopts=\"$(ABI)\"; \
|
||||
echo ldopts=\"$(ABI)\"; \
|
||||
echo L_opts=\"-L$(LIBPATH)\"; \
|
||||
echo libdir=\"$(LIBPATH)\"; \
|
||||
echo libs=\"-lpng14 -lz -lm\"; \
|
||||
echo libs=\"-lpng12 -lz -lm\"; \
|
||||
cat scripts/libpng-config-body.in ) > libpng-config
|
||||
chmod +x libpng-config
|
||||
|
||||
@@ -114,6 +118,9 @@ $(LIBSOVER): $(OBJS)
|
||||
$(LDSHARED) -o $@ $(OBJS)
|
||||
$(RM_F) $(LIBSO) $(LIBSOMAJ)
|
||||
|
||||
$(OLDSOVER): $(OBJS)
|
||||
$(LDLEGACY) -o $@ $(OBJS)
|
||||
|
||||
pngtest: pngtest.o libpng.a
|
||||
$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
|
||||
|
||||
@@ -122,13 +129,12 @@ test: pngtest
|
||||
echo Testing local static library.
|
||||
./pngtest
|
||||
|
||||
install-headers: png.h pngconf.h pngdefs.h
|
||||
install-headers: png.h pngconf.h
|
||||
-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h pngdefs.h $(DI)/$(LIBNAME)
|
||||
cp png.h pngconf.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
|
||||
chmod 644 $(DI)/$(LIBNAME)/pngdefs.h
|
||||
-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pngdefs.h
|
||||
-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h
|
||||
-@$(RM_F) $(DI)/libpng
|
||||
(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
|
||||
|
||||
@@ -139,17 +145,23 @@ install-static: install-headers libpng.a
|
||||
-@$(RM_F) $(DL)/libpng.a
|
||||
(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers $(LIBSOVER) libpng.pc
|
||||
install-shared: install-headers $(LIBSOVER) libpng.pc \
|
||||
$(OLDSOVER)
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(LIBSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(OLDSO)
|
||||
-@$(RM_F) $(DL)/$(OLDSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(OLDSOVER)*
|
||||
cp $(LIBSOVER) $(DL)
|
||||
cp $(OLDSOVER) $(DL)
|
||||
chmod 755 $(DL)/$(LIBSOVER)
|
||||
chmod 755 $(DL)/$(OLDSOVER)
|
||||
(cd $(DL); \
|
||||
$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
|
||||
$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
|
||||
$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO); \
|
||||
$(LN_SF) $(OLDSO) $(LIBSO))
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO))
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
|
||||
-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@$(RM_F) $(DL)/pkgconfig/libpng.pc
|
||||
@@ -203,8 +215,10 @@ test-installed:
|
||||
./pngtesti pngtest.png
|
||||
|
||||
clean:
|
||||
$(RM_F) *.o libpng.a pngtest pngtesti pngout.png libpng.pc
|
||||
libpng-config $(LIBSO) $(LIBSOMAJ)* so_locations pngdefs.h
|
||||
$(RM_F) *.o libpng.a pngtest pngtesti pngout.png libpng.pc libpng-config \
|
||||
$(LIBSO) $(LIBSOMAJ)* \
|
||||
$(OLDSOVER) \
|
||||
so_locations
|
||||
|
||||
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
|
||||
writelock:
|
||||
@@ -212,21 +226,20 @@ writelock:
|
||||
|
||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||
|
||||
png.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngerror.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrio.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwio.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngmem.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngset.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngget.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pnggccrd.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngread.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrtran.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrutil.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtrans.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwrite.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwtran.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwutil.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngpread.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
png.o: png.h pngconf.h
|
||||
pngerror.o: png.h pngconf.h
|
||||
pngrio.o: png.h pngconf.h
|
||||
pngwio.o: png.h pngconf.h
|
||||
pngmem.o: png.h pngconf.h
|
||||
pngset.o: png.h pngconf.h
|
||||
pngget.o: png.h pngconf.h
|
||||
pngread.o: png.h pngconf.h
|
||||
pngrtran.o: png.h pngconf.h
|
||||
pngrutil.o: png.h pngconf.h
|
||||
pngtest.o: png.h pngconf.h
|
||||
pngtrans.o: png.h pngconf.h
|
||||
pngwrite.o: png.h pngconf.h
|
||||
pngwtran.o: png.h pngconf.h
|
||||
pngwutil.o: png.h pngconf.h
|
||||
pngpread.o: png.h pngconf.h
|
||||
|
||||
pngtest.o: png.h pngconf.h pngdefs.h
|
||||
|
||||
@@ -1,22 +1,24 @@
|
||||
# makefile for libpng on Solaris 9 (beta) with Forte cc
|
||||
# Updated by Chad Schrock for Solaris 9
|
||||
# Contributed by William L. Sebok, based on makefile.linux
|
||||
# Copyright (C) 2002, 2006 Glenn Randers-Pehrson
|
||||
# Copyright (C) 2002, 2006, 2008 Glenn Randers-Pehrson
|
||||
# Copyright (C) 1998-2001 Greg Roelofs
|
||||
# Copyright (C) 1996-1997 Andreas Dilger
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
|
||||
# Library name:
|
||||
PNGMAJ = 14
|
||||
PNGMIN = 1.4.0beta37
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.32beta01
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
LIBNAME = libpng14
|
||||
LIBNAME = libpng12
|
||||
|
||||
# Shared library names:
|
||||
LIBSO=$(LIBNAME).so
|
||||
LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
|
||||
LIBSOVER=$(LIBNAME).so.$(PNGVER)
|
||||
OLDSO=libpng.so
|
||||
OLDSOMAJ=libpng.so.3
|
||||
OLDSOVER=libpng.so.3.$(PNGMIN)
|
||||
|
||||
# Utilities:
|
||||
# gcc 2.95 doesn't work.
|
||||
@@ -45,9 +47,9 @@ ZLIBINC=/usr/include
|
||||
#WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
|
||||
-Wmissing-declarations -Wtraditional -Wcast-align \
|
||||
-Wstrict-prototypes -Wmissing-prototypes #-Wconversion
|
||||
#CFLAGS=-I$(ZLIBINC) -W -Wall -O3 $(WARNMORE) -g -DPNG_DEBUG=5
|
||||
CFLAGS=-I$(ZLIBINC) -O3
|
||||
LDFLAGS=-L. -R. -L$(ZLIBLIB) -R$(ZLIBLIB) -lpng14 -lz -lm
|
||||
#CFLAGS=-I$(ZLIBINC) -W -Wall -O3 $(WARNMORE) -g -DPNG_DEBUG=5 -DPNG_NO_MMX_CODE
|
||||
CFLAGS=-I$(ZLIBINC) -O3 -DPNG_NO_MMX_CODE
|
||||
LDFLAGS=-L. -R. -L$(ZLIBLIB) -R$(ZLIBLIB) -lpng12 -lz -lm
|
||||
|
||||
INCPATH=$(prefix)/include
|
||||
LIBPATH=$(exec_prefix)/lib
|
||||
@@ -80,17 +82,18 @@ OBJSDLL = $(OBJS:.o=.pic.o)
|
||||
.c.pic.o:
|
||||
$(CC) -c $(CFLAGS) -KPIC -o $@ $*.c
|
||||
|
||||
all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.so9 */" > pngdefs.h
|
||||
all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
$(AR_RC) $@ $(OBJS)
|
||||
$(RANLIB) $@
|
||||
|
||||
libpng.pc:
|
||||
cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
|
||||
cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
|
||||
-e s!@exec_prefix@!$(exec_prefix)! \
|
||||
-e s!@libdir@!$(LIBPATH)! \
|
||||
-e s!@includedir@!$(INCPATH)! \
|
||||
-e s!-lpng12!-lpng12\ -lz\ -lm! > libpng.pc
|
||||
|
||||
libpng-config:
|
||||
( cat scripts/libpng-config-head.in; \
|
||||
@@ -98,7 +101,7 @@ libpng-config:
|
||||
echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
|
||||
echo L_opts=\"-L$(LIBPATH)\"; \
|
||||
echo R_opts=\"-R$(LIBPATH)\"; \
|
||||
echo libs=\"-lpng14 -lz -lm\"; \
|
||||
echo libs=\"-lpng12 -lz -lm\"; \
|
||||
cat scripts/libpng-config-body.in ) > libpng-config
|
||||
chmod +x libpng-config
|
||||
|
||||
@@ -124,19 +127,22 @@ $(LIBSOVER): $(OBJSDLL)
|
||||
$(LD) -G -h $(LIBSOMAJ) \
|
||||
-o $(LIBSOVER) $(OBJSDLL)
|
||||
|
||||
$(OLDSOVER): $(OBJS)
|
||||
$(LD) -G -h $(OLDSOMAJ) \
|
||||
-o $(OLDSOVER) $(OBJSDLL)
|
||||
|
||||
pngtest: pngtest.o $(LIBSO)
|
||||
$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
|
||||
|
||||
test: pngtest
|
||||
./pngtest
|
||||
|
||||
install-headers: png.h pngconf.h pngdefs.h
|
||||
install-headers: png.h pngconf.h
|
||||
-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h pngdefs.h $(DI)/$(LIBNAME)
|
||||
cp png.h pngconf.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
|
||||
chmod 644 $(DI)/$(LIBNAME)/pngdefs.h
|
||||
-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pngdefs.h
|
||||
-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h
|
||||
-@$(RM_F) $(DI)/libpng
|
||||
(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
|
||||
|
||||
@@ -147,17 +153,23 @@ install-static: install-headers libpng.a
|
||||
-@$(RM_F) $(DL)/libpng.a
|
||||
(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers $(LIBSOVER) libpng.pc
|
||||
install-shared: install-headers $(LIBSOVER) libpng.pc \
|
||||
$(OLDSOVER)
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(LIBSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(OLDSO)
|
||||
-@$(RM_F) $(DL)/$(OLDSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(OLDSOVER)*
|
||||
cp $(LIBSOVER) $(DL)
|
||||
cp $(OLDSOVER) $(DL)
|
||||
chmod 755 $(DL)/$(LIBSOVER)
|
||||
chmod 755 $(DL)/$(OLDSOVER)
|
||||
(cd $(DL); \
|
||||
$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
|
||||
$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
|
||||
$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO); \
|
||||
$(LN_SF) $(OLDSO) $(LIBSO))
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO))
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
|
||||
-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@$(RM_F) $(DL)/pkgconfig/libpng.pc
|
||||
@@ -211,7 +223,8 @@ test-installed:
|
||||
clean:
|
||||
$(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
|
||||
libpng-config $(LIBSO) $(LIBSOMAJ)* \
|
||||
libpng.pc pngdefs.h
|
||||
$(OLDSOVER) \
|
||||
libpng.pc
|
||||
|
||||
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
|
||||
writelock:
|
||||
@@ -219,20 +232,20 @@ writelock:
|
||||
|
||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||
|
||||
png.o png.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngerror.o pngerror.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrio.o pngrio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwio.o pngwio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngmem.o pngmem.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngset.o pngset.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngget.o pngget.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngread.o pngread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrtran.o pngrtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrutil.o pngrutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtrans.o pngtrans.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwrite.o pngwrite.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwtran.o pngwtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwutil.o pngwutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngpread.o pngpread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
png.o png.pic.o: png.h pngconf.h
|
||||
pngerror.o pngerror.pic.o: png.h pngconf.h
|
||||
pngrio.o pngrio.pic.o: png.h pngconf.h
|
||||
pngwio.o pngwio.pic.o: png.h pngconf.h
|
||||
pngmem.o pngmem.pic.o: png.h pngconf.h
|
||||
pngset.o pngset.pic.o: png.h pngconf.h
|
||||
pngget.o pngget.pic.o: png.h pngconf.h
|
||||
pngread.o pngread.pic.o: png.h pngconf.h
|
||||
pngrtran.o pngrtran.pic.o: png.h pngconf.h
|
||||
pngrutil.o pngrutil.pic.o: png.h pngconf.h
|
||||
pngtrans.o pngtrans.pic.o: png.h pngconf.h
|
||||
pngwrite.o pngwrite.pic.o: png.h pngconf.h
|
||||
pngwtran.o pngwtran.pic.o: png.h pngconf.h
|
||||
pngwutil.o pngwutil.pic.o: png.h pngconf.h
|
||||
pngpread.o pngpread.pic.o: png.h pngconf.h
|
||||
|
||||
pngtest.o: png.h pngconf.h pngdefs.h
|
||||
pngtest.o: png.h pngconf.h
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
# makefile for libpng on Solaris 2.x with gcc
|
||||
# Copyright (C) 2004, 2006 Glenn Randers-Pehrson
|
||||
# Copyright (C) 2004, 2006-2008 Glenn Randers-Pehrson
|
||||
# Contributed by William L. Sebok, based on makefile.linux
|
||||
# Copyright (C) 1998 Greg Roelofs
|
||||
# Copyright (C) 1996, 1997 Andreas Dilger
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
|
||||
# Library name:
|
||||
LIBNAME = libpng14
|
||||
PNGMAJ = 14
|
||||
PNGMIN = 1.4.0beta37
|
||||
LIBNAME = libpng12
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.32beta01
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
# Shared library names:
|
||||
@@ -16,6 +16,8 @@ LIBSO=$(LIBNAME).so
|
||||
LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
|
||||
LIBSOVER=$(LIBNAME).so.$(PNGVER)
|
||||
OLDSO=libpng.so
|
||||
OLDSOMAJ=libpng.so.3
|
||||
OLDSOVER=libpng.so.3.$(PNGMIN)
|
||||
|
||||
# Utilities:
|
||||
AR_RC=ar rc
|
||||
@@ -25,7 +27,7 @@ LN_SF=ln -f -s
|
||||
RANLIB=echo
|
||||
RM_F=/bin/rm -f
|
||||
|
||||
# Where make install puts libpng.a, libpng14.so*, and png.h
|
||||
# Where make install puts libpng.a, libpng12.so*, and png.h
|
||||
prefix=/usr/local
|
||||
exec_prefix=$(prefix)
|
||||
|
||||
@@ -42,8 +44,9 @@ WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
|
||||
-Wmissing-declarations -Wtraditional -Wcast-align \
|
||||
-Wstrict-prototypes -Wmissing-prototypes #-Wconversion
|
||||
CFLAGS=-I$(ZLIBINC) -W -Wall -O \
|
||||
-DPNG_NO_MMX_CODE; \
|
||||
# $(WARNMORE) -g -DPNG_DEBUG=5
|
||||
LDFLAGS=-L. -R. -L$(ZLIBLIB) -R$(ZLIBLIB) -lpng14 -lz -lm
|
||||
LDFLAGS=-L. -R. -L$(ZLIBLIB) -R$(ZLIBLIB) -lpng12 -lz -lm
|
||||
|
||||
INCPATH=$(prefix)/include
|
||||
LIBPATH=$(exec_prefix)/lib
|
||||
@@ -76,27 +79,27 @@ OBJSDLL = $(OBJS:.o=.pic.o)
|
||||
.c.pic.o:
|
||||
$(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
|
||||
|
||||
all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config pngconf.h pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.solaris */" > pngdefs.h
|
||||
echo "#define PNG_NO_MMX_CODE" >> pngdefs.h
|
||||
all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
$(AR_RC) $@ $(OBJS)
|
||||
$(RANLIB) $@
|
||||
|
||||
libpng.pc:
|
||||
cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
|
||||
cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
|
||||
-e s!@exec_prefix@!$(exec_prefix)! \
|
||||
-e s!@libdir@!$(LIBPATH)! \
|
||||
-e s!@includedir@!$(INCPATH)! \
|
||||
-e s!-lpng12!-lpng12\ -lz\ -lm! > libpng.pc
|
||||
|
||||
libpng-config:
|
||||
( cat scripts/libpng-config-head.in; \
|
||||
echo prefix=\"$(prefix)\"; \
|
||||
echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
|
||||
echo cppflags=\"\"; \
|
||||
echo cppflags=\"-DPNG_NO_MMX_CODE\"; \
|
||||
echo L_opts=\"-L$(LIBPATH)\"; \
|
||||
echo R_opts=\"-R$(LIBPATH)\"; \
|
||||
echo libs=\"-lpng14 -lz -lm\"; \
|
||||
echo libs=\"-lpng12 -lz -lm\"; \
|
||||
cat scripts/libpng-config-body.in ) > libpng-config
|
||||
chmod +x libpng-config
|
||||
|
||||
@@ -122,19 +125,22 @@ $(LIBSOVER): $(OBJSDLL)
|
||||
$(LD) -G -h $(LIBSOMAJ) \
|
||||
-o $(LIBSOVER) $(OBJSDLL)
|
||||
|
||||
$(OLDSOVER): $(OBJS)
|
||||
$(LD) -G -h $(OLDSOMAJ) \
|
||||
-o $(OLDSOVER) $(OBJSDLL)
|
||||
|
||||
pngtest: pngtest.o $(LIBSO)
|
||||
$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
|
||||
|
||||
test: pngtest
|
||||
./pngtest
|
||||
|
||||
install-headers: png.h pngconf.h pngdefs.h
|
||||
install-headers: png.h pngconf.h
|
||||
-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h pngdefs.h $(DI)/$(LIBNAME)
|
||||
cp png.h pngconf.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
|
||||
chmod 644 $(DI)/$(LIBNAME)/pngdefs.h
|
||||
-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pngdefs.h
|
||||
-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h
|
||||
-@$(RM_F) $(DI)/libpng
|
||||
(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
|
||||
|
||||
@@ -145,17 +151,23 @@ install-static: install-headers libpng.a
|
||||
-@$(RM_F) $(DL)/libpng.a
|
||||
(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers $(LIBSOVER) libpng.pc
|
||||
install-shared: install-headers $(LIBSOVER) libpng.pc \
|
||||
$(OLDSOVER)
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(LIBSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(OLDSO)
|
||||
-@$(RM_F) $(DL)/$(OLDSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(OLDSOVER)*
|
||||
cp $(LIBSOVER) $(DL)
|
||||
cp $(OLDSOVER) $(DL)
|
||||
chmod 755 $(DL)/$(LIBSOVER)
|
||||
chmod 755 $(DL)/$(OLDSOVER)
|
||||
(cd $(DL); \
|
||||
$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO); \
|
||||
$(LN_SF) $(OLDSO) $(LIBSO))
|
||||
$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
|
||||
$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
|
||||
$(LN_SF) $(LIBSOVER) $(LIBSO); \
|
||||
$(LN_SF) $(LIBSOVER) $(LIBSOMAJ))
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
|
||||
-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@$(RM_F) $(DL)/pkgconfig/libpng.pc
|
||||
@@ -209,7 +221,8 @@ test-installed:
|
||||
clean:
|
||||
$(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
|
||||
libpng-config $(LIBSO) $(LIBSOMAJ)* \
|
||||
libpng.pc pngdefs.h
|
||||
$(OLDSOVER) \
|
||||
libpng.pc
|
||||
|
||||
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
|
||||
writelock:
|
||||
@@ -217,21 +230,20 @@ writelock:
|
||||
|
||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||
|
||||
png.o png.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngerror.o pngerror.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrio.o pngrio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwio.o pngwio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngmem.o pngmem.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngset.o pngset.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pnggccrd.o pnggccrd.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngget.o pngget.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngread.o pngread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrtran.o pngrtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrutil.o pngrutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtrans.o pngtrans.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwrite.o pngwrite.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwtran.o pngwtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwutil.o pngwutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngpread.o pngpread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
png.o png.pic.o: png.h pngconf.h
|
||||
pngerror.o pngerror.pic.o: png.h pngconf.h
|
||||
pngrio.o pngrio.pic.o: png.h pngconf.h
|
||||
pngwio.o pngwio.pic.o: png.h pngconf.h
|
||||
pngmem.o pngmem.pic.o: png.h pngconf.h
|
||||
pngset.o pngset.pic.o: png.h pngconf.h
|
||||
pngget.o pngget.pic.o: png.h pngconf.h
|
||||
pngread.o pngread.pic.o: png.h pngconf.h
|
||||
pngrtran.o pngrtran.pic.o: png.h pngconf.h
|
||||
pngrutil.o pngrutil.pic.o: png.h pngconf.h
|
||||
pngtrans.o pngtrans.pic.o: png.h pngconf.h
|
||||
pngwrite.o pngwrite.pic.o: png.h pngconf.h
|
||||
pngwtran.o pngwtran.pic.o: png.h pngconf.h
|
||||
pngwutil.o pngwutil.pic.o: png.h pngconf.h
|
||||
pngpread.o pngpread.pic.o: png.h pngconf.h
|
||||
|
||||
pngtest.o: png.h pngconf.h pngdefs.h
|
||||
pngtest.o: png.h pngconf.h
|
||||
|
||||
248
scripts/makefile.solaris-x86
Normal file
248
scripts/makefile.solaris-x86
Normal file
@@ -0,0 +1,248 @@
|
||||
# makefile for libpng on Solaris 2.x with gcc
|
||||
# Copyright (C) 2004, 2006-2008 Glenn Randers-Pehrson
|
||||
# Contributed by William L. Sebok, based on makefile.linux
|
||||
# Copyright (C) 1998 Greg Roelofs
|
||||
# Copyright (C) 1996, 1997 Andreas Dilger
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
|
||||
# Library name:
|
||||
LIBNAME = libpng12
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.32beta01
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
# Shared library names:
|
||||
LIBSO=$(LIBNAME).so
|
||||
LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
|
||||
LIBSOVER=$(LIBNAME).so.$(PNGVER)
|
||||
OLDSO=libpng.so
|
||||
OLDSOMAJ=libpng.so.3
|
||||
OLDSOVER=libpng.so.3.$(PNGMIN)
|
||||
|
||||
# Utilities:
|
||||
AR_RC=ar rc
|
||||
CC=gcc
|
||||
MKDIR_P=mkdir -p
|
||||
LN_SF=ln -f -s
|
||||
RANLIB=echo
|
||||
RM_F=/bin/rm -f
|
||||
|
||||
# Where make install puts libpng.a, libpng12.so*, and png.h
|
||||
prefix=/usr/local
|
||||
exec_prefix=$(prefix)
|
||||
|
||||
# Where the zlib library and include files are located
|
||||
# Changing these to ../zlib poses a security risk. If you want
|
||||
# to have zlib in an adjacent directory, specify the full path instead of "..".
|
||||
#ZLIBLIB=../zlib
|
||||
#ZLIBINC=../zlib
|
||||
|
||||
ZLIBLIB=/usr/local/lib
|
||||
ZLIBINC=/usr/local/include
|
||||
|
||||
WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
|
||||
-Wmissing-declarations -Wtraditional -Wcast-align \
|
||||
-Wstrict-prototypes -Wmissing-prototypes #-Wconversion
|
||||
CFLAGS=-I$(ZLIBINC) -W -Wall -O \
|
||||
# $(WARNMORE) -g -DPNG_DEBUG=5
|
||||
LDFLAGS=-L. -R. -L$(ZLIBLIB) -R$(ZLIBLIB) -lpng12 -lz -lm
|
||||
|
||||
INCPATH=$(prefix)/include
|
||||
LIBPATH=$(exec_prefix)/lib
|
||||
MANPATH=$(prefix)/man
|
||||
BINPATH=$(exec_prefix)/bin
|
||||
|
||||
# override DESTDIR= on the make install command line to easily support
|
||||
# installing into a temporary location. Example:
|
||||
#
|
||||
# make install DESTDIR=/tmp/build/libpng
|
||||
#
|
||||
# If you're going to install into a temporary location
|
||||
# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
|
||||
# you execute make install.
|
||||
DESTDIR=
|
||||
|
||||
DB=$(DESTDIR)$(BINPATH)
|
||||
DI=$(DESTDIR)$(INCPATH)
|
||||
DL=$(DESTDIR)$(LIBPATH)
|
||||
DM=$(DESTDIR)$(MANPATH)
|
||||
|
||||
OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
|
||||
pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
|
||||
pngwtran.o pngmem.o pngerror.o pngpread.o
|
||||
|
||||
OBJSDLL = $(OBJS:.o=.pic.o)
|
||||
|
||||
.SUFFIXES: .c .o .pic.o
|
||||
|
||||
.c.pic.o:
|
||||
$(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
|
||||
|
||||
all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
$(AR_RC) $@ $(OBJS)
|
||||
$(RANLIB) $@
|
||||
|
||||
libpng.pc:
|
||||
cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
|
||||
-e s!@exec_prefix@!$(exec_prefix)! \
|
||||
-e s!@libdir@!$(LIBPATH)! \
|
||||
-e s!@includedir@!$(INCPATH)! \
|
||||
-e s!-lpng12!-lpng12\ -lz\ -lm! > libpng.pc
|
||||
|
||||
libpng-config:
|
||||
( cat scripts/libpng-config-head.in; \
|
||||
echo prefix=\"$(prefix)\"; \
|
||||
echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
|
||||
echo cppflags=\""; \
|
||||
echo L_opts=\"-L$(LIBPATH)\"; \
|
||||
echo R_opts=\"-R$(LIBPATH)\"; \
|
||||
echo libs=\"-lpng12 -lz -lm\"; \
|
||||
cat scripts/libpng-config-body.in ) > libpng-config
|
||||
chmod +x libpng-config
|
||||
|
||||
$(LIBSO): $(LIBSOMAJ)
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO)
|
||||
|
||||
$(LIBSOMAJ): $(LIBSOVER)
|
||||
$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
|
||||
|
||||
$(LIBSOVER): $(OBJSDLL)
|
||||
@case "`type ld`" in *ucb*) \
|
||||
echo; \
|
||||
echo '## WARNING:'; \
|
||||
echo '## The commands "CC" and "LD" must NOT refer to /usr/ucb/cc'; \
|
||||
echo '## and /usr/ucb/ld. If they do, you need to adjust your PATH'; \
|
||||
echo '## environment variable to put /usr/ccs/bin ahead of /usr/ucb.'; \
|
||||
echo '## The environment variable LD_LIBRARY_PATH should not be set'; \
|
||||
echo '## at all. If it is, things are likely to break because of'; \
|
||||
echo '## the libucb dependency that is created.'; \
|
||||
echo; \
|
||||
;; \
|
||||
esac
|
||||
$(LD) -G -h $(LIBSOMAJ) \
|
||||
-o $(LIBSOVER) $(OBJSDLL)
|
||||
|
||||
$(OLDSOVER): $(OBJS)
|
||||
$(LD) -G -h $(OLDSOMAJ) \
|
||||
-o $(OLDSOVER) $(OBJSDLL)
|
||||
|
||||
pngtest: pngtest.o $(LIBSO)
|
||||
$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
|
||||
|
||||
test: pngtest
|
||||
./pngtest
|
||||
|
||||
install-headers: png.h pngconf.h
|
||||
-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
|
||||
-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h
|
||||
-@$(RM_F) $(DI)/libpng
|
||||
(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
|
||||
|
||||
install-static: install-headers libpng.a
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
cp libpng.a $(DL)/$(LIBNAME).a
|
||||
chmod 644 $(DL)/$(LIBNAME).a
|
||||
-@$(RM_F) $(DL)/libpng.a
|
||||
(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers $(LIBSOVER) libpng.pc \
|
||||
$(OLDSOVER)
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(LIBSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(OLDSO)
|
||||
-@$(RM_F) $(DL)/$(OLDSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(OLDSOVER)*
|
||||
cp $(LIBSOVER) $(DL)
|
||||
cp $(OLDSOVER) $(DL)
|
||||
chmod 755 $(DL)/$(LIBSOVER)
|
||||
chmod 755 $(DL)/$(OLDSOVER)
|
||||
(cd $(DL); \
|
||||
$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
|
||||
$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
|
||||
$(LN_SF) $(LIBSOVER) $(LIBSO); \
|
||||
$(LN_SF) $(LIBSOVER) $(LIBSOMAJ))
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
|
||||
-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@$(RM_F) $(DL)/pkgconfig/libpng.pc
|
||||
cp libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
chmod 644 $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
(cd $(DL)/pkgconfig; $(LN_SF) $(LIBNAME).pc libpng.pc)
|
||||
|
||||
install-man: libpng.3 libpngpf.3 png.5
|
||||
-@if [ ! -d $(DM) ]; then $(MKDIR_P) $(DM); fi
|
||||
-@if [ ! -d $(DM)/man3 ]; then $(MKDIR_P) $(DM)/man3; fi
|
||||
-@$(RM_F) $(DM)/man3/libpng.3
|
||||
-@$(RM_F) $(DM)/man3/libpngpf.3
|
||||
cp libpng.3 $(DM)/man3
|
||||
cp libpngpf.3 $(DM)/man3
|
||||
-@if [ ! -d $(DM)/man5 ]; then $(MKDIR_P) $(DM)/man5; fi
|
||||
-@$(RM_F) $(DM)/man5/png.5
|
||||
cp png.5 $(DM)/man5
|
||||
|
||||
install-config: libpng-config
|
||||
-@if [ ! -d $(DB) ]; then $(MKDIR_P) $(DB); fi
|
||||
-@$(RM_F) $(DB)/libpng-config
|
||||
-@$(RM_F) $(DB)/$(LIBNAME)-config
|
||||
cp libpng-config $(DB)/$(LIBNAME)-config
|
||||
chmod 755 $(DB)/$(LIBNAME)-config
|
||||
(cd $(DB); $(LN_SF) $(LIBNAME)-config libpng-config)
|
||||
|
||||
install: install-static install-shared install-man install-config
|
||||
|
||||
# If you installed in $(DESTDIR), test-installed won't work until you
|
||||
# move the library to its final location. Use test-dd to test it
|
||||
# before then.
|
||||
|
||||
test-dd:
|
||||
echo
|
||||
echo Testing installed dynamic shared library in $(DL).
|
||||
$(CC) -I$(DI) -I$(ZLIBINC) \
|
||||
`$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
|
||||
-o pngtestd `$(BINPATH)/$(LIBNAME)-config --ldflags` \
|
||||
-L$(DL) -L$(ZLIBLIB) -R$(ZLIBLIB) -R$(DL)
|
||||
./pngtestd pngtest.png
|
||||
|
||||
test-installed:
|
||||
echo
|
||||
echo Testing installed dynamic shared library.
|
||||
$(CC) -I$(ZLIBINC) \
|
||||
`$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
|
||||
-o pngtesti `$(BINPATH)/$(LIBNAME)-config --ldflags` \
|
||||
-L$(ZLIBLIB) -R$(ZLIBLIB)
|
||||
./pngtesti pngtest.png
|
||||
|
||||
clean:
|
||||
$(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
|
||||
libpng-config $(LIBSO) $(LIBSOMAJ)* \
|
||||
$(OLDSOVER) \
|
||||
libpng.pc
|
||||
|
||||
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
|
||||
writelock:
|
||||
chmod a-w *.[ch35] $(DOCS) scripts/*
|
||||
|
||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||
|
||||
png.o png.pic.o: png.h pngconf.h
|
||||
pngerror.o pngerror.pic.o: png.h pngconf.h
|
||||
pngrio.o pngrio.pic.o: png.h pngconf.h
|
||||
pngwio.o pngwio.pic.o: png.h pngconf.h
|
||||
pngmem.o pngmem.pic.o: png.h pngconf.h
|
||||
pngset.o pngset.pic.o: png.h pngconf.h
|
||||
pngget.o pngget.pic.o: png.h pngconf.h
|
||||
pngread.o pngread.pic.o: png.h pngconf.h
|
||||
pngrtran.o pngrtran.pic.o: png.h pngconf.h
|
||||
pngrutil.o pngrutil.pic.o: png.h pngconf.h
|
||||
pngtrans.o pngtrans.pic.o: png.h pngconf.h
|
||||
pngwrite.o pngwrite.pic.o: png.h pngconf.h
|
||||
pngwtran.o pngwtran.pic.o: png.h pngconf.h
|
||||
pngwutil.o pngwutil.pic.o: png.h pngconf.h
|
||||
pngpread.o pngpread.pic.o: png.h pngconf.h
|
||||
|
||||
pngtest.o: png.h pngconf.h
|
||||
@@ -40,9 +40,6 @@ OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
|
||||
|
||||
all: libpng.a pngtest
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.std */" > pngdefs.h
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
$(AR_RC) $@ $(OBJS)
|
||||
$(RANLIB) $@
|
||||
@@ -59,19 +56,16 @@ install: libpng.a
|
||||
-@$(MKDIR_P) $(DESTDIR)$(LIBPATH)
|
||||
-@$(RM_F) $(DESTDIR)$(INCPATH)/png.h
|
||||
-@$(RM_F) $(DESTDIR)$(INCPATH)/pngconf.h
|
||||
-@$(RM_F) $(DESTDIR)$(INCPATH)/pngdefs.h
|
||||
cp png.h $(DESTDIR)$(INCPATH)/libpng
|
||||
cp pngconf.h $(DESTDIR)$(INCPATH)/libpng
|
||||
cp pngdefs.h $(DESTDIR)$(INCPATH)/libpng
|
||||
chmod 644 $(DESTDIR)$(INCPATH)/libpng/png.h
|
||||
chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngconf.h
|
||||
chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngdefs.h
|
||||
(cd $(DESTDIR)$(INCPATH); ln -f -s libpng/* .)
|
||||
cp libpng.a $(DESTDIR)$(LIBPATH)
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/libpng.a
|
||||
|
||||
clean:
|
||||
$(RM_F) *.o libpng.a pngtest pngout.png pngdefs.h
|
||||
$(RM_F) *.o libpng.a pngtest pngout.png
|
||||
|
||||
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
|
||||
writelock:
|
||||
@@ -79,20 +73,20 @@ writelock:
|
||||
|
||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||
|
||||
png.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngerror.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrio.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwio.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngmem.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngset.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngget.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngread.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrtran.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrutil.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtrans.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwrite.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwtran.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwutil.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngpread.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
png.o: png.h pngconf.h
|
||||
pngerror.o: png.h pngconf.h
|
||||
pngrio.o: png.h pngconf.h
|
||||
pngwio.o: png.h pngconf.h
|
||||
pngmem.o: png.h pngconf.h
|
||||
pngset.o: png.h pngconf.h
|
||||
pngget.o: png.h pngconf.h
|
||||
pngread.o: png.h pngconf.h
|
||||
pngrtran.o: png.h pngconf.h
|
||||
pngrutil.o: png.h pngconf.h
|
||||
pngtest.o: png.h pngconf.h
|
||||
pngtrans.o: png.h pngconf.h
|
||||
pngwrite.o: png.h pngconf.h
|
||||
pngwtran.o: png.h pngconf.h
|
||||
pngwutil.o: png.h pngconf.h
|
||||
pngpread.o: png.h pngconf.h
|
||||
|
||||
pngtest.o: png.h pngconf.h pngdefs.h
|
||||
|
||||
@@ -41,12 +41,9 @@ LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
|
||||
|
||||
OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
|
||||
pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
|
||||
pngwtran.o pngmem.o pngerror.o pngpread.o pnggccrd.o
|
||||
pngwtran.o pngmem.o pngerror.o pngpread.o
|
||||
|
||||
all: libpng.a pngtest pngdefs.h
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.elf */" > pngdefs.h
|
||||
all: libpng.a pngtest
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
$(AR_RC) $@ $(OBJS)
|
||||
@@ -64,18 +61,16 @@ install: libpng.a
|
||||
-@$(MKDIR_P) $(DESTDIR)$(LIBPATH)
|
||||
-@$(RM_F) $(DESTDIR)$(INCPATH)/png.h
|
||||
-@$(RM_F) $(DESTDIR)$(INCPATH)/pngconf.h
|
||||
-@$(RM_F) $(DESTDIR)$(INCPATH)/pngdefs.h
|
||||
cp png.h $(DESTDIR)$(INCPATH)/libpng
|
||||
cp pngconf.h $(DESTDIR)$(INCPATH)/libpng
|
||||
chmod 644 $(DESTDIR)$(INCPATH)/libpng/png.h
|
||||
chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngconf.h
|
||||
chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngdefs.h
|
||||
(cd $(DESTDIR)$(INCPATH); $(LN_SF) libpng/* .)
|
||||
cp libpng.a $(DESTDIR)$(LIBPATH)
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/libpng.a
|
||||
|
||||
clean:
|
||||
$(RM_F) *.o libpng.a pngtest pngout.png pngdefs.h
|
||||
$(RM_F) *.o libpng.a pngtest pngout.png
|
||||
|
||||
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
|
||||
writelock:
|
||||
@@ -83,20 +78,20 @@ writelock:
|
||||
|
||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||
|
||||
png.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngerror.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrio.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwio.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngmem.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngset.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngget.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngread.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrtran.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrutil.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtrans.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwrite.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwtran.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwutil.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngpread.o: png.h pngconf.h pngdefs.h pngpriv.h
|
||||
png.o: png.h pngconf.h
|
||||
pngerror.o: png.h pngconf.h
|
||||
pngrio.o: png.h pngconf.h
|
||||
pngwio.o: png.h pngconf.h
|
||||
pngmem.o: png.h pngconf.h
|
||||
pngset.o: png.h pngconf.h
|
||||
pngget.o: png.h pngconf.h
|
||||
pngread.o: png.h pngconf.h
|
||||
pngrtran.o: png.h pngconf.h
|
||||
pngrutil.o: png.h pngconf.h
|
||||
pngtest.o: png.h pngconf.h
|
||||
pngtrans.o: png.h pngconf.h
|
||||
pngwrite.o: png.h pngconf.h
|
||||
pngwtran.o: png.h pngconf.h
|
||||
pngwutil.o: png.h pngconf.h
|
||||
pngpread.o: png.h pngconf.h
|
||||
|
||||
pngtest.o: png.h pngconf.h pngdefs.h
|
||||
|
||||
@@ -25,60 +25,57 @@ OBJSL3 = +pngwrite$(O) +pngrtran$(O) +pngwtran$(O) +pngrio$(O) +pngwio$(O)
|
||||
|
||||
all: libpng$(MODEL).lib pngtest$(E)
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.tc3 */" > pngdefs.h
|
||||
|
||||
pngtest: pngtest$(E)
|
||||
|
||||
test: pngtest$(E)
|
||||
pngtest$(E)
|
||||
|
||||
png$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
png$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
pngset$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngset$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
pngget$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngget$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
pngread$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngread$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
pngpread$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngpread$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
pngrtran$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrtran$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
pngrutil$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrutil$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
pngerror$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngerror$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
pngmem$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngmem$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
pngrio$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrio$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
pngwio$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwio$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
pngtest$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtest$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
pngtrans$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtrans$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
pngwrite$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwrite$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
pngwtran$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwtran$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
pngwutil$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwutil$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
libpng$(MODEL).lib: $(OBJS1) $(OBJS2) $(OBJS3)
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# makefile for libpng
|
||||
# Copyright (C) 1998 Tim Wegner
|
||||
# Copyright (C) 2006 Glenn Randers-Pehrson
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
# Assumes that zlib.lib, zconf.h, and zlib.h have been copied to ..\zlib
|
||||
# To use, do "nmake /f scripts\makefile.vcawin32"
|
||||
@@ -12,7 +11,7 @@
|
||||
CC = cl
|
||||
LD = link
|
||||
AR = lib
|
||||
CFLAGS = -nologo -MD -O2 -W3 -I..\zlib
|
||||
CFLAGS = -DPNG_USE_PNGVCRD -nologo -MD -O2 -W3 -I..\zlib
|
||||
LDFLAGS = -nologo
|
||||
ARFLAGS = -nologo
|
||||
RM = del
|
||||
@@ -27,65 +26,57 @@ O=.obj
|
||||
OBJS1 = png$(O) pngerror$(O) pngget$(O) pngmem$(O) pngpread$(O)
|
||||
OBJS2 = pngread$(O) pngrio$(O) pngrtran$(O) pngrutil$(O) pngset$(O)
|
||||
OBJS3 = pngtrans$(O) pngwio$(O) pngwrite$(O) pngwtran$(O) pngwutil$(O)
|
||||
OBJS4 = pngvcrd$(O)
|
||||
OBJS = $(OBJS1) $(OBJS2) $(OBJS3) $(OBJS4)
|
||||
OBJS = $(OBJS1) $(OBJS2) $(OBJS3)
|
||||
|
||||
# Targets
|
||||
all: libpng.lib pngdefs.h
|
||||
all: libpng.lib
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.vcawin32 */" > pngdefs.h
|
||||
echo "#define PNG_USE_PNGVCRD" >> pngdefs.h
|
||||
|
||||
png$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
png$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngset$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngset$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngget$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngget$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngread$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngread$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngpread$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngpread$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngrtran$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrtran$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngrutil$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrutil$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngerror$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngerror$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngmem$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngmem$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngrio$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrio$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngwio$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwio$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngtest$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtest$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngtrans$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtrans$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngwrite$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwrite$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngwtran$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwtran$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngwutil$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngvcrd$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwutil$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
libpng.lib: $(OBJS)
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# makefile for libpng
|
||||
# Copyright (C) 1998 Tim Wegner
|
||||
# Copyright (C) 2006 Glenn Randers-Pehrson
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
# Assumes that zlib.lib, zconf.h, and zlib.h have been copied to ..\zlib
|
||||
# To use, do "nmake /f scripts\makefile.vcwin32"
|
||||
@@ -12,7 +11,7 @@
|
||||
CC = cl
|
||||
LD = link
|
||||
AR = lib
|
||||
CFLAGS = -nologo -MD -O2 -W3 -I..\zlib
|
||||
CFLAGS = -nologo -DPNG_NO_MMX_CODE -MD -O2 -W3 -I..\zlib
|
||||
LDFLAGS = -nologo
|
||||
ARFLAGS = -nologo
|
||||
RM = del
|
||||
@@ -24,67 +23,60 @@ O=.obj
|
||||
#ERRFILE= >> pngerrs.log
|
||||
|
||||
# Variables
|
||||
OBJS1 = png$(O) pngerror$(O) pngget$(O) pngmem$(O) pngpread$(O) pnggccrd$(O)
|
||||
OBJS1 = png$(O) pngerror$(O) pngget$(O) pngmem$(O) pngpread$(O)
|
||||
OBJS2 = pngread$(O) pngrio$(O) pngrtran$(O) pngrutil$(O) pngset$(O)
|
||||
OBJS3 = pngtrans$(O) pngwio$(O) pngwrite$(O) pngwtran$(O) pngwutil$(O)
|
||||
OBJS = $(OBJS1) $(OBJS2) $(OBJS3)
|
||||
|
||||
# Targets
|
||||
all: libpng.lib pngdefs.h
|
||||
all: libpng.lib
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.vcwin32 */" > pngdefs.h
|
||||
echo "#define PNG_NO_MMX_CODE" >> pngdefs.h
|
||||
|
||||
png$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
png$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngset$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngset$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pnggccrd$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngget$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngget$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngread$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngread$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngpread$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngpread$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrtran$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngrtran$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrutil$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngrutil$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngerror$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngerror$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngmem$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngmem$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrio$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngrio$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwio$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngwio$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtest$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngtest$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtrans$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngtrans$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwrite$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngwrite$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwtran$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngwtran$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngwutil$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwutil$(O): png.h pngconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
libpng.lib: $(OBJS)
|
||||
|
||||
@@ -44,57 +44,54 @@ OBJS2=pngmem$(O) pngpread$(O) pngread$(O) pngerror$(O) pngwrite$(O)
|
||||
OBJS3=pngrtran$(O) pngwtran$(O) pngrio$(O) pngwio$(O)
|
||||
|
||||
|
||||
all: test pngdefs.h
|
||||
all: test
|
||||
|
||||
pngdefs.h:
|
||||
echo "/* pngdefs.h was built by makefile.watcam */" > pngdefs.h
|
||||
|
||||
png$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
png$(O): png.h pngconf.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngset$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngset$(O): png.h pngconf.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngget$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngget$(O): png.h pngconf.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngread$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngread$(O): png.h pngconf.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngpread$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngpread$(O): png.h pngconf.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngrtran$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrtran$(O): png.h pngconf.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngrutil$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrutil$(O): png.h pngconf.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngerror$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngerror$(O): png.h pngconf.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngmem$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngmem$(O): png.h pngconf.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngrio$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrio$(O): png.h pngconf.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngwio$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwio$(O): png.h pngconf.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngtest$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtest$(O): png.h pngconf.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngtrans$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtrans$(O): png.h pngconf.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngwrite$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwrite$(O): png.h pngconf.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngwtran$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwtran$(O): png.h pngconf.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
pngwutil$(O): png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwutil$(O): png.h pngconf.h
|
||||
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
||||
|
||||
libpng.lib: $(OBJS1) $(OBJS2) $(OBJS3)
|
||||
|
||||
@@ -52,45 +52,44 @@ $!
|
||||
$ write sys$output "Compiling Libpng sources ..."
|
||||
$ if make.eqs.""
|
||||
$ then
|
||||
$ echo "" > pngdefs.h
|
||||
$ dele pngtest.obj;*
|
||||
$ CALL MAKE png.OBJ "cc ''CCOPT' png" -
|
||||
png.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
png.c png.h pngconf.h
|
||||
$ CALL MAKE pngpread.OBJ "cc ''CCOPT' pngpread" -
|
||||
pngpread.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngpread.c png.h pngconf.h
|
||||
$ CALL MAKE pngset.OBJ "cc ''CCOPT' pngset" -
|
||||
pngset.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngset.c png.h pngconf.h
|
||||
$ CALL MAKE pngget.OBJ "cc ''CCOPT' pngget" -
|
||||
pngget.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngget.c png.h pngconf.h
|
||||
$ CALL MAKE pngread.OBJ "cc ''CCOPT' pngread" -
|
||||
pngread.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngread.c png.h pngconf.h
|
||||
$ CALL MAKE pngpread.OBJ "cc ''CCOPT' pngpread" -
|
||||
pngpread.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngpread.c png.h pngconf.h
|
||||
$ CALL MAKE pngrtran.OBJ "cc ''CCOPT' pngrtran" -
|
||||
pngrtran.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrtran.c png.h pngconf.h
|
||||
$ CALL MAKE pngrutil.OBJ "cc ''CCOPT' pngrutil" -
|
||||
pngrutil.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrutil.c png.h pngconf.h
|
||||
$ CALL MAKE pngerror.OBJ "cc ''CCOPT' pngerror" -
|
||||
pngerror.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngerror.c png.h pngconf.h
|
||||
$ CALL MAKE pngmem.OBJ "cc ''CCOPT' pngmem" -
|
||||
pngmem.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngmem.c png.h pngconf.h
|
||||
$ CALL MAKE pngrio.OBJ "cc ''CCOPT' pngrio" -
|
||||
pngrio.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngrio.c png.h pngconf.h
|
||||
$ CALL MAKE pngwio.OBJ "cc ''CCOPT' pngwio" -
|
||||
pngwio.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwio.c png.h pngconf.h
|
||||
$ CALL MAKE pngtrans.OBJ "cc ''CCOPT' pngtrans" -
|
||||
pngtrans.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngtrans.c png.h pngconf.h
|
||||
$ CALL MAKE pngwrite.OBJ "cc ''CCOPT' pngwrite" -
|
||||
pngwrite.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwrite.c png.h pngconf.h
|
||||
$ CALL MAKE pngwtran.OBJ "cc ''CCOPT' pngwtran" -
|
||||
pngwtran.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwtran.c png.h pngconf.h
|
||||
$ CALL MAKE pngwutil.OBJ "cc ''CCOPT' pngwutil" -
|
||||
pngwutil.c png.h pngconf.h pngdefs.h pngpriv.h
|
||||
pngwutil.c png.h pngconf.h
|
||||
$ write sys$output "Building Libpng ..."
|
||||
$ CALL MAKE libpng.OLB "lib/crea libpng.olb *.obj" *.OBJ
|
||||
$ write sys$output "Building pngtest..."
|
||||
$ CALL MAKE pngtest.OBJ "cc ''CCOPT' pngtest" -
|
||||
pngtest.c png.h pngconf.h pngdefs.h
|
||||
pngtest.c png.h pngconf.h
|
||||
$ call make pngtest.exe -
|
||||
"LINK pngtest,libpng.olb/lib,''zlibsrc'libz.olb/lib" -
|
||||
pngtest.obj libpng.olb
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
; PNG.LIB module definition file for OS/2
|
||||
;----------------------------------------
|
||||
|
||||
; Version 1.4.0beta37
|
||||
; Version 1.2.32beta01
|
||||
|
||||
LIBRARY PNG
|
||||
DESCRIPTION "PNG image compression library for OS/2"
|
||||
@@ -82,11 +82,13 @@ EXPORTS
|
||||
png_malloc
|
||||
png_memcpy_check
|
||||
png_memset_check
|
||||
png_permit_empty_plte
|
||||
png_process_data
|
||||
png_progressive_combine_row
|
||||
png_read_end
|
||||
png_read_image
|
||||
png_read_info
|
||||
; png_read_init ; deprecated
|
||||
png_read_png
|
||||
png_read_row
|
||||
png_read_rows
|
||||
@@ -116,6 +118,7 @@ EXPORTS
|
||||
png_set_gAMA
|
||||
png_set_gAMA_fixed
|
||||
png_set_gamma
|
||||
; png_set_gray_1_2_4_to_8 ; deprecated as of libpng-1.2.9
|
||||
png_set_gray_to_rgb
|
||||
png_set_hIST
|
||||
png_set_iCCP
|
||||
@@ -170,10 +173,10 @@ EXPORTS
|
||||
png_write_image
|
||||
png_write_info
|
||||
png_write_info_before_PLTE
|
||||
; png_write_init ; deprecated
|
||||
png_write_png
|
||||
png_write_row
|
||||
png_write_rows
|
||||
png_write_sig
|
||||
png_read_init_2
|
||||
png_write_init_2
|
||||
png_access_version_number
|
||||
@@ -220,21 +223,7 @@ EXPORTS
|
||||
png_get_uint_31
|
||||
png_set_expand_gray_1_2_4_to_8
|
||||
|
||||
; Added at version 1.4.0
|
||||
png_write_sig
|
||||
; png_benign_error
|
||||
; png_benign_chunk_error
|
||||
; png_set_benign_error
|
||||
png_get_io_chunk_name
|
||||
png_get_io_state
|
||||
png_set_premultiply_alpha
|
||||
png_get_chunk_cache_max
|
||||
png_set_chunk_cache_max
|
||||
png_check_cHRM
|
||||
png_check_cHRM_fixed
|
||||
|
||||
; These are not present when libpng is compiled with PNG_NO_GLOBAL_ARRAYS
|
||||
png_libpng_ver
|
||||
png_pass_start
|
||||
png_pass_inc
|
||||
png_pass_ystart
|
||||
|
||||
238
scripts/pngw32.def
Normal file
238
scripts/pngw32.def
Normal file
@@ -0,0 +1,238 @@
|
||||
;------------------------------------------
|
||||
; LIBPNG module definition file for Windows
|
||||
;------------------------------------------
|
||||
|
||||
LIBRARY
|
||||
|
||||
EXPORTS
|
||||
;Version 1.2.32beta01
|
||||
png_build_grayscale_palette @1
|
||||
png_check_sig @2
|
||||
png_chunk_error @3
|
||||
png_chunk_warning @4
|
||||
png_convert_from_struct_tm @5
|
||||
png_convert_from_time_t @6
|
||||
png_create_info_struct @7
|
||||
png_create_read_struct @8
|
||||
png_create_write_struct @9
|
||||
png_data_freer @10
|
||||
png_destroy_info_struct @11
|
||||
png_destroy_read_struct @12
|
||||
png_destroy_write_struct @13
|
||||
png_error @14
|
||||
png_free @15
|
||||
png_free_data @16
|
||||
png_get_IHDR @17
|
||||
png_get_PLTE @18
|
||||
png_get_bKGD @19
|
||||
png_get_bit_depth @20
|
||||
png_get_cHRM @21
|
||||
png_get_cHRM_fixed @22
|
||||
png_get_channels @23
|
||||
png_get_color_type @24
|
||||
png_get_compression_buffer_size @25
|
||||
png_get_compression_type @26
|
||||
png_get_copyright @27
|
||||
png_get_error_ptr @28
|
||||
png_get_filter_type @29
|
||||
png_get_gAMA @30
|
||||
png_get_gAMA_fixed @31
|
||||
png_get_hIST @32
|
||||
png_get_header_ver @33
|
||||
png_get_header_version @34
|
||||
png_get_iCCP @35
|
||||
png_get_image_height @36
|
||||
png_get_image_width @37
|
||||
png_get_interlace_type @38
|
||||
png_get_io_ptr @39
|
||||
; png_get_libpng_ver @40
|
||||
png_get_oFFs @41
|
||||
png_get_pCAL @42
|
||||
png_get_pHYs @43
|
||||
png_get_pixel_aspect_ratio @44
|
||||
png_get_pixels_per_meter @45
|
||||
png_get_progressive_ptr @46
|
||||
png_get_rgb_to_gray_status @47
|
||||
png_get_rowbytes @48
|
||||
png_get_rows @49
|
||||
png_get_sBIT @50
|
||||
png_get_sCAL @51
|
||||
png_get_sPLT @52
|
||||
png_get_sRGB @53
|
||||
png_get_signature @54
|
||||
png_get_tIME @55
|
||||
png_get_tRNS @56
|
||||
png_get_text @57
|
||||
png_get_unknown_chunks @58
|
||||
png_get_user_chunk_ptr @59
|
||||
png_get_user_transform_ptr @60
|
||||
png_get_valid @61
|
||||
png_get_x_offset_microns @62
|
||||
png_get_x_offset_pixels @63
|
||||
png_get_x_pixels_per_meter @64
|
||||
png_get_y_offset_microns @65
|
||||
png_get_y_offset_pixels @66
|
||||
png_get_y_pixels_per_meter @67
|
||||
png_malloc @68
|
||||
png_memcpy_check @69
|
||||
png_memset_check @70
|
||||
; png_permit_empty_plte is deprecated
|
||||
png_permit_empty_plte @71
|
||||
png_process_data @72
|
||||
png_progressive_combine_row @73
|
||||
png_read_end @74
|
||||
png_read_image @75
|
||||
png_read_info @76
|
||||
; png_read_init is deprecated
|
||||
png_read_init @77
|
||||
png_read_png @78
|
||||
png_read_row @79
|
||||
png_read_rows @80
|
||||
png_read_update_info @81
|
||||
png_reset_zstream @82
|
||||
png_set_IHDR @83
|
||||
png_set_PLTE @84
|
||||
png_set_bKGD @85
|
||||
png_set_background @86
|
||||
png_set_bgr @87
|
||||
png_set_cHRM @88
|
||||
png_set_cHRM_fixed @89
|
||||
png_set_compression_buffer_size @90
|
||||
png_set_compression_level @91
|
||||
png_set_compression_mem_level @92
|
||||
png_set_compression_method @93
|
||||
png_set_compression_strategy @94
|
||||
png_set_compression_window_bits @95
|
||||
png_set_crc_action @96
|
||||
png_set_dither @97
|
||||
png_set_error_fn @98
|
||||
png_set_expand @99
|
||||
png_set_filler @100
|
||||
png_set_filter @101
|
||||
png_set_filter_heuristics @102
|
||||
png_set_flush @103
|
||||
png_set_gAMA @104
|
||||
png_set_gAMA_fixed @105
|
||||
png_set_gamma @106
|
||||
; png_set_gray_1_2_4_to_8 is deprecated
|
||||
png_set_gray_1_2_4_to_8 @107
|
||||
png_set_gray_to_rgb @108
|
||||
png_set_hIST @109
|
||||
png_set_iCCP @110
|
||||
png_set_interlace_handling @111
|
||||
png_set_invert_alpha @112
|
||||
png_set_invert_mono @113
|
||||
png_set_keep_unknown_chunks @114
|
||||
png_set_oFFs @115
|
||||
png_set_pCAL @116
|
||||
png_set_pHYs @117
|
||||
png_set_packing @118
|
||||
png_set_packswap @119
|
||||
png_set_palette_to_rgb @120
|
||||
png_set_progressive_read_fn @121
|
||||
png_set_read_fn @122
|
||||
png_set_read_status_fn @123
|
||||
png_set_read_user_chunk_fn @124
|
||||
png_set_read_user_transform_fn @125
|
||||
png_set_rgb_to_gray @126
|
||||
png_set_rgb_to_gray_fixed @127
|
||||
png_set_rows @128
|
||||
png_set_sBIT @129
|
||||
png_set_sCAL @130
|
||||
png_set_sPLT @131
|
||||
png_set_sRGB @132
|
||||
png_set_sRGB_gAMA_and_cHRM @133
|
||||
png_set_shift @134
|
||||
png_set_sig_bytes @135
|
||||
png_set_strip_16 @136
|
||||
png_set_strip_alpha @137
|
||||
png_set_swap @138
|
||||
png_set_swap_alpha @139
|
||||
png_set_tIME @140
|
||||
png_set_tRNS @141
|
||||
png_set_tRNS_to_alpha @142
|
||||
png_set_text @143
|
||||
png_set_unknown_chunk_location @144
|
||||
png_set_unknown_chunks @145
|
||||
png_set_user_transform_info @146
|
||||
png_set_write_fn @147
|
||||
png_set_write_status_fn @148
|
||||
png_set_write_user_transform_fn @149
|
||||
png_sig_cmp @150
|
||||
png_start_read_image @151
|
||||
png_warning @152
|
||||
png_write_chunk @153
|
||||
png_write_chunk_data @154
|
||||
png_write_chunk_end @155
|
||||
png_write_chunk_start @156
|
||||
png_write_end @157
|
||||
png_write_flush @158
|
||||
png_write_image @159
|
||||
png_write_info @160
|
||||
png_write_info_before_PLTE @161
|
||||
; png_write_init is deprecated
|
||||
png_write_init @162
|
||||
png_write_png @163
|
||||
png_write_row @164
|
||||
png_write_rows @165
|
||||
; png_read_init_2 and png_write_init_2 are deprecated.
|
||||
png_read_init_2 @166
|
||||
png_write_init_2 @167
|
||||
png_access_version_number @168
|
||||
; png_sig_bytes @169
|
||||
; Removed from version 1.2.20
|
||||
; png_libpng_ver @170
|
||||
;
|
||||
png_init_io @171
|
||||
png_convert_to_rfc1123 @172
|
||||
png_set_invalid @173
|
||||
; Added at version 1.0.12
|
||||
; For compatibility with 1.0.7-1.0.11
|
||||
; png_info_init @174
|
||||
png_read_init_3 @175
|
||||
png_write_init_3 @176
|
||||
png_info_init_3 @177
|
||||
png_destroy_struct @178
|
||||
; Added at version 1.2.0
|
||||
; For use with PNG_USER_MEM_SUPPORTED
|
||||
png_destroy_struct_2 @179
|
||||
png_create_read_struct_2 @180
|
||||
png_create_write_struct_2 @181
|
||||
png_malloc_default @182
|
||||
png_free_default @183
|
||||
; MNG features
|
||||
png_permit_mng_features @184
|
||||
; MMX support
|
||||
png_mmx_support @185
|
||||
; png_get_mmx_flagmask @186
|
||||
png_get_asm_flagmask @187
|
||||
png_get_asm_flags @188
|
||||
; png_get_mmx_bitdepth_threshold @189
|
||||
; png_get_mmx_rowbytes_threshold @190
|
||||
png_set_asm_flags @191
|
||||
; png_init_mmx_flags @192
|
||||
; Strip error numbers
|
||||
png_set_strip_error_numbers @193
|
||||
; Added at version 1.2.2
|
||||
png_handle_as_unknown @194
|
||||
; Added at version 1.2.2 and deleted from 1.2.3
|
||||
; png_zalloc @195
|
||||
; png_zfree @196
|
||||
; Added at version 1.2.4
|
||||
png_malloc_warn @195
|
||||
; Added at version 1.2.6
|
||||
png_malloc_warn @195
|
||||
png_get_user_height_max @196
|
||||
png_get_user_width_max @197
|
||||
png_set_user_limits @198
|
||||
; Added at version 1.2.7
|
||||
png_set_add_alpha @199
|
||||
; Added at version 1.2.9
|
||||
png_get_uint_32 @200
|
||||
png_save_uint_32 @201
|
||||
png_get_uint_16 @202
|
||||
png_save_uint_16 @203
|
||||
png_get_int_32 @204
|
||||
png_save_int_32 @205
|
||||
png_get_uint_31 @206
|
||||
png_set_expand_gray_1_2_4_to_8 @207
|
||||
@@ -90,7 +90,7 @@ BEGIN
|
||||
VALUE "FileDescription", "PNG image compression library\000"
|
||||
VALUE "FileVersion", PNG_LIBPNG_VER_STRING "\000"
|
||||
VALUE "InternalName", PNG_LIBPNG_DLLFNAME QUOTE(PNG_LIBPNG_VER_DLLNUM) PNG_LIBPNG_DLLFNAME_POSTFIX " (Windows 32 bit)\000"
|
||||
VALUE "LegalCopyright", "\251 1998-2006 Glenn Randers-Pehrson et al.\000"
|
||||
VALUE "LegalCopyright", "\251 1998-2004 Glenn Randers-Pehrson et al.\000"
|
||||
#ifdef PNG_USER_VERSIONINFO_LEGALTRADEMARKS
|
||||
VALUE "LegalTrademarks", PNG_USER_VERSIONINFO_LEGALTRADEMARKS "\000"
|
||||
#endif /* PNG_USER_VERSIONINFO_LEGALTRADEMARKS */
|
||||
@@ -1,232 +0,0 @@
|
||||
;------------------------------------------
|
||||
; LIBPNG module definition file for Windows
|
||||
;------------------------------------------
|
||||
|
||||
LIBRARY
|
||||
|
||||
EXPORTS
|
||||
;Version 1.4.0beta37
|
||||
png_build_grayscale_palette
|
||||
png_chunk_error
|
||||
png_chunk_warning
|
||||
png_convert_from_struct_tm
|
||||
png_convert_from_time_t
|
||||
png_create_info_struct
|
||||
png_create_read_struct
|
||||
png_create_write_struct
|
||||
png_data_freer
|
||||
png_destroy_info_struct
|
||||
png_destroy_read_struct
|
||||
png_destroy_write_struct
|
||||
png_error
|
||||
png_free
|
||||
png_free_data
|
||||
png_get_IHDR
|
||||
png_get_PLTE
|
||||
png_get_bKGD
|
||||
png_get_bit_depth
|
||||
png_get_cHRM
|
||||
png_get_cHRM_fixed
|
||||
png_get_channels
|
||||
png_get_color_type
|
||||
png_get_compression_buffer_size
|
||||
png_get_compression_type
|
||||
png_get_copyright
|
||||
png_get_error_ptr
|
||||
png_get_filter_type
|
||||
png_get_gAMA
|
||||
png_get_gAMA_fixed
|
||||
png_get_hIST
|
||||
png_get_header_ver
|
||||
png_get_header_version
|
||||
png_get_iCCP
|
||||
png_get_image_height
|
||||
png_get_image_width
|
||||
png_get_interlace_type
|
||||
png_get_io_ptr
|
||||
png_get_libpng_ver
|
||||
png_get_oFFs
|
||||
png_get_pCAL
|
||||
png_get_pHYs
|
||||
png_get_pixel_aspect_ratio
|
||||
png_get_pixels_per_meter
|
||||
png_get_progressive_ptr
|
||||
png_get_rgb_to_gray_status
|
||||
png_get_rowbytes
|
||||
png_get_rows
|
||||
png_get_sBIT
|
||||
png_get_sCAL
|
||||
png_get_sPLT
|
||||
png_get_sRGB
|
||||
png_get_signature
|
||||
png_get_tIME
|
||||
png_get_tRNS
|
||||
png_get_text
|
||||
png_get_unknown_chunks
|
||||
png_get_user_chunk_ptr
|
||||
png_get_user_transform_ptr
|
||||
png_get_valid
|
||||
png_get_x_offset_microns
|
||||
png_get_x_offset_pixels
|
||||
png_get_x_pixels_per_meter
|
||||
png_get_y_offset_microns
|
||||
png_get_y_offset_pixels
|
||||
png_get_y_pixels_per_meter
|
||||
png_malloc
|
||||
png_memcpy_check
|
||||
png_memset_check
|
||||
png_process_data
|
||||
png_progressive_combine_row
|
||||
png_read_end
|
||||
png_read_image
|
||||
png_read_info
|
||||
png_read_png
|
||||
png_read_row
|
||||
png_read_rows
|
||||
png_read_update_info
|
||||
png_reset_zstream
|
||||
png_set_IHDR
|
||||
png_set_PLTE
|
||||
png_set_bKGD
|
||||
png_set_background
|
||||
png_set_bgr
|
||||
png_set_cHRM
|
||||
png_set_cHRM_fixed
|
||||
png_set_compression_buffer_size
|
||||
png_set_compression_level
|
||||
png_set_compression_mem_level
|
||||
png_set_compression_method
|
||||
png_set_compression_strategy
|
||||
png_set_compression_window_bits
|
||||
png_set_crc_action
|
||||
png_set_dither
|
||||
png_set_error_fn
|
||||
png_set_expand
|
||||
png_set_filler
|
||||
png_set_filter
|
||||
png_set_filter_heuristics
|
||||
png_set_flush
|
||||
png_set_gAMA
|
||||
png_set_gAMA_fixed
|
||||
png_set_gamma
|
||||
png_set_gray_to_rgb
|
||||
png_set_hIST
|
||||
png_set_iCCP
|
||||
png_set_interlace_handling
|
||||
png_set_invert_alpha
|
||||
png_set_invert_mono
|
||||
png_set_keep_unknown_chunks
|
||||
png_set_oFFs
|
||||
png_set_pCAL
|
||||
png_set_pHYs
|
||||
png_set_packing
|
||||
png_set_packswap
|
||||
png_set_palette_to_rgb
|
||||
png_set_progressive_read_fn
|
||||
png_set_read_fn
|
||||
png_set_read_status_fn
|
||||
png_set_read_user_chunk_fn
|
||||
png_set_read_user_transform_fn
|
||||
png_set_rgb_to_gray
|
||||
png_set_rgb_to_gray_fixed
|
||||
png_set_rows
|
||||
png_set_sBIT
|
||||
png_set_sCAL
|
||||
png_set_sPLT
|
||||
png_set_sRGB
|
||||
png_set_sRGB_gAMA_and_cHRM
|
||||
png_set_shift
|
||||
png_set_sig_bytes
|
||||
png_set_strip_16
|
||||
png_set_strip_alpha
|
||||
png_set_swap
|
||||
png_set_swap_alpha
|
||||
png_set_tIME
|
||||
png_set_tRNS
|
||||
png_set_tRNS_to_alpha
|
||||
png_set_text
|
||||
png_set_unknown_chunk_location
|
||||
png_set_unknown_chunks
|
||||
png_set_user_transform_info
|
||||
png_set_write_fn
|
||||
png_set_write_status_fn
|
||||
png_set_write_user_transform_fn
|
||||
png_sig_cmp
|
||||
png_start_read_image
|
||||
png_warning
|
||||
png_write_chunk
|
||||
png_write_chunk_data
|
||||
png_write_chunk_end
|
||||
png_write_chunk_start
|
||||
png_write_end
|
||||
png_write_flush
|
||||
png_write_image
|
||||
png_write_info
|
||||
png_write_info_before_PLTE
|
||||
png_write_png
|
||||
png_write_row
|
||||
png_write_rows
|
||||
png_access_version_number
|
||||
png_init_io
|
||||
png_convert_to_rfc1123
|
||||
png_set_invalid
|
||||
; Added at version 1.0.12
|
||||
png_read_init_3
|
||||
png_write_init_3
|
||||
png_info_init_3
|
||||
png_destroy_struct
|
||||
; Added at version 1.2.0
|
||||
; For use with PNG_USER_MEM_SUPPORTED
|
||||
png_destroy_struct_2
|
||||
png_create_read_struct_2
|
||||
png_create_write_struct_2
|
||||
png_malloc_default
|
||||
png_free_default
|
||||
; MNG features
|
||||
png_permit_mng_features
|
||||
; MMX support
|
||||
; png_mmx_support
|
||||
; png_get_mmx_flagmask
|
||||
png_get_asm_flagmask
|
||||
png_get_asm_flags
|
||||
; png_get_mmx_bitdepth_threshold
|
||||
; png_get_mmx_rowbytes_threshold
|
||||
png_set_asm_flags
|
||||
; png_init_mmx_flags
|
||||
; Strip error numbers
|
||||
png_set_strip_error_numbers
|
||||
; Added at version 1.2.2
|
||||
png_handle_as_unknown
|
||||
; Added at version 1.2.2 and deleted from 1.2.3
|
||||
; png_zalloc
|
||||
; png_zfree
|
||||
; Added at version 1.2.4
|
||||
png_malloc_warn
|
||||
; Added at version 1.2.6
|
||||
png_malloc_warn
|
||||
png_get_user_height_max
|
||||
png_get_user_width_max
|
||||
png_set_user_limits
|
||||
; Added at version 1.2.7
|
||||
png_set_add_alpha
|
||||
; Added at version 1.2.9
|
||||
png_get_uint_32
|
||||
png_save_uint_32
|
||||
png_get_uint_16
|
||||
png_save_uint_16
|
||||
png_get_int_32
|
||||
png_save_int_32
|
||||
png_get_uint_31
|
||||
png_set_expand_gray_1_2_4_to_8
|
||||
; Added at version 1.4.0
|
||||
png_write_sig
|
||||
; png_benign_error
|
||||
; png_benign_chunk_error
|
||||
; png_set_benign_error
|
||||
png_get_io_chunk_name
|
||||
png_get_io_state
|
||||
png_set_premultiply_alpha
|
||||
png_get_chunk_cache_max
|
||||
png_set_chunk_cache_max
|
||||
png_check_cHRM
|
||||
png_check_cHRM_fixed
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user