mirror of
https://git.code.sf.net/p/libpng/code.git
synced 2025-07-10 18:04:09 +02:00
Compare commits
5 Commits
v1.2.3rc5
...
v1.2.4beta
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d020e9d826 | ||
|
|
d1e8c8694d | ||
|
|
07748d1b2c | ||
|
|
cfbed9bdf2 | ||
|
|
22f28966c4 |
65
ANNOUNCE
65
ANNOUNCE
@@ -1,53 +1,30 @@
|
||||
|
||||
Libpng 1.2.3rc5 - May 11, 2002
|
||||
Libpng 1.2.4beta3 - June 28, 2002
|
||||
|
||||
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.
|
||||
|
||||
Changes since the last public release (1.2.2):
|
||||
Changes since the last public release (1.2.3):
|
||||
|
||||
version 1.2.2patch03 [April 18, 2002]
|
||||
Changed ${PNGMAJ}.${PNGVER} bug to ${PNGVER} in makefile.sgi and makefile.sggcc
|
||||
Fixed VER -> PNGVER typo in makefile.macosx and added install-static to install
|
||||
Added install: target to makefile.32sunu and makefile.64sunu
|
||||
Revised 15 makefiles to link libpng.a to libpngNN.a and the include libpng
|
||||
subdirectory to libpngNN subdirectory without the full pathname.
|
||||
Moved generation of libpng.pc from "install" to "all" in 15 makefiles.
|
||||
version 1.2.3rc1 [April 27, 2002]
|
||||
Added install-man target to 15 makefiles (Dimitri Papadopolous-Orfanos).
|
||||
Added $(DESTDIR) feature to 24 makefiles (Tim Mooney)
|
||||
Fixed bug with $prefix, should be $(prefix) in makefile.hpux.
|
||||
Updated cygwin-specific portion of pngconf.h and revised makefile.cygwin
|
||||
Added a link from libpngNN.pc to libpng.pc in 15 makefiles.
|
||||
Added links from include/libpngNN/*.h to include/*.h in 24 makefiles.
|
||||
Revised makefile.darwin to make relative links without full pathname.
|
||||
Added setjmp() at the end of png_create_*_struct_2() in case user forgets
|
||||
to put one in their application.
|
||||
Restored png_zalloc() and png_zfree() prototypes to version 1.2.1 and
|
||||
removed them from module definition files.
|
||||
version 1.2.3rc2 [May 1, 2002]
|
||||
Fixed bug in reporting number of channels in pngget.c and pngset.c,
|
||||
that was introduced in version 1.2.2beta5.
|
||||
Exported png_zalloc(), png_zfree(), png_default_read(), png_default_write(),
|
||||
png_default_flush(), and png_push_fill_buffer() and included them in
|
||||
module definition files.
|
||||
Added "libpng.pc" dependency to the "install-shared" target in 15 makefiles.
|
||||
version 1.2.3rc3 [May 1, 2002]
|
||||
Revised prototype for png_default_flush()
|
||||
Remove old libpng.pc and libpngNN.pc before installing new ones.
|
||||
version 1.2.3rc4 [May 2, 2002]
|
||||
Typos in *.def files (png_default_read|write -> png_default_read|write_data)
|
||||
In makefiles, changed rm libpng.NN.pc to rm libpngNN.pc
|
||||
Added libpng-config and libpngNN-config and modified makefiles to install them.
|
||||
Changed $(MANPATH) to $(DESTDIR)$(MANPATH) in makefiles
|
||||
Added "Win32 DLL VB" configuration to projects/msvc/libpng.dsp
|
||||
version 1.2.3rc5 [May 11, 2002]
|
||||
Changed "error" and "message" in prototypes to "error_message" and
|
||||
"warning_message" to avoid namespace conflict.
|
||||
Revised 15 makefiles to build libpng-config from libpng-config-*.in
|
||||
Once more restored png_zalloc and png_zfree to nonexported form.
|
||||
Restored png_default_read|write_data, png_default_flush, png_read_fill_buffer
|
||||
to nonexported form, but with PNGAPI, and removed them from module def files.
|
||||
version 1.2.4beta1 [May 24, 2002]
|
||||
Added libpng.pc and libpng-config to "all:" target in 16 makefiles.
|
||||
Fixed bug in 16 makefiles: $(DESTDIR)/$(LIBPATH) to $(DESTDIR)$(LIBPATH)
|
||||
Added missing "\" before closing double quote in makefile.gcmmx.
|
||||
Plugged various memory leaks; added png_malloc_warn() and png_set_text_2()
|
||||
functions.
|
||||
version 1.2.4beta2 [June 25, 2002]
|
||||
Plugged memory leak of png_ptr->current_text (Matt Holgate).
|
||||
Check for buffer overflow before reading CRC in pngpread.c (Warwick Allison)
|
||||
Added -soname to the loader flags in makefile.dec, makefile.sgi, and
|
||||
makefile.sggcc.
|
||||
Added "test-installed" targets to makefile.linux, makefile.gcmmx,
|
||||
makefile.sgi, and makefile.sggcc.
|
||||
version 1.2.4beta3 [June 28, 2002]
|
||||
Plug memory leak of row_buf in pngtest.c when there is a png_error().
|
||||
Detect buffer overflow in pngpread.c when IDAT is corrupted with extra data.
|
||||
Added "test-installed" target to makefile.32sunu, makefile.64sunu,
|
||||
makefile.beos, makefile.darwin, makefile.dec, makefile.macosx,
|
||||
makefile.solaris, and makefile.so9.
|
||||
|
||||
Send comments/corrections/commendations to
|
||||
png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
|
||||
|
||||
31
CHANGES
31
CHANGES
@@ -1113,6 +1113,37 @@ version 1.2.3rc5 [May 11, 2002]
|
||||
Once more restored png_zalloc and png_zfree to regular nonexported form.
|
||||
Restored png_default_read|write_data, png_default_flush, png_read_fill_buffer
|
||||
to nonexported form, but with PNGAPI, and removed them from module def files.
|
||||
version 1.2.3rc6 [May 14, 2002]
|
||||
Removed "PNGAPI" from png_zalloc() and png_zfree() in png.c
|
||||
Changed "Gz" to "Gd" in projects/msvc/libpng.dsp and zlib.dsp.
|
||||
Removed leftover libpng-config "sed" script from four makefiles.
|
||||
Revised libpng-config creating script in 16 makefiles.
|
||||
version 1.2.3 [May 22, 2002]
|
||||
Revised libpng-config target in makefile.cygwin.
|
||||
Removed description of png_set_mem_fn() from documentation.
|
||||
Revised makefile.freebsd.
|
||||
Minor cosmetic changes to 15 makefiles, e.g., $(DI) = $(DESTDIR)/$(INCDIR).
|
||||
Revised projects/msvc/README.txt
|
||||
Changed -lpng to -lpngNN in LDFLAGS in several makefiles.
|
||||
version 1.2.4beta1 [May 24, 2002]
|
||||
Added libpng.pc and libpng-config to "all:" target in 16 makefiles.
|
||||
Fixed bug in 16 makefiles: $(DESTDIR)/$(LIBPATH) to $(DESTDIR)$(LIBPATH)
|
||||
Added missing "\" before closing double quote in makefile.gcmmx.
|
||||
Plugged various memory leaks; added png_malloc_warn() and png_set_text_2()
|
||||
functions.
|
||||
version 1.2.4beta2 [June 25, 2002]
|
||||
Plugged memory leak of png_ptr->current_text (Matt Holgate).
|
||||
Check for buffer overflow before reading CRC in pngpread.c (Warwick Allison)
|
||||
Added -soname to the loader flags in makefile.dec, makefile.sgi, and
|
||||
makefile.sggcc.
|
||||
Added "test-installed" target to makefile.linux, makefile.gcmmx,
|
||||
makefile.sgi, and makefile.sggcc.
|
||||
version 1.2.4beta3 [June 28, 2002]
|
||||
Plug memory leak of row_buf in pngtest.c when there is a png_error().
|
||||
Detect buffer overflow in pngpread.c when IDAT is corrupted with extra data.
|
||||
Added "test-installed" target to makefile.32sunu, makefile.64sunu,
|
||||
makefile.beos, makefile.darwin, makefile.dec, makefile.macosx,
|
||||
makefile.solaris, and makefile.so9.
|
||||
|
||||
Send comments/corrections/commendations to
|
||||
png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
|
||||
|
||||
38
INSTALL
38
INSTALL
@@ -1,5 +1,5 @@
|
||||
|
||||
Installing libpng version 1.2.3rc5 - May 11, 2002
|
||||
Installing libpng version 1.2.4beta3 - June 28, 2002
|
||||
|
||||
Before installing libpng, you must first install zlib. zlib
|
||||
can usually be found wherever you got libpng. zlib can be
|
||||
@@ -10,8 +10,8 @@ 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.2.3rc5" or "lpng109" and "zlib-1.1.3"
|
||||
or "zlib113") so that you have directories called "zlib" and "libpng".
|
||||
might be called "libpng-1.2.4beta3" or "lpng109" and "zlib-1.1.4"
|
||||
or "zlib114") so that you have directories called "zlib" and "libpng".
|
||||
|
||||
Your directory structure should look like this:
|
||||
|
||||
@@ -35,6 +35,10 @@ Your directory structure should look like this:
|
||||
wince.txt
|
||||
scripts
|
||||
makefile.*
|
||||
libpng*.in
|
||||
mangle
|
||||
makefile.*
|
||||
mangle.in
|
||||
pngtest.png
|
||||
etc.
|
||||
zlib
|
||||
@@ -64,8 +68,8 @@ The files that are presently available in the scripts directory
|
||||
include
|
||||
|
||||
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
|
||||
makefile.linux => Linux/ELF makefile (gcc, creates libpng12.so.0.1.2.3rc5)
|
||||
makefile.gcmmx => Linux/ELF makefile (gcc, creates libpng12.so.0.1.2.3rc5,
|
||||
makefile.linux => Linux/ELF makefile (gcc, creates libpng12.so.0.1.2.4beta3)
|
||||
makefile.gcmmx => Linux/ELF makefile (gcc, creates libpng12.so.0.1.2.4beta3,
|
||||
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
|
||||
@@ -86,10 +90,10 @@ include
|
||||
makefile.ne0bsd => NetBSD/cc makefile, uses PNGGCCRD, makes libpng0.so
|
||||
makefile.openbsd => OpenBSD makefile
|
||||
makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib)
|
||||
makefile.sggcc => Silicon Graphics (gcc, creates libpng12.so.0.1.2.3rc5)
|
||||
makefile.sggcc => Silicon Graphics (gcc, creates libpng12.so.0.1.2.4beta3)
|
||||
makefile.sunos => Sun makefile
|
||||
makefile.solaris => Solaris 2.X makefile (gcc, creates libpng12.so.0.1.2.3rc5)
|
||||
makefile.so9 => Solaris 9 makefile (gcc, creates libpng12.so.0.1.2.3rc5)
|
||||
makefile.solaris => Solaris 2.X makefile (gcc, creates libpng12.so.0.1.2.4beta3)
|
||||
makefile.so9 => Solaris 9 makefile (gcc, creates libpng12.so.0.1.2.4beta3)
|
||||
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
|
||||
@@ -142,6 +146,24 @@ your output with the result shown in contrib/pngsuite/README.
|
||||
Most of the makefiles will allow you to run "make install" to
|
||||
put the library in its final resting place (if you want to
|
||||
do that, run "make install" in the zlib directory first if necessary).
|
||||
Some also allow you to run "make test-installed" after you have
|
||||
run "make install". This will build and run executables called "pngtesti"
|
||||
and "mangle/pngtestm".
|
||||
|
||||
The files that are presently available in the mangle directory include the
|
||||
following. The makefiles are automatically run by the corresponding makefiles
|
||||
in the scripts directory when you run "make", "make install", or
|
||||
"make test-installed".
|
||||
|
||||
mangle.in => Function-decoration macros added to png.h by the
|
||||
makefiles.
|
||||
makefile.linux => Linux/ELF makefile
|
||||
(gcc, creates libpng12m.so.0.1.2.4beta3)
|
||||
makefile.gcmmx => Linux/ELF makefile (gcc, creates
|
||||
libpng12.so.0m.1.2.4beta3, uses assembler code
|
||||
tuned for Intel MMX platform)
|
||||
makefile.sgi => Silicon Graphics (cc, creates libpng12m.so)
|
||||
makefile.sggcc => Silicon Graphics (gcc, creates libpng12m.so)
|
||||
|
||||
Further information can be found in the README and libpng.txt
|
||||
files, in the individual makefiles, in png.h, in the README files in
|
||||
|
||||
15
KNOWNBUG
15
KNOWNBUG
@@ -1,9 +1,18 @@
|
||||
|
||||
Known bugs in libpng version 1.2.3rc5
|
||||
Known bugs in libpng version 1.2.4beta3
|
||||
|
||||
1. April 22, 2001: pnggccrd.c has been reported to crash on NetBSD when
|
||||
1. May 28, 2002: Makefile.so9 has bugs. The last line under the
|
||||
install-headers target should be
|
||||
|
||||
(cd $(DI); ln -f -s $(LIBNAME) libpng; ln -f -s $(LIBNAME)/* .)
|
||||
|
||||
and the last line under the install-static target should be
|
||||
|
||||
|
||||
2. April 22, 2001: pnggccrd.c has been reported to crash on NetBSD when
|
||||
reading interlaced PNG files, when assembler code is enabled.
|
||||
|
||||
STATUS: Under investigation. The change to pnggccrd.c in libpng-1.2.1
|
||||
fixed a problem under FreeBSD but not the problem with NetBSD.
|
||||
fixed a problem under FreeBSD but not the problem with NetBSD, which
|
||||
still fails as of libpng-1.2.2rc1.
|
||||
|
||||
|
||||
4
LICENSE
4
LICENSE
@@ -8,7 +8,7 @@ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
|
||||
If you modify libpng you may insert additional notices immediately following
|
||||
this sentence.
|
||||
|
||||
libpng versions 1.0.7, July 1, 2000, through 1.2.3rc5, May 11, 2002, are
|
||||
libpng versions 1.0.7, July 1, 2000, through 1.2.4beta3, June 28, 2002, are
|
||||
Copyright (c) 2000-2002 Glenn Randers-Pehrson
|
||||
and are distributed according to the same disclaimer and license as libpng-1.0.6
|
||||
with the following individuals added to the list of Contributing Authors
|
||||
@@ -99,4 +99,4 @@ certification mark of the Open Source Initiative.
|
||||
|
||||
Glenn Randers-Pehrson
|
||||
randeg@alum.rpi.edu
|
||||
May 11, 2002
|
||||
June 28, 2002
|
||||
|
||||
22
README
22
README
@@ -1,4 +1,4 @@
|
||||
README for libpng 1.2.3rc5 - May 11, 2002 (shared library 2.1)
|
||||
README for libpng 1.2.4beta3 - June 28, 2002 (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.
|
||||
@@ -187,9 +187,9 @@ Files in this distribution:
|
||||
descrip.mms => VMS makefile for MMS or MMK
|
||||
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
|
||||
makefile.linux => Linux/ELF makefile
|
||||
(gcc, creates libpng12.so.0.1.2.3rc5)
|
||||
(gcc, creates libpng12.so.0.1.2.4beta3)
|
||||
makefile.gcmmx => Linux/ELF makefile (gcc, creates
|
||||
libpng12.so.0.1.2.3rc5, uses assembler code
|
||||
libpng12.so.0.1.2.4beta3, 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
|
||||
@@ -210,12 +210,12 @@ Files in this distribution:
|
||||
makefile.ne0bsd => NetBSD/cc makefile, PNGGCCRD, makes libpng0.so
|
||||
makefile.openbsd => OpenBSD makefile
|
||||
makefile.sgi => Silicon Graphics IRIX (cc, creates static lib)
|
||||
makefile.sggcc => Silicon Graphics (gcc, creates libpng12.so.0.1.2.3rc5)
|
||||
makefile.sggcc => Silicon Graphics (gcc, creates libpng12.so.0.1.2.4beta3)
|
||||
makefile.sunos => Sun makefile
|
||||
makefile.solaris => Solaris 2.X makefile
|
||||
(gcc, creates libpng12.so.0.1.2.3rc5)
|
||||
(gcc, creates libpng12.so.0.1.2.4beta3)
|
||||
makefile.so9 => Solaris 9 makefile
|
||||
(gcc, creates libpng12.so.0.1.2.3rc5)
|
||||
(gcc, creates libpng12.so.0.1.2.4beta3)
|
||||
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
|
||||
@@ -244,6 +244,16 @@ Files in this distribution:
|
||||
makevms.com => VMS build script
|
||||
pngdef.pas => Defines for a png32bd.dll with Borland C++ 4.5
|
||||
SCOPTIONS.ppc => Used with smakefile.ppc
|
||||
mangle => Directory containing scripts to build libpng12m.so:
|
||||
mangle.in => Function-decoration macros added to png.h by the
|
||||
makefiles.
|
||||
makefile.linux => Linux/ELF makefile
|
||||
(gcc, creates libpng12m.so.0.1.2.4beta3)
|
||||
makefile.gcmmx => Linux/ELF makefile (gcc, creates
|
||||
libpng12.so.0m.1.2.4beta3, uses assembler code
|
||||
tuned for Intel MMX platform)
|
||||
makefile.sgi => Silicon Graphics (cc, creates libpng12m.so)
|
||||
makefile.sggcc => Silicon Graphics (gcc, creates libpng12m.so)
|
||||
|
||||
Good luck, and happy coding.
|
||||
|
||||
|
||||
4
Y2KINFO
4
Y2KINFO
@@ -1,13 +1,13 @@
|
||||
Y2K compliance in libpng:
|
||||
=========================
|
||||
|
||||
May 11, 2002
|
||||
June 28, 2002
|
||||
|
||||
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.3rc5 are Y2K compliant. It is my belief that earlier
|
||||
upward through 1.2.4beta3 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
|
||||
|
||||
2
configure
vendored
2
configure
vendored
@@ -1,5 +1,5 @@
|
||||
echo "
|
||||
There is no \"configure\" script for Libpng-1.2.3rc5. Instead, please
|
||||
There is no \"configure\" script for Libpng-1.2.4beta3. Instead, please
|
||||
copy the appropriate makefile for your system from the \"scripts\"
|
||||
directory. Read the INSTALL file for more details.
|
||||
"
|
||||
|
||||
@@ -594,6 +594,7 @@ static void rpng2_x_init(void)
|
||||
* If we/it segfault instead, seems like a libpng bug... */
|
||||
|
||||
/* we're here via libpng callback, so if window fails, clean and bail */
|
||||
printf("readpng2_cleanup.\n");
|
||||
readpng2_cleanup(&rpng2_info);
|
||||
rpng2_x_cleanup();
|
||||
exit(2);
|
||||
|
||||
@@ -54,7 +54,7 @@ BSC32=bscmake.exe
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 ..\..\projects\msvc\win32\libpng\dll\libpng12.lib /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 ..\..\projects\msvc\win32\libpng\dll\libpng13.lib /nologo /subsystem:console /machine:I386
|
||||
# Begin Special Build Tool
|
||||
OutDir=.\dll
|
||||
SOURCE="$(InputPath)"
|
||||
@@ -84,7 +84,7 @@ BSC32=bscmake.exe
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 ..\..\projects\msvc\win32\libpng\dll_dbg\libpng12d.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 ..\..\projects\msvc\win32\libpng\dll_dbg\libpng13d.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# Begin Special Build Tool
|
||||
OutDir=.\dll_dbg
|
||||
SOURCE="$(InputPath)"
|
||||
@@ -114,7 +114,7 @@ BSC32=bscmake.exe
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 ..\..\projects\msvc\win32\libpng\dll_asm\libpng12a.lib /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 ..\..\projects\msvc\win32\libpng\dll_asm\libpng13a.lib /nologo /subsystem:console /machine:I386
|
||||
# Begin Special Build Tool
|
||||
OutDir=.\dll_asm
|
||||
SOURCE="$(InputPath)"
|
||||
@@ -144,7 +144,7 @@ BSC32=bscmake.exe
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 ..\..\projects\msvc\win32\libpng\dll_dbga\libpng12b.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 ..\..\projects\msvc\win32\libpng\dll_dbga\libpng13b.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# Begin Special Build Tool
|
||||
OutDir=.\dll_dbga
|
||||
SOURCE="$(InputPath)"
|
||||
|
||||
@@ -1,85 +0,0 @@
|
||||
|
||||
pngsuite
|
||||
--------
|
||||
(c) Willem van Schaik, 1999
|
||||
|
||||
Permission to use, copy, and distribute these images for any purpose and
|
||||
without fee is hereby granted.
|
||||
|
||||
These 15 images are part of the much larger PngSuite test-set of
|
||||
images, available for developers of PNG supporting software. The
|
||||
complete set, available at http:/www.schaik.com/pngsuite/, contains
|
||||
a variety of images to test interlacing, gamma settings, ancillary
|
||||
chunks, etc.
|
||||
|
||||
The images in this directory represent the basic PNG color-types:
|
||||
grayscale (1-16 bit deep), full color (8 or 16 bit), paletted
|
||||
(1-8 bit) and grayscale or color images with alpha channel. You
|
||||
can use them to test the proper functioning of PNG software.
|
||||
|
||||
filename depth type
|
||||
------------ ------ --------------
|
||||
basn0g01.png 1-bit grayscale
|
||||
basn0g02.png 2-bit grayscale
|
||||
basn0g04.png 4-bit grayscale
|
||||
basn0g08.png 8-bit grayscale
|
||||
basn0g16.png 16-bit grayscale
|
||||
basn2c08.png 8-bit truecolor
|
||||
basn2c16.png 16-bit truecolor
|
||||
basn3p01.png 1-bit paletted
|
||||
basn3p02.png 2-bit paletted
|
||||
basn3p04.png 4-bit paletted
|
||||
basn3p08.png 8-bit paletted
|
||||
basn4a08.png 8-bit gray with alpha
|
||||
basn4a16.png 16-bit gray with alpha
|
||||
basn6a08.png 8-bit RGBA
|
||||
basn6a16.png 16-bit RGBA
|
||||
|
||||
Here is the correct result of typing "pngtest -m *.png" in
|
||||
this directory:
|
||||
|
||||
Testing basn0g01.png: PASS (524 zero samples)
|
||||
Filter 0 was used 32 times
|
||||
Testing basn0g02.png: PASS (448 zero samples)
|
||||
Filter 0 was used 32 times
|
||||
Testing basn0g04.png: PASS (520 zero samples)
|
||||
Filter 0 was used 32 times
|
||||
Testing basn0g08.png: PASS (3 zero samples)
|
||||
Filter 1 was used 9 times
|
||||
Filter 4 was used 23 times
|
||||
Testing basn0g16.png: PASS (1 zero samples)
|
||||
Filter 1 was used 1 times
|
||||
Filter 2 was used 31 times
|
||||
Testing basn2c08.png: PASS (6 zero samples)
|
||||
Filter 1 was used 5 times
|
||||
Filter 4 was used 27 times
|
||||
Testing basn2c16.png: PASS (592 zero samples)
|
||||
Filter 1 was used 1 times
|
||||
Filter 4 was used 31 times
|
||||
Testing basn3p01.png: PASS (512 zero samples)
|
||||
Filter 0 was used 32 times
|
||||
Testing basn3p02.png: PASS (448 zero samples)
|
||||
Filter 0 was used 32 times
|
||||
Testing basn3p04.png: PASS (544 zero samples)
|
||||
Filter 0 was used 32 times
|
||||
Testing basn3p08.png: PASS (4 zero samples)
|
||||
Filter 0 was used 32 times
|
||||
Testing basn4a08.png: PASS (32 zero samples)
|
||||
Filter 1 was used 1 times
|
||||
Filter 4 was used 31 times
|
||||
Testing basn4a16.png: PASS (64 zero samples)
|
||||
Filter 0 was used 1 times
|
||||
Filter 1 was used 2 times
|
||||
Filter 2 was used 1 times
|
||||
Filter 4 was used 28 times
|
||||
Testing basn6a08.png: PASS (160 zero samples)
|
||||
Filter 1 was used 1 times
|
||||
Filter 4 was used 31 times
|
||||
Testing basn6a16.png: PASS (1072 zero samples)
|
||||
Filter 1 was used 4 times
|
||||
Filter 4 was used 28 times
|
||||
libpng passes test
|
||||
|
||||
Willem van Schaik
|
||||
<willem@schaik.com>
|
||||
October 1999
|
||||
@@ -59,8 +59,8 @@ BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 libpng12.lib zlibd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /libpath:"libpng" /libpath:"zlib"
|
||||
# ADD LINK32 libpng12.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /libpath:"..\..\projects\msvc\win32\libpng\dll"
|
||||
# ADD BASE LINK32 libpng13.lib zlibd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /libpath:"libpng" /libpath:"zlib"
|
||||
# ADD LINK32 libpng13.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /libpath:"..\..\projects\msvc\win32\libpng\dll"
|
||||
# Begin Special Build Tool
|
||||
OutDir=.\dll
|
||||
SOURCE="$(InputPath)"
|
||||
@@ -92,9 +92,9 @@ BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 libpng12.lib zlibd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libc" /pdbtype:sept /libpath:"libpng" /libpath:"zlib"
|
||||
# ADD BASE LINK32 libpng13.lib zlibd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libc" /pdbtype:sept /libpath:"libpng" /libpath:"zlib"
|
||||
# SUBTRACT BASE LINK32 /nodefaultlib
|
||||
# ADD LINK32 libpng12d.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libc" /pdbtype:sept /libpath:"..\..\projects\msvc\win32\libpng\dll_dbg"
|
||||
# ADD LINK32 libpng13d.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libc" /pdbtype:sept /libpath:"..\..\projects\msvc\win32\libpng\dll_dbg"
|
||||
# SUBTRACT LINK32 /nodefaultlib
|
||||
# Begin Special Build Tool
|
||||
OutDir=.\dll_dbg
|
||||
@@ -128,7 +128,7 @@ BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 libpng12.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /libpath:"..\..\projects\msvc\win32\libpng\dll"
|
||||
# ADD BASE LINK32 libpng13.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /libpath:"..\..\projects\msvc\win32\libpng\dll"
|
||||
# ADD LINK32 libpng.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /libpath:"..\..\projects\msvc\win32\libpng\lib"
|
||||
# Begin Special Build Tool
|
||||
OutDir=.\lib
|
||||
@@ -161,7 +161,7 @@ BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 libpng12d.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libc" /pdbtype:sept /libpath:"..\..\projects\msvc\win32\libpng\dll_dbg"
|
||||
# ADD BASE LINK32 libpng13d.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libc" /pdbtype:sept /libpath:"..\..\projects\msvc\win32\libpng\dll_dbg"
|
||||
# SUBTRACT BASE LINK32 /nodefaultlib
|
||||
# ADD LINK32 libpng.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libc" /pdbtype:sept /libpath:"..\..\projects\msvc\win32\libpng\lib_dbg"
|
||||
# SUBTRACT LINK32 /nodefaultlib
|
||||
|
||||
10
example.c
10
example.c
@@ -169,11 +169,11 @@ void read_png(FILE *fp, unsigned int sig_read) /* file is already open */
|
||||
png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth, &color_type,
|
||||
&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
|
||||
**** transformations only work on specific types of images, and many
|
||||
**** are mutually exclusive.
|
||||
****/
|
||||
/* Set up the data transformations you want. Note that these are all
|
||||
* optional. Only call them if you want/need them. Many of the
|
||||
* transformations only work on specific types of images, and many
|
||||
* are mutually exclusive.
|
||||
*/
|
||||
|
||||
/* tell libpng to strip 16 bit/color files down to 8 bits/color */
|
||||
png_set_strip_16(png_ptr);
|
||||
|
||||
35
libpng.3
35
libpng.3
@@ -1,6 +1,6 @@
|
||||
.TH LIBPNG 3 "May 11, 2002"
|
||||
.TH LIBPNG 3 "June 28, 2002"
|
||||
.SH NAME
|
||||
libpng \- Portable Network Graphics (PNG) Reference Library 1.2.3rc5
|
||||
libpng \- Portable Network Graphics (PNG) Reference Library 1.2.4beta3
|
||||
.SH SYNOPSIS
|
||||
\fI\fB
|
||||
|
||||
@@ -342,6 +342,10 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.2.3rc5
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBpng_voidp png_malloc_warn (png_structp \fP\fIpng_ptr\fP\fB, png_uint_32 \fIsize\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBvoidp png_memcpy (png_voidp \fP\fIs1\fP\fB, png_voidp \fP\fIs2\fP\fB, png_size_t \fIsize\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
@@ -787,7 +791,7 @@ 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.2.3rc5 - May 11, 2002
|
||||
libpng version 1.2.4beta3 - June 28, 2002
|
||||
Updated and distributed by Glenn Randers-Pehrson
|
||||
<randeg@alum.rpi.edu>
|
||||
Copyright (c) 1998-2002 Glenn Randers-Pehrson
|
||||
@@ -3088,18 +3092,17 @@ goes through callbacks that are user-settable. The default routines are
|
||||
in pngmem.c, pngrio.c, pngwio.c, and pngerror.c, respectively. To change
|
||||
these functions, call the appropriate png_set_*_fn() function.
|
||||
|
||||
Memory allocation is done through the functions png_malloc(), png_zalloc(),
|
||||
Memory allocation is done through the functions png_malloc()
|
||||
and png_free(). These currently just call the standard C functions. If
|
||||
your pointers can't access more then 64K at a time, you will want to set
|
||||
MAXSEG_64K in zlib.h. Since it is unlikely that the method of handling
|
||||
memory allocation on a platform will change between applications, these
|
||||
functions must be modified in the library at compile time. If you prefer
|
||||
to use a different method of allocating and freeing data, you can use
|
||||
png_create_read_struct_2() or png_create_write_struct_2() to register
|
||||
your own functions as described above.
|
||||
|
||||
png_set_mem_fn(png_structp png_ptr, png_voidp mem_ptr,
|
||||
png_malloc_ptr malloc_fn, png_free_ptr free_fn)
|
||||
|
||||
This function also provides a void pointer that can be retrieved via
|
||||
These functions also provide a void pointer that can be retrieved via
|
||||
|
||||
mem_ptr=png_get_mem_ptr(png_ptr);
|
||||
|
||||
@@ -3109,7 +3112,7 @@ Your replacement memory functions must have prototypes as follows:
|
||||
png_size_t size);
|
||||
void free_fn(png_structp png_ptr, png_voidp ptr);
|
||||
|
||||
Your malloc_fn() can return NULL in case of failure. The png_malloc()
|
||||
Your malloc_fn() should return NULL in case of failure. The png_malloc()
|
||||
function will call png_error() if it receives a NULL from the system
|
||||
memory allocator or from your replacement malloc_fn().
|
||||
|
||||
@@ -3638,13 +3641,13 @@ application:
|
||||
|
||||
.SH IX. Y2K Compliance in libpng
|
||||
|
||||
May 11, 2002
|
||||
June 28, 2002
|
||||
|
||||
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.3rc5 are Y2K compliant. It is my belief that earlier
|
||||
upward through 1.2.4beta3 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
|
||||
@@ -3773,7 +3776,9 @@ the first widely used release:
|
||||
1.2.2rc1 12 10202 12.so.0.1.2.2rc1
|
||||
1.0.13 10 10013 10.so.0.1.0.13
|
||||
1.2.2 12 10202 12.so.0.1.2.2
|
||||
1.2.3rc1-5 12 10203 12.so.0.1.2.3rc1-5
|
||||
1.2.3rc1-6 12 10203 12.so.0.1.2.3rc1-6
|
||||
1.2.3 12 10203 12.so.0.1.2.3
|
||||
1.2.4beta1-3 13 10204 12.so.0.1.2.4beta1-3
|
||||
|
||||
Henceforth the source version will match the shared-library minor
|
||||
and patch numbers; the shared-library major version number will be
|
||||
@@ -3831,7 +3836,7 @@ possible without all of you.
|
||||
|
||||
Thanks to Frank J. T. Wojcik for helping with the documentation.
|
||||
|
||||
Libpng version 1.2.3rc5 - May 11, 2002:
|
||||
Libpng version 1.2.4beta3 - June 28, 2002:
|
||||
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
|
||||
Currently maintained by Glenn Randers-Pehrson (randeg@alum.rpi.edu).
|
||||
|
||||
@@ -3848,7 +3853,7 @@ 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.0.7, July 1, 2000, through 1.2.3rc5, May 11, 2002, are
|
||||
libpng versions 1.0.7, July 1, 2000, through 1.2.4beta3, June 28, 2002, are
|
||||
Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are
|
||||
distributed according to the same disclaimer and license as libpng-1.0.6
|
||||
with the following individuals added to the list of Contributing Authors
|
||||
@@ -3940,7 +3945,7 @@ certification mark of the Open Source Initiative.
|
||||
|
||||
Glenn Randers-Pehrson
|
||||
randeg@alum.rpi.edu
|
||||
May 11, 2002
|
||||
June 28, 2002
|
||||
|
||||
.\" end of man page
|
||||
|
||||
|
||||
17
libpng.txt
17
libpng.txt
@@ -1,6 +1,6 @@
|
||||
libpng.txt - A description on how to use and modify libpng
|
||||
|
||||
libpng version 1.2.3rc5 - May 11, 2002
|
||||
libpng version 1.2.4beta3 - June 28, 2002
|
||||
Updated and distributed by Glenn Randers-Pehrson
|
||||
<randeg@alum.rpi.edu>
|
||||
Copyright (c) 1998-2002 Glenn Randers-Pehrson
|
||||
@@ -2301,18 +2301,17 @@ goes through callbacks that are user-settable. The default routines are
|
||||
in pngmem.c, pngrio.c, pngwio.c, and pngerror.c, respectively. To change
|
||||
these functions, call the appropriate png_set_*_fn() function.
|
||||
|
||||
Memory allocation is done through the functions png_malloc(), png_zalloc(),
|
||||
Memory allocation is done through the functions png_malloc()
|
||||
and png_free(). These currently just call the standard C functions. If
|
||||
your pointers can't access more then 64K at a time, you will want to set
|
||||
MAXSEG_64K in zlib.h. Since it is unlikely that the method of handling
|
||||
memory allocation on a platform will change between applications, these
|
||||
functions must be modified in the library at compile time. If you prefer
|
||||
to use a different method of allocating and freeing data, you can use
|
||||
png_create_read_struct_2() or png_create_write_struct_2() to register
|
||||
your own functions as described above.
|
||||
|
||||
png_set_mem_fn(png_structp png_ptr, png_voidp mem_ptr,
|
||||
png_malloc_ptr malloc_fn, png_free_ptr free_fn)
|
||||
|
||||
This function also provides a void pointer that can be retrieved via
|
||||
These functions also provide a void pointer that can be retrieved via
|
||||
|
||||
mem_ptr=png_get_mem_ptr(png_ptr);
|
||||
|
||||
@@ -2322,7 +2321,7 @@ Your replacement memory functions must have prototypes as follows:
|
||||
png_size_t size);
|
||||
void free_fn(png_structp png_ptr, png_voidp ptr);
|
||||
|
||||
Your malloc_fn() can return NULL in case of failure. The png_malloc()
|
||||
Your malloc_fn() should return NULL in case of failure. The png_malloc()
|
||||
function will call png_error() if it receives a NULL from the system
|
||||
memory allocator or from your replacement malloc_fn().
|
||||
|
||||
@@ -2851,13 +2850,13 @@ application:
|
||||
|
||||
IX. Y2K Compliance in libpng
|
||||
|
||||
May 11, 2002
|
||||
June 28, 2002
|
||||
|
||||
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.3rc5 are Y2K compliant. It is my belief that earlier
|
||||
upward through 1.2.4beta3 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
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
.TH LIBPNGPF 3 "May 11, 2002"
|
||||
.TH LIBPNGPF 3 "June 28, 2002"
|
||||
.SH NAME
|
||||
libpng \- Portable Network Graphics (PNG) Reference Library 1.2.3rc5
|
||||
libpng \- Portable Network Graphics (PNG) Reference Library 1.2.4beta3
|
||||
(private functions)
|
||||
.SH SYNOPSIS
|
||||
\fB#include <png.h>\fP
|
||||
@@ -411,7 +411,7 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.2.3rc5
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBvoid png_write_bKGD (png_structp \fP\fIpng_ptr\fP\fB, png_color_16p \fP\fIvalues\fP\fB, int \fIcolor_type\fP\fB);\fP
|
||||
\fBint png_set_text_2 (png_structp \fP\fIpng_ptr\fP\fB, png_infop \fP\fIinfo_ptr\fP\fB, png_textp \fP\fItext_ptr\fP\fB, int \fInum_text)\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
|
||||
4
png.5
4
png.5
@@ -1,4 +1,4 @@
|
||||
.TH PNG 5 "May 11, 2002"
|
||||
.TH PNG 5 "June 28, 2002"
|
||||
.SH NAME
|
||||
png \- Portable Network Graphics (PNG) format
|
||||
.SH DESCRIPTION
|
||||
@@ -53,7 +53,7 @@ Thomas Boutell and others (png-list@ccrc.wustl.edu).
|
||||
The PNG-1.2 specification is copyright (c) 1999 Glenn Randers-Pehrson.
|
||||
See the specification for conditions of use and distribution.
|
||||
.LP
|
||||
The PNG-1.0 specification is copyright (c) 1996 Massachussets Institute of
|
||||
The PNG-1.0 specification is copyright (c) 1996 Massachusetts Institute of
|
||||
Technology. See the specification for conditions of use and distribution.
|
||||
.LP
|
||||
.\" end of man page
|
||||
|
||||
18
png.c
18
png.c
@@ -1,7 +1,7 @@
|
||||
|
||||
/* png.c - location for general purpose libpng functions
|
||||
*
|
||||
* libpng version 1.2.3rc5 - May 11, 2002
|
||||
* libpng version 1.2.4beta3 - June 28, 2002
|
||||
* Copyright (c) 1998-2002 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.)
|
||||
@@ -13,14 +13,14 @@
|
||||
#include "png.h"
|
||||
|
||||
/* Generate a compiler error if there is an old png.h in the search path. */
|
||||
typedef version_1_2_3rc5 Your_png_h_is_not_version_1_2_3rc5;
|
||||
typedef version_1_2_4beta3 Your_png_h_is_not_version_1_2_4beta3;
|
||||
|
||||
/* Version information for C files. This had better match the version
|
||||
* string defined in png.h. */
|
||||
|
||||
#ifdef PNG_USE_GLOBAL_ARRAYS
|
||||
/* png_libpng_ver was changed to a function in version 1.0.5c */
|
||||
const char png_libpng_ver[18] = "1.2.3rc5";
|
||||
const char png_libpng_ver[18] = "1.2.4beta3";
|
||||
|
||||
/* png_sig was changed to a function in version 1.0.5c */
|
||||
/* Place to hold the signature string for a PNG file. */
|
||||
@@ -135,7 +135,7 @@ png_check_sig(png_bytep sig, int num)
|
||||
}
|
||||
|
||||
/* Function to allocate memory for zlib and clear it to 0. */
|
||||
voidpf PNGAPI
|
||||
voidpf /* private */
|
||||
png_zalloc(voidpf png_ptr, uInt items, uInt size)
|
||||
{
|
||||
png_uint_32 num_bytes = (png_uint_32)items * size;
|
||||
@@ -166,7 +166,7 @@ png_zalloc(voidpf png_ptr, uInt items, uInt size)
|
||||
}
|
||||
|
||||
/* function to free memory for zlib */
|
||||
void PNGAPI
|
||||
void /* private */
|
||||
png_zfree(voidpf png_ptr, voidpf ptr)
|
||||
{
|
||||
png_free((png_structp)png_ptr, (png_voidp)ptr);
|
||||
@@ -663,7 +663,7 @@ png_charp PNGAPI
|
||||
png_get_copyright(png_structp png_ptr)
|
||||
{
|
||||
if (png_ptr != NULL || png_ptr == NULL) /* silence compiler warning */
|
||||
return ((png_charp) "\n libpng version 1.2.3rc5 - May 11, 2002\n\
|
||||
return ((png_charp) "\n libpng version 1.2.4beta3 - June 28, 2002\n\
|
||||
Copyright (c) 1998-2002 Glenn Randers-Pehrson\n\
|
||||
Copyright (c) 1996-1997 Andreas Dilger\n\
|
||||
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.\n");
|
||||
@@ -681,8 +681,8 @@ png_get_libpng_ver(png_structp png_ptr)
|
||||
{
|
||||
/* Version of *.c files used when building libpng */
|
||||
if(png_ptr != NULL) /* silence compiler warning about unused png_ptr */
|
||||
return((png_charp) "1.2.3rc5");
|
||||
return((png_charp) "1.2.3rc5");
|
||||
return((png_charp) "1.2.4beta3");
|
||||
return((png_charp) "1.2.4beta3");
|
||||
}
|
||||
|
||||
png_charp PNGAPI
|
||||
@@ -732,7 +732,7 @@ png_uint_32 PNGAPI
|
||||
png_access_version_number(void)
|
||||
{
|
||||
/* Version of *.c files used when building libpng */
|
||||
return((png_uint_32) 10203L);
|
||||
return((png_uint_32) 10204L);
|
||||
}
|
||||
|
||||
|
||||
|
||||
69
png.h
69
png.h
@@ -1,6 +1,6 @@
|
||||
/* png.h - header file for PNG reference library
|
||||
*
|
||||
* libpng version 1.2.3rc5 - May 11, 2002
|
||||
* libpng version 1.2.4beta3 - June 28, 2002
|
||||
* Copyright (c) 1998-2002 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.)
|
||||
@@ -8,7 +8,7 @@
|
||||
* Authors and maintainers:
|
||||
* libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
|
||||
* libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
|
||||
* libpng versions 0.97, January 1998, through 1.2.3rc5 - May 11, 2002: Glenn
|
||||
* libpng versions 0.97, January 1998, through 1.2.4beta3 - June 28, 2002: Glenn
|
||||
* See also "Contributing Authors", below.
|
||||
*
|
||||
* Note about libpng version numbers:
|
||||
@@ -86,7 +86,9 @@
|
||||
* 1.2.2rc1 12 10202 12.so.0.1.2.2rc1
|
||||
* 1.0.13 10 10013 10.so.0.1.0.13
|
||||
* 1.2.2 12 10202 12.so.0.1.2.2
|
||||
* 1.2.3rc1-5 12 10203 12.so.0.1.2.3rc1-5
|
||||
* 1.2.3rc1-6 12 10203 12.so.0.1.2.3rc1-6
|
||||
* 1.2.3 12 10203 12.so.0.1.2.3
|
||||
* 1.2.4beta1-3 13 10204 12.so.0.1.2.4beta1-3
|
||||
*
|
||||
* Henceforth the source version will match the shared-library major
|
||||
* and minor numbers; the shared-library major version number will be
|
||||
@@ -116,7 +118,7 @@
|
||||
* If you modify libpng you may insert additional notices immediately following
|
||||
* this sentence.
|
||||
*
|
||||
* libpng versions 1.0.7, July 1, 2000, through 1.2.3rc5, May 11, 2002, are
|
||||
* libpng versions 1.0.7, July 1, 2000, through 1.2.4beta3, June 28, 2002, are
|
||||
* Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are
|
||||
* distributed according to the same disclaimer and license as libpng-1.0.6
|
||||
* with the following individuals added to the list of Contributing Authors
|
||||
@@ -221,13 +223,13 @@
|
||||
* Y2K compliance in libpng:
|
||||
* =========================
|
||||
*
|
||||
* May 11, 2002
|
||||
* June 28, 2002
|
||||
*
|
||||
* 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.3rc5 are Y2K compliant. It is my belief that earlier
|
||||
* upward through 1.2.4beta3 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
|
||||
@@ -283,7 +285,7 @@
|
||||
*/
|
||||
|
||||
/* Version information for png.h - this should match the version in png.c */
|
||||
#define PNG_LIBPNG_VER_STRING "1.2.3rc5"
|
||||
#define PNG_LIBPNG_VER_STRING "1.2.4beta3"
|
||||
|
||||
#define PNG_LIBPNG_VER_SONUM 0
|
||||
#define PNG_LIBPNG_VER_DLLNUM %DLLNUM%
|
||||
@@ -291,11 +293,11 @@
|
||||
/* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */
|
||||
#define PNG_LIBPNG_VER_MAJOR 1
|
||||
#define PNG_LIBPNG_VER_MINOR 2
|
||||
#define PNG_LIBPNG_VER_RELEASE 3
|
||||
#define PNG_LIBPNG_VER_RELEASE 4
|
||||
/* This should match the numeric part of the final component of
|
||||
* PNG_LIBPNG_VER_STRING, omitting any leading zero: */
|
||||
|
||||
#define PNG_LIBPNG_VER_BUILD 5
|
||||
#define PNG_LIBPNG_VER_BUILD 3
|
||||
|
||||
#define PNG_LIBPNG_BUILD_ALPHA 1
|
||||
#define PNG_LIBPNG_BUILD_BETA 2
|
||||
@@ -303,14 +305,14 @@
|
||||
#define PNG_LIBPNG_BUILD_STABLE 4
|
||||
#define PNG_LIBPNG_BUILD_TYPEMASK 7
|
||||
#define PNG_LIBPNG_BUILD_PATCH 8 /* Can be OR'ed with STABLE only */
|
||||
#define PNG_LIBPNG_BUILD_TYPE 3
|
||||
#define PNG_LIBPNG_BUILD_TYPE 2
|
||||
|
||||
/* Careful here. At one time, Guy wanted to use 082, but that would be octal.
|
||||
* We must not include leading zeros.
|
||||
* Versions 0.7 through 1.0.0 were in the range 0 to 100 here (only
|
||||
* version 1.0.0 was mis-numbered 100 instead of 10000). From
|
||||
* version 1.0.1 it's xxyyzz, where x=major, y=minor, z=release */
|
||||
#define PNG_LIBPNG_VER 10203 /* 1.2.3 */
|
||||
#define PNG_LIBPNG_VER 10204 /* 1.2.4 */
|
||||
|
||||
#ifndef PNG_VERSION_INFO_ONLY
|
||||
|
||||
@@ -372,7 +374,7 @@ extern "C" {
|
||||
*/
|
||||
#ifdef PNG_USE_GLOBAL_ARRAYS
|
||||
PNG_EXPORT_VAR (const char) png_libpng_ver[18];
|
||||
/* need room for 99.99.99beta99z*/
|
||||
/* need room for 99.99.99beta99z */
|
||||
#else
|
||||
#define png_libpng_ver png_get_header_ver(NULL)
|
||||
#endif
|
||||
@@ -598,7 +600,7 @@ typedef struct png_info_struct
|
||||
png_byte interlace_type; /* One of PNG_INTERLACE_NONE, PNG_INTERLACE_ADAM7 */
|
||||
|
||||
/* The following is informational only on read, and not used on writes. */
|
||||
png_byte channels; /* number of data channels per pixel (1, 2, 3, 4)*/
|
||||
png_byte channels; /* number of data channels per pixel (1, 2, 3, 4) */
|
||||
png_byte pixel_depth; /* number of bits per pixel */
|
||||
png_byte spare_byte; /* to align the data, and for future use */
|
||||
png_byte signature[8]; /* magic bytes read by libpng from start of file */
|
||||
@@ -888,7 +890,7 @@ typedef png_info FAR * FAR * png_infopp;
|
||||
#define PNG_KEYWORD_MAX_LENGTH 79
|
||||
|
||||
/* Maximum number of entries in PLTE/sPLT/tRNS arrays */
|
||||
#define PNG_MAX_PALETTE_LENGTH 256
|
||||
#define PNG_MAX_PALETTE_LENGTH 256
|
||||
|
||||
/* These determine if an ancillary chunk's data has been successfully read
|
||||
* from the PNG header, or if the application has filled in the corresponding
|
||||
@@ -1007,7 +1009,7 @@ struct png_struct_def
|
||||
png_voidp error_ptr; /* user supplied struct for error functions */
|
||||
png_rw_ptr write_data_fn; /* function for writing output data */
|
||||
png_rw_ptr read_data_fn; /* function for reading input data */
|
||||
png_voidp io_ptr; /* ptr to application struct for I/O functions*/
|
||||
png_voidp io_ptr; /* ptr to application struct for I/O functions */
|
||||
|
||||
#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED)
|
||||
png_user_transform_ptr read_user_transform_fn; /* user read transform */
|
||||
@@ -1259,13 +1261,22 @@ struct png_struct_def
|
||||
|
||||
png_bytep big_row_buf; /* buffer to save current (unfiltered) row */
|
||||
|
||||
#if defined(PNG_READ_DITHER_SUPPORTED)
|
||||
/* The following three members were added at version 1.2.4 */
|
||||
png_bytep dither_sort; /* working sort array */
|
||||
png_bytep index_to_palette; /* where the original index currently is */
|
||||
/* in the palette */
|
||||
png_bytep palette_to_index; /* which original index points to this */
|
||||
/* palette color */
|
||||
#endif
|
||||
|
||||
};
|
||||
|
||||
|
||||
/* This prevents a compiler error in png.c if png.c and png.h are both at
|
||||
version 1.2.3rc5
|
||||
version 1.2.4beta3
|
||||
*/
|
||||
typedef png_structp version_1_2_3rc5;
|
||||
typedef png_structp version_1_2_4beta3;
|
||||
|
||||
typedef png_struct FAR * FAR * png_structpp;
|
||||
|
||||
@@ -1349,6 +1360,7 @@ extern PNG_EXPORT(png_infop,png_create_info_struct)
|
||||
|
||||
/* Initialize the info structure (old interface - DEPRECATED) */
|
||||
extern PNG_EXPORT(void,png_info_init) PNGARG((png_infop info_ptr));
|
||||
#undef png_info_init
|
||||
#define png_info_init(info_ptr) png_info_init_3(&info_ptr, sizeof(png_info));
|
||||
extern PNG_EXPORT(void,png_info_init_3) PNGARG((png_infopp info_ptr,
|
||||
png_size_t png_info_struct_size));
|
||||
@@ -1524,11 +1536,11 @@ extern PNG_EXPORT(void,png_start_read_image) PNGARG((png_structp png_ptr));
|
||||
extern PNG_EXPORT(void,png_read_update_info) PNGARG((png_structp png_ptr,
|
||||
png_infop info_ptr));
|
||||
|
||||
/* read a one or more rows of image data.*/
|
||||
/* read a one or more rows of image data. */
|
||||
extern PNG_EXPORT(void,png_read_rows) PNGARG((png_structp png_ptr,
|
||||
png_bytepp row, png_bytepp display_row, png_uint_32 num_rows));
|
||||
|
||||
/* read a row of data.*/
|
||||
/* read a row of data. */
|
||||
extern PNG_EXPORT(void,png_read_row) PNGARG((png_structp png_ptr,
|
||||
png_bytep row,
|
||||
png_bytep display_row));
|
||||
@@ -1814,6 +1826,10 @@ extern PNG_EXPORT(void,png_progressive_combine_row) PNGARG((png_structp png_ptr,
|
||||
extern PNG_EXPORT(png_voidp,png_malloc) PNGARG((png_structp png_ptr,
|
||||
png_uint_32 size));
|
||||
|
||||
/* Added at libpng version 1.2.4 */
|
||||
extern PNG_EXPORT(png_voidp,png_malloc_warn) PNGARG((png_structp png_ptr,
|
||||
png_uint_32 size));
|
||||
|
||||
/* frees a pointer allocated by png_malloc() */
|
||||
extern PNG_EXPORT(void,png_free) PNGARG((png_structp png_ptr, png_voidp ptr));
|
||||
|
||||
@@ -2312,15 +2328,15 @@ extern PNG_EXPORT(png_uint_32,png_permit_mng_features) PNGARG((png_structp
|
||||
|
||||
/* Added to version 1.2.0 */
|
||||
#if defined(PNG_ASSEMBLER_CODE_SUPPORTED)
|
||||
#define PNG_ASM_FLAG_MMX_SUPPORT_COMPILED 0x01 /* not user-settable */
|
||||
#define PNG_ASM_FLAG_MMX_SUPPORT_IN_CPU 0x02 /* not user-settable */
|
||||
#define PNG_ASM_FLAG_MMX_SUPPORT_COMPILED 0x01 /* not user-settable */
|
||||
#define PNG_ASM_FLAG_MMX_SUPPORT_IN_CPU 0x02 /* not user-settable */
|
||||
#define PNG_ASM_FLAG_MMX_READ_COMBINE_ROW 0x04
|
||||
#define PNG_ASM_FLAG_MMX_READ_INTERLACE 0x08
|
||||
#define PNG_ASM_FLAG_MMX_READ_FILTER_SUB 0x10
|
||||
#define PNG_ASM_FLAG_MMX_READ_FILTER_UP 0x20
|
||||
#define PNG_ASM_FLAG_MMX_READ_FILTER_AVG 0x40
|
||||
#define PNG_ASM_FLAG_MMX_READ_FILTER_PAETH 0x80
|
||||
#define PNG_ASM_FLAGS_INITIALIZED 0x80000000 /* not user-settable */
|
||||
#define PNG_ASM_FLAGS_INITIALIZED 0x80000000 /* not user-settable */
|
||||
|
||||
#define PNG_MMX_READ_FLAGS ( PNG_ASM_FLAG_MMX_READ_COMBINE_ROW \
|
||||
| PNG_ASM_FLAG_MMX_READ_INTERLACE \
|
||||
@@ -2387,7 +2403,7 @@ extern PNG_EXPORT(void,png_set_strip_error_numbers) PNGARG((png_structp
|
||||
/* Maintainer: Put new public prototypes here ^, in libpng.3, and project defs */
|
||||
|
||||
#define PNG_HEADER_VERSION_STRING \
|
||||
" libpng version 1.2.3rc5 - May 11, 2002 (header)\n"
|
||||
" libpng version 1.2.4beta3 - June 28, 2002 (header)\n"
|
||||
|
||||
#ifdef PNG_READ_COMPOSITE_NODIV_SUPPORTED
|
||||
/* With these routines we avoid an integer divide, which will be slower on
|
||||
@@ -2621,6 +2637,7 @@ PNG_EXTERN png_uint_16 png_get_uint_16 PNGARG((png_bytep buf));
|
||||
* (old interface - DEPRECATED - use png_create_read_struct instead).
|
||||
*/
|
||||
extern PNG_EXPORT(void,png_read_init) PNGARG((png_structp png_ptr));
|
||||
#undef png_read_init
|
||||
#define png_read_init(png_ptr) png_read_init_3(&png_ptr, \
|
||||
PNG_LIBPNG_VER_STRING, sizeof(png_struct));
|
||||
extern PNG_EXPORT(void,png_read_init_3) PNGARG((png_structpp ptr_ptr,
|
||||
@@ -2633,6 +2650,7 @@ extern PNG_EXPORT(void,png_read_init_2) PNGARG((png_structp png_ptr,
|
||||
* (old interface - DEPRECATED - use png_create_write_struct instead).
|
||||
*/
|
||||
extern PNG_EXPORT(void,png_write_init) PNGARG((png_structp png_ptr));
|
||||
#undef png_write_init
|
||||
#define png_write_init(png_ptr) png_write_init_3(&png_ptr, \
|
||||
PNG_LIBPNG_VER_STRING, sizeof(png_struct));
|
||||
extern PNG_EXPORT(void,png_write_init_3) PNGARG((png_structpp ptr_ptr,
|
||||
@@ -2845,6 +2863,11 @@ PNG_EXTERN void png_write_iTXt PNGARG((png_structp png_ptr,
|
||||
png_charp text));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_TEXT_SUPPORTED) /* Added at version 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));
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* pngasmrd.h - assembler version of utilities to read a PNG file
|
||||
*
|
||||
* libpng 1.2.3rc5 - May 11, 2002
|
||||
* libpng 1.2.4beta3 - June 28, 2002
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 2002 Glenn Randers-Pehrson
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* pngconf.h - machine configurable file for libpng
|
||||
*
|
||||
* libpng 1.2.3rc5 - May 11, 2002
|
||||
* libpng 1.2.4beta3 - June 28, 2002
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2002 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
@@ -1185,8 +1185,7 @@ typedef z_stream FAR * png_zstreamp;
|
||||
|
||||
#if defined(PNG_DLL) || defined(_DLL) || defined(__DLL__ ) || \
|
||||
(( defined(_Windows) || defined(_WINDOWS) || \
|
||||
defined(WIN32) || defined(_WIN32) || defined(__WIN32__) \
|
||||
))
|
||||
defined(WIN32) || defined(_WIN32) || defined(__WIN32__) ))
|
||||
|
||||
# if defined(__GNUC__) || (defined (_MSC_VER) && (_MSC_VER >= 800))
|
||||
# define PNGAPI __cdecl
|
||||
@@ -1213,8 +1212,8 @@ typedef z_stream FAR * png_zstreamp;
|
||||
# if defined(PNG_BUILD_DLL)
|
||||
# define PNG_IMPEXP __export
|
||||
# else
|
||||
# define PNG_IMPEXP /*__import*/ /* doesn't exist AFAIK in
|
||||
VC++*/
|
||||
# define PNG_IMPEXP /*__import */ /* doesn't exist AFAIK in
|
||||
VC++ */
|
||||
# endif /* Exists in Borland C++ for
|
||||
C++ classes (== huge) */
|
||||
# endif
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngerror.c - stub functions for i/o and memory allocation
|
||||
*
|
||||
* libpng 1.2.3rc5 - May 11, 2002
|
||||
* libpng 1.2.4beta3 - June 28, 2002
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2002 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
@@ -92,13 +92,13 @@ png_warning(png_structp png_ptr, png_const_charp warning_message)
|
||||
}
|
||||
}
|
||||
if (png_ptr->warning_fn != NULL)
|
||||
(*(png_ptr->warning_fn))(png_ptr, (png_const_charp)
|
||||
(warning_message+offset));
|
||||
(*(png_ptr->warning_fn))(png_ptr,
|
||||
(png_const_charp)(warning_message+offset));
|
||||
else
|
||||
png_default_warning(png_ptr, (png_const_charp)(warning_message+offset));
|
||||
}
|
||||
|
||||
/* These utilities are used internally to build a warning message that relates
|
||||
/* 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,
|
||||
* this is used to prefix the message. The message is limited in length
|
||||
* to 63 bytes, the name characters are output as hex digits wrapped in []
|
||||
|
||||
10
pnggccrd.c
10
pnggccrd.c
@@ -6,7 +6,7 @@
|
||||
* and http://www.intel.com/drg/pentiumII/appnotes/923/923.htm
|
||||
* for Intel's performance analysis of the MMX vs. non-MMX code.
|
||||
*
|
||||
* libpng version 1.2.3rc5 - May 11, 2002
|
||||
* libpng version 1.2.4beta3 - June 28, 2002
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2002 Glenn Randers-Pehrson
|
||||
* Copyright (c) 1998, Intel Corporation
|
||||
@@ -338,7 +338,7 @@ static unsigned long long _const6 = 0x00000000000000FFLL;
|
||||
static png_uint_32 _FullLength;
|
||||
static png_uint_32 _MMXLength;
|
||||
static int _dif;
|
||||
static int _patemp; // temp variables for Paeth routine
|
||||
static int _patemp; // temp variables for Paeth routine
|
||||
static int _pbtemp;
|
||||
static int _pctemp;
|
||||
#endif
|
||||
@@ -386,9 +386,9 @@ static int _mmx_supported = 2;
|
||||
#if defined(PNG_HAVE_ASSEMBLER_COMBINE_ROW)
|
||||
|
||||
#define BPP2 2
|
||||
#define BPP3 3 /* bytes per pixel (a.k.a. pixel_bytes) */
|
||||
#define BPP3 3 /* bytes per pixel (a.k.a. pixel_bytes) */
|
||||
#define BPP4 4
|
||||
#define BPP6 6 /* (defined only to help avoid cut-and-paste errors) */
|
||||
#define BPP6 6 /* (defined only to help avoid cut-and-paste errors) */
|
||||
#define BPP8 8
|
||||
|
||||
/* Combines the row recently read in with the previous row.
|
||||
@@ -4825,7 +4825,7 @@ png_read_filter_row_mmx_sub(png_row_infop row_info, png_bytep row)
|
||||
}
|
||||
break;
|
||||
|
||||
default: // bpp greater than 8 bytes GRR BOGUS
|
||||
default: // bpp greater than 8 bytes GRR BOGUS
|
||||
{
|
||||
__asm__ __volatile__ (
|
||||
"movl _dif, %%edx \n\t"
|
||||
|
||||
4
pngget.c
4
pngget.c
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngget.c - retrieval of values from info struct
|
||||
*
|
||||
* libpng 1.2.3rc5 - May 11, 2002
|
||||
* libpng 1.2.4beta3 - June 28, 2002
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2002 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
@@ -837,7 +837,7 @@ png_get_compression_buffer_size(png_structp png_ptr)
|
||||
|
||||
#ifndef PNG_1_0_X
|
||||
#ifdef PNG_ASSEMBLER_CODE_SUPPORTED
|
||||
/* this function was added to libpng 1.2.0 and should exist by default*/
|
||||
/* 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)
|
||||
{
|
||||
|
||||
31
pngmem.c
31
pngmem.c
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngmem.c - stub functions for memory allocation
|
||||
*
|
||||
* libpng 1.2.3rc5 - May 11, 2002
|
||||
* libpng 1.2.4beta3 - June 28, 2002
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2002 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
@@ -110,12 +110,12 @@ png_destroy_struct_2(png_voidp struct_ptr, png_free_ptr free_fn,
|
||||
* result, we would be truncating potentially larger memory requests
|
||||
* (which should cause a fatal error) and introducing major problems.
|
||||
*/
|
||||
|
||||
png_voidp PNGAPI
|
||||
png_malloc(png_structp png_ptr, png_uint_32 size)
|
||||
{
|
||||
#ifndef PNG_USER_MEM_SUPPORTED
|
||||
png_voidp ret;
|
||||
#endif
|
||||
|
||||
if (png_ptr == NULL || size == 0)
|
||||
return (NULL);
|
||||
|
||||
@@ -306,7 +306,7 @@ png_free_default(png_structp png_ptr, png_voidp ptr)
|
||||
|
||||
/* Allocate memory for a png_struct or a png_info. The malloc and
|
||||
memset can be replaced by a single call to calloc() if this is thought
|
||||
to improve performance noticably.*/
|
||||
to improve performance noticably. */
|
||||
png_voidp /* PRIVATE */
|
||||
png_create_struct(int type)
|
||||
{
|
||||
@@ -316,7 +316,7 @@ png_create_struct(int type)
|
||||
|
||||
/* Allocate memory for a png_struct or a png_info. The malloc and
|
||||
memset can be replaced by a single call to calloc() if this is thought
|
||||
to improve performance noticably.*/
|
||||
to improve performance noticably. */
|
||||
png_voidp /* PRIVATE */
|
||||
png_create_struct_2(int type, png_malloc_ptr malloc_fn, png_voidp mem_ptr)
|
||||
{
|
||||
@@ -399,7 +399,6 @@ png_destroy_struct_2(png_voidp struct_ptr, png_free_ptr free_fn,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Allocate memory. For reasonable files, size should never exceed
|
||||
64K. However, zlib may allocate more then 64K if you don't tell
|
||||
it not to. See zconf.h and png.h for more information. zlib does
|
||||
@@ -410,13 +409,14 @@ png_voidp PNGAPI
|
||||
png_malloc(png_structp png_ptr, png_uint_32 size)
|
||||
{
|
||||
png_voidp ret;
|
||||
|
||||
if (png_ptr == NULL || size == 0)
|
||||
return (NULL);
|
||||
|
||||
#ifdef PNG_USER_MEM_SUPPORTED
|
||||
if(png_ptr->malloc_fn != NULL)
|
||||
{
|
||||
ret = ((png_voidp)(*(png_ptr->malloc_fn))(png_ptr, size));
|
||||
ret = ((png_voidp)(*(png_ptr->malloc_fn))(png_ptr, (png_size_t)size));
|
||||
if (ret == NULL && (png_ptr->flags&PNG_FLAG_MALLOC_NULL_MEM_OK) == 0)
|
||||
png_error(png_ptr, "Out of Memory!");
|
||||
return (ret);
|
||||
@@ -424,6 +424,7 @@ png_malloc(png_structp png_ptr, png_uint_32 size)
|
||||
else
|
||||
return (png_malloc_default(png_ptr, size));
|
||||
}
|
||||
|
||||
png_voidp PNGAPI
|
||||
png_malloc_default(png_structp png_ptr, png_uint_32 size)
|
||||
{
|
||||
@@ -493,6 +494,22 @@ png_free_default(png_structp png_ptr, png_voidp ptr)
|
||||
|
||||
#endif /* Not Borland DOS special memory handler */
|
||||
|
||||
/* This function was added at libpng version 1.3.0. The png_malloc_warn()
|
||||
* function will 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_uint_32 size)
|
||||
{
|
||||
png_voidp ptr;
|
||||
png_uint_32 save_flags=png_ptr->flags;
|
||||
|
||||
png_ptr->flags|=PNG_FLAG_MALLOC_NULL_MEM_OK;
|
||||
ptr = (png_voidp)png_malloc((png_structp)png_ptr, size);
|
||||
png_ptr->flags=save_flags;
|
||||
return(ptr);
|
||||
}
|
||||
|
||||
png_voidp PNGAPI
|
||||
png_memcpy_check (png_structp png_ptr, png_voidp s1, png_voidp s2,
|
||||
png_uint_32 length)
|
||||
|
||||
90
pngpread.c
90
pngpread.c
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngpread.c - read a png file in push mode
|
||||
*
|
||||
* libpng 1.2.3rc5 - May 11, 2002
|
||||
* libpng 1.2.4beta3 - June 28, 2002
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2002 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
@@ -221,7 +221,6 @@ png_push_read_chunk(png_structp png_ptr, png_infop info_ptr)
|
||||
png_push_save_buffer(png_ptr);
|
||||
return;
|
||||
}
|
||||
|
||||
png_handle_IHDR(png_ptr, info_ptr, png_ptr->push_length);
|
||||
}
|
||||
else if (!png_memcmp(png_ptr->chunk_name, png_PLTE, 4))
|
||||
@@ -231,7 +230,6 @@ png_push_read_chunk(png_structp png_ptr, png_infop info_ptr)
|
||||
png_push_save_buffer(png_ptr);
|
||||
return;
|
||||
}
|
||||
|
||||
png_handle_PLTE(png_ptr, info_ptr, png_ptr->push_length);
|
||||
}
|
||||
else if (!png_memcmp(png_ptr->chunk_name, (png_bytep)png_IDAT, 4))
|
||||
@@ -243,7 +241,7 @@ png_push_read_chunk(png_structp png_ptr, png_infop info_ptr)
|
||||
if (!(png_ptr->mode & PNG_HAVE_IHDR))
|
||||
png_error(png_ptr, "Missing IHDR before IDAT");
|
||||
else if (png_ptr->color_type == PNG_COLOR_TYPE_PALETTE &&
|
||||
!(png_ptr->mode & PNG_HAVE_PLTE))
|
||||
!(png_ptr->mode & PNG_HAVE_PLTE))
|
||||
png_error(png_ptr, "Missing PLTE before IDAT");
|
||||
|
||||
if (png_ptr->mode & PNG_HAVE_IDAT)
|
||||
@@ -270,8 +268,8 @@ png_push_read_chunk(png_structp png_ptr, png_infop info_ptr)
|
||||
png_push_save_buffer(png_ptr);
|
||||
return;
|
||||
}
|
||||
|
||||
png_handle_IEND(png_ptr, info_ptr, png_ptr->push_length);
|
||||
|
||||
png_ptr->process_mode = PNG_READ_DONE_MODE;
|
||||
png_push_have_end(png_ptr, info_ptr);
|
||||
}
|
||||
@@ -283,7 +281,6 @@ png_push_read_chunk(png_structp png_ptr, png_infop info_ptr)
|
||||
png_push_save_buffer(png_ptr);
|
||||
return;
|
||||
}
|
||||
|
||||
png_handle_gAMA(png_ptr, info_ptr, png_ptr->push_length);
|
||||
}
|
||||
#endif
|
||||
@@ -295,7 +292,6 @@ png_push_read_chunk(png_structp png_ptr, png_infop info_ptr)
|
||||
png_push_save_buffer(png_ptr);
|
||||
return;
|
||||
}
|
||||
|
||||
png_handle_sBIT(png_ptr, info_ptr, png_ptr->push_length);
|
||||
}
|
||||
#endif
|
||||
@@ -307,7 +303,6 @@ png_push_read_chunk(png_structp png_ptr, png_infop info_ptr)
|
||||
png_push_save_buffer(png_ptr);
|
||||
return;
|
||||
}
|
||||
|
||||
png_handle_cHRM(png_ptr, info_ptr, png_ptr->push_length);
|
||||
}
|
||||
#endif
|
||||
@@ -319,7 +314,6 @@ png_push_read_chunk(png_structp png_ptr, png_infop info_ptr)
|
||||
png_push_save_buffer(png_ptr);
|
||||
return;
|
||||
}
|
||||
|
||||
png_handle_sRGB(png_ptr, info_ptr, png_ptr->push_length);
|
||||
}
|
||||
#endif
|
||||
@@ -331,7 +325,6 @@ png_push_read_chunk(png_structp png_ptr, png_infop info_ptr)
|
||||
png_push_save_buffer(png_ptr);
|
||||
return;
|
||||
}
|
||||
|
||||
png_handle_iCCP(png_ptr, info_ptr, png_ptr->push_length);
|
||||
}
|
||||
#endif
|
||||
@@ -343,7 +336,6 @@ png_push_read_chunk(png_structp png_ptr, png_infop info_ptr)
|
||||
png_push_save_buffer(png_ptr);
|
||||
return;
|
||||
}
|
||||
|
||||
png_handle_sPLT(png_ptr, info_ptr, png_ptr->push_length);
|
||||
}
|
||||
#endif
|
||||
@@ -355,7 +347,6 @@ png_push_read_chunk(png_structp png_ptr, png_infop info_ptr)
|
||||
png_push_save_buffer(png_ptr);
|
||||
return;
|
||||
}
|
||||
|
||||
png_handle_tRNS(png_ptr, info_ptr, png_ptr->push_length);
|
||||
}
|
||||
#endif
|
||||
@@ -367,7 +358,6 @@ png_push_read_chunk(png_structp png_ptr, png_infop info_ptr)
|
||||
png_push_save_buffer(png_ptr);
|
||||
return;
|
||||
}
|
||||
|
||||
png_handle_bKGD(png_ptr, info_ptr, png_ptr->push_length);
|
||||
}
|
||||
#endif
|
||||
@@ -379,7 +369,6 @@ png_push_read_chunk(png_structp png_ptr, png_infop info_ptr)
|
||||
png_push_save_buffer(png_ptr);
|
||||
return;
|
||||
}
|
||||
|
||||
png_handle_hIST(png_ptr, info_ptr, png_ptr->push_length);
|
||||
}
|
||||
#endif
|
||||
@@ -391,7 +380,6 @@ png_push_read_chunk(png_structp png_ptr, png_infop info_ptr)
|
||||
png_push_save_buffer(png_ptr);
|
||||
return;
|
||||
}
|
||||
|
||||
png_handle_pHYs(png_ptr, info_ptr, png_ptr->push_length);
|
||||
}
|
||||
#endif
|
||||
@@ -403,7 +391,6 @@ png_push_read_chunk(png_structp png_ptr, png_infop info_ptr)
|
||||
png_push_save_buffer(png_ptr);
|
||||
return;
|
||||
}
|
||||
|
||||
png_handle_oFFs(png_ptr, info_ptr, png_ptr->push_length);
|
||||
}
|
||||
#endif
|
||||
@@ -415,7 +402,6 @@ png_push_read_chunk(png_structp png_ptr, png_infop info_ptr)
|
||||
png_push_save_buffer(png_ptr);
|
||||
return;
|
||||
}
|
||||
|
||||
png_handle_pCAL(png_ptr, info_ptr, png_ptr->push_length);
|
||||
}
|
||||
#endif
|
||||
@@ -427,7 +413,6 @@ png_push_read_chunk(png_structp png_ptr, png_infop info_ptr)
|
||||
png_push_save_buffer(png_ptr);
|
||||
return;
|
||||
}
|
||||
|
||||
png_handle_sCAL(png_ptr, info_ptr, png_ptr->push_length);
|
||||
}
|
||||
#endif
|
||||
@@ -439,30 +424,49 @@ png_push_read_chunk(png_structp png_ptr, png_infop info_ptr)
|
||||
png_push_save_buffer(png_ptr);
|
||||
return;
|
||||
}
|
||||
|
||||
png_handle_tIME(png_ptr, info_ptr, png_ptr->push_length);
|
||||
}
|
||||
#endif
|
||||
#if defined(PNG_READ_tEXt_SUPPORTED)
|
||||
else if (!png_memcmp(png_ptr->chunk_name, png_tEXt, 4))
|
||||
{
|
||||
if (png_ptr->push_length + 4 > png_ptr->buffer_size)
|
||||
{
|
||||
png_push_save_buffer(png_ptr);
|
||||
return;
|
||||
}
|
||||
png_push_handle_tEXt(png_ptr, info_ptr, png_ptr->push_length);
|
||||
}
|
||||
#endif
|
||||
#if defined(PNG_READ_zTXt_SUPPORTED)
|
||||
else if (!png_memcmp(png_ptr->chunk_name, png_zTXt, 4))
|
||||
{
|
||||
if (png_ptr->push_length + 4 > png_ptr->buffer_size)
|
||||
{
|
||||
png_push_save_buffer(png_ptr);
|
||||
return;
|
||||
}
|
||||
png_push_handle_zTXt(png_ptr, info_ptr, png_ptr->push_length);
|
||||
}
|
||||
#endif
|
||||
#if defined(PNG_READ_iTXt_SUPPORTED)
|
||||
else if (!png_memcmp(png_ptr->chunk_name, png_iTXt, 4))
|
||||
{
|
||||
if (png_ptr->push_length + 4 > png_ptr->buffer_size)
|
||||
{
|
||||
png_push_save_buffer(png_ptr);
|
||||
return;
|
||||
}
|
||||
png_push_handle_iTXt(png_ptr, info_ptr, png_ptr->push_length);
|
||||
}
|
||||
#endif
|
||||
else
|
||||
{
|
||||
if (png_ptr->push_length + 4 > png_ptr->buffer_size)
|
||||
{
|
||||
png_push_save_buffer(png_ptr);
|
||||
return;
|
||||
}
|
||||
png_push_handle_unknown(png_ptr, info_ptr, png_ptr->push_length);
|
||||
}
|
||||
|
||||
@@ -742,6 +746,13 @@ png_process_IDAT_data(png_structp png_ptr, png_bytep buffer,
|
||||
}
|
||||
if (!(png_ptr->zstream.avail_out))
|
||||
{
|
||||
if ((
|
||||
#if defined(PNG_READ_INTERLACING_SUPPORTED)
|
||||
png_ptr->interlaced && png_ptr->pass > 6) ||
|
||||
(!png_ptr->interlaced &&
|
||||
#endif
|
||||
png_ptr->row_number == png_ptr->num_rows-1))
|
||||
png_error(png_ptr, "Too much data in IDAT chunks");
|
||||
png_push_process_row(png_ptr);
|
||||
png_ptr->zstream.avail_out = (uInt)png_ptr->irowbytes;
|
||||
png_ptr->zstream.next_out = png_ptr->row_buf;
|
||||
@@ -802,13 +813,13 @@ png_push_process_row(png_structp png_ptr)
|
||||
png_read_push_finish_row(png_ptr);
|
||||
}
|
||||
}
|
||||
if (png_ptr->pass == 4 && png_ptr->height <= 4)
|
||||
{
|
||||
for (i = 0; i < 2 && png_ptr->pass == 4; i++)
|
||||
{
|
||||
png_push_have_row(png_ptr, png_bytep_NULL);
|
||||
png_read_push_finish_row(png_ptr);
|
||||
}
|
||||
if (png_ptr->pass == 4 && png_ptr->height <= 4)
|
||||
{
|
||||
for (i = 0; i < 2 && png_ptr->pass == 4; i++)
|
||||
{
|
||||
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)
|
||||
{
|
||||
@@ -1051,6 +1062,7 @@ png_push_read_tEXt(png_structp png_ptr, png_infop info_ptr)
|
||||
png_textp text_ptr;
|
||||
png_charp text;
|
||||
png_charp key;
|
||||
int ret;
|
||||
|
||||
if (png_ptr->buffer_size < 4)
|
||||
{
|
||||
@@ -1066,7 +1078,6 @@ png_push_read_tEXt(png_structp png_ptr, png_infop info_ptr)
|
||||
#endif
|
||||
|
||||
key = png_ptr->current_text;
|
||||
png_ptr->current_text = 0;
|
||||
|
||||
for (text = key; *text; text++)
|
||||
/* empty loop */ ;
|
||||
@@ -1083,10 +1094,14 @@ png_push_read_tEXt(png_structp png_ptr, png_infop info_ptr)
|
||||
#endif
|
||||
text_ptr->text = text;
|
||||
|
||||
png_set_text(png_ptr, info_ptr, text_ptr, 1);
|
||||
ret = png_set_text_2(png_ptr, info_ptr, text_ptr, 1);
|
||||
|
||||
png_free(png_ptr, key);
|
||||
png_free(png_ptr, text_ptr);
|
||||
png_ptr->current_text = NULL;
|
||||
|
||||
if (ret)
|
||||
png_warning(png_ptr, "Insufficient memory to store text chunk.");
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -1157,7 +1172,6 @@ png_push_read_zTXt(png_structp png_ptr, png_infop info_ptr)
|
||||
png_push_crc_finish(png_ptr);
|
||||
|
||||
key = png_ptr->current_text;
|
||||
png_ptr->current_text = 0;
|
||||
|
||||
for (text = key; *text; text++)
|
||||
/* empty loop */ ;
|
||||
@@ -1165,6 +1179,7 @@ png_push_read_zTXt(png_structp png_ptr, png_infop info_ptr)
|
||||
/* zTXt can't have zero text */
|
||||
if (text == key + png_ptr->current_text_size)
|
||||
{
|
||||
png_ptr->current_text = NULL;
|
||||
png_free(png_ptr, key);
|
||||
return;
|
||||
}
|
||||
@@ -1173,6 +1188,7 @@ png_push_read_zTXt(png_structp png_ptr, png_infop info_ptr)
|
||||
|
||||
if (*text != PNG_TEXT_COMPRESSION_zTXt) /* check compression byte */
|
||||
{
|
||||
png_ptr->current_text = NULL;
|
||||
png_free(png_ptr, key);
|
||||
return;
|
||||
}
|
||||
@@ -1197,6 +1213,7 @@ png_push_read_zTXt(png_structp png_ptr, png_infop info_ptr)
|
||||
{
|
||||
inflateReset(&png_ptr->zstream);
|
||||
png_ptr->zstream.avail_in = 0;
|
||||
png_ptr->current_text = NULL;
|
||||
png_free(png_ptr, key);
|
||||
png_free(png_ptr, text);
|
||||
return;
|
||||
@@ -1250,11 +1267,13 @@ png_push_read_zTXt(png_structp png_ptr, png_infop info_ptr)
|
||||
|
||||
if (ret != Z_STREAM_END)
|
||||
{
|
||||
png_ptr->current_text = NULL;
|
||||
png_free(png_ptr, key);
|
||||
png_free(png_ptr, text);
|
||||
return;
|
||||
}
|
||||
|
||||
png_ptr->current_text = NULL;
|
||||
png_free(png_ptr, key);
|
||||
key = text;
|
||||
text += key_size;
|
||||
@@ -1268,10 +1287,13 @@ png_push_read_zTXt(png_structp png_ptr, png_infop info_ptr)
|
||||
#endif
|
||||
text_ptr->text = text;
|
||||
|
||||
png_set_text(png_ptr, info_ptr, text_ptr, 1);
|
||||
ret = png_set_text_2(png_ptr, info_ptr, text_ptr, 1);
|
||||
|
||||
png_free(png_ptr, key);
|
||||
png_free(png_ptr, text_ptr);
|
||||
|
||||
if (ret)
|
||||
png_warning(png_ptr, "Insufficient memory to store text chunk.");
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -1332,6 +1354,7 @@ png_push_read_iTXt(png_structp png_ptr, png_infop info_ptr)
|
||||
png_charp lang;
|
||||
png_charp lang_key;
|
||||
png_charp text;
|
||||
int ret;
|
||||
|
||||
if (png_ptr->buffer_size < 4)
|
||||
{
|
||||
@@ -1347,7 +1370,6 @@ png_push_read_iTXt(png_structp png_ptr, png_infop info_ptr)
|
||||
#endif
|
||||
|
||||
key = png_ptr->current_text;
|
||||
png_ptr->current_text = 0;
|
||||
|
||||
for (lang = key; *lang; lang++)
|
||||
/* empty loop */ ;
|
||||
@@ -1377,9 +1399,13 @@ png_push_read_iTXt(png_structp png_ptr, png_infop info_ptr)
|
||||
text_ptr->text_length = 0;
|
||||
text_ptr->itxt_length = png_strlen(text);
|
||||
|
||||
png_set_text(png_ptr, info_ptr, text_ptr, 1);
|
||||
ret = png_set_text_2(png_ptr, info_ptr, text_ptr, 1);
|
||||
|
||||
png_ptr->current_text = NULL;
|
||||
|
||||
png_free(png_ptr, text_ptr);
|
||||
if (ret)
|
||||
png_warning(png_ptr, "Insufficient memory to store iTXt chunk.");
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
16
pngread.c
16
pngread.c
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngread.c - read a PNG file
|
||||
*
|
||||
* libpng 1.2.3rc5 - May 11, 2002
|
||||
* libpng 1.2.4beta3 - June 28, 2002
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2002 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
@@ -70,8 +70,7 @@ png_create_read_struct_2(png_const_charp user_png_ver, png_voidp error_ptr,
|
||||
png_ptr->zbuf=NULL;
|
||||
#ifdef PNG_USER_MEM_SUPPORTED
|
||||
png_destroy_struct_2((png_voidp)png_ptr,
|
||||
(png_free_ptr)free_fn,
|
||||
(png_voidp)mem_ptr);
|
||||
(png_free_ptr)free_fn, (png_voidp)mem_ptr);
|
||||
#else
|
||||
png_destroy_struct((png_voidp)png_ptr);
|
||||
#endif
|
||||
@@ -175,7 +174,6 @@ png_read_init(png_structp png_ptr)
|
||||
png_read_init_2(png_ptr, "1.0.6 or earlier", 0, 0);
|
||||
}
|
||||
|
||||
#undef png_read_init_2
|
||||
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)
|
||||
@@ -795,7 +793,7 @@ png_read_row(png_structp png_ptr, png_bytep row, png_bytep dsp_row)
|
||||
* not called png_set_interlace_handling(), the display_row buffer will
|
||||
* be ignored, so pass NULL to it.
|
||||
*
|
||||
* [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.3rc5
|
||||
* [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.4beta3
|
||||
*/
|
||||
|
||||
void PNGAPI
|
||||
@@ -844,7 +842,7 @@ png_read_rows(png_structp png_ptr, png_bytepp row,
|
||||
* only call this function once. If you desire to have an image for
|
||||
* each pass of a interlaced image, use png_read_rows() instead.
|
||||
*
|
||||
* [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.3rc5
|
||||
* [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.4beta3
|
||||
*/
|
||||
void PNGAPI
|
||||
png_read_image(png_structp png_ptr, png_bytepp image)
|
||||
@@ -1250,6 +1248,12 @@ png_read_destroy(png_structp png_ptr, png_infop info_ptr, png_infop end_info_ptr
|
||||
png_free(png_ptr, png_ptr->save_buffer);
|
||||
#endif
|
||||
|
||||
#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
|
||||
#ifdef PNG_TEXT_SUPPORTED
|
||||
png_free(png_ptr, png_ptr->current_text);
|
||||
#endif /* PNG_TEXT_SUPPORTED */
|
||||
#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */
|
||||
|
||||
/* Save the important info out of the png_struct, in case it is
|
||||
* being used again.
|
||||
*/
|
||||
|
||||
2
pngrio.c
2
pngrio.c
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngrio.c - functions for data input
|
||||
*
|
||||
* libpng 1.2.3rc5 - May 11, 2002
|
||||
* libpng 1.2.4beta3 - June 28, 2002
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2002 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
|
||||
93
pngrtran.c
93
pngrtran.c
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngrtran.c - transforms the data in a row for PNG readers
|
||||
*
|
||||
* libpng 1.2.3rc5 - May 11, 2002
|
||||
* libpng 1.2.4beta3 - June 28, 2002
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2002 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
@@ -167,15 +167,14 @@ png_set_dither(png_structp png_ptr, png_colorp palette,
|
||||
Perhaps not the best solution, but good enough. */
|
||||
|
||||
int i;
|
||||
png_bytep sort;
|
||||
|
||||
/* initialize an array to sort colors */
|
||||
sort = (png_bytep)png_malloc(png_ptr, (png_uint_32)(num_palette
|
||||
* sizeof (png_byte)));
|
||||
png_ptr->dither_sort = (png_bytep)png_malloc(png_ptr,
|
||||
(png_uint_32)(num_palette * sizeof (png_byte)));
|
||||
|
||||
/* initialize the sort array */
|
||||
/* initialize the dither_sort array */
|
||||
for (i = 0; i < num_palette; i++)
|
||||
sort[i] = (png_byte)i;
|
||||
png_ptr->dither_sort[i] = (png_byte)i;
|
||||
|
||||
/* Find the least used palette entries by starting a
|
||||
bubble sort, and running it until we have sorted
|
||||
@@ -191,13 +190,14 @@ png_set_dither(png_structp png_ptr, png_colorp palette,
|
||||
done = 1;
|
||||
for (j = 0; j < i; j++)
|
||||
{
|
||||
if (histogram[sort[j]] < histogram[sort[j + 1]])
|
||||
if (histogram[png_ptr->dither_sort[j]]
|
||||
< histogram[png_ptr->dither_sort[j + 1]])
|
||||
{
|
||||
png_byte t;
|
||||
|
||||
t = sort[j];
|
||||
sort[j] = sort[j + 1];
|
||||
sort[j + 1] = t;
|
||||
t = png_ptr->dither_sort[j];
|
||||
png_ptr->dither_sort[j] = png_ptr->dither_sort[j + 1];
|
||||
png_ptr->dither_sort[j + 1] = t;
|
||||
done = 0;
|
||||
}
|
||||
}
|
||||
@@ -214,11 +214,11 @@ png_set_dither(png_structp png_ptr, png_colorp palette,
|
||||
move the others */
|
||||
for (i = 0; i < maximum_colors; i++)
|
||||
{
|
||||
if ((int)sort[i] >= maximum_colors)
|
||||
if ((int)png_ptr->dither_sort[i] >= maximum_colors)
|
||||
{
|
||||
do
|
||||
j--;
|
||||
while ((int)sort[j] >= maximum_colors);
|
||||
while ((int)png_ptr->dither_sort[j] >= maximum_colors);
|
||||
palette[i] = palette[j];
|
||||
}
|
||||
}
|
||||
@@ -232,13 +232,13 @@ png_set_dither(png_structp png_ptr, png_colorp palette,
|
||||
for (i = 0; i < maximum_colors; i++)
|
||||
{
|
||||
/* only move the colors we need to */
|
||||
if ((int)sort[i] >= maximum_colors)
|
||||
if ((int)png_ptr->dither_sort[i] >= maximum_colors)
|
||||
{
|
||||
png_color tmp_color;
|
||||
|
||||
do
|
||||
j--;
|
||||
while ((int)sort[j] >= maximum_colors);
|
||||
while ((int)png_ptr->dither_sort[j] >= maximum_colors);
|
||||
|
||||
tmp_color = palette[j];
|
||||
palette[j] = palette[i];
|
||||
@@ -276,7 +276,8 @@ png_set_dither(png_structp png_ptr, png_colorp palette,
|
||||
}
|
||||
}
|
||||
}
|
||||
png_free(png_ptr, sort);
|
||||
png_free(png_ptr, png_ptr->dither_sort);
|
||||
png_ptr->dither_sort=NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -291,23 +292,22 @@ png_set_dither(png_structp png_ptr, png_colorp palette,
|
||||
int i;
|
||||
int max_d;
|
||||
int num_new_palette;
|
||||
png_dsortp t;
|
||||
png_dsortpp hash;
|
||||
png_bytep index_to_palette;
|
||||
/* where the original index currently is in the palette */
|
||||
png_bytep palette_to_index;
|
||||
/* which original index points to this palette color */
|
||||
|
||||
t=NULL;
|
||||
|
||||
/* initialize palette index arrays */
|
||||
index_to_palette = (png_bytep)png_malloc(png_ptr,
|
||||
png_ptr->index_to_palette = (png_bytep)png_malloc(png_ptr,
|
||||
(png_uint_32)(num_palette * sizeof (png_byte)));
|
||||
palette_to_index = (png_bytep)png_malloc(png_ptr,
|
||||
png_ptr->palette_to_index = (png_bytep)png_malloc(png_ptr,
|
||||
(png_uint_32)(num_palette * sizeof (png_byte)));
|
||||
|
||||
/* initialize the sort array */
|
||||
for (i = 0; i < num_palette; i++)
|
||||
{
|
||||
index_to_palette[i] = (png_byte)i;
|
||||
palette_to_index[i] = (png_byte)i;
|
||||
png_ptr->index_to_palette[i] = (png_byte)i;
|
||||
png_ptr->palette_to_index[i] = (png_byte)i;
|
||||
}
|
||||
|
||||
hash = (png_dsortpp)png_malloc(png_ptr, (png_uint_32)(769 *
|
||||
@@ -342,18 +342,22 @@ png_set_dither(png_structp png_ptr, png_colorp palette,
|
||||
|
||||
if (d <= max_d)
|
||||
{
|
||||
png_dsortp t;
|
||||
|
||||
t = (png_dsortp)png_malloc(png_ptr, (png_uint_32)(sizeof
|
||||
(png_dsort)));
|
||||
t = (png_dsortp)png_malloc_warn(png_ptr,
|
||||
(png_uint_32)(sizeof(png_dsort)));
|
||||
if (t == NULL)
|
||||
break;
|
||||
t->next = hash[d];
|
||||
t->left = (png_byte)i;
|
||||
t->right = (png_byte)j;
|
||||
hash[d] = t;
|
||||
}
|
||||
}
|
||||
if (t == NULL)
|
||||
break;
|
||||
}
|
||||
|
||||
if (t != NULL)
|
||||
for (i = 0; i <= max_d; i++)
|
||||
{
|
||||
if (hash[i] != NULL)
|
||||
@@ -362,8 +366,10 @@ png_set_dither(png_structp png_ptr, png_colorp palette,
|
||||
|
||||
for (p = hash[i]; p; p = p->next)
|
||||
{
|
||||
if ((int)index_to_palette[p->left] < num_new_palette &&
|
||||
(int)index_to_palette[p->right] < num_new_palette)
|
||||
if ((int)png_ptr->index_to_palette[p->left]
|
||||
< num_new_palette &&
|
||||
(int)png_ptr->index_to_palette[p->right]
|
||||
< num_new_palette)
|
||||
{
|
||||
int j, next_j;
|
||||
|
||||
@@ -379,7 +385,8 @@ png_set_dither(png_structp png_ptr, png_colorp palette,
|
||||
}
|
||||
|
||||
num_new_palette--;
|
||||
palette[index_to_palette[j]] = palette[num_new_palette];
|
||||
palette[png_ptr->index_to_palette[j]]
|
||||
= palette[num_new_palette];
|
||||
if (!full_dither)
|
||||
{
|
||||
int k;
|
||||
@@ -387,23 +394,23 @@ png_set_dither(png_structp png_ptr, png_colorp palette,
|
||||
for (k = 0; k < num_palette; k++)
|
||||
{
|
||||
if (png_ptr->dither_index[k] ==
|
||||
index_to_palette[j])
|
||||
png_ptr->index_to_palette[j])
|
||||
png_ptr->dither_index[k] =
|
||||
index_to_palette[next_j];
|
||||
png_ptr->index_to_palette[next_j];
|
||||
if ((int)png_ptr->dither_index[k] ==
|
||||
num_new_palette)
|
||||
png_ptr->dither_index[k] =
|
||||
index_to_palette[j];
|
||||
png_ptr->index_to_palette[j];
|
||||
}
|
||||
}
|
||||
|
||||
index_to_palette[palette_to_index[num_new_palette]] =
|
||||
index_to_palette[j];
|
||||
palette_to_index[index_to_palette[j]] =
|
||||
palette_to_index[num_new_palette];
|
||||
png_ptr->index_to_palette[png_ptr->palette_to_index
|
||||
[num_new_palette]] = png_ptr->index_to_palette[j];
|
||||
png_ptr->palette_to_index[png_ptr->index_to_palette[j]]
|
||||
= png_ptr->palette_to_index[num_new_palette];
|
||||
|
||||
index_to_palette[j] = (png_byte)num_new_palette;
|
||||
palette_to_index[num_new_palette] = (png_byte)j;
|
||||
png_ptr->index_to_palette[j] = (png_byte)num_new_palette;
|
||||
png_ptr->palette_to_index[num_new_palette] = (png_byte)j;
|
||||
}
|
||||
if (num_new_palette <= maximum_colors)
|
||||
break;
|
||||
@@ -420,8 +427,6 @@ png_set_dither(png_structp png_ptr, png_colorp palette,
|
||||
png_dsortp p = hash[i];
|
||||
while (p)
|
||||
{
|
||||
png_dsortp t;
|
||||
|
||||
t = p->next;
|
||||
png_free(png_ptr, p);
|
||||
p = t;
|
||||
@@ -432,8 +437,10 @@ png_set_dither(png_structp png_ptr, png_colorp palette,
|
||||
max_d += 96;
|
||||
}
|
||||
png_free(png_ptr, hash);
|
||||
png_free(png_ptr, palette_to_index);
|
||||
png_free(png_ptr, index_to_palette);
|
||||
png_free(png_ptr, png_ptr->palette_to_index);
|
||||
png_free(png_ptr, png_ptr->index_to_palette);
|
||||
png_ptr->palette_to_index=NULL;
|
||||
png_ptr->index_to_palette=NULL;
|
||||
}
|
||||
num_palette = maximum_colors;
|
||||
}
|
||||
@@ -872,7 +879,7 @@ png_init_read_transformations(png_structp png_ptr)
|
||||
}
|
||||
}
|
||||
}
|
||||
/* if (png_ptr->background_gamma_type!=PNG_BACKGROUND_GAMMA_UNKNOWN)*/
|
||||
/* if (png_ptr->background_gamma_type!=PNG_BACKGROUND_GAMMA_UNKNOWN) */
|
||||
else
|
||||
/* color_type != PNG_COLOR_TYPE_PALETTE */
|
||||
{
|
||||
|
||||
137
pngrutil.c
137
pngrutil.c
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngrutil.c - utilities to read a PNG file
|
||||
*
|
||||
* libpng 1.2.3rc5 - May 11, 2002
|
||||
* libpng 1.2.4beta3 - June 28, 2002
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2002 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
@@ -200,7 +200,12 @@ png_decompress_chunk(png_structp png_ptr, int comp_type,
|
||||
if (text == NULL)
|
||||
{
|
||||
text_size = prefix_size + sizeof(msg) + 1;
|
||||
text = (png_charp)png_malloc(png_ptr, text_size);
|
||||
text = (png_charp)png_malloc_warn(png_ptr, text_size);
|
||||
if (text == NULL)
|
||||
{
|
||||
png_free(png_ptr,chunkdata);
|
||||
png_error(png_ptr,"Not enough memory to decompress chunk");
|
||||
}
|
||||
png_memcpy(text, chunkdata, prefix_size);
|
||||
}
|
||||
|
||||
@@ -218,7 +223,12 @@ png_decompress_chunk(png_structp png_ptr, int comp_type,
|
||||
{
|
||||
text_size = prefix_size +
|
||||
png_ptr->zbuf_size - png_ptr->zstream.avail_out;
|
||||
text = (png_charp)png_malloc(png_ptr, text_size + 1);
|
||||
text = (png_charp)png_malloc_warn(png_ptr, text_size + 1);
|
||||
if (text == NULL)
|
||||
{
|
||||
png_free(png_ptr,chunkdata);
|
||||
png_error(png_ptr,"Not enough memory to decompress chunk.");
|
||||
}
|
||||
png_memcpy(text + prefix_size, png_ptr->zbuf,
|
||||
text_size - prefix_size);
|
||||
png_memcpy(text, chunkdata, prefix_size);
|
||||
@@ -229,8 +239,15 @@ png_decompress_chunk(png_structp png_ptr, int comp_type,
|
||||
png_charp tmp;
|
||||
|
||||
tmp = text;
|
||||
text = (png_charp)png_malloc(png_ptr, (png_uint_32)(text_size +
|
||||
text = (png_charp)png_malloc_warn(png_ptr,
|
||||
(png_uint_32)(text_size +
|
||||
png_ptr->zbuf_size - png_ptr->zstream.avail_out + 1));
|
||||
if (text == NULL)
|
||||
{
|
||||
png_free(png_ptr, tmp);
|
||||
png_free(png_ptr, chunkdata);
|
||||
png_error(png_ptr,"Not enough memory to decompress chunk..");
|
||||
}
|
||||
png_memcpy(text, tmp, text_size);
|
||||
png_free(png_ptr, tmp);
|
||||
png_memcpy(text + text_size, png_ptr->zbuf,
|
||||
@@ -269,7 +286,12 @@ png_decompress_chunk(png_structp png_ptr, int comp_type,
|
||||
text_size=prefix_size;
|
||||
if (text == NULL)
|
||||
{
|
||||
text = (png_charp)png_malloc(png_ptr, text_size+1);
|
||||
text = (png_charp)png_malloc_warn(png_ptr, text_size+1);
|
||||
if (text == NULL)
|
||||
{
|
||||
png_free(png_ptr, chunkdata);
|
||||
png_error(png_ptr,"Not enough memory for text.");
|
||||
}
|
||||
png_memcpy(text, chunkdata, prefix_size);
|
||||
}
|
||||
*(text + text_size) = 0x00;
|
||||
@@ -1193,7 +1215,7 @@ png_handle_sPLT(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
void /* PRIVATE */
|
||||
png_handle_tRNS(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
{
|
||||
png_byte readbuf[PNG_MAX_PALETTE_LENGTH];
|
||||
png_byte readbuf[PNG_MAX_PALETTE_LENGTH];
|
||||
|
||||
png_debug(1, "in png_handle_tRNS\n");
|
||||
|
||||
@@ -1376,7 +1398,7 @@ void /* PRIVATE */
|
||||
png_handle_hIST(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
{
|
||||
int num, i;
|
||||
png_uint_16 readbuf[PNG_MAX_PALETTE_LENGTH];
|
||||
png_uint_16 readbuf[PNG_MAX_PALETTE_LENGTH];
|
||||
|
||||
png_debug(1, "in png_handle_hIST\n");
|
||||
|
||||
@@ -1542,7 +1564,12 @@ png_handle_pCAL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
|
||||
png_debug1(2, "Allocating and reading pCAL chunk data (%lu bytes)\n",
|
||||
length + 1);
|
||||
purpose = (png_charp)png_malloc(png_ptr, length + 1);
|
||||
purpose = (png_charp)png_malloc_warn(png_ptr, length + 1);
|
||||
if (purpose == NULL)
|
||||
{
|
||||
png_warning(png_ptr, "No memory for pCAL purpose.");
|
||||
return;
|
||||
}
|
||||
slength = (png_size_t)length;
|
||||
png_crc_read(png_ptr, (png_bytep)purpose, slength);
|
||||
|
||||
@@ -1597,8 +1624,14 @@ png_handle_pCAL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
/* Empty loop to move past the units string. */ ;
|
||||
|
||||
png_debug(3, "Allocating pCAL parameters array\n");
|
||||
params = (png_charpp)png_malloc(png_ptr, (png_uint_32)(nparams
|
||||
params = (png_charpp)png_malloc_warn(png_ptr, (png_uint_32)(nparams
|
||||
*sizeof(png_charp))) ;
|
||||
if (params == NULL)
|
||||
{
|
||||
png_free(png_ptr, purpose);
|
||||
png_warning(png_ptr, "No memory for pCAL params.");
|
||||
return;
|
||||
}
|
||||
|
||||
/* Get pointers to the start of each parameter string. */
|
||||
for (i = 0; i < (int)nparams; i++)
|
||||
@@ -1662,7 +1695,12 @@ png_handle_sCAL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
|
||||
png_debug1(2, "Allocating and reading sCAL chunk data (%lu bytes)\n",
|
||||
length + 1);
|
||||
buffer = (png_charp)png_malloc(png_ptr, length + 1);
|
||||
buffer = (png_charp)png_malloc_warn(png_ptr, length + 1);
|
||||
if (buffer == NULL)
|
||||
{
|
||||
png_warning(png_ptr, "Out of memory while processing sCAL chunk");
|
||||
return;
|
||||
}
|
||||
slength = (png_size_t)length;
|
||||
png_crc_read(png_ptr, (png_bytep)buffer, slength);
|
||||
|
||||
@@ -1685,7 +1723,12 @@ png_handle_sCAL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
}
|
||||
#else
|
||||
#ifdef PNG_FIXED_POINT_SUPPORTED
|
||||
swidth = (png_charp)png_malloc(png_ptr, png_strlen(ep) + 1);
|
||||
swidth = (png_charp)png_malloc_warn(png_ptr, png_strlen(ep) + 1);
|
||||
if (swidth == NULL)
|
||||
{
|
||||
png_warning(png_ptr, "Out of memory while processing sCAL chunk width");
|
||||
return;
|
||||
}
|
||||
png_memcpy(swidth, ep, (png_size_t)png_strlen(ep));
|
||||
#endif
|
||||
#endif
|
||||
@@ -1703,7 +1746,12 @@ png_handle_sCAL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
}
|
||||
#else
|
||||
#ifdef PNG_FIXED_POINT_SUPPORTED
|
||||
sheight = (png_charp)png_malloc(png_ptr, png_strlen(ep) + 1);
|
||||
sheight = (png_charp)png_malloc_warn(png_ptr, png_strlen(ep) + 1);
|
||||
if (swidth == NULL)
|
||||
{
|
||||
png_warning(png_ptr, "Out of memory while processing sCAL chunk height");
|
||||
return;
|
||||
}
|
||||
png_memcpy(sheight, ep, (png_size_t)png_strlen(ep));
|
||||
#endif
|
||||
#endif
|
||||
@@ -1793,6 +1841,7 @@ png_handle_tEXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
png_charp text;
|
||||
png_uint_32 skip = 0;
|
||||
png_size_t slength;
|
||||
int ret;
|
||||
|
||||
png_debug(1, "in png_handle_tEXt\n");
|
||||
|
||||
@@ -1811,7 +1860,12 @@ png_handle_tEXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
}
|
||||
#endif
|
||||
|
||||
key = (png_charp)png_malloc(png_ptr, length + 1);
|
||||
key = (png_charp)png_malloc_warn(png_ptr, length + 1);
|
||||
if (key == NULL)
|
||||
{
|
||||
png_warning(png_ptr, "No memory to process text chunk.");
|
||||
return;
|
||||
}
|
||||
slength = (png_size_t)length;
|
||||
png_crc_read(png_ptr, (png_bytep)key, slength);
|
||||
|
||||
@@ -1829,7 +1883,13 @@ png_handle_tEXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
if (text != key + slength)
|
||||
text++;
|
||||
|
||||
text_ptr = (png_textp)png_malloc(png_ptr, (png_uint_32)sizeof(png_text));
|
||||
text_ptr = (png_textp)png_malloc_warn(png_ptr, (png_uint_32)sizeof(png_text));
|
||||
if (text_ptr == 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;
|
||||
text_ptr->key = key;
|
||||
#ifdef PNG_iTXt_SUPPORTED
|
||||
@@ -1840,10 +1900,12 @@ png_handle_tEXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
text_ptr->text = text;
|
||||
text_ptr->text_length = png_strlen(text);
|
||||
|
||||
png_set_text(png_ptr, info_ptr, text_ptr, 1);
|
||||
ret=png_set_text_2(png_ptr, info_ptr, text_ptr, 1);
|
||||
|
||||
png_free(png_ptr, key);
|
||||
png_free(png_ptr, text_ptr);
|
||||
if (ret)
|
||||
png_warning(png_ptr, "Insufficient memory to process text chunk.");
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1856,6 +1918,7 @@ png_handle_zTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
png_charp chunkdata;
|
||||
png_charp text;
|
||||
int comp_type;
|
||||
int ret;
|
||||
png_size_t slength, prefix_len, data_len;
|
||||
|
||||
png_debug(1, "in png_handle_zTXt\n");
|
||||
@@ -1876,8 +1939,13 @@ png_handle_zTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
}
|
||||
#endif
|
||||
|
||||
chunkdata = (png_charp)png_malloc(png_ptr, length + 1);
|
||||
slength = (png_size_t)length;
|
||||
chunkdata = (png_charp)png_malloc_warn(png_ptr, length + 1);
|
||||
if (chunkdata == NULL)
|
||||
{
|
||||
png_warning(png_ptr,"Out of memory processing zTXt chunk.");
|
||||
return;
|
||||
}
|
||||
slength = (png_size_t)length;
|
||||
png_crc_read(png_ptr, (png_bytep)chunkdata, slength);
|
||||
if (png_crc_finish(png_ptr, 0))
|
||||
{
|
||||
@@ -1911,7 +1979,13 @@ png_handle_zTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
chunkdata = (png_charp)png_decompress_chunk(png_ptr, comp_type, chunkdata,
|
||||
(png_size_t)length, prefix_len, &data_len);
|
||||
|
||||
text_ptr = (png_textp)png_malloc(png_ptr, (png_uint_32)sizeof(png_text));
|
||||
text_ptr = (png_textp)png_malloc_warn(png_ptr, (png_uint_32)sizeof(png_text));
|
||||
if (text_ptr == NULL)
|
||||
{
|
||||
png_warning(png_ptr,"Not enough memory to process zTXt chunk.");
|
||||
png_free(png_ptr, chunkdata);
|
||||
return;
|
||||
}
|
||||
text_ptr->compression = comp_type;
|
||||
text_ptr->key = chunkdata;
|
||||
#ifdef PNG_iTXt_SUPPORTED
|
||||
@@ -1922,10 +1996,12 @@ png_handle_zTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
text_ptr->text = chunkdata + prefix_len;
|
||||
text_ptr->text_length = data_len;
|
||||
|
||||
png_set_text(png_ptr, info_ptr, text_ptr, 1);
|
||||
ret=png_set_text_2(png_ptr, info_ptr, text_ptr, 1);
|
||||
|
||||
png_free(png_ptr, text_ptr);
|
||||
png_free(png_ptr, chunkdata);
|
||||
if (ret)
|
||||
png_error(png_ptr, "Insufficient memory to store zTXt chunk.");
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1939,6 +2015,7 @@ png_handle_iTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
png_charp key, lang, text, lang_key;
|
||||
int comp_flag;
|
||||
int comp_type = 0;
|
||||
int ret;
|
||||
png_size_t slength, prefix_len, data_len;
|
||||
|
||||
png_debug(1, "in png_handle_iTXt\n");
|
||||
@@ -1960,7 +2037,12 @@ png_handle_iTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
}
|
||||
#endif
|
||||
|
||||
chunkdata = (png_charp)png_malloc(png_ptr, length + 1);
|
||||
chunkdata = (png_charp)png_malloc_warn(png_ptr, length + 1);
|
||||
if (chunkdata == NULL)
|
||||
{
|
||||
png_warning(png_ptr, "No memory to process iTXt chunk.");
|
||||
return;
|
||||
}
|
||||
slength = (png_size_t)length;
|
||||
png_crc_read(png_ptr, (png_bytep)chunkdata, slength);
|
||||
if (png_crc_finish(png_ptr, 0))
|
||||
@@ -2006,7 +2088,13 @@ png_handle_iTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
(size_t)length, prefix_len, &data_len);
|
||||
else
|
||||
data_len=png_strlen(chunkdata + prefix_len);
|
||||
text_ptr = (png_textp)png_malloc(png_ptr, (png_uint_32)sizeof(png_text));
|
||||
text_ptr = (png_textp)png_malloc_warn(png_ptr, (png_uint_32)sizeof(png_text));
|
||||
if (text_ptr == NULL)
|
||||
{
|
||||
png_warning(png_ptr,"Not enough memory to process iTXt chunk.");
|
||||
png_free(png_ptr, chunkdata);
|
||||
return;
|
||||
}
|
||||
text_ptr->compression = (int)comp_flag + 1;
|
||||
text_ptr->lang_key = chunkdata+(lang_key-key);
|
||||
text_ptr->lang = chunkdata+(lang-key);
|
||||
@@ -2015,10 +2103,12 @@ png_handle_iTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
text_ptr->key = chunkdata;
|
||||
text_ptr->text = chunkdata + prefix_len;
|
||||
|
||||
png_set_text(png_ptr, info_ptr, text_ptr, 1);
|
||||
ret=png_set_text_2(png_ptr, info_ptr, text_ptr, 1);
|
||||
|
||||
png_free(png_ptr, text_ptr);
|
||||
png_free(png_ptr, chunkdata);
|
||||
if (ret)
|
||||
png_error(png_ptr, "Insufficient memory to store iTXt chunk.");
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -2084,7 +2174,10 @@ png_handle_unknown(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
if (!(png_ptr->chunk_name[0] & 0x20))
|
||||
if(png_handle_as_unknown(png_ptr, png_ptr->chunk_name) !=
|
||||
HANDLE_CHUNK_ALWAYS)
|
||||
{
|
||||
png_free(png_ptr, chunk.data);
|
||||
png_chunk_error(png_ptr, "unknown critical chunk");
|
||||
}
|
||||
png_set_unknown_chunks(png_ptr, info_ptr, &chunk, 1);
|
||||
}
|
||||
}
|
||||
|
||||
106
pngset.c
106
pngset.c
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngset.c - storage of image information into info struct
|
||||
*
|
||||
* libpng 1.2.3rc5 - May 11, 2002
|
||||
* libpng 1.2.4beta3 - June 28, 2002
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2002 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
@@ -200,7 +200,7 @@ png_set_gAMA_fixed(png_structp png_ptr, png_infop info_ptr, png_fixed_point
|
||||
void PNGAPI
|
||||
png_set_hIST(png_structp png_ptr, png_infop info_ptr, png_uint_16p hist)
|
||||
{
|
||||
int i;
|
||||
int i;
|
||||
|
||||
png_debug1(1, "in %s storage function\n", "hIST");
|
||||
if (png_ptr == NULL || info_ptr == NULL)
|
||||
@@ -216,8 +216,13 @@ png_set_hIST(png_structp png_ptr, png_infop info_ptr, png_uint_16p hist)
|
||||
png_free_data(png_ptr, info_ptr, PNG_FREE_HIST, 0);
|
||||
#endif
|
||||
/* Changed from info->num_palette to 256 in version 1.2.1 */
|
||||
png_ptr->hist = (png_uint_16p)png_malloc(png_ptr,
|
||||
png_ptr->hist = (png_uint_16p)png_malloc_warn(png_ptr,
|
||||
(png_uint_32)(256 * sizeof (png_uint_16)));
|
||||
if (png_ptr->hist == NULL)
|
||||
{
|
||||
png_warning(png_ptr, "Insufficient memory for hIST chunk data.");
|
||||
return;
|
||||
}
|
||||
|
||||
for (i = 0; i < info_ptr->num_palette; i++)
|
||||
png_ptr->hist[i] = hist[i];
|
||||
@@ -358,7 +363,12 @@ png_set_pCAL(png_structp png_ptr, png_infop info_ptr,
|
||||
|
||||
length = png_strlen(purpose) + 1;
|
||||
png_debug1(3, "allocating purpose for info (%lu bytes)\n", length);
|
||||
info_ptr->pcal_purpose = (png_charp)png_malloc(png_ptr, 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.");
|
||||
return;
|
||||
}
|
||||
png_memcpy(info_ptr->pcal_purpose, purpose, (png_size_t)length);
|
||||
|
||||
png_debug(3, "storing X0, X1, type, and nparams in info\n");
|
||||
@@ -369,11 +379,21 @@ png_set_pCAL(png_structp png_ptr, png_infop info_ptr,
|
||||
|
||||
length = png_strlen(units) + 1;
|
||||
png_debug1(3, "allocating units for info (%lu bytes)\n", length);
|
||||
info_ptr->pcal_units = (png_charp)png_malloc(png_ptr, 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.");
|
||||
return;
|
||||
}
|
||||
png_memcpy(info_ptr->pcal_units, units, (png_size_t)length);
|
||||
|
||||
info_ptr->pcal_params = (png_charpp)png_malloc(png_ptr,
|
||||
info_ptr->pcal_params = (png_charpp)png_malloc_warn(png_ptr,
|
||||
(png_uint_32)((nparams + 1) * sizeof(png_charp)));
|
||||
if (info_ptr->pcal_params == NULL)
|
||||
{
|
||||
png_warning(png_ptr, "Insufficient memory for pCAL params.");
|
||||
return;
|
||||
}
|
||||
|
||||
info_ptr->pcal_params[nparams] = NULL;
|
||||
|
||||
@@ -381,7 +401,12 @@ png_set_pCAL(png_structp png_ptr, png_infop info_ptr,
|
||||
{
|
||||
length = png_strlen(params[i]) + 1;
|
||||
png_debug2(3, "allocating parameter %d for info (%lu bytes)\n", i, length);
|
||||
info_ptr->pcal_params[i] = (png_charp)png_malloc(png_ptr, 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.");
|
||||
return;
|
||||
}
|
||||
png_memcpy(info_ptr->pcal_params[i], params[i], (png_size_t)length);
|
||||
}
|
||||
|
||||
@@ -627,6 +652,16 @@ png_set_iCCP(png_structp png_ptr, png_infop info_ptr,
|
||||
void PNGAPI
|
||||
png_set_text(png_structp png_ptr, png_infop info_ptr, png_textp text_ptr,
|
||||
int num_text)
|
||||
{
|
||||
int ret;
|
||||
ret=png_set_text_2(png_ptr, info_ptr, text_ptr, num_text);
|
||||
if (ret)
|
||||
png_error(png_ptr, "Insufficient memory to store text");
|
||||
}
|
||||
|
||||
int /* PRIVATE */
|
||||
png_set_text_2(png_structp png_ptr, png_infop info_ptr, png_textp text_ptr,
|
||||
int num_text)
|
||||
{
|
||||
int i;
|
||||
|
||||
@@ -634,7 +669,7 @@ png_set_text(png_structp png_ptr, png_infop info_ptr, png_textp text_ptr,
|
||||
"text" : (png_const_charp)png_ptr->chunk_name));
|
||||
|
||||
if (png_ptr == NULL || info_ptr == NULL || num_text == 0)
|
||||
return;
|
||||
return(0);
|
||||
|
||||
/* Make sure we have enough space in the "text" array in info_struct
|
||||
* to hold all of the incoming text_ptr objects.
|
||||
@@ -649,8 +684,13 @@ png_set_text(png_structp png_ptr, png_infop info_ptr, png_textp text_ptr,
|
||||
old_max = info_ptr->max_text;
|
||||
info_ptr->max_text = info_ptr->num_text + num_text + 8;
|
||||
old_text = info_ptr->text;
|
||||
info_ptr->text = (png_textp)png_malloc(png_ptr,
|
||||
info_ptr->text = (png_textp)png_malloc_warn(png_ptr,
|
||||
(png_uint_32)(info_ptr->max_text * sizeof (png_text)));
|
||||
if (info_ptr->text == NULL)
|
||||
{
|
||||
png_free(png_ptr, old_text);
|
||||
return(1);
|
||||
}
|
||||
png_memcpy(info_ptr->text, old_text, (png_size_t)(old_max *
|
||||
sizeof(png_text)));
|
||||
png_free(png_ptr, old_text);
|
||||
@@ -659,8 +699,10 @@ png_set_text(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(png_ptr,
|
||||
info_ptr->text = (png_textp)png_malloc_warn(png_ptr,
|
||||
(png_uint_32)(info_ptr->max_text * sizeof (png_text)));
|
||||
if (info_ptr->text == NULL)
|
||||
return(1);
|
||||
#ifdef PNG_FREE_ME_SUPPORTED
|
||||
info_ptr->free_me |= PNG_FREE_TEXT;
|
||||
#endif
|
||||
@@ -720,8 +762,10 @@ png_set_text(png_structp png_ptr, png_infop info_ptr, png_textp text_ptr,
|
||||
textp->compression = text_ptr[i].compression;
|
||||
}
|
||||
|
||||
textp->key = (png_charp)png_malloc(png_ptr,
|
||||
textp->key = (png_charp)png_malloc_warn(png_ptr,
|
||||
(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\n",
|
||||
(png_uint_32)(key_len + lang_len + lang_key_len + text_length + 4),
|
||||
(int)textp->key);
|
||||
@@ -772,6 +816,7 @@ png_set_text(png_structp png_ptr, png_infop info_ptr, png_textp text_ptr,
|
||||
info_ptr->num_text++;
|
||||
png_debug1(3, "transferred text chunk %d\n", info_ptr->num_text);
|
||||
}
|
||||
return(0);
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -801,10 +846,10 @@ png_set_tRNS(png_structp png_ptr, png_infop info_ptr,
|
||||
if (trans != NULL)
|
||||
{
|
||||
/*
|
||||
* It may not actually be necessary to set png_ptr->trans here;
|
||||
* we do it for backward compatibility with the way the png_handle_tRNS
|
||||
* function used to do the allocation.
|
||||
*/
|
||||
* It may not actually be necessary to set png_ptr->trans here;
|
||||
* we do it for backward compatibility with the way the png_handle_tRNS
|
||||
* function used to do the allocation.
|
||||
*/
|
||||
#ifdef PNG_FREE_ME_SUPPORTED
|
||||
png_free_data(png_ptr, info_ptr, PNG_FREE_TRNS, 0);
|
||||
#endif
|
||||
@@ -839,8 +884,13 @@ png_set_sPLT(png_structp png_ptr,
|
||||
png_sPLT_tp np;
|
||||
int i;
|
||||
|
||||
np = (png_sPLT_tp)png_malloc(png_ptr,
|
||||
np = (png_sPLT_tp)png_malloc_warn(png_ptr,
|
||||
(info_ptr->splt_palettes_num + nentries) * sizeof(png_sPLT_t));
|
||||
if (np == NULL)
|
||||
{
|
||||
png_warning(png_ptr, "No memory for splt palettes.");
|
||||
return;
|
||||
}
|
||||
|
||||
png_memcpy(np, info_ptr->splt_palettes,
|
||||
info_ptr->splt_palettes_num * sizeof(png_sPLT_t));
|
||||
@@ -883,9 +933,14 @@ png_set_unknown_chunks(png_structp png_ptr,
|
||||
if (png_ptr == NULL || info_ptr == NULL || num_unknowns == 0)
|
||||
return;
|
||||
|
||||
np = (png_unknown_chunkp)png_malloc(png_ptr,
|
||||
np = (png_unknown_chunkp)png_malloc_warn(png_ptr,
|
||||
(info_ptr->unknown_chunks_num + num_unknowns) *
|
||||
sizeof(png_unknown_chunk));
|
||||
if (np == NULL)
|
||||
{
|
||||
png_warning(png_ptr, "Out of memory while processing unknown chunk.");
|
||||
return;
|
||||
}
|
||||
|
||||
png_memcpy(np, info_ptr->unknown_chunks,
|
||||
info_ptr->unknown_chunks_num * sizeof(png_unknown_chunk));
|
||||
@@ -899,11 +954,16 @@ png_set_unknown_chunks(png_structp png_ptr,
|
||||
|
||||
png_strcpy((png_charp)to->name, (png_charp)from->name);
|
||||
to->data = (png_bytep)png_malloc(png_ptr, from->size);
|
||||
png_memcpy(to->data, from->data, from->size);
|
||||
to->size = from->size;
|
||||
if (to->data == NULL)
|
||||
png_warning(png_ptr, "Out of memory while processing unknown chunk.");
|
||||
else
|
||||
{
|
||||
png_memcpy(to->data, from->data, from->size);
|
||||
to->size = from->size;
|
||||
|
||||
/* note our location in the read or write sequence */
|
||||
to->location = (png_byte)(png_ptr->mode & 0xff);
|
||||
/* note our location in the read or write sequence */
|
||||
to->location = (png_byte)(png_ptr->mode & 0xff);
|
||||
}
|
||||
}
|
||||
|
||||
info_ptr->unknown_chunks = np;
|
||||
@@ -1081,8 +1141,8 @@ png_set_asm_flags (png_structp png_ptr, png_uint_32 asm_flags)
|
||||
* so first zero them out of the master copy, then logical-OR in the
|
||||
* allowed subset that was requested */
|
||||
|
||||
png_ptr->asm_flags &= ~settable_asm_flags; /* zero them */
|
||||
png_ptr->asm_flags |= (asm_flags & settable_asm_flags); /* set them */
|
||||
png_ptr->asm_flags &= ~settable_asm_flags; /* zero them */
|
||||
png_ptr->asm_flags |= (asm_flags & settable_asm_flags); /* set them */
|
||||
}
|
||||
#endif /* ?PNG_ASSEMBLER_CODE_SUPPORTED */
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngtest.c - a simple test program to test libpng
|
||||
*
|
||||
* libpng 1.2.3rc5 - May 11, 2002
|
||||
* libpng 1.2.4beta3 - June 28, 2002
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2002 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
@@ -64,7 +64,7 @@
|
||||
#endif
|
||||
|
||||
#if !PNG_DEBUG
|
||||
# define SINGLE_ROWBUF_ALLOC /* makes buffer overruns easier to nail */
|
||||
# define SINGLE_ROWBUF_ALLOC /* makes buffer overruns easier to nail */
|
||||
#endif
|
||||
|
||||
/* Turn on CPU timing
|
||||
@@ -663,6 +663,8 @@ test_one_file(PNG_CONST char *inname, PNG_CONST char *outname)
|
||||
#endif
|
||||
{
|
||||
fprintf(STDERR, "%s -> %s: libpng read error\n", inname, outname);
|
||||
if (row_buf)
|
||||
png_free(read_ptr, row_buf);
|
||||
png_destroy_read_struct(&read_ptr, &read_info_ptr, &end_info_ptr);
|
||||
#ifdef PNG_WRITE_SUPPORTED
|
||||
png_destroy_info_struct(write_ptr, &write_end_info_ptr);
|
||||
@@ -1512,4 +1514,4 @@ main(int argc, char *argv[])
|
||||
}
|
||||
|
||||
/* Generate a compiler error if there is an old png.h in the search path. */
|
||||
typedef version_1_2_3rc5 your_png_h_is_not_version_1_2_3rc5;
|
||||
typedef version_1_2_4beta3 your_png_h_is_not_version_1_2_4beta3;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngtrans.c - transforms the data in a row (used by both readers and writers)
|
||||
*
|
||||
* libpng 1.2.3rc5 - May 11, 2002
|
||||
* libpng 1.2.4beta3 - June 28, 2002
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2002 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
*
|
||||
* For Intel x86 CPU and Microsoft Visual C++ compiler
|
||||
*
|
||||
* libpng version 1.2.3rc5 - May 11, 2002
|
||||
* libpng version 1.2.4beta3 - June 28, 2002
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2002 Glenn Randers-Pehrson
|
||||
* Copyright (c) 1998, Intel Corporation
|
||||
|
||||
2
pngwio.c
2
pngwio.c
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngwio.c - functions for data output
|
||||
*
|
||||
* libpng 1.2.3rc5 - May 11, 2002
|
||||
* libpng 1.2.4beta3 - June 28, 2002
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2002 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngwrite.c - general routines to write a PNG file
|
||||
*
|
||||
* libpng 1.2.3rc5 - May 11, 2002
|
||||
* libpng 1.2.4beta3 - June 28, 2002
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2002 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
@@ -555,7 +555,6 @@ png_write_init(png_structp png_ptr)
|
||||
png_write_init_2(png_ptr, "1.0.6 or earlier", 0, 0);
|
||||
}
|
||||
|
||||
#undef png_write_init_2
|
||||
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)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngwtran.c - transforms the data in a row for PNG writers
|
||||
*
|
||||
* libpng 1.2.3rc5 - May 11, 2002
|
||||
* libpng 1.2.4beta3 - June 28, 2002
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2002 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngwutil.c - utilities to write a PNG file
|
||||
*
|
||||
* libpng 1.2.3rc5 - May 11, 2002
|
||||
* libpng 1.2.4beta3 - June 28, 2002
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2002 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Microsoft Developer Studio Build File, Format Version 6.00 for
|
||||
libpng 1.2.3rc5 (May 11, 2002) and zlib
|
||||
libpng 1.2.4beta3 (June 28, 2002) and zlib
|
||||
|
||||
Copyright (C) 2000 Simon-Pierre Cadieux
|
||||
For conditions of distribution and use, see copyright notice in png.h
|
||||
@@ -9,14 +9,19 @@ Assumes that zlib sources have been copied to ..\..\..\zlib
|
||||
|
||||
To build:
|
||||
|
||||
1) On the main menu Select "Build|Set Active configuration".
|
||||
0) On the main menu, select "File | Open Workspace" and then
|
||||
select "libpng.dsw".
|
||||
|
||||
1) On the main menu Select "Build | Set Active configuration".
|
||||
Among the configurations beginning with "libpng" select the
|
||||
one you wish to build (the corresponding "zlib" configuration
|
||||
will be built automatically).
|
||||
|
||||
2) Select "Build|Clean"
|
||||
2) Select "Build | Clean"
|
||||
|
||||
3) Select "Build|Rebuild All"
|
||||
3) Select "Build | Rebuild All". Ignore warning messages about
|
||||
not being able to find certain include files (e.g., m68881.h,
|
||||
alloc.h).
|
||||
|
||||
4) Look in the appropriate "win32" subdirectories for both "zlib"
|
||||
and "libpng" binaries.
|
||||
@@ -24,14 +29,16 @@ To build:
|
||||
This project will build the PNG Development Group's "official" versions of
|
||||
libpng and zlib libraries:
|
||||
|
||||
libpng12.dll (default version, currently C code only)
|
||||
libpng12.dll (C + Assembler version)
|
||||
libpng12.dll (C + Assembler debug version)
|
||||
libpng12.dll (C code debug version)
|
||||
libpng12[c,e-m].dll (reserved for official versions)
|
||||
libpng12[n-z].dll (available for private versions)
|
||||
libpng13.dll (default version, currently C code only)
|
||||
libpng13a.dll (C + Assembler version)
|
||||
libpng13b.dll (C + Assembler debug version)
|
||||
libpng13d.dll (C code debug version)
|
||||
libpng13vb.dll (version for VB, uses "stdcall" protocol)
|
||||
libpng13[c,e-m].dll (reserved for official versions)
|
||||
libpng13[n-z].dll (available for private versions)
|
||||
zlib.dll (default version, currently C code only)
|
||||
zlibd.dll (debug version)
|
||||
zlibvb.dll (version for Visual Basic, uses "stdcall" protocol)
|
||||
|
||||
If you change anything in libpng, or select different compiler settings,
|
||||
please change the library name to an unreserved name, and define
|
||||
@@ -45,3 +52,6 @@ above mentioned libraries you should also include this DLL in your package.
|
||||
For a list of files that are redistributable in Visual C++ 6.0, see
|
||||
Common\Redist\Redist.txt on Disc 1 of the Visual C++ 6.0 product CDs.
|
||||
|
||||
5) For an example workspace that builds an application using the resulting
|
||||
DLLs, go to Libpng's contrib\msvctest directory and use it to build
|
||||
and run "pngtest".
|
||||
|
||||
@@ -57,7 +57,7 @@ BSC32=bscmake.exe
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 /nologo /dll /machine:I386
|
||||
# ADD LINK32 /nologo /dll /machine:I386 /out:".\win32\libpng\dll\libpng12.dll"
|
||||
# ADD LINK32 /nologo /dll /machine:I386 /out:".\win32\libpng\dll\libpng13.dll"
|
||||
# SUBTRACT LINK32 /pdb:none
|
||||
|
||||
!ELSEIF "$(CFG)" == "libpng - Win32 DLL Debug"
|
||||
@@ -85,7 +85,7 @@ BSC32=bscmake.exe
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 /nologo /dll /debug /machine:I386 /out:".\win32\libpng\dll_dbg\libpng12d.dll"
|
||||
# ADD LINK32 /nologo /dll /debug /machine:I386 /out:".\win32\libpng\dll_dbg\libpng13d.dll"
|
||||
|
||||
!ELSEIF "$(CFG)" == "libpng - Win32 DLL ASM"
|
||||
|
||||
@@ -112,7 +112,7 @@ BSC32=bscmake.exe
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 /nologo /dll /machine:I386
|
||||
# ADD LINK32 /nologo /dll /machine:I386 /out:".\win32\libpng\dll_asm\libpng12a.dll"
|
||||
# ADD LINK32 /nologo /dll /machine:I386 /out:".\win32\libpng\dll_asm\libpng13a.dll"
|
||||
# SUBTRACT LINK32 /pdb:none
|
||||
|
||||
!ELSEIF "$(CFG)" == "libpng - Win32 DLL Debug ASM"
|
||||
@@ -140,7 +140,7 @@ BSC32=bscmake.exe
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 /nologo /dll /debug /machine:I386 /out:".\win32\libpng\dll_dbga\libpng12b.dll"
|
||||
# ADD LINK32 /nologo /dll /debug /machine:I386 /out:".\win32\libpng\dll_dbga\libpng13b.dll"
|
||||
|
||||
!ELSEIF "$(CFG)" == "libpng - Win32 LIB"
|
||||
|
||||
@@ -210,7 +210,7 @@ LIB32=link.exe -lib
|
||||
# PROP Target_Dir ""
|
||||
CPP=cl.exe
|
||||
# ADD BASE CPP /nologo /MD /W3 /O1 /I "..\.." /I "..\..\..\zlib" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "PNG_BUILD_DLL" /D "ZLIB_DLL" /Yu"png.h" /FD /c
|
||||
# ADD CPP /nologo /Gz /MD /W3 /O1 /I "..\.." /I "..\..\..\zlib" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "PNG_BUILD_DLL" /D "ZLIB_DLL" /D PNGAPI=__stdcall /Yu"png.h" /FD /c
|
||||
# ADD CPP /nologo /Gd /MD /W3 /O1 /I "..\.." /I "..\..\..\zlib" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "PNG_BUILD_DLL" /D "ZLIB_DLL" /D PNGAPI=__stdcall /Yu"png.h" /FD /c
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
# ADD BASE RSC /l 0x409 /i "..\.." /d "NDEBUG"
|
||||
@@ -219,9 +219,9 @@ BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 /nologo /dll /machine:I386 /out:".\win32\libpng\dll\libpng12.dll"
|
||||
# ADD BASE LINK32 /nologo /dll /machine:I386 /out:".\win32\libpng\dll\libpng13.dll"
|
||||
# SUBTRACT BASE LINK32 /pdb:none
|
||||
# ADD LINK32 /nologo /dll /machine:I386 /out:".\win32\libpng\dll_vb\libpngvb12.dll"
|
||||
# ADD LINK32 /nologo /dll /machine:I386 /out:".\win32\libpng\dll_vb\libpngvb13.dll"
|
||||
# SUBTRACT LINK32 /pdb:none
|
||||
|
||||
!ENDIF
|
||||
|
||||
@@ -6,7 +6,7 @@ LIBRARY
|
||||
DESCRIPTION "PNG image compression library for Windows"
|
||||
|
||||
EXPORTS
|
||||
;Version 1.2.3rc5
|
||||
;Version 1.2.4beta3
|
||||
png_build_grayscale_palette @1
|
||||
png_check_sig @2
|
||||
png_chunk_error @3
|
||||
@@ -216,3 +216,5 @@ EXPORTS
|
||||
; 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
|
||||
|
||||
@@ -210,7 +210,7 @@ LIB32=link.exe -lib
|
||||
# PROP Target_Dir ""
|
||||
CPP=cl.exe
|
||||
# ADD BASE CPP /nologo /MD /W3 /O1 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "ZLIB_DLL" /FD /c
|
||||
# ADD CPP /nologo /Gz /MD /W3 /O1 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "ZLIB_DLL" /FD /c
|
||||
# ADD CPP /nologo /Gd /MD /W3 /O1 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "ZLIB_DLL" /FD /c
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
A set of project files is available for Netware. Get
|
||||
libpng-1.2.3rc5-project-netware.zip from a libpng distribution
|
||||
libpng-1.2.4beta3-project-netware.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.3rc5-project-netware.zip"
|
||||
"unzip -a libpng-1.2.4beta3-project-netware.zip"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
A set of project files is available for WinCE. Get
|
||||
libpng-1.2.3rc5-project-wince.zip from a libpng distribution
|
||||
libpng-1.2.4beta3-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.3rc5-project-wince.zip"
|
||||
"unzip -a libpng-1.2.4beta3-project-wince.zip"
|
||||
|
||||
0
scripts/libpng-config-body.in
Normal file → Executable file
0
scripts/libpng-config-body.in
Normal file → Executable file
2
scripts/libpng-config-head.in
Normal file → Executable file
2
scripts/libpng-config-head.in
Normal file → Executable file
@@ -8,7 +8,7 @@
|
||||
|
||||
# Modeled after libxml-config.
|
||||
|
||||
version=1.2.3rc5
|
||||
version=1.2.4beta3
|
||||
prefix=""
|
||||
cppflags=""
|
||||
cflags=""
|
||||
|
||||
@@ -1,88 +0,0 @@
|
||||
#! /bin/sh
|
||||
|
||||
# libpng-config
|
||||
# provides configuration info for libpng.
|
||||
|
||||
# Copyright (C) 2002 Glenn Randers-Pehrson
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
|
||||
# Modeled after libxml-config, fixed to handle --prefix properly.
|
||||
|
||||
prefix=@PREFIX@
|
||||
exec_prefix=${prefix}
|
||||
includedir=${prefix}/include
|
||||
|
||||
usage()
|
||||
{
|
||||
cat <<EOF
|
||||
Usage: libpng-config [OPTION] ...
|
||||
|
||||
Known values for OPTION are:
|
||||
|
||||
--prefix=DIR change libpng prefix [default $prefix]
|
||||
--libs print library linking information
|
||||
--cflags print compiler flags
|
||||
--cppflags print pre-processor flags
|
||||
--ldflags print loader flags
|
||||
--help display this help and exit
|
||||
--version output version information
|
||||
EOF
|
||||
|
||||
exit $1
|
||||
}
|
||||
|
||||
if test $# -eq 0; then
|
||||
usage 1
|
||||
fi
|
||||
|
||||
while test $# -gt 0; do
|
||||
case "$1" in
|
||||
-*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
|
||||
*) optarg= ;;
|
||||
esac
|
||||
|
||||
case "$1" in
|
||||
--prefix=*)
|
||||
prefix=$optarg
|
||||
exec_prefix=${prefix}
|
||||
includedir=${prefix}/include
|
||||
;;
|
||||
|
||||
--prefix)
|
||||
echo $prefix
|
||||
;;
|
||||
|
||||
--version)
|
||||
echo 1.2.3rc5
|
||||
exit 0
|
||||
;;
|
||||
|
||||
--help)
|
||||
usage 0
|
||||
;;
|
||||
|
||||
--cflags)
|
||||
echo #CFLAGS
|
||||
;;
|
||||
|
||||
--cppflags)
|
||||
echo -I${includedir}/libpng12 #CPPFLAGS
|
||||
;;
|
||||
|
||||
--libs)
|
||||
echo -lpng12 -lz #LIBS
|
||||
;;
|
||||
|
||||
--ldflags)
|
||||
echo -L${exec_prefix}/lib #LDFLAGS
|
||||
;;
|
||||
|
||||
*)
|
||||
usage
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
exit 0
|
||||
@@ -6,6 +6,6 @@ includedir=${exec_prefix}/include
|
||||
|
||||
Name: libpng12
|
||||
Description: Loads and saves PNG files
|
||||
Version: 1.2.3rc5
|
||||
Version: 1.2.4beta3
|
||||
Libs: -L${libdir} -lpng12 -lz -lm
|
||||
Cflags: -I${includedir}/libpng12
|
||||
|
||||
@@ -33,7 +33,7 @@ RANLIB=echo
|
||||
|
||||
LIBNAME=libpng12
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.3rc5
|
||||
PNGMIN = 1.2.4beta3
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
INCPATH=$(prefix)/include
|
||||
@@ -47,10 +47,15 @@ BINPATH=$(prefix)/bin
|
||||
# make install DESTDIR=/tmp/build/libpng
|
||||
#
|
||||
# If you're going to install into a temporary location
|
||||
# via DESTDIR, that location must already exist before
|
||||
# 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
|
||||
@@ -62,7 +67,7 @@ OBJSDLL = $(OBJS:.o=.pic.o)
|
||||
.c.pic.o:
|
||||
$(CC) -c $(CFLAGS) -KPIC -o $@ $*.c
|
||||
|
||||
all: libpng.a $(LIBNAME).so pngtest
|
||||
all: libpng.a $(LIBNAME).so pngtest libpng.pc libpng-config
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
ar rc $@ $(OBJS)
|
||||
@@ -74,7 +79,7 @@ libpng.pc:
|
||||
libpng-config:
|
||||
( cat scripts/libpng-config-head.in; \
|
||||
echo prefix=\"$(prefix)\"; \
|
||||
echo cppflags=\"-I$(INCPATH)/libpng12"; \
|
||||
echo cppflags=\"-I$(INCPATH)/$(LIBNAME)\"; \
|
||||
echo cflags=\"-xtarget=ultra\"; \
|
||||
echo ldflags=\"-xtarget=ultra -L$(LIBPATH) -R$(LIBPATH)\"; \
|
||||
echo libs=\"-lpng12 -lz -lm\"; \
|
||||
@@ -110,74 +115,78 @@ test: pngtest
|
||||
./pngtest
|
||||
|
||||
install-headers: png.h pngconf.h
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH) ]; then mkdir $(DESTDIR)$(INCPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH)/$(LIBNAME) ]; then \
|
||||
mkdir $(DESTDIR)$(INCPATH)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h $(DESTDIR)$(INCPATH)/$(LIBNAME)
|
||||
chmod 644 $(DESTDIR)$(INCPATH)/$(LIBNAME)/png.h \
|
||||
$(DESTDIR)$(INCPATH)/$(LIBNAME)/pngconf.h
|
||||
-@/bin/rm -f $(DESTDIR)$(INCPATH)/png.h $(DESTDIR)$(INCPATH)/pngconf.h
|
||||
-@/bin/rm $(DESTDIR)$(INCPATH)/libpng
|
||||
(cd $(DESTDIR)$(INCPATH); ln -f -s $(LIBNAME) libpng; \
|
||||
ln -f -s $(LIBNAME)/* .)
|
||||
-@if [ ! -d $(DI) ]; then mkdir $(DI); fi
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then mkdir $(DI)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
|
||||
-@/bin/rm -f $(DI)/png.h $(DI)/pngconf.h
|
||||
-@/bin/rm $(DI)/libpng
|
||||
(cd $(DI); ln -f -s $(LIBNAME) libpng; ln -f -s $(LIBNAME)/* .)
|
||||
|
||||
install-static: install-headers libpng.a
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then mkdir $(DESTDIR)$(LIBPATH); fi
|
||||
cp libpng.a $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.a
|
||||
(cd $(DESTDIR)$(LIBPATH); ln -f -s $(LIBNAME).a libpng.a)
|
||||
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
|
||||
cp libpng.a $(DL)/$(LIBNAME).a
|
||||
chmod 644 $(DL)/$(LIBNAME).a
|
||||
-@/bin/rm -f $(DL)/libpng.a
|
||||
(cd $(DL); ln -f -s $(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then mkdir $(DESTDIR)$(LIBPATH); fi
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/$(LIBNAME).so.$(PNGMAJ)* \
|
||||
$(DESTDIR)$(LIBPATH)/$(LIBNAME).so
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so.3
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so.3.*
|
||||
cp $(LIBNAME).so.$(PNGVER) $(DESTDIR)$(LIBPATH)
|
||||
chmod 755 $(DESTDIR)$(LIBPATH)/$(LIBNAME).so.$(PNGVER)
|
||||
(cd $(DESTDIR)$(LIBPATH); \
|
||||
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
|
||||
-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)* $(DL)/$(LIBNAME).so
|
||||
-@/bin/rm -f $(DL)/libpng.so
|
||||
-@/bin/rm -f $(DL)/libpng.so.3
|
||||
-@/bin/rm -f $(DL)/libpng.so.3.*
|
||||
cp $(LIBNAME).so.$(PNGVER) $(DL)
|
||||
chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
|
||||
(cd $(DL); \
|
||||
ln -f -s $(LIBNAME).so.$(PNGVER) libpng.so; \
|
||||
ln -f -s $(LIBNAME).so.$(PNGVER) libpng.so.3; \
|
||||
ln -f -s $(LIBNAME).so.$(PNGVER) libpng.so.3.$(PNGMIN); \
|
||||
ln -f -s $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
|
||||
ln -f -s $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then \
|
||||
mkdir $(DESTDIR)$(LIBPATH)/pkgconfig
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
|
||||
cp libpng.pc $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
|
||||
(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -f -s libpng12.pc libpng.pc)
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then mkdir $(DL)/pkgconfig
|
||||
-@/bin/rm -f $(DL)/pkgconfig/libpng12.pc
|
||||
-@/bin/rm -f $(DL)/pkgconfig/libpng.pc
|
||||
cp libpng.pc $(DL)/pkgconfig/libpng12.pc
|
||||
chmod 644 $(DL)/pkgconfig/libpng12.pc
|
||||
(cd $(DL)/pkgconfig; ln -f -s libpng12.pc libpng.pc)
|
||||
|
||||
install-man: libpng.3 libpngpf.3 png.5
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH) ]; then mkdir $(DESTDIR)$(MANPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH)/man3 ]; then \
|
||||
mkdir $(DESTDIR)$(MANPATH)/man3; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpng.3
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpngpf.3
|
||||
cp libpng.3 $(DESTDIR)$(MANPATH)/man3
|
||||
cp libpngpf.3 $(DESTDIR)$(MANPATH)/man3
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH)/man5 ]; then \
|
||||
mkdir $(DESTDIR)$(MANPATH)/man5; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man5/png.5
|
||||
cp png.5 $(DESTDIR)$(MANPATH)/man5
|
||||
-@if [ ! -d $(DM) ]; then mkdir $(DM); fi
|
||||
-@if [ ! -d $(DM)/man3 ]; then mkdir $(DM)/man3; fi
|
||||
-@/bin/rm -f $(DM)/man3/libpng.3
|
||||
-@/bin/rm -f $(DM)/man3/libpngpf.3
|
||||
cp libpng.3 $(DM)/man3
|
||||
cp libpngpf.3 $(DM)/man3
|
||||
-@if [ ! -d $(DM)/man5 ]; then mkdir $(DM)/man5; fi
|
||||
-@/bin/rm -f $(DM)/man5/png.5
|
||||
cp png.5 $(DM)/man5
|
||||
|
||||
install-config: libpng-config
|
||||
-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
|
||||
mkdir $(DESTDIR)$(BINPATH); fi
|
||||
-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
|
||||
-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng12-config
|
||||
cp libpng-config $(DESTDIR)$(BINPATH)/libpng12-config
|
||||
chmod 755 $(DESTDIR)$(BINPATH)/libpng12-config
|
||||
(cd $(DESTDIR)$(BINPATH); ln -sf libpng12-config libpng-config)
|
||||
-@if [ ! -d $(DB) ]; then mkdir $(DB); fi
|
||||
-@/bin/rm -f $(DB)/libpng-config
|
||||
-@/bin/rm -f $(DB)/libpng12-config
|
||||
cp libpng-config $(DB)/libpng12-config
|
||||
chmod 755 $(DB)/libpng12-config
|
||||
(cd $(DB); ln -sf libpng12-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.
|
||||
|
||||
test-installed:
|
||||
echo
|
||||
echo Testing installed dynamic shared library.
|
||||
$(CC) $(SUN_CC_FLAGS) -I$(ZLIBINC) \
|
||||
`$(BINPATH)/libpng12-config --cppflags --cflags` pngtest.c \
|
||||
-o pngtesti `$(BINPATH)/libpng12-config --ldflags --libs` \
|
||||
$(SUN_LD_FLAGS) -L$(ZLIBLIB) -R$(ZLIBLIB)
|
||||
pngtesti pngtest.png
|
||||
|
||||
clean:
|
||||
/bin/rm -f *.o libpng.a $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* \
|
||||
pngtest pngout.png
|
||||
/bin/rm -f *.o libpng.a pngtest pngtesti pngout.png libpng.pc \
|
||||
libpng-config $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)*
|
||||
|
||||
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
|
||||
writelock:
|
||||
|
||||
@@ -33,7 +33,7 @@ RANLIB=echo
|
||||
|
||||
LIBNAME=libpng12
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.3rc5
|
||||
PNGMIN = 1.2.4beta3
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
INCPATH=$(prefix)/include
|
||||
@@ -47,10 +47,15 @@ BINPATH=$(prefix)/bin
|
||||
# make install DESTDIR=/tmp/build/libpng
|
||||
#
|
||||
# If you're going to install into a temporary location
|
||||
# via DESTDIR, that location must already exist before
|
||||
# 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
|
||||
@@ -62,7 +67,7 @@ OBJSDLL = $(OBJS:.o=.pic.o)
|
||||
.c.pic.o:
|
||||
$(CC) -c $(CFLAGS) -KPIC -o $@ $*.c
|
||||
|
||||
all: libpng.a $(LIBNAME).so pngtest
|
||||
all: libpng.a $(LIBNAME).so pngtest libpng.pc libpng-config
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
ar rc $@ $(OBJS)
|
||||
@@ -74,7 +79,7 @@ libpng.pc:
|
||||
libpng-config:
|
||||
( cat scripts/libpng-config-head.in; \
|
||||
echo prefix=\"$(prefix)\"; \
|
||||
echo cppflags=\"-I$(INCPATH)/libpng12"; \
|
||||
echo cppflags=\"-I$(INCPATH)/$(LIBNAME)\"; \
|
||||
echo cflags=\"-xtarget=ultra -xarch=v9\"; \
|
||||
echo ldflags=\"-xtarget=ultra -xarch=v9 -L$(LIBPATH) -R$(LIBPATH)\"; \
|
||||
echo libs=\"-lpng12 -lz -lm\"; \
|
||||
@@ -110,74 +115,78 @@ test: pngtest
|
||||
./pngtest
|
||||
|
||||
install-headers: png.h pngconf.h
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH) ]; then mkdir $(DESTDIR)$(INCPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH)/$(LIBNAME) ]; then \
|
||||
mkdir $(DESTDIR)$(INCPATH)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h $(DESTDIR)$(INCPATH)/$(LIBNAME)
|
||||
chmod 644 $(DESTDIR)$(INCPATH)/$(LIBNAME)/png.h \
|
||||
$(DESTDIR)$(INCPATH)/$(LIBNAME)/pngconf.h
|
||||
-@/bin/rm -f $(DESTDIR)$(INCPATH)/png.h $(DESTDIR)$(INCPATH)/pngconf.h
|
||||
-@/bin/rm $(DESTDIR)$(INCPATH)/libpng
|
||||
(cd $(DESTDIR)$(INCPATH); ln -f -s $(LIBNAME) libpng; \
|
||||
ln -f -s $(LIBNAME)/* .)
|
||||
-@if [ ! -d $(DI) ]; then mkdir $(DI); fi
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then mkdir $(DI)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
|
||||
-@/bin/rm -f $(DI)/png.h $(DI)/pngconf.h
|
||||
-@/bin/rm $(DI)/libpng
|
||||
(cd $(DI); ln -f -s $(LIBNAME) libpng; ln -f -s $(LIBNAME)/* .)
|
||||
|
||||
install-static: install-headers libpng.a
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then mkdir $(DESTDIR)$(LIBPATH); fi
|
||||
cp libpng.a $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.a
|
||||
(cd $(DESTDIR)$(LIBPATH); ln -f -s $(LIBNAME).a libpng.a)
|
||||
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
|
||||
cp libpng.a $(DL)/$(LIBNAME).a
|
||||
chmod 644 $(DL)/$(LIBNAME).a
|
||||
-@/bin/rm -f $(DL)/libpng.a
|
||||
(cd $(DL); ln -f -s $(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then mkdir $(DESTDIR)$(LIBPATH); fi
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/$(LIBNAME).so.$(PNGMAJ)* \
|
||||
$(DESTDIR)$(LIBPATH)/$(LIBNAME).so
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so.3
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so.3.*
|
||||
cp $(LIBNAME).so.$(PNGVER) $(DESTDIR)$(LIBPATH)
|
||||
chmod 755 $(DESTDIR)$(LIBPATH)/$(LIBNAME).so.$(PNGVER)
|
||||
(cd $(DESTDIR)$(LIBPATH); \
|
||||
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
|
||||
-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)* $(DL)/$(LIBNAME).so
|
||||
-@/bin/rm -f $(DL)/libpng.so
|
||||
-@/bin/rm -f $(DL)/libpng.so.3
|
||||
-@/bin/rm -f $(DL)/libpng.so.3.*
|
||||
cp $(LIBNAME).so.$(PNGVER) $(DL)
|
||||
chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
|
||||
(cd $(DL); \
|
||||
ln -f -s $(LIBNAME).so.$(PNGVER) libpng.so; \
|
||||
ln -f -s $(LIBNAME).so.$(PNGVER) libpng.so.3; \
|
||||
ln -f -s $(LIBNAME).so.$(PNGVER) libpng.so.3.$(PNGMIN); \
|
||||
ln -f -s $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
|
||||
ln -f -s $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then \
|
||||
mkdir $(DESTDIR)$(LIBPATH)/pkgconfig; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
|
||||
cp libpng.pc $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -f -s $(LIBNAME).pc libpng.pc)
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then mkdir $(DL)/pkgconfig; fi
|
||||
-@/bin/rm -f $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@/bin/rm -f $(DL)/pkgconfig/libpng.pc
|
||||
cp libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
chmod 644 $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
(cd $(DL)/pkgconfig; ln -f -s $(LIBNAME).pc libpng.pc)
|
||||
|
||||
install-man: libpng.3 libpngpf.3 png.5
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH) ]; then mkdir $(DESTDIR)$(MANPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH)/man3 ]; then \
|
||||
mkdir $(DESTDIR)$(MANPATH)/man3; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpng.3
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpngpf.3
|
||||
cp libpng.3 $(DESTDIR)$(MANPATH)/man3
|
||||
cp libpngpf.3 $(DESTDIR)$(MANPATH)/man3
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH)/man5 ]; then \
|
||||
mkdir $(DESTDIR)$(MANPATH)/man5; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man5/png.5
|
||||
cp png.5 $(DESTDIR)$(MANPATH)/man5
|
||||
-@if [ ! -d $(DM) ]; then mkdir $(DM); fi
|
||||
-@if [ ! -d $(DM)/man3 ]; then mkdir $(DM)/man3; fi
|
||||
-@/bin/rm -f $(DM)/man3/libpng.3
|
||||
-@/bin/rm -f $(DM)/man3/libpngpf.3
|
||||
cp libpng.3 $(DM)/man3
|
||||
cp libpngpf.3 $(DM)/man3
|
||||
-@if [ ! -d $(DM)/man5 ]; then mkdir $(DM)/man5; fi
|
||||
-@/bin/rm -f $(DM)/man5/png.5
|
||||
cp png.5 $(DM)/man5
|
||||
|
||||
install-config: libpng-config
|
||||
-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
|
||||
mkdir $(DESTDIR)$(BINPATH); fi
|
||||
-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
|
||||
-@/bin/rm -f $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
cp libpng-config $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
chmod 755 $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
(cd $(DESTDIR)$(BINPATH); ln -sf $(LIBNAME)-config libpng-config)
|
||||
-@if [ ! -d $(DB) ]; then mkdir $(DB); fi
|
||||
-@/bin/rm -f $(DB)/libpng-config
|
||||
-@/bin/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.
|
||||
|
||||
test-installed:
|
||||
echo
|
||||
echo Testing installed dynamic shared library.
|
||||
$(CC) $(SUN_CC_FLAGS) -I$(ZLIBINC) \
|
||||
`$(BINPATH)/libpng12-config --cppflags --cflags` pngtest.c \
|
||||
-o pngtesti `$(BINPATH)/libpng12-config --ldflags --libs` \
|
||||
$(SUN_LD_FLAGS) -L$(ZLIBLIB) -R$(ZLIBLIB)
|
||||
pngtesti pngtest.png
|
||||
|
||||
clean:
|
||||
/bin/rm -f *.o libpng.a $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* \
|
||||
pngtest pngout.png
|
||||
/bin/rm -f *.o libpng.a pngtest pngtesti pngout.png libpng.pc \
|
||||
libpng-config $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)*
|
||||
|
||||
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
|
||||
writelock:
|
||||
|
||||
@@ -16,10 +16,8 @@ AR = ar rcs
|
||||
RANLIB = ranlib
|
||||
RM = rm -f
|
||||
|
||||
# read libpng.txt or png.h to see why PNGMAJ is 0. You should not
|
||||
# have to change it.
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.3rc4
|
||||
PNGMIN = 1.2.4beta3
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
prefix=/usr/local
|
||||
@@ -32,10 +30,13 @@ LIBPATH=$(prefix)/lib
|
||||
# make install DESTDIR=/tmp/build/libpng
|
||||
#
|
||||
# If you're going to install into a temporary location
|
||||
# via DESTDIR, that location must already exist before
|
||||
# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
|
||||
# you execute make install.
|
||||
DESTDIR=
|
||||
|
||||
DI=$(DESTDIR)/$(INCPATH)
|
||||
DL=$(DESTDIR)/$(LIBPATH)
|
||||
|
||||
CDEBUG = -g -DPNG_DEBUG=5
|
||||
LDDEBUG =
|
||||
CRELEASE = -O2
|
||||
@@ -67,17 +68,16 @@ pngtest$(E): pngtest$(O) libpng$(A)
|
||||
$(LD) -o $@ pngtest$(O) $(LDFLAGS)
|
||||
|
||||
install: libpng.a
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH) ]; then mkdir $(DESTDIR)$(INCPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH)/libpng ]; then mkdir \
|
||||
$(DESTDIR)$(INCPATH)/libpng; fi
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then mkdir $(DESTDIR)$(LIBPATH); fi
|
||||
-@rm $(DESTDIR)$(INCPATH)/png.h
|
||||
-@rm $(DESTDIR)$(INCPATH)/pngconf.h
|
||||
cp png.h pngconf.h $(DESTDIR)$(INCPATH)/libpng
|
||||
chmod 644 $(DESTDIR)$(INCPATH)/libpng/png.h \
|
||||
$(DESTDIR)$(INCPATH)/libpng/pngconf.h
|
||||
(cd $(DESTDIR)$(INCPATH); ln -f -s libpng/* .)
|
||||
cp libpng.a $(DESTDIR)$(LIBPATH)
|
||||
-@if [ ! -d $(DI) ]; then mkdir $(DI); fi
|
||||
-@if [ ! -d $(DI)/libpng ]; then mkdir $(DI)/libpng; fi
|
||||
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
|
||||
-@rm $(DI)/png.h
|
||||
-@rm $(DI)/pngconf.h
|
||||
cp png.h pngconf.h $(DI)/libpng
|
||||
chmod 644 $(DI)/libpng/png.h \
|
||||
$(DI)/libpng/pngconf.h
|
||||
(cd $(DI); ln -f -s libpng/* .)
|
||||
cp libpng.a $(DL)
|
||||
|
||||
clean:
|
||||
/bin/rm -f *.o libpng.a pngtest pngout.png
|
||||
|
||||
@@ -20,7 +20,7 @@ LIBPATH=$(prefix)/lib
|
||||
# make install DESTDIR=/tmp/build/libpng
|
||||
#
|
||||
# If you're going to install into a temporary location
|
||||
# via DESTDIR, that location must already exist before
|
||||
# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
|
||||
# you execute make install.
|
||||
DESTDIR=
|
||||
|
||||
|
||||
@@ -11,10 +11,8 @@ CC=gcc
|
||||
ZLIBLIB=/usr/local/lib
|
||||
ZLIBINC=/usr/local/include
|
||||
|
||||
# read libpng.txt or png.h to see why PNGMAJ is 0. You should not
|
||||
# have to change it.
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.3rc5
|
||||
PNGMIN = 1.2.4beta3
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
ALIGN=
|
||||
@@ -48,10 +46,15 @@ BINPATH=$(prefix)/bin
|
||||
# make install DESTDIR=/tmp/build/libpng
|
||||
#
|
||||
# If you're going to install into a temporary location
|
||||
# via DESTDIR, that location must already exist before
|
||||
# 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)
|
||||
|
||||
LIBNAME=libpng12
|
||||
|
||||
OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
|
||||
@@ -62,7 +65,7 @@ OBJSDLL = $(OBJS)
|
||||
|
||||
.SUFFIXES: .c .o
|
||||
|
||||
all: libpng.a $(LIBNAME).so pngtest
|
||||
all: libpng.a $(LIBNAME).so pngtest libpng.pc libpng-config
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
ar rc $@ $(OBJS)
|
||||
@@ -74,9 +77,9 @@ libpng.pc:
|
||||
libpng-config:
|
||||
( cat scripts/libpng-config-head.in; \
|
||||
echo prefix=\"$(prefix)\"; \
|
||||
echo cppflags=\"-I$(INCPATH)/libpng12"; \
|
||||
echo cppflags=\"-I$(INCPATH)/$(LIBNAME)\"; \
|
||||
echo cflags=\"\"; \
|
||||
echo ldflags=\"-Wl,-soname=$(LIBNAME).so.$(PNGMAJ)"; \
|
||||
echo ldflags=\"-Wl,-soname=$(LIBNAME).so.$(PNGMAJ)\"; \
|
||||
echo libs=\"-lpng12 -lz -lm\"; \
|
||||
cat scripts/libpng-config-body.in ) > libpng-config
|
||||
chmod +x libpng-config
|
||||
@@ -100,73 +103,76 @@ test: pngtest
|
||||
./pngtest
|
||||
|
||||
install-headers: png.h pngconf.h
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH) ]; then mkdir $(DESTDIR)$(INCPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH)/$(LIBNAME) ]; then \
|
||||
mkdir $(DESTDIR)$(INCPATH)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h $(DESTDIR)$(INCPATH)/$(LIBNAME)
|
||||
chmod 644 $(DESTDIR)$(INCPATH)/$(LIBNAME)/png.h \
|
||||
$(DESTDIR)$(INCPATH)/$(LIBNAME)/pngconf.h
|
||||
-@/bin/rm -f $(DESTDIR)$(INCPATH)/png.h $(DESTDIR)$(INCPATH)/pngconf.h
|
||||
-@/bin/rm -f $(DESTDIR)$(INCPATH)/libpng
|
||||
(cd $(DESTDIR)$(INCPATH); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .)
|
||||
-@if [ ! -d $(DI) ]; then mkdir $(DI); fi
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then mkdir $(DI)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
|
||||
-@/bin/rm -f $(DI)/png.h $(DI)/pngconf.h
|
||||
-@/bin/rm -f $(DI)/libpng
|
||||
(cd $(DI); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .)
|
||||
|
||||
install-static: install-headers libpng.a
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then mkdir $(DESTDIR)$(LIBPATH); fi
|
||||
cp libpng.a $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.a
|
||||
(cd $(DESTDIR)$(LIBPATH); ln -sf $(LIBNAME).a libpng.a)
|
||||
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
|
||||
cp libpng.a $(DL)/$(LIBNAME).a
|
||||
chmod 644 $(DL)/$(LIBNAME).a
|
||||
-@/bin/rm -f $(DL)/libpng.a
|
||||
(cd $(DL); ln -sf $(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then mkdir $(DESTDIR)$(LIBPATH); fi
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/$(LIBNAME).so.$(PNGMAJ)* \
|
||||
$(DESTDIR)$(LIBPATH)/$(LIBNAME).so
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so.3
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so.3.*
|
||||
cp $(LIBNAME).so.$(PNGVER) $(DESTDIR)$(LIBPATH)
|
||||
chmod 755 $(DESTDIR)$(LIBPATH)/$(LIBNAME).so.$(PNGVER)
|
||||
(cd $(DESTDIR)$(LIBPATH); \
|
||||
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
|
||||
-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)* $(DL)/$(LIBNAME).so
|
||||
-@/bin/rm -f $(DL)/libpng.so
|
||||
-@/bin/rm -f $(DL)/libpng.so.3
|
||||
-@/bin/rm -f $(DL)/libpng.so.3.*
|
||||
cp $(LIBNAME).so.$(PNGVER) $(DL)
|
||||
chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
|
||||
(cd $(DL); \
|
||||
ln -sf $(LIBNAME).so.$(PNGVER) libpng.so; \
|
||||
ln -sf $(LIBNAME).so.$(PNGVER) libpng.so.3; \
|
||||
ln -sf $(LIBNAME).so.$(PNGVER) libpng.so.3.$(PNGMIN); \
|
||||
ln -sf $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
|
||||
ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then \
|
||||
mkdir $(DESTDIR)$(LIBPATH)/pkgconfig; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
|
||||
cp libpng.pc $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -sf $(LIBNAME).pc libpng.pc)
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then mkdir $(DL)/pkgconfig; fi
|
||||
-@/bin/rm -f $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@/bin/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 $(DESTDIR)$(MANPATH) ]; then mkdir $(DESTDIR)$(MANPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH)/man3 ]; then \
|
||||
mkdir $(DESTDIR)$(MANPATH)/man3; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpng.3
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpngpf.3
|
||||
cp libpng.3 $(DESTDIR)$(MANPATH)/man3
|
||||
cp libpngpf.3 $(DESTDIR)$(MANPATH)/man3
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH)/man5 ]; then \
|
||||
mkdir $(DESTDIR)$(MANPATH)/man5; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man5/png.5
|
||||
cp png.5 $(DESTDIR)$(MANPATH)/man5
|
||||
-@if [ ! -d $(DM) ]; then mkdir $(DM); fi
|
||||
-@if [ ! -d $(DM)/man3 ]; then mkdir $(DM)/man3; fi
|
||||
-@/bin/rm -f $(DM)/man3/libpng.3
|
||||
-@/bin/rm -f $(DM)/man3/libpngpf.3
|
||||
cp libpng.3 $(DM)/man3
|
||||
cp libpngpf.3 $(DM)/man3
|
||||
-@if [ ! -d $(DM)/man5 ]; then mkdir $(DM)/man5; fi
|
||||
-@/bin/rm -f $(DM)/man5/png.5
|
||||
cp png.5 $(DM)/man5
|
||||
|
||||
install-config: libpng-config
|
||||
-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
|
||||
mkdir $(DESTDIR)$(BINPATH); fi
|
||||
-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
|
||||
-@/bin/rm -f $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
cp libpng-config $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
chmod 755 $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
(cd $(DESTDIR)$(BINPATH); ln -sf $(LIBNAME)-config libpng-config)
|
||||
-@if [ ! -d $(DB) ]; then mkdir $(DB); fi
|
||||
-@/bin/rm -f $(DB)/libpng-config
|
||||
-@/bin/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.
|
||||
|
||||
test-installed:
|
||||
$(CC) $(CFLAGS) \
|
||||
`$(BINPATH)/libpng12-config --cppflags --cflags` pngtest.c \
|
||||
-L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) \
|
||||
-o pngtesti `$(BINPATH)/libpng12-config --ldflags --libs`
|
||||
pngtesti pngtest.png
|
||||
|
||||
clean:
|
||||
/bin/rm -f *.o libpng.a $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* \
|
||||
pngtest pngout.png
|
||||
/bin/rm -f *.o libpng.a pngtest pngout.png libpng.pc libpng-config \
|
||||
$(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* pngtesti
|
||||
|
||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||
|
||||
|
||||
@@ -1,38 +1,39 @@
|
||||
# makefile for cygwin on x86
|
||||
# builds both dll (with import lib) and static lib versions
|
||||
# Builds both dll (with import lib) and static lib versions
|
||||
# of the library, and builds two copies of pngtest: one
|
||||
# statically linked and one dynamically linked.
|
||||
#
|
||||
# Copyright (C) 2002 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
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
|
||||
# this makefile intends to support building outside the src directory
|
||||
# if desired. when invoking it, specify an argument to SRC on the
|
||||
# This makefile intends to support building outside the src directory
|
||||
# if desired. When invoking it, specify an argument to SRCDIR on the
|
||||
# command line that points to the top of the directory where your source
|
||||
# is located.
|
||||
|
||||
ifdef SRC
|
||||
VPATH = $(SRC)
|
||||
ifdef SRCDIR
|
||||
VPATH = $(SRCDIR)
|
||||
else
|
||||
SRC = .
|
||||
SRCDIR = .
|
||||
endif
|
||||
|
||||
# override DESTDIR= on the make install command line to easily support
|
||||
# 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, that location must already exist before
|
||||
# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
|
||||
# you execute make install.
|
||||
|
||||
DESTDIR=
|
||||
|
||||
# To enable assembler optimizations, add '-DPNG_USE_PNGGCCRD' to
|
||||
# $CFLAGS, and include pnggccrd.o in $OBJS, below, and in the dependency
|
||||
# list at the bottom of this file.
|
||||
# list at the bottom of this makefile.
|
||||
|
||||
CC=gcc
|
||||
ifdef MINGW
|
||||
@@ -40,15 +41,15 @@ MINGW_CCFLAGS=-mno-cygwin -I/usr/include/mingw
|
||||
MINGW_LDFLAGS=-mno-cygwin -L/usr/lib/mingw
|
||||
endif
|
||||
|
||||
# where "make install" puts libpng.a, libpng.so*, png.h, and pngconf.h
|
||||
# Where "make install" puts libpng*.a, *png*.dll, png.h, and pngconf.h
|
||||
ifndef prefix
|
||||
prefix=/usr
|
||||
$(warning You haven't specified a 'prefix=' location. Defaulting to "/usr")
|
||||
endif
|
||||
|
||||
# Where the zlib library and include files are located
|
||||
ZLIBLIB=/lib#$(DESTDIR)$(LIBPATH)
|
||||
ZLIBINC=#$(DESTDIR)$(INCPATH)
|
||||
ZLIBLIB= /usr/lib
|
||||
ZLIBINC=
|
||||
#ZLIBLIB=../zlib
|
||||
#ZLIBINC=../zlib
|
||||
|
||||
@@ -77,8 +78,8 @@ CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \
|
||||
|
||||
LIBNAME = libpng12
|
||||
PNGMAJ = 0
|
||||
PNGDLL = 12
|
||||
PNGMIN = 1.2.3rc5
|
||||
PNGDLL = 13
|
||||
PNGMIN = 1.2.4beta3
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
SHAREDLIB=cygpng$(PNGDLL).dll
|
||||
@@ -88,9 +89,9 @@ SHAREDDEF=libpng.def
|
||||
LIBS=$(SHAREDLIB) $(STATLIB)
|
||||
EXE=.exe
|
||||
|
||||
LDFLAGS=$(strip -L. $(MINGW_LDFLAGS) $(addprefix -L,$(ZLIBLIB)) -lpng -lz)
|
||||
LDFLAGS=$(strip -L. $(MINGW_LDFLAGS) -lpng $(addprefix -L,$(ZLIBLIB)) -lz)
|
||||
LDSFLAGS=$(strip -shared -L. $(MINGW_LDFLAGS) -Wl,--export-all)
|
||||
LDEXTRA=-Wl,--out-implib=$(IMPLIB)
|
||||
LDEXTRA=-Wl,--out-implib=$(IMPLIB) $(addprefix -L,$(ZLIBLIB)) -lz
|
||||
|
||||
MKDIR=/bin/mkdir -pv
|
||||
RANLIB=ranlib
|
||||
@@ -104,6 +105,13 @@ MANPATH=$(prefix)/man
|
||||
MAN3PATH=$(MANPATH)/man3
|
||||
MAN5PATH=$(MANPATH)/man5
|
||||
|
||||
# cosmetic: shortened strings:
|
||||
S =$(SRCDIR)
|
||||
D =$(DESTDIR)
|
||||
DB =$(D)$(BINPATH)
|
||||
DI =$(D)$(INCPATH)
|
||||
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
|
||||
@@ -118,32 +126,32 @@ OBJSDLL = $(OBJS:.o=.pic.o)
|
||||
%.pic.o : %.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
all: all-static all-shared libpng.pc libpng-config
|
||||
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.
|
||||
# Make this to verify that "make [...] install" will do what you want.
|
||||
buildsetup-tell:
|
||||
@echo VPATH is set to: \"$(VPATH)\"
|
||||
@echo prefix is set to: \"$(prefix)\"
|
||||
@echo -e INCPATH,LIBPATH, etc. are set to:'\n' \
|
||||
$(addprefix $(DESTDIR),$(INCPATH)'\n' $(LIBPATH)'\n' $(BINPATH)'\n' \
|
||||
$(addprefix $(D),$(INCPATH)'\n' $(LIBPATH)'\n' $(BINPATH)'\n' \
|
||||
$(MANPATH)'\n' $(MAN3PATH)'\n' $(MAN5PATH)'\n')'\n'
|
||||
|
||||
libpng.pc: scripts/libpng.pc.in
|
||||
@echo -e Making pkg-config file for this libpng installation..'\n' \
|
||||
using PREFIX=\"$(prefix)\"'\n'
|
||||
cat $(SRC)/scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! | \
|
||||
cat $(S)/scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! | \
|
||||
sed -e s/-lm// > libpng.pc
|
||||
|
||||
libpng-config: scripts/libpng-config.in
|
||||
@echo -e Making libpng-config file for this libpng installation..'\n' \
|
||||
using PREFIX=\"$(prefix)\"'\n'
|
||||
( cat $(SRC)/scripts/libpng-config-head.in; \
|
||||
libpng-config: scripts/libpng-config-head.in scripts/libpng-config-body.in
|
||||
@echo -e Making $(LIBNAME) libpng-config file for this libpng \
|
||||
installation..'\n' using PREFIX=\"$(prefix)\"'\n'
|
||||
( cat $(S)/scripts/libpng-config-head.in; \
|
||||
echo prefix=\"$(prefix)\"; \
|
||||
echo cppflags=\"-I$(INCPATH)/libpng12"; \
|
||||
echo cppflags=\"-I$(INCPATH)/$(LIBNAME)\"; \
|
||||
echo cflags=\"\"; \
|
||||
echo ldflags=\"-L$(LIBPATH)"; \
|
||||
echo libs=\"-lpng12 -lz\"; \
|
||||
cat $(SRC)/scripts/libpng-config-body.in ) > libpng-config
|
||||
echo ldflags=\"-L$(LIBPATH)\"; \
|
||||
echo libs=\"-lpng$(PNGDLL) -lz\"; \
|
||||
cat $(S)/scripts/libpng-config-body.in ) > libpng-config
|
||||
chmod +x libpng-config
|
||||
|
||||
static: all-static
|
||||
@@ -153,19 +161,15 @@ all-shared: $(SHAREDLIB) pngtest$(EXE)
|
||||
|
||||
pnggccrd.o: pnggccrd.c png.h pngconf.h
|
||||
@echo ""
|
||||
@echo \
|
||||
' You can ignore the single "control reaches end of non-void function"'
|
||||
@echo \
|
||||
' warning and multiple "<variable> defined but not used" warnings:'
|
||||
@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
|
||||
@echo ""
|
||||
@echo \
|
||||
' You can ignore the single "control reaches end of non-void function"'
|
||||
@echo \
|
||||
' warning and multiple "<variable> defined but not used" warnings:'
|
||||
@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 $@ $<
|
||||
|
||||
@@ -178,7 +182,7 @@ $(SHAREDDEF): projects/msvc/png32ms.def
|
||||
sed -e 's/\([^;]*\);/;/' > $@
|
||||
|
||||
$(SHAREDLIB): $(OBJSDLL) $(SHAREDDEF)
|
||||
$(CC) $(LDSFLAGS) -o $@ $(LDEXTRA) $(OBJSDLL) -L. -L$(ZLIBLIB) -lz
|
||||
$(CC) $(LDSFLAGS) -o $@ $(OBJSDLL) -L. $(LDEXTRA)
|
||||
|
||||
pngtest$(EXE): pngtest.pic.o $(SHAREDLIB)
|
||||
$(CC) $(CFLAGS) $< $(LDFLAGS) -o $@
|
||||
@@ -195,67 +199,62 @@ pngtest.o: pngtest.c
|
||||
test: test-static test-shared
|
||||
|
||||
test-static: pngtest-stat$(EXE)
|
||||
./pngtest-stat $(SRC)/pngtest.png
|
||||
./pngtest-stat $(S)/pngtest.png
|
||||
|
||||
test-shared: pngtest$(EXE)
|
||||
./pngtest $(SRC)/pngtest.png
|
||||
./pngtest $(S)/pngtest.png
|
||||
|
||||
install-static: $(STATLIB) install-headers install-man
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then $(MKDIR) $(DESTDIR)$(LIBPATH); fi
|
||||
install -m 644 $(STATLIB) $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
|
||||
-@rm -f $(DESTDIR)$(LIBPATH)/$(STATLIB)
|
||||
(cd $(DESTDIR)$(LIBPATH); ln -sf $(LIBNAME).a $(STATLIB))
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR) $(DL); fi
|
||||
install -m 644 $(STATLIB) $(DL)/$(LIBNAME).a
|
||||
-@rm -f $(DL)/$(STATLIB)
|
||||
(cd $(DL); ln -sf $(LIBNAME).a $(STATLIB))
|
||||
|
||||
install-shared: $(SHAREDLIB) libpng.pc libpng-config install-headers install-man
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then $(MKDIR) $(DESTDIR)$(LIBPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then $(MKDIR) $(DESTDIR)$(BINPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then \
|
||||
$(MKDIR) $(DESTDIR)$(LIBPATH)/pkgconfig; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
|
||||
install -m 644 $(IMPLIB) $(DESTDIR)$(LIBPATH)/$(LIBNAME).dll.a
|
||||
-@rm -f $(DESTDIR)$(LIBPATH)/$(IMPLIB)
|
||||
(cd $(DESTDIR)$(LIBPATH); ln -sf $(LIBNAME).dll.a $(IMPLIB))
|
||||
install -s -m 755 $(SHAREDLIB) $(DESTDIR)$(BINPATH)
|
||||
install -m 644 libpng.pc $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -sf $(LIBNAME).pc libpng.pc)
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR) $(DL); fi
|
||||
-@if [ ! -d $(DB) ]; then $(MKDIR) $(DB); fi
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR) $(DL)/pkgconfig; fi
|
||||
-@/bin/rm -f $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@/bin/rm -f $(DL)/pkgconfig/libpng.pc
|
||||
install -m 644 $(IMPLIB) $(DL)/$(LIBNAME).dll.a
|
||||
-@rm -f $(DL)/$(IMPLIB)
|
||||
(cd $(DL); ln -sf $(LIBNAME).dll.a $(IMPLIB))
|
||||
install -s -m 755 $(SHAREDLIB) $(DB)
|
||||
install -m 644 libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
(cd $(DL)/pkgconfig; ln -sf $(LIBNAME).pc libpng.pc)
|
||||
|
||||
install-headers:
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH) ]; then \
|
||||
$(MKDIR) $(DESTDIR)$(INCPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH)/$(LIBNAME) ]; then \
|
||||
$(MKDIR) $(DESTDIR)$(INCPATH)/$(LIBNAME); fi
|
||||
-@rm -f $(DESTDIR)$(INCPATH)/png.h
|
||||
-@rm -f $(DESTDIR)$(INCPATH)/pngconf.h
|
||||
install -m 644 $(SRC)/png.h $(SRC)/pngconf.h $(DESTDIR)$(INCPATH)/$(LIBNAME)
|
||||
-@rm -f $(DESTDIR)$(INCPATH)/libpng
|
||||
(cd $(DESTDIR)$(INCPATH); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .)
|
||||
-@if [ ! -d $(DI) ]; then $(MKDIR) $(DI); fi
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR) $(DI)/$(LIBNAME); fi
|
||||
-@rm -f $(DI)/png.h
|
||||
-@rm -f $(DI)/pngconf.h
|
||||
install -m 644 $(S)/png.h $(S)/pngconf.h $(DI)/$(LIBNAME)
|
||||
-@rm -f $(DI)/libpng
|
||||
(cd $(DI); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .)
|
||||
|
||||
install-man:
|
||||
-@if [ ! -d $(DESTDIR)$(MAN3PATH) ]; then \
|
||||
$(MKDIR) $(DESTDIR)$(MAN3PATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(MAN5PATH) ]; then \
|
||||
$(MKDIR) $(DESTDIR)$(MAN5PATH); fi
|
||||
install -m 644 $(SRC)/libpngpf.3 $(SRC)/libpng.3 $(DESTDIR)$(MAN3PATH)
|
||||
install -m 644 $(SRC)/png.5 $(DESTDIR)$(MAN5PATH)
|
||||
-@if [ ! -d $(D)$(MAN3PATH) ]; then $(MKDIR) $(D)$(MAN3PATH); fi
|
||||
-@if [ ! -d $(D)$(MAN5PATH) ]; then $(MKDIR) $(D)$(MAN5PATH); fi
|
||||
install -m 644 $(S)/libpngpf.3 $(S)/libpng.3 $(D)$(MAN3PATH)
|
||||
install -m 644 $(S)/png.5 $(D)$(MAN5PATH)
|
||||
|
||||
install-config: libpng-config
|
||||
-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
|
||||
mkdir $(DESTDIR)$(BINPATH); fi
|
||||
-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
|
||||
-@/bin/rm -f $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
cp libpng-config $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
chmod 755 $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
(cd $(DESTDIR)$(BINPATH); ln -sf $(LIBNAME)-config libpng-config)
|
||||
-@if [ ! -d $(DB) ]; then mkdir $(DB); fi
|
||||
-@/bin/rm -f $(DB)/libpng-config
|
||||
-@/bin/rm -f $(DB)/$(LIBNAME)-config
|
||||
cp libpng-config $(DB)/$(LIBNAME)-config
|
||||
chmod 755 $(DB)/$(LIBNAME)-config
|
||||
(cd $(DB); ln -sf $(LIBNAME)-config libpng-config)
|
||||
|
||||
# run this to verify that a future `configure' run will pick up the settings you want.
|
||||
# Run this to verify that a future `configure' run will pick up the settings
|
||||
# you want.
|
||||
test-config-install: SHELL=/bin/bash
|
||||
test-config-install: $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
test-config-install: $(DB)/libpng-config
|
||||
@echo -e Testing libpng-config functions...'\n'
|
||||
@ for TYRA in LDFLAGS CPPFLAGS CFLAGS LIBS VERSION; \
|
||||
do \
|
||||
printf "(%d)\t %s = %s\n" $$(($$gytiu + 1)) $$TYRA \
|
||||
$$(libpng-config `echo "--$$TYRA" |tr '[:upper:]' '[:lower:]'`); \
|
||||
printf "(%d)\t %10s =%s\n" $$(($$gytiu + 1)) $$TYRA \
|
||||
"$$($(DB)/libpng-config `echo --$$TYRA |tr '[:upper:]' '[:lower:]'`)"; \
|
||||
gytiu=$$(( $$gytiu + 1 )); \
|
||||
done
|
||||
|
||||
@@ -264,7 +263,8 @@ install: install-static install-shared install-man install-config
|
||||
|
||||
clean:
|
||||
/bin/rm -f *.pic.o *.o $(STATLIB) $(IMPLIB) $(SHAREDLIB) \
|
||||
pngtest-stat$(EXE) pngtest$(EXE) pngout.png $(SHAREDDEF)
|
||||
pngtest-stat$(EXE) pngtest$(EXE) pngout.png $(SHAREDDEF) \
|
||||
libpng-config libpng.pc
|
||||
|
||||
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
|
||||
writelock:
|
||||
|
||||
@@ -17,15 +17,13 @@ ZLIBINC=../zlib
|
||||
|
||||
CC=cc
|
||||
CFLAGS=-I$(ZLIBINC) -Wall -O3 -funroll-loops
|
||||
LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz
|
||||
LDFLAGS=-L. -L$(ZLIBLIB) -lpng12 -lz
|
||||
|
||||
#RANLIB=echo
|
||||
RANLIB=ranlib
|
||||
|
||||
# read libpng.txt or png.h to see why PNGMAJ is 0. You should not
|
||||
# have to change it.
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.3rc5
|
||||
PNGMIN = 1.2.4beta3
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
LIBNAME = libpng12
|
||||
|
||||
@@ -40,10 +38,15 @@ BINPATH=$(prefix)/bin
|
||||
# make install DESTDIR=/tmp/build/libpng
|
||||
#
|
||||
# If you're going to install into a temporary location
|
||||
# via DESTDIR, that location must already exist before
|
||||
# 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
|
||||
@@ -55,7 +58,7 @@ OBJSDLL = $(OBJS:.o=.pic.o)
|
||||
.c.pic.o:
|
||||
$(CC) -c $(CFLAGS) -fno-common -o $@ $*.c
|
||||
|
||||
all: libpng.a $(LIBNAME).dylib pngtest
|
||||
all: libpng.a $(LIBNAME).dylib pngtest libpng.pc libpng-config
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
ar rc $@ $(OBJS)
|
||||
@@ -68,7 +71,7 @@ libpng.pc:
|
||||
libpng-config:
|
||||
( cat scripts/libpng-config-head.in; \
|
||||
echo prefix=\"$(prefix)\"; \
|
||||
echo cppflags=\"-I$(INCPATH)/libpng12"; \
|
||||
echo cppflags=\"-I$(INCPATH)/$(LIBNAME)\"; \
|
||||
echo cflags=\"\"; \
|
||||
echo ldflags=\"-L$(LIBPATH)\"; \
|
||||
echo libs=\"-lpng12 -lz\"; \
|
||||
@@ -83,7 +86,7 @@ $(LIBNAME).$(PNGMAJ).dylib: $(LIBNAME).$(PNGVER).dylib
|
||||
|
||||
$(LIBNAME).$(PNGVER).dylib: $(OBJSDLL)
|
||||
$(CC) -dynamiclib \
|
||||
-install_name $(DESTDIR)$(LIBPATH)/$(LIBNAME).$(PNGMAJ).dylib \
|
||||
-install_name $(DL)/$(LIBNAME).$(PNGMAJ).dylib \
|
||||
-current_version $(PNGMIN) -compatibility_version $(PNGMIN) \
|
||||
-o $(LIBNAME).$(PNGVER).dylib \
|
||||
$(OBJSDLL) -L$(ZLIBLIB) -lz
|
||||
@@ -95,72 +98,77 @@ test: pngtest
|
||||
./pngtest
|
||||
|
||||
install-headers: png.h pngconf.h
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH) ]; then mkdir $(DESTDIR)$(INCPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH)/$(LIBNAME) ]; then \
|
||||
mkdir $(DESTDIR)$(INCPATH)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h $(DESTDIR)$(INCPATH)/$(LIBNAME)
|
||||
chmod 644 $(DESTDIR)$(INCPATH)/$(LIBNAME)/png.h \
|
||||
$(DESTDIR)$(INCPATH)/$(LIBNAME)/pngconf.h
|
||||
-@/bin/rm -f $(DESTDIR)$(INCPATH)/png.h $(DESTDIR)$(INCPATH)/pngconf.h
|
||||
-@/bin/rm -f $(DESTDIR)$(INCPATH)/libpng
|
||||
(cd $(DESTDIR)$(INCPATH); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .)
|
||||
-@if [ ! -d $(DI) ]; then mkdir $(DI); fi
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then mkdir $(DI)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
|
||||
-@/bin/rm -f $(DI)/png.h $(DI)/pngconf.h
|
||||
-@/bin/rm -f $(DI)/libpng
|
||||
(cd $(DI); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .)
|
||||
|
||||
install-static: install-headers libpng.a
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then mkdir $(DESTDIR)$(LIBPATH); fi
|
||||
cp libpng.a $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.a
|
||||
(cd $(DESTDIR)$(LIBPATH); ln -sf $(LIBNAME).a libpng.a)
|
||||
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
|
||||
cp libpng.a $(DL)/$(LIBNAME).a
|
||||
chmod 644 $(DL)/$(LIBNAME).a
|
||||
-@/bin/rm -f $(DL)/libpng.a
|
||||
(cd $(DL); ln -sf $(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers $(LIBNAME).dylib libpng.pc
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then mkdir $(DESTDIR)$(LIBPATH); fi
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/$(LIBNAME).$(PNGMAJ)*.dylib
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/$(LIBNAME).dylib
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.dylib
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.3.dylib
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.3.*.dylib
|
||||
cp $(LIBNAME).$(PNGVER).dylib $(DESTDIR)$(LIBPATH)
|
||||
chmod 755 $(DESTDIR)$(LIBPATH)/$(LIBNAME).$(PNGVER).dylib
|
||||
(cd $(DESTDIR)$(LIBPATH); \
|
||||
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
|
||||
-@/bin/rm -f $(DL)/$(LIBNAME).$(PNGMAJ)*.dylib
|
||||
-@/bin/rm -f $(DL)/$(LIBNAME).dylib
|
||||
-@/bin/rm -f $(DL)/libpng.dylib
|
||||
-@/bin/rm -f $(DL)/libpng.3.dylib
|
||||
-@/bin/rm -f $(DL)/libpng.3.*.dylib
|
||||
cp $(LIBNAME).$(PNGVER).dylib $(DL)
|
||||
chmod 755 $(DL)/$(LIBNAME).$(PNGVER).dylib
|
||||
(cd $(DL); \
|
||||
ln -sf $(LIBNAME).$(PNGVER).dylib libpng.dylib; \
|
||||
ln -sf $(LIBNAME).$(PNGVER).dylib libpng.3.dylib; \
|
||||
ln -sf $(LIBNAME).$(PNGVER).dylib libpng.3.$(PNGMIN).dylib; \
|
||||
ln -sf $(LIBNAME).$(PNGVER).dylib $(LIBNAME).$(PNGMAJ).dylib; \
|
||||
ln -sf $(LIBNAME).$(PNGMAJ).dylib $(LIBNAME).dylib)
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then \
|
||||
mkdir $(DESTDIR)$(LIBPATH)/pkgconfig; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
|
||||
cp libpng.pc $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -sf $(LIBNAME).pc libpng.pc)
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then mkdir $(DL)/pkgconfig; fi
|
||||
-@/bin/rm -f $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@/bin/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 $(DESTDIR)$(MANPATH) ]; then mkdir $(DESTDIR)$(MANPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH)/man3 ]; then \
|
||||
mkdir $(DESTDIR)$(MANPATH)/man3; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpng.3
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpngpf.3
|
||||
cp libpng.3 $(DESTDIR)$(MANPATH)/man3
|
||||
cp libpngpf.3 $(DESTDIR)$(MANPATH)/man3
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH)/man5 ]; then \
|
||||
mkdir $(DESTDIR)$(MANPATH)/man5; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man5/png.5
|
||||
cp png.5 $(DESTDIR)$(MANPATH)/man5
|
||||
-@if [ ! -d $(DM) ]; then mkdir $(DM); fi
|
||||
-@if [ ! -d $(DM)/man3 ]; then mkdir $(DM)/man3; fi
|
||||
-@/bin/rm -f $(DM)/man3/libpng.3
|
||||
-@/bin/rm -f $(DM)/man3/libpngpf.3
|
||||
cp libpng.3 $(DM)/man3
|
||||
cp libpngpf.3 $(DM)/man3
|
||||
-@if [ ! -d $(DM)/man5 ]; then mkdir $(DM)/man5; fi
|
||||
-@/bin/rm -f $(DM)/man5/png.5
|
||||
cp png.5 $(DM)/man5
|
||||
|
||||
install-config: libpng-config
|
||||
-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
|
||||
mkdir $(DESTDIR)$(BINPATH); fi
|
||||
-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
|
||||
-@/bin/rm -f $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
cp libpng-config $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
chmod 755 $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
(cd $(DESTDIR)$(BINPATH); ln -sf $(LIBNAME)-config libpng-config)
|
||||
-@if [ ! -d $(DB) ]; then mkdir $(DB); fi
|
||||
-@/bin/rm -f $(DB)/libpng-config
|
||||
-@/bin/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.
|
||||
|
||||
test-installed:
|
||||
$(CC) $(CFLAGS) \
|
||||
`$(BINPATH)/libpng12-config --cppflags --cflags` pngtest.c \
|
||||
-L$(ZLIBLIB) \
|
||||
-o pngtesti `$(BINPATH)/libpng12-config --ldflags --libs`
|
||||
pngtesti pngtest.png
|
||||
|
||||
clean:
|
||||
rm -f *.o libpng.a $(LIBNAME).*dylib pngtest pngout.png
|
||||
rm -f *.o libpng.a pngtest pngout.png libpng.pc libpng-config \
|
||||
$(LIBNAME).*dylib pngtesti
|
||||
|
||||
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
|
||||
writelock:
|
||||
|
||||
@@ -16,20 +16,23 @@ BINPATH=$(prefix)/bin
|
||||
# make install DESTDIR=/tmp/build/libpng
|
||||
#
|
||||
# If you're going to install into a temporary location
|
||||
# via DESTDIR, that location must already exist before
|
||||
# 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)
|
||||
|
||||
# Where the zlib library and include files are located
|
||||
#ZLIBLIB=/usr/local/lib
|
||||
#ZLIBINC=/usr/local/include
|
||||
ZLIBLIB=../zlib
|
||||
ZLIBINC=../zlib
|
||||
|
||||
# read libpng.txt or png.h to see why PNGMAJ is 0. You should not
|
||||
# have to change it.
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.3rc5
|
||||
PNGMIN = 1.2.4beta3
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
LIBNAME = libpng12
|
||||
|
||||
@@ -44,7 +47,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: $(LIBNAME).so libpng.a pngtest
|
||||
all: $(LIBNAME).so libpng.a pngtest libpng.pc libpng-config
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
ar rc $@ $(OBJS)
|
||||
@@ -56,17 +59,13 @@ libpng.pc:
|
||||
libpng-config:
|
||||
( cat scripts/libpng-config-head.in; \
|
||||
echo prefix=\"$(prefix)\"; \
|
||||
echo cppflags=\"-I$(INCPATH)/libpng12"; \
|
||||
echo cppflags=\"-I$(INCPATH)/$(LIBNAME)\"; \
|
||||
echo cflags=\"-std\"; \
|
||||
echo ldflags=\"-L$(LIBPATH)\"; \
|
||||
echo libs=\"-lpng12 -lz -lm\"; \
|
||||
cat scripts/libpng-config-body.in ) > libpng-config
|
||||
chmod +x libpng-config
|
||||
|
||||
cat scripts/libpng-config.in | sed -e s\!@PREFIX@!$(prefix)! > \
|
||||
-e s!\#LIBS!-lm! > libpng-config
|
||||
chmod +x libpng-config
|
||||
|
||||
$(LIBNAME).so: $(LIBNAME).so.$(PNGMAJ)
|
||||
ln -f -s $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so
|
||||
|
||||
@@ -74,7 +73,8 @@ $(LIBNAME).so.$(PNGMAJ): $(LIBNAME).so.$(PNGVER)
|
||||
ln -f -s $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ)
|
||||
|
||||
$(LIBNAME).so.$(PNGVER): $(OBJS)
|
||||
$(CC) -shared -o $@ $(OBJS) -L$(ZLIBLIB) -lz -lm
|
||||
$(CC) -shared -o $@ $(OBJS) -L$(ZLIBLIB)
|
||||
-soname $(LIBNAME).so.$(PNGMAJ) -lz -lm
|
||||
|
||||
pngtest: pngtest.o libpng.a
|
||||
$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
|
||||
@@ -83,72 +83,78 @@ test: pngtest
|
||||
./pngtest
|
||||
|
||||
install-headers: png.h pngconf.h
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH) ]; then mkdir $(DESTDIR)$(INCPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH)/$(LIBNAME) ]; then \
|
||||
mkdir $(DESTDIR)$(INCPATH)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h $(DESTDIR)$(INCPATH)/$(LIBNAME)
|
||||
chmod 644 $(DESTDIR)$(INCPATH)/$(LIBNAME)/png.h \
|
||||
$(DESTDIR)$(INCPATH)/$(LIBNAME)/pngconf.h
|
||||
-@/bin/rm -f $(DESTDIR)$(INCPATH)/png.h $(DESTDIR)$(INCPATH)/pngconf.h
|
||||
-@/bin/rm -f $(DESTDIR)$(INCPATH)/libpng
|
||||
(cd $(DESTDIR)$(INCPATH); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .)
|
||||
-@if [ ! -d $(DI) ]; then mkdir $(DI); fi
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then mkdir $(DI)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
|
||||
-@/bin/rm -f $(DI)/png.h $(DI)/pngconf.h
|
||||
-@/bin/rm -f $(DI)/libpng
|
||||
(cd $(DI); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .)
|
||||
|
||||
install-static: install-headers libpng.a
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then mkdir $(DESTDIR)$(LIBPATH); fi
|
||||
cp libpng.a $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.a
|
||||
(cd $(DESTDIR)$(LIBPATH); ln -sf $(LIBNAME).a libpng.a)
|
||||
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
|
||||
cp libpng.a $(DL)/$(LIBNAME).a
|
||||
chmod 644 $(DL)/$(LIBNAME).a
|
||||
-@/bin/rm -f $(DL)/libpng.a
|
||||
(cd $(DL); ln -sf $(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then mkdir $(DESTDIR)$(LIBPATH); fi
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/$(LIBNAME).so.$(PNGMAJ)* \
|
||||
$(DESTDIR)$(LIBPATH)/$(LIBNAME).so
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so.3
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so.3.*
|
||||
cp $(LIBNAME).so.$(PNGVER) $(DESTDIR)$(LIBPATH)
|
||||
chmod 755 $(DESTDIR)$(LIBPATH)/$(LIBNAME).so.$(PNGVER)
|
||||
(cd $(DESTDIR)$(LIBPATH); \
|
||||
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
|
||||
-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)* $(DL)/$(LIBNAME).so
|
||||
-@/bin/rm -f $(DL)/libpng.so
|
||||
-@/bin/rm -f $(DL)/libpng.so.3
|
||||
-@/bin/rm -f $(DL)/libpng.so.3.*
|
||||
cp $(LIBNAME).so.$(PNGVER) $(DL)
|
||||
chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
|
||||
(cd $(DL); \
|
||||
ln -sf $(LIBNAME).so.$(PNGVER) libpng.so; \
|
||||
ln -sf $(LIBNAME).so.$(PNGVER) libpng.so.3; \
|
||||
ln -sf $(LIBNAME).so.$(PNGVER) libpng.so.3.$(PNGMIN); \
|
||||
ln -sf $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
|
||||
ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then \
|
||||
mkdir $(DESTDIR)$(LIBPATH)/pkgconfig; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
|
||||
cp libpng.pc $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -sf $(LIBNAME).pc libpng.pc)
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then mkdir $(DL)/pkgconfig; fi
|
||||
-@/bin/rm -f $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@/bin/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 $(DESTDIR)$(MANPATH) ]; then mkdir $(DESTDIR)$(MANPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH)/man3 ]; then \
|
||||
mkdir $(DESTDIR)$(MANPATH)/man3; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpng.3
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpngpf.3
|
||||
cp libpng.3 $(DESTDIR)$(MANPATH)/man3
|
||||
cp libpngpf.3 $(DESTDIR)$(MANPATH)/man3
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH)/man5 ]; then \
|
||||
mkdir $(DESTDIR)$(MANPATH)/man5; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man5/png.5
|
||||
cp png.5 $(DESTDIR)$(MANPATH)/man5
|
||||
-@if [ ! -d $(DM) ]; then mkdir $(DM); fi
|
||||
-@if [ ! -d $(DM)/man3 ]; then mkdir $(DM)/man3; fi
|
||||
-@/bin/rm -f $(DM)/man3/libpng.3
|
||||
-@/bin/rm -f $(DM)/man3/libpngpf.3
|
||||
cp libpng.3 $(DM)/man3
|
||||
cp libpngpf.3 $(DM)/man3
|
||||
-@if [ ! -d $(DM)/man5 ]; then mkdir $(DM)/man5; fi
|
||||
-@/bin/rm -f $(DM)/man5/png.5
|
||||
cp png.5 $(DM)/man5
|
||||
|
||||
install-config: libpng-config
|
||||
-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
|
||||
mkdir $(DESTDIR)$(BINPATH); fi
|
||||
-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
|
||||
-@/bin/rm -f $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
cp libpng-config $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
chmod 755 $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
(cd $(DESTDIR)$(BINPATH); ln -sf $(LIBNAME)-config libpng-config)
|
||||
-@if [ ! -d $(DB) ]; then mkdir $(DB); fi
|
||||
-@/bin/rm -f $(DB)/libpng-config
|
||||
-@/bin/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.
|
||||
|
||||
test-installed:
|
||||
echo
|
||||
echo Testing installed dynamic shared library.
|
||||
$(CC) -std -w1 -I$(ZLIBINC) \
|
||||
`$(BINPATH)/libpng12-config --cppflags --cflags` pngtest.c \
|
||||
-L$(ZLIBLIB) -R$(ZLIBLIB) \
|
||||
-o pngtesti `$(BINPATH)/libpng12-config --ldflags --libs`
|
||||
pngtesti pngtest.png
|
||||
|
||||
clean:
|
||||
/bin/rm -f *.o libpng.a $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* pngtest pngout.png
|
||||
/bin/rm -f *.o libpng.a pngtest pngtesti pngout.png libpng.pc \
|
||||
libpng-config $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)*
|
||||
|
||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||
|
||||
|
||||
@@ -1,107 +1,48 @@
|
||||
# makefile for libpng under FreeBSD
|
||||
# Copyright (C) 2002 Glenn Randers-Pehrson and Andrey A. Chernov
|
||||
# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
|
||||
.include <bsd.own.mk>
|
||||
PREFIX?= /usr/local
|
||||
SHLIB_VER?= 5
|
||||
|
||||
LIB= png
|
||||
SHLIB_MAJOR= ${SHLIB_VER}
|
||||
SHLIB_MINOR= 0
|
||||
NOPROFILE= YES
|
||||
NOOBJ= YES
|
||||
|
||||
# where make install puts libpng.a and png.h
|
||||
prefix=/usr/local
|
||||
INCPATH=$(prefix)/include
|
||||
LIBPATH=$(prefix)/lib
|
||||
MANPATH=$(prefix)/man
|
||||
|
||||
# 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, that location must already exist before
|
||||
# you execute make install.
|
||||
DESTDIR=
|
||||
|
||||
PNGMAJ= 5
|
||||
.if (${OBJFORMAT} == "elf")
|
||||
PNGVER= $(PNGMAJ)
|
||||
.else
|
||||
PNGMIN= 0
|
||||
PNGVER= $(PNGMAJ).$(PNGMIN)
|
||||
.endif
|
||||
DESTDIR= ${PREFIX}
|
||||
LIBDIR= /lib
|
||||
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
|
||||
LDADD+= -lm -lz
|
||||
DPADD+= ${LIBM} ${LIBZ}
|
||||
|
||||
CFLAGS+= -I. -DPNG_USE_PNGGCCRD
|
||||
.if (${MACHINE_ARCH} != "i386")
|
||||
CFLAGS+= -DPNG_NO_ASSEMBLER_CODE
|
||||
.endif
|
||||
LDFLAGS+=-L. -lpng -lz -lm -static
|
||||
|
||||
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
|
||||
|
||||
.SUFFIXES: .c .so .o
|
||||
|
||||
.c.so:
|
||||
${CC} ${CFLAGS} -fPIC -DPIC -o $@ -c $<
|
||||
|
||||
all: libpng.a libpng.so.${PNGVER} pngtest
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
ar rc $@ $(OBJS)
|
||||
$(RANLIB) $@
|
||||
|
||||
libpng.so.${PNGVER}: $(OBJS:S/o$/so/g)
|
||||
.if (${OBJFORMAT} == "elf")
|
||||
${CC} -shared -Wl,-x,-soname,$@ -o $@ $(OBJS:S/o$/so/g) -lz -lm
|
||||
.else
|
||||
${CC} -shared -Wl,-x -o $@ $(OBJS:S/o$/so/g) -lz -lm
|
||||
.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
|
||||
|
||||
pngtest: pngtest.o libpng.a
|
||||
$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
|
||||
${CC} ${CFLAGS} -L. -static -o pngtest pngtest.o -lpng -lz -lm
|
||||
|
||||
CLEANFILES= pngtest pngtest.o pngout.png
|
||||
|
||||
test: pngtest
|
||||
./pngtest
|
||||
|
||||
install: libpng.a libpng.so.${PNGVER}
|
||||
-@mkdir $(DESTDIR)$(INCPATH)/libpng
|
||||
${INSTALL} -o ${INCOWN} -g ${INCGRP} -m ${INCMODE} \
|
||||
png.h pngconf.h $(DESTDIR)$(INCPATH)/libpng
|
||||
(cd $(DESTDIR)$(INCPATH); rm -f png.h pngconf.h; ln -sf libpng/*.h .)
|
||||
${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
|
||||
libpng.a libpng.so.${PNGVER} $(DESTDIR)$(LIBPATH)
|
||||
$(RANLIB) $(DESTDIR)$(LIBPATH)/libpng.a
|
||||
ln -sf libpng.so.${PNGVER} $(DESTDIR)$(LIBPATH)/libpng.so
|
||||
/sbin/ldconfig -R
|
||||
${INSTALL} -o ${MANOWN} -g ${MANGRP} -m ${MANMODE} \
|
||||
libpng.3 libpngpf.3 $(DESTDIR)$(MANPATH)/man3
|
||||
${INSTALL} -o ${MANOWN} -g ${MANGRP} -m ${MANMODE} \
|
||||
png.5 $(DESTDIR)$(MANPATH)/man5
|
||||
|
||||
clean:
|
||||
rm -f *.o *.so libpng.a libpng.so.${PNGVER} pngtest pngout.png
|
||||
|
||||
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.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
|
||||
pnggccrd.o: png.h pngconf.h
|
||||
|
||||
.include <bsd.lib.mk>
|
||||
|
||||
@@ -15,16 +15,17 @@
|
||||
|
||||
LIBNAME = libpng12
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.3rc5
|
||||
PNGMIN = 1.2.4beta3
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
CC=gcc
|
||||
|
||||
# where "make install" puts libpng.a, libpng12/libpng12.so*,
|
||||
# $(LIBNAME)/png.h and $(LIBNAME)/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
|
||||
|
||||
# Where the zlib library and include files are located
|
||||
# Where the zlib library and include files are located.
|
||||
#ZLIBLIB=/usr/local/lib
|
||||
#ZLIBINC=/usr/local/include
|
||||
ZLIBLIB=../zlib
|
||||
@@ -71,10 +72,15 @@ BINPATH=$(prefix)/bin
|
||||
# make install DESTDIR=/tmp/build/libpng
|
||||
#
|
||||
# If you're going to install into a temporary location
|
||||
# via DESTDIR, that location must already exist before
|
||||
# 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 pnggccrd.o
|
||||
@@ -86,7 +92,11 @@ OBJSDLL = $(OBJS:.o=.pic.o)
|
||||
.c.pic.o:
|
||||
$(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
|
||||
|
||||
all: libpng.a $(LIBNAME).so pngtest pngtest-static
|
||||
all: libpng.a $(LIBNAME).so 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
|
||||
@@ -94,29 +104,20 @@ libpng.pc:
|
||||
libpng-config:
|
||||
( cat scripts/libpng-config-head.in; \
|
||||
echo prefix=\"$(prefix)\"; \
|
||||
echo cppflags=\"-I$(INCPATH)/libpng12 -DPNG_THREAD_UNSAFE_OK \
|
||||
-DPNG_USE_PNGGCCRD"; \
|
||||
echo cppflags=\"-I$(INCPATH)/$(LIBNAME) -DPNG_THREAD_UNSAFE_OK \
|
||||
-DPNG_USE_PNGGCCRD\"; \
|
||||
echo cflags=\"\"; \
|
||||
echo ldflags=\"\"; \
|
||||
echo ldflags=\"-L$(LIBPATH) -Wl,-rpath,$(LIBPATH)\"; \
|
||||
echo libs=\"-lpng12 -lz -lm\"; \
|
||||
cat scripts/libpng-config-body.in ) > libpng-config
|
||||
chmod +x libpng-config
|
||||
|
||||
cat scripts/libpng-config.in | sed -e s\!@PREFIX@!$(prefix)! > \
|
||||
-e s!\#CFLAGS!-DPNG_THREAD_UNSAFE_OK -DPNG_USE_PNGGCCRD! \
|
||||
-e s!\#LIBS!-lm! > 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
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
ar rc $@ $(OBJS)
|
||||
$(RANLIB) $@
|
||||
|
||||
$(LIBNAME).so: $(LIBNAME).so.$(PNGMAJ)
|
||||
ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so
|
||||
|
||||
@@ -124,8 +125,9 @@ $(LIBNAME).so.$(PNGMAJ): $(LIBNAME).so.$(PNGVER)
|
||||
ln -sf $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ)
|
||||
|
||||
$(LIBNAME).so.$(PNGVER): $(OBJSDLL)
|
||||
$(CC) -shared -Wl,-soname,$(LIBNAME).so.$(PNGMAJ) -o $(LIBNAME).so.$(PNGVER) \
|
||||
$(OBJSDLL) -L$(ZLIBLIB) -lz -lm -lc
|
||||
$(CC) -shared -Wl,-soname,$(LIBNAME).so.$(PNGMAJ) \
|
||||
-o $(LIBNAME).so.$(PNGVER) \
|
||||
$(OBJSDLL) -L$(ZLIBLIB) -lz -lm -lc
|
||||
|
||||
pngtest: pngtest.o $(LIBNAME).so
|
||||
$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
|
||||
@@ -144,73 +146,76 @@ test: pngtest pngtest-static
|
||||
./pngtest-static
|
||||
|
||||
install-headers: png.h pngconf.h
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH) ]; then mkdir $(DESTDIR)$(INCPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH)/$(LIBNAME) ]; then \
|
||||
mkdir $(DESTDIR)$(INCPATH)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h $(DESTDIR)$(INCPATH)/$(LIBNAME)
|
||||
chmod 644 $(DESTDIR)$(INCPATH)/$(LIBNAME)/png.h \
|
||||
$(DESTDIR)$(INCPATH)/$(LIBNAME)/pngconf.h
|
||||
-@/bin/rm -f $(DESTDIR)$(INCPATH)/png.h $(DESTDIR)$(INCPATH)/pngconf.h
|
||||
-@/bin/rm -f $(DESTDIR)$(INCPATH)/libpng
|
||||
(cd $(DESTDIR)$(INCPATH); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .)
|
||||
-@if [ ! -d $(DI) ]; then mkdir $(DI); fi
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then mkdir $(DI)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
|
||||
-@/bin/rm -f $(DI)/png.h $(DI)/pngconf.h
|
||||
-@/bin/rm -f $(DI)/libpng
|
||||
(cd $(DI); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .)
|
||||
|
||||
install-static: install-headers libpng.a
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then mkdir $(DESTDIR)$(LIBPATH); fi
|
||||
cp libpng.a $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.a
|
||||
(cd $(DESTDIR)$(LIBPATH); ln -sf $(LIBNAME).a libpng.a)
|
||||
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
|
||||
cp libpng.a $(DL)/$(LIBNAME).a
|
||||
chmod 644 $(DL)/$(LIBNAME).a
|
||||
-@/bin/rm -f $(DL)/libpng.a
|
||||
(cd $(DL); ln -sf $(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then mkdir $(DESTDIR)$(LIBPATH); fi
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/$(LIBNAME).so.$(PNGMAJ)* \
|
||||
$(DESTDIR)$(LIBPATH)/$(LIBNAME).so
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so.3
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so.3.*
|
||||
cp $(LIBNAME).so.$(PNGVER) $(DESTDIR)$(LIBPATH)
|
||||
chmod 755 $(DESTDIR)$(LIBPATH)/$(LIBNAME).so.$(PNGVER)
|
||||
(cd $(DESTDIR)$(LIBPATH); \
|
||||
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
|
||||
-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)* $(DL)/$(LIBNAME).so
|
||||
-@/bin/rm -f $(DL)/libpng.so
|
||||
-@/bin/rm -f $(DL)/libpng.so.3
|
||||
-@/bin/rm -f $(DL)/libpng.so.3.*
|
||||
cp $(LIBNAME).so.$(PNGVER) $(DL)
|
||||
chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
|
||||
(cd $(DL); \
|
||||
ln -sf $(LIBNAME).so.$(PNGVER) libpng.so; \
|
||||
ln -sf $(LIBNAME).so.$(PNGVER) libpng.so.3; \
|
||||
ln -sf $(LIBNAME).so.$(PNGVER) libpng.so.3.$(PNGMIN); \
|
||||
ln -sf $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
|
||||
ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then \
|
||||
mkdir $(DESTDIR)$(LIBPATH)/pkgconfig; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
|
||||
cp libpng.pc $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -sf $(LIBNAME).pc libpng.pc)
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then mkdir $(DL)/pkgconfig; fi
|
||||
-@/bin/rm -f $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@/bin/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 $(DESTDIR)$(MANPATH) ]; then mkdir $(DESTDIR)$(MANPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH)/man3 ]; then \
|
||||
mkdir $(DESTDIR)$(MANPATH)/man3; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpng.3
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpngpf.3
|
||||
cp libpng.3 $(DESTDIR)$(MANPATH)/man3
|
||||
cp libpngpf.3 $(DESTDIR)$(MANPATH)/man3
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH)/man5 ]; then \
|
||||
mkdir $(DESTDIR)$(MANPATH)/man5; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man5/png.5
|
||||
cp png.5 $(DESTDIR)$(MANPATH)/man5
|
||||
-@if [ ! -d $(DM) ]; then mkdir $(DM); fi
|
||||
-@if [ ! -d $(DM)/man3 ]; then mkdir $(DM)/man3; fi
|
||||
-@/bin/rm -f $(DM)/man3/libpng.3
|
||||
-@/bin/rm -f $(DM)/man3/libpngpf.3
|
||||
cp libpng.3 $(DM)/man3
|
||||
cp libpngpf.3 $(DM)/man3
|
||||
-@if [ ! -d $(DM)/man5 ]; then mkdir $(DM)/man5; fi
|
||||
-@/bin/rm -f $(DM)/man5/png.5
|
||||
cp png.5 $(DM)/man5
|
||||
|
||||
install-config: libpng-config
|
||||
-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
|
||||
mkdir $(DESTDIR)$(BINPATH); fi
|
||||
-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
|
||||
-@/bin/rm -f $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
cp libpng-config $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
chmod 755 $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
(cd $(DESTDIR)$(BINPATH); ln -sf $(LIBNAME)-config libpng-config)
|
||||
-@if [ ! -d $(DB) ]; then mkdir $(DB); fi
|
||||
-@/bin/rm -f $(DB)/libpng-config
|
||||
-@/bin/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.
|
||||
|
||||
test-installed:
|
||||
$(CC) -I$(ZLIBINC) \
|
||||
`$(BINPATH)/libpng12-config --cppflags --cflags` pngtest.c \
|
||||
-L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) \
|
||||
-o pngtesti `$(BINPATH)/libpng12-config --ldflags --libs`
|
||||
pngtesti pngtest.png
|
||||
|
||||
clean:
|
||||
/bin/rm -f *.o libpng.a $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* \
|
||||
pngtest pngout.png
|
||||
/bin/rm -f *.o libpng.a pngtest pngout.png libpng.pc libpng-config \
|
||||
$(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* pngtest-static pngtesti
|
||||
|
||||
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
|
||||
writelock:
|
||||
|
||||
@@ -26,16 +26,14 @@ WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
|
||||
|
||||
CFLAGS=-I$(ZLIBINC) -Wall -O3 -funroll-loops \
|
||||
$(ALIGN) # $(WARNMORE) -g -DPNG_DEBUG=5
|
||||
#LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng -lz -lm
|
||||
LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
|
||||
#LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng12 -lz -lm
|
||||
LDFLAGS=-L. -L$(ZLIBLIB) -lpng12 -lz -lm
|
||||
|
||||
RANLIB=ranlib
|
||||
#RANLIB=echo
|
||||
|
||||
# read libpng.txt or png.h to see why PNGMAJ is 0. You should not
|
||||
# have to change it.
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.3rc5
|
||||
PNGMIN = 1.2.4beta3
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
LIBNAME = libpng12
|
||||
|
||||
@@ -50,10 +48,15 @@ BINPATH=$(prefix)/bin
|
||||
# make install DESTDIR=/tmp/build/libpng
|
||||
#
|
||||
# If you're going to install into a temporary location
|
||||
# via DESTDIR, that location must already exist before
|
||||
# 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
|
||||
@@ -65,7 +68,7 @@ OBJSDLL = $(OBJS:.o=.pic.o)
|
||||
.c.pic.o:
|
||||
$(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
|
||||
|
||||
all: libpng.a $(LIBNAME).sl pngtest
|
||||
all: libpng.a $(LIBNAME).sl pngtest libpng.pc libpng-config
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
ar rc $@ $(OBJS)
|
||||
@@ -77,7 +80,7 @@ libpng.pc:
|
||||
libpng-config:
|
||||
( cat scripts/libpng-config-head.in; \
|
||||
echo prefix=\"$(prefix)\"; \
|
||||
echo cppflags=\"-I$(INCPATH)/libpng12"; \
|
||||
echo cppflags=\"-I$(INCPATH)/$(LIBNAME)\"; \
|
||||
echo cflags=\"\"; \
|
||||
echo ldflags=\"\"; \
|
||||
echo libs=\"-lpng12 -lz -lm\"; \
|
||||
@@ -102,71 +105,80 @@ test: pngtest
|
||||
|
||||
|
||||
install-headers: png.h pngconf.h
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH) ]; then \
|
||||
mkdir $(DESTDIR)$(INCPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH)/$(LIBNAME) ]; then \
|
||||
mkdir $(DESTDIR)$(INCPATH)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h $(DESTDIR)$(INCPATH)/$(LIBNAME)
|
||||
chmod 644 $(DESTDIR)$(INCPATH)/$(LIBNAME)/png.h \
|
||||
$(DESTDIR)$(INCPATH)/$(LIBNAME)/pngconf.h
|
||||
-@/bin/rm -f $(DESTDIR)$(INCPATH)/png.h $(DESTDIR)$(INCPATH)/pngconf.h
|
||||
-@/bin/rm -f $(DESTDIR)$(INCPATH)/libpng
|
||||
(cd $(DESTDIR)$(INCPATH); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .)
|
||||
-@if [ ! -d $(DI) ]; then mkdir $(DI); fi
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then mkdir $(DI)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
|
||||
-@/bin/rm -f $(DI)/png.h $(DI)/pngconf.h
|
||||
-@/bin/rm -f $(DI)/libpng
|
||||
(cd $(DI); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .)
|
||||
|
||||
install-static: install-headers libpng.a
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then mkdir $(DESTDIR)$(LIBPATH); fi
|
||||
cp libpng.a $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.a
|
||||
(cd $(DESTDIR)$(LIBPATH); ln -sf $(LIBNAME).a libpng.a)
|
||||
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
|
||||
cp libpng.a $(DL)/$(LIBNAME).a
|
||||
chmod 644 $(DL)/$(LIBNAME).a
|
||||
-@/bin/rm -f $(DL)/libpng.a
|
||||
(cd $(DL); ln -sf $(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers $(LIBNAME).sl.$(PNGVER) libpng.pc
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then mkdir $(DESTDIR)$(LIBPATH); fi
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/$(LIBNAME).sl.$(PNGMAJ)* \
|
||||
$(DESTDIR)$(LIBPATH)/$(LIBNAME).sl
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so.3
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so.3.*
|
||||
cp $(LIBNAME).sl.$(PNGVER) $(DESTDIR)$(LIBPATH)
|
||||
chmod 755 $(DESTDIR)$(LIBPATH)/$(LIBNAME).sl.$(PNGVER)
|
||||
(cd $(DESTDIR)$(LIBPATH); \
|
||||
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
|
||||
-@/bin/rm -f $(DL)/$(LIBNAME).sl.$(PNGMAJ)* $(DL)/$(LIBNAME).sl
|
||||
-@/bin/rm -f $(DL)/libpng.so
|
||||
-@/bin/rm -f $(DL)/libpng.so.3
|
||||
-@/bin/rm -f $(DL)/libpng.so.3.*
|
||||
cp $(LIBNAME).sl.$(PNGVER) $(DL)
|
||||
chmod 755 $(DL)/$(LIBNAME).sl.$(PNGVER)
|
||||
(cd $(DL); \
|
||||
ln -sf $(LIBNAME).so.$(PNGVER) libpng.so; \
|
||||
ln -sf $(LIBNAME).sl.$(PNGVER) libpng.sl.3; \
|
||||
ln -sf $(LIBNAME).sl.$(PNGVER) libpng.sl.3.$(PNGMIN); \
|
||||
ln -sf $(LIBNAME).sl.$(PNGVER) $(LIBNAME).sl.$(PNGMAJ); \
|
||||
ln -sf $(LIBNAME).sl.$(PNGMAJ) $(LIBNAME).sl)
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then mkdir \
|
||||
$(DESTDIR)$(LIBPATH)/pkgconfig; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
|
||||
cp libpng.pc $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -sf $(LIBNAME).pc libpng.pc)
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then mkdir \
|
||||
$(DL)/pkgconfig; fi
|
||||
-@/bin/rm -f $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@/bin/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 $(DESTDIR)$(MANPATH) ]; then mkdir $(DESTDIR)$(MANPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH)/man3 ]; then \
|
||||
mkdir $(DESTDIR)$(MANPATH)/man3; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpng.3
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpngpf.3
|
||||
cp libpng.3 $(DESTDIR)$(MANPATH)/man3
|
||||
cp libpngpf.3 $(DESTDIR)$(MANPATH)/man3
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH)/man5 ]; then \
|
||||
mkdir $(DESTDIR)$(MANPATH)/man5; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man5/png.5
|
||||
cp png.5 $(DESTDIR)$(MANPATH)/man5
|
||||
-@if [ ! -d $(DM) ]; then mkdir $(DM); fi
|
||||
-@if [ ! -d $(DM)/man3 ]; then mkdir $(DM)/man3; fi
|
||||
-@/bin/rm -f $(DM)/man3/libpng.3
|
||||
-@/bin/rm -f $(DM)/man3/libpngpf.3
|
||||
cp libpng.3 $(DM)/man3
|
||||
cp libpngpf.3 $(DM)/man3
|
||||
-@if [ ! -d $(DM)/man5 ]; then mkdir $(DM)/man5; fi
|
||||
-@/bin/rm -f $(DM)/man5/png.5
|
||||
cp png.5 $(DM)/man5
|
||||
|
||||
install-config: libpng-config
|
||||
-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
|
||||
mkdir $(DESTDIR)$(BINPATH); fi
|
||||
-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
|
||||
-@/bin/rm -f $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
cp libpng-config $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
chmod 755 $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
(cd $(DESTDIR)$(BINPATH); ln -sf $(LIBNAME)-config libpng-config)
|
||||
-@if [ ! -d $(DB) ]; then mkdir $(DB); fi
|
||||
-@/bin/rm -f $(DB)/libpng-config
|
||||
-@/bin/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.
|
||||
|
||||
test-installed:
|
||||
echo
|
||||
echo Testing installed dynamic shared library.
|
||||
$(CC) -I$(ZLIBINC) \
|
||||
`$(BINPATH)/libpng12-config --cppflags --cflags` pngtest.c \
|
||||
-L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) \
|
||||
-o pngtesti `$(BINPATH)/libpng12-config --ldflags --libs`
|
||||
pngtesti pngtest.png
|
||||
|
||||
clean:
|
||||
/bin/rm -f *.o libpng.a pngtest pngtesti pngout.png libpng.pc \
|
||||
libpng-config $(LIBNAME).sl $(LIBNAME).sl.$(PNGMAJ)*
|
||||
|
||||
clean:
|
||||
/bin/rm -f *.o libpng.a $(SHAREDLIB).sl $(SHAREDLIB).sl.$(PNGMAJ)* \
|
||||
pngtest pngout.png
|
||||
|
||||
@@ -16,10 +16,8 @@ LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
|
||||
|
||||
RANLIB=ranlib
|
||||
|
||||
# read libpng.txt or png.h to see why PNGMAJ is 0. You should not
|
||||
# have to change it.
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.3rc5
|
||||
PNGMIN = 1.2.4beta3
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
LIBNAME = libpng12
|
||||
|
||||
@@ -36,10 +34,15 @@ BINPATH=$(prefix)/bin
|
||||
# make install DESTDIR=/tmp/build/libpng
|
||||
#
|
||||
# If you're going to install into a temporary location
|
||||
# via DESTDIR, that location must already exist before
|
||||
# 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
|
||||
@@ -51,7 +54,7 @@ OBJSDLL = $(OBJS:.o=.pic.o)
|
||||
.c.pic.o:
|
||||
$(CC) -c $(CFLAGS) +z -o $@ $*.c
|
||||
|
||||
all: libpng.a $(LIBNAME).sl pngtest
|
||||
all: libpng.a $(LIBNAME).sl pngtest libpng.pc libpng-config
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
ar rc $@ $(OBJS)
|
||||
@@ -63,7 +66,7 @@ libpng.pc:
|
||||
libpng-config:
|
||||
( cat scripts/libpng-config-head.in; \
|
||||
echo prefix=\"$(prefix)\"; \
|
||||
echo cppflags=\"-I$(INCPATH)/libpng12"; \
|
||||
echo cppflags=\"-I$(INCPATH)/$(LIBNAME)\"; \
|
||||
echo cflags=\"-Ae +DA1.1 +DS2.0"; \
|
||||
echo ldflags=\"-L$(LIBPATH)\"; \
|
||||
echo libs=\"-lpng12 -lz -lm\"; \
|
||||
@@ -88,73 +91,78 @@ test: pngtest
|
||||
./pngtest
|
||||
|
||||
install-headers: png.h pngconf.h
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH) ]; then mkdir $(DESTDIR)$(INCPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH)/$(LIBNAME) ]; then \
|
||||
mkdir $(DESTDIR)$(INCPATH)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h $(DESTDIR)$(INCPATH)/$(LIBNAME)
|
||||
chmod 644 $(DESTDIR)$(INCPATH)/$(LIBNAME)/png.h \
|
||||
$(DESTDIR)$(INCPATH)/$(LIBNAME)/pngconf.h
|
||||
-@/bin/rm -f $(DESTDIR)$(INCPATH)/png.h $(DESTDIR)$(INCPATH)/pngconf.h
|
||||
-@/bin/rm -f $(DESTDIR)$(INCPATH)/libpng
|
||||
(cd $(DESTDIR)$(INCPATH); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .)
|
||||
-@if [ ! -d $(DI) ]; then mkdir $(DI); fi
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then mkdir $(DI)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
|
||||
-@/bin/rm -f $(DI)/png.h $(DI)/pngconf.h
|
||||
-@/bin/rm -f $(DI)/libpng
|
||||
(cd $(DI); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .)
|
||||
|
||||
install-static: install-headers libpng.a
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then mkdir $(DESTDIR)$(LIBPATH); fi
|
||||
cp libpng.a $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.a
|
||||
(cd $(DESTDIR)$(LIBPATH); ln -sf $(LIBNAME).a libpng.a)
|
||||
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
|
||||
cp libpng.a $(DL)/$(LIBNAME).a
|
||||
chmod 644 $(DL)/$(LIBNAME).a
|
||||
-@/bin/rm -f $(DL)/libpng.a
|
||||
(cd $(DL); ln -sf $(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers $(LIBNAME).sl.$(PNGVER) libpng.pc
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then mkdir $(DESTDIR)$(LIBPATH); fi
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/$(LIBNAME).sl.$(PNGMAJ)* \
|
||||
$(DESTDIR)$(LIBPATH)/$(LIBNAME).sl
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.sl
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.sl.3
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.sl.3.*
|
||||
cp $(LIBNAME).sl.$(PNGVER) $(DESTDIR)$(LIBPATH)
|
||||
chmod 755 $(DESTDIR)$(LIBPATH)/$(LIBNAME).sl.$(PNGVER)
|
||||
(cd $(DESTDIR)$(LIBPATH); \
|
||||
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
|
||||
-@/bin/rm -f $(DL)/$(LIBNAME).sl.$(PNGMAJ)* $(DL)/$(LIBNAME).sl
|
||||
-@/bin/rm -f $(DL)/libpng.sl
|
||||
-@/bin/rm -f $(DL)/libpng.sl.3
|
||||
-@/bin/rm -f $(DL)/libpng.sl.3.*
|
||||
cp $(LIBNAME).sl.$(PNGVER) $(DL)
|
||||
chmod 755 $(DL)/$(LIBNAME).sl.$(PNGVER)
|
||||
(cd $(DL); \
|
||||
ln -sf $(LIBNAME).sl.$(PNGVER) libpng.sl; \
|
||||
ln -sf $(LIBNAME).sl.$(PNGVER) libpng.sl.3; \
|
||||
ln -sf $(LIBNAME).sl.$(PNGVER) libpng.sl.3.$(PNGMIN); \
|
||||
ln -sf $(LIBNAME).sl.$(PNGVER) $(LIBNAME).sl.$(PNGMAJ); \
|
||||
ln -sf $(LIBNAME).sl.$(PNGMAJ) $(LIBNAME).sl)
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then \
|
||||
mkdir $(DESTDIR)$(LIBPATH)/pkgconfig; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
|
||||
cp libpng.pc $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -sf $(LIBNAME).pc libpng.pc)
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then mkdir $(DL)/pkgconfig; fi
|
||||
-@/bin/rm -f $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@/bin/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 $(DESTDIR)$(MANPATH) ]; then mkdir $(DESTDIR)$(MANPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH)/man3 ]; then \
|
||||
mkdir $(DESTDIR)$(MANPATH)/man3; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpng.3
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpngpf.3
|
||||
cp libpng.3 $(DESTDIR)$(MANPATH)/man3
|
||||
cp libpngpf.3 $(DESTDIR)$(MANPATH)/man3
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH)/man5 ]; then \
|
||||
mkdir $(DESTDIR)$(MANPATH)/man5; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man5/png.5
|
||||
cp png.5 $(DESTDIR)$(MANPATH)/man5
|
||||
-@if [ ! -d $(DM) ]; then mkdir $(DM); fi
|
||||
-@if [ ! -d $(DM)/man3 ]; then mkdir $(DM)/man3; fi
|
||||
-@/bin/rm -f $(DM)/man3/libpng.3
|
||||
-@/bin/rm -f $(DM)/man3/libpngpf.3
|
||||
cp libpng.3 $(DM)/man3
|
||||
cp libpngpf.3 $(DM)/man3
|
||||
-@if [ ! -d $(DM)/man5 ]; then mkdir $(DM)/man5; fi
|
||||
-@/bin/rm -f $(DM)/man5/png.5
|
||||
cp png.5 $(DM)/man5
|
||||
|
||||
install-config: libpng-config
|
||||
-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
|
||||
mkdir $(DESTDIR)$(BINPATH); fi
|
||||
-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
|
||||
-@/bin/rm -f $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
cp libpng-config $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
chmod 755 $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
(cd $(DESTDIR)$(BINPATH); ln -sf $(LIBNAME)-config libpng-config)
|
||||
-@if [ ! -d $(DB) ]; then mkdir $(DB); fi
|
||||
-@/bin/rm -f $(DB)/libpng-config
|
||||
-@/bin/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.
|
||||
|
||||
test-installed:
|
||||
echo
|
||||
echo Testing installed dynamic shared library.
|
||||
$(CC) $(CCFLAGS) \
|
||||
`$(BINPATH)/libpng12-config --cppflags --cflags` pngtest.c \
|
||||
-L$(ZLIBLIB) \
|
||||
-o pngtesti `$(BINPATH)/libpng12-config --ldflags --libs`
|
||||
pngtesti pngtest.png
|
||||
|
||||
clean:
|
||||
/bin/rm -f *.o libpng.a $(LIBNAME).sl $(LIBNAME).sl.$(PNGMAJ)* \
|
||||
pngtest pngout.png
|
||||
/bin/rm -f *.o libpng.a pngtest pngtesti pngout.png libpng.pc \
|
||||
libpng-config $(LIBNAME).sl $(LIBNAME).sl.$(PNGMAJ)*
|
||||
|
||||
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
|
||||
writelock:
|
||||
|
||||
@@ -19,7 +19,7 @@ LIBPATH=$(prefix)/lib
|
||||
# make install DESTDIR=/tmp/build/libpng
|
||||
#
|
||||
# If you're going to install into a temporary location
|
||||
# via DESTDIR, that location must already exist before
|
||||
# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
|
||||
# you execute make install.
|
||||
DESTDIR=
|
||||
|
||||
|
||||
@@ -5,16 +5,17 @@
|
||||
|
||||
LIBNAME = libpng12
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.3rc5
|
||||
PNGMIN = 1.2.4beta3
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
CC=gcc
|
||||
|
||||
# where "make install" puts libpng12.a, libpng12/libpng12.so*,
|
||||
# where "make install" puts libpng12.a, libpng12.so*,
|
||||
# libpng12/png.h and libpng12/pngconf.h
|
||||
# Prefix must be a full pathname.
|
||||
prefix=/usr/local
|
||||
|
||||
# Where the zlib library and include files are located
|
||||
# Where the zlib library and include files are located.
|
||||
#ZLIBLIB=/usr/local/lib
|
||||
#ZLIBINC=/usr/local/include
|
||||
ZLIBLIB=../zlib
|
||||
@@ -50,10 +51,15 @@ BINPATH=$(prefix)/bin
|
||||
# make install DESTDIR=/tmp/build/libpng
|
||||
#
|
||||
# If you're going to install into a temporary location
|
||||
# via DESTDIR, that location must already exist before
|
||||
# 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
|
||||
@@ -65,7 +71,7 @@ OBJSDLL = $(OBJS:.o=.pic.o)
|
||||
.c.pic.o:
|
||||
$(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
|
||||
|
||||
all: libpng.a $(LIBNAME).so pngtest
|
||||
all: libpng.a $(LIBNAME).so pngtest pngtest-static libpng.pc libpng-config
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
ar rc $@ $(OBJS)
|
||||
@@ -77,17 +83,13 @@ libpng.pc:
|
||||
libpng-config:
|
||||
( cat scripts/libpng-config-head.in; \
|
||||
echo prefix=\"$(prefix)\"; \
|
||||
echo cppflags=\"-I$(INCPATH)/libpng12"; \
|
||||
echo cppflags=\"-I$(INCPATH)/$(LIBNAME)\"; \
|
||||
echo cflags=\"\"; \
|
||||
echo ldflags=\"-L$(LIBPATH) -Wl,-rpath,$(LIBPATH)"; \
|
||||
echo ldflags=\"-L$(LIBPATH) -Wl,-rpath,$(LIBPATH)\"; \
|
||||
echo libs=\"-lpng12 -lz -lm\"; \
|
||||
cat scripts/libpng-config-body.in ) > libpng-config
|
||||
chmod +x libpng-config
|
||||
|
||||
cat scripts/libpng-config.in | sed -e s\!@PREFIX@!$(prefix)! > \
|
||||
-e s!\#LIBS!-lm! > libpng-config
|
||||
chmod +x libpng-config
|
||||
|
||||
$(LIBNAME).so: $(LIBNAME).so.$(PNGMAJ)
|
||||
ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so
|
||||
|
||||
@@ -107,7 +109,7 @@ pngtest-static: pngtest.o libpng.a
|
||||
|
||||
test: pngtest pngtest-static
|
||||
@echo ""
|
||||
@echo " Running pngtest dynamically linked with libpng12.so:"
|
||||
@echo " Running pngtest dynamically linked with $(LIBNAME).so:"
|
||||
@echo ""
|
||||
./pngtest
|
||||
@echo ""
|
||||
@@ -116,73 +118,76 @@ test: pngtest pngtest-static
|
||||
./pngtest-static
|
||||
|
||||
install-headers: png.h pngconf.h
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH) ]; then mkdir $(DESTDIR)$(INCPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH)/$(LIBNAME) ]; then \
|
||||
mkdir $(DESTDIR)$(INCPATH)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h $(DESTDIR)$(INCPATH)/$(LIBNAME)
|
||||
chmod 644 $(DESTDIR)$(INCPATH)/$(LIBNAME)/png.h \
|
||||
$(DESTDIR)$(INCPATH)/$(LIBNAME)/pngconf.h
|
||||
-@/bin/rm -f $(DESTDIR)$(INCPATH)/png.h $(DESTDIR)$(INCPATH)/pngconf.h
|
||||
-@/bin/rm -f $(DESTDIR)$(INCPATH)/libpng
|
||||
(cd $(DESTDIR)$(INCPATH); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .)
|
||||
-@if [ ! -d $(DI) ]; then mkdir $(DI); fi
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then mkdir $(DI)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
|
||||
-@/bin/rm -f $(DI)/png.h $(DI)/pngconf.h
|
||||
-@/bin/rm -f $(DI)/libpng
|
||||
(cd $(DI); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .)
|
||||
|
||||
install-static: install-headers libpng.a
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then mkdir $(DESTDIR)$(LIBPATH); fi
|
||||
cp libpng.a $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.a
|
||||
(cd $(DESTDIR)$(LIBPATH); ln -sf $(LIBNAME).a libpng.a)
|
||||
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
|
||||
cp libpng.a $(DL)/$(LIBNAME).a
|
||||
chmod 644 $(DL)/$(LIBNAME).a
|
||||
-@/bin/rm -f $(DL)/libpng.a
|
||||
(cd $(DL); ln -sf $(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then mkdir $(DESTDIR)$(LIBPATH); fi
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/$(LIBNAME).so.$(PNGMAJ)* \
|
||||
$(DESTDIR)$(LIBPATH)/$(LIBNAME).so
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so.3
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so.3.*
|
||||
cp $(LIBNAME).so.$(PNGVER) $(DESTDIR)$(LIBPATH)
|
||||
chmod 755 $(DESTDIR)$(LIBPATH)/$(LIBNAME).so.$(PNGVER)
|
||||
(cd $(DESTDIR)$(LIBPATH); \
|
||||
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
|
||||
-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)* $(DL)/$(LIBNAME).so
|
||||
-@/bin/rm -f $(DL)/libpng.so
|
||||
-@/bin/rm -f $(DL)/libpng.so.3
|
||||
-@/bin/rm -f $(DL)/libpng.so.3.*
|
||||
cp $(LIBNAME).so.$(PNGVER) $(DL)
|
||||
chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
|
||||
(cd $(DL); \
|
||||
ln -sf $(LIBNAME).so.$(PNGVER) libpng.so; \
|
||||
ln -sf $(LIBNAME).so.$(PNGVER) libpng.so.3; \
|
||||
ln -sf $(LIBNAME).so.$(PNGVER) libpng.so.3.$(PNGMIN); \
|
||||
ln -sf $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
|
||||
ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then mkdir \
|
||||
$(DESTDIR)$(LIBPATH)/pkgconfig; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
|
||||
cp libpng.pc $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -sf $(LIBNAME).pc libpng.pc)
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then mkdir $(DL)/pkgconfig; fi
|
||||
-@/bin/rm -f $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@/bin/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 $(DESTDIR)$(MANPATH) ]; then mkdir $(DESTDIR)$(MANPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH)/man3 ]; then \
|
||||
mkdir $(DESTDIR)$(MANPATH)/man3; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpng.3
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpngpf.3
|
||||
cp libpng.3 $(DESTDIR)$(MANPATH)/man3
|
||||
cp libpngpf.3 $(DESTDIR)$(MANPATH)/man3
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH)/man5 ]; then \
|
||||
mkdir $(DESTDIR)$(MANPATH)/man5; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man5/png.5
|
||||
cp png.5 $(DESTDIR)$(MANPATH)/man5
|
||||
-@if [ ! -d $(DM) ]; then mkdir $(DM); fi
|
||||
-@if [ ! -d $(DM)/man3 ]; then mkdir $(DM)/man3; fi
|
||||
-@/bin/rm -f $(DM)/man3/libpng.3
|
||||
-@/bin/rm -f $(DM)/man3/libpngpf.3
|
||||
cp libpng.3 $(DM)/man3
|
||||
cp libpngpf.3 $(DM)/man3
|
||||
-@if [ ! -d $(DM)/man5 ]; then mkdir $(DM)/man5; fi
|
||||
-@/bin/rm -f $(DM)/man5/png.5
|
||||
cp png.5 $(DM)/man5
|
||||
|
||||
install-config: libpng-config
|
||||
-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
|
||||
mkdir $(DESTDIR)$(BINPATH); fi
|
||||
-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
|
||||
-@/bin/rm -f $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
cp libpng-config $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
chmod 755 $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
(cd $(DESTDIR)$(BINPATH); ln -sf $(LIBNAME)-config libpng-config)
|
||||
-@if [ ! -d $(DB) ]; then mkdir $(DB); fi
|
||||
-@/bin/rm -f $(DB)/libpng-config
|
||||
-@/bin/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.
|
||||
|
||||
test-installed:
|
||||
$(CC) -I$(ZLIBINC) \
|
||||
`$(BINPATH)/libpng12-config --cppflags --cflags` pngtest.c \
|
||||
-L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) \
|
||||
-o pngtesti `$(BINPATH)/libpng12-config --ldflags --libs`
|
||||
pngtesti pngtest.png
|
||||
|
||||
clean:
|
||||
/bin/rm -f *.o libpng.a $(LIBNAME).so $(LIBNAME).so.$(PNMAJ)* \
|
||||
pngtest pngout.png
|
||||
/bin/rm -f *.o libpng.a pngtest pngout.png libpng.pc libpng-config \
|
||||
$(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* pngtest-static pngtesti
|
||||
|
||||
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
|
||||
writelock:
|
||||
|
||||
@@ -17,7 +17,7 @@ ZLIBINC=../zlib
|
||||
CC=cc
|
||||
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.3rc5
|
||||
PNGMIN = 1.2.4beta3
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
CFLAGS=-fno-common -I$(ZLIBINC) -O # -g -DPNG_DEBUG=5
|
||||
@@ -38,10 +38,15 @@ BINPATH=$(prefix)/bin
|
||||
# make install DESTDIR=/tmp/build/libpng
|
||||
#
|
||||
# If you're going to install into a temporary location
|
||||
# via DESTDIR, that location must already exist before
|
||||
# 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)
|
||||
|
||||
#RANLIB=echo
|
||||
RANLIB=ranlib
|
||||
|
||||
@@ -49,7 +54,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 shared
|
||||
all: libpng.a pngtest shared libpng.pc libpng-config
|
||||
|
||||
shared: $(LIBNAME).$(PNGVER).$(SHAREDLIB_POSTFIX)
|
||||
|
||||
@@ -60,17 +65,13 @@ libpng.pc:
|
||||
libpng-config:
|
||||
( cat scripts/libpng-config-head.in; \
|
||||
echo prefix=\"$(prefix)\"; \
|
||||
echo cppflags=\"-I$(INCPATH)/libpng12"; \
|
||||
echo cppflags=\"-I$(INCPATH)/$(LIBNAME)\"; \
|
||||
echo cflags=\"\"; \
|
||||
echo ldflags=\"-L$(LIBPATH)\"; \
|
||||
echo libs=\"-lpng12 -lz\"; \
|
||||
cat scripts/libpng-config-body.in ) > libpng-config
|
||||
chmod +x libpng-config
|
||||
|
||||
cat scripts/libpng-config.in | sed -e s\!@PREFIX@!$(prefix)! > \
|
||||
libpng-config
|
||||
chmod +x libpng-config
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
ar rc $@ $(OBJS)
|
||||
$(RANLIB) $@
|
||||
@@ -85,35 +86,32 @@ test: pngtest
|
||||
./pngtest
|
||||
|
||||
install-headers: png.h pngconf.h
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH) ]; then mkdir $(DESTDIR)$(INCPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH)/$(LIBNAME) ]; then \
|
||||
mkdir $(DESTDIR)$(INCPATH)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h $(DESTDIR)$(INCPATH)/$(LIBNAME)
|
||||
chmod 644 $(DESTDIR)$(INCPATH)/$(LIBNAME)/png.h \
|
||||
$(DESTDIR)$(INCPATH)/$(LIBNAME)/pngconf.h
|
||||
-@/bin/rm -f $(DESTDIR)$(INCPATH)/png.h $(DESTDIR)$(INCPATH)/pngconf.h
|
||||
-@/bin/rm -f $(DESTDIR)$(INCPATH)/libpng
|
||||
(cd $(DESTDIR)$(INCPATH); ln -f -s $(LIBNAME) libpng; \
|
||||
ln -f -s $(LIBNAME)/* .)
|
||||
-@if [ ! -d $(DI) ]; then mkdir $(DI); fi
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then mkdir $(DI)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
|
||||
-@/bin/rm -f $(DI)/png.h $(DI)/pngconf.h
|
||||
-@/bin/rm -f $(DI)/libpng
|
||||
(cd $(DI); ln -f -s $(LIBNAME) libpng; ln -f -s $(LIBNAME)/* .)
|
||||
|
||||
install-static: install-headers libpng.a
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then mkdir $(DESTDIR)$(LIBPATH); fi
|
||||
cp libpng.a $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.a
|
||||
(cd $(DESTDIR)$(LIBPATH); ln -f -s $(LIBNAME).a libpng.a)
|
||||
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
|
||||
cp libpng.a $(DL)/$(LIBNAME).a
|
||||
chmod 644 $(DL)/$(LIBNAME).a
|
||||
-@/bin/rm -f $(DL)/libpng.a
|
||||
(cd $(DL); ln -f -s $(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers $(LIBNAME).$(PNGVER).$(SHAREDLIB_POSTFIX) libpng.pc
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then mkdir $(DESTDIR)$(LIBPATH); fi
|
||||
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
|
||||
-@/bin/rm -f \
|
||||
$(DESTDIR)$(LIBPATH)/$(LIBNAME).$(PNGMAJ)*.$(SHAREDLIB_POSTFIX)
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/$(LIBNAME).$(SHAREDLIB_POSTFIX)
|
||||
$(DL)/$(LIBNAME).$(PNGMAJ)*.$(SHAREDLIB_POSTFIX)
|
||||
-@/bin/rm -f $(DL)/$(LIBNAME).$(SHAREDLIB_POSTFIX)
|
||||
-@/bin/rm -f libpng.$(SHARED_POSTFIX)
|
||||
-@/bin/rm -f libpng.3.$(SHARED_POSTFIX)
|
||||
-@/bin/rm -f libpng.3.*.$(SHARED_POSTFIX)
|
||||
cp $(LIBNAME).$(PNGVER).$(SHAREDLIB_POSTFIX) $(DESTDIR)$(LIBPATH)
|
||||
chmod 755 $(DESTDIR)$(LIBPATH)/$(LIBNAME).$(PNGVER).$(SHAREDLIB_POSTFIX)
|
||||
(cd $(DESTDIR)$(LIBPATH); \
|
||||
cp $(LIBNAME).$(PNGVER).$(SHAREDLIB_POSTFIX) $(DL)
|
||||
chmod 755 $(DL)/$(LIBNAME).$(PNGVER).$(SHAREDLIB_POSTFIX)
|
||||
(cd $(DL); \
|
||||
ln -f -s $(LIBNAME).$(PNGVER).$(SHARED_POSTFIX) \
|
||||
libpng.$(SHARED_POSTFIX); \
|
||||
ln -f -s $(LIBNAME).$(PNGVER).$(SHARED_POSTFIX) \
|
||||
@@ -124,40 +122,46 @@ install-shared: install-headers $(LIBNAME).$(PNGVER).$(SHAREDLIB_POSTFIX) libpng
|
||||
$(LIBNAME).$(PNGMAJ).$(SHAREDLIB_POSTFIX); \
|
||||
ln -f -s $(LIBNAME).$(PNGMAJ).$(SHAREDLIB_POSTFIX) \
|
||||
$(LIBNAME).$(SHAREDLIB_POSTFIX))
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then \
|
||||
mkdir $(DESTDIR)$(LIBPATH)/pkgconfig; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
|
||||
cp libpng.pc $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -f -s $(LIBNAME).pc libpng.pc)
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then mkdir $(DL)/pkgconfig; fi
|
||||
-@/bin/rm -f $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@/bin/rm -f $(DL)/pkgconfig/libpng.pc
|
||||
cp libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
chmod 644 $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
(cd $(DL)/pkgconfig; ln -f -s $(LIBNAME).pc libpng.pc)
|
||||
|
||||
install-man: libpng.3 libpngpf.3 png.5
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH) ]; then mkdir $(DESTDIR)$(MANPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH)/man3 ]; then \
|
||||
mkdir $(DESTDIR)$(MANPATH)/man3; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpng.3
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpngpf.3
|
||||
cp libpng.3 $(DESTDIR)$(MANPATH)/man3
|
||||
cp libpngpf.3 $(DESTDIR)$(MANPATH)/man3
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH)/man5 ]; then \
|
||||
mkdir $(DESTDIR)$(MANPATH)/man5; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man5/png.5
|
||||
cp png.5 $(DESTDIR)$(MANPATH)/man5
|
||||
-@if [ ! -d $(DM) ]; then mkdir $(DM); fi
|
||||
-@if [ ! -d $(DM)/man3 ]; then mkdir $(DM)/man3; fi
|
||||
-@/bin/rm -f $(DM)/man3/libpng.3
|
||||
-@/bin/rm -f $(DM)/man3/libpngpf.3
|
||||
cp libpng.3 $(DM)/man3
|
||||
cp libpngpf.3 $(DM)/man3
|
||||
-@if [ ! -d $(DM)/man5 ]; then mkdir $(DM)/man5; fi
|
||||
-@/bin/rm -f $(DM)/man5/png.5
|
||||
cp png.5 $(DM)/man5
|
||||
|
||||
install-config: libpng-config
|
||||
-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
|
||||
mkdir $(DESTDIR)$(BINPATH); fi
|
||||
-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
|
||||
-@/bin/rm -f $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
cp libpng-config $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
chmod 755 $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
(cd $(DESTDIR)$(BINPATH); ln -sf $(LIBNAME)-config libpng-config)
|
||||
-@if [ ! -d $(DB) ]; then mkdir $(DB); fi
|
||||
-@/bin/rm -f $(DB)/libpng-config
|
||||
-@/bin/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.
|
||||
|
||||
test-installed:
|
||||
$(CC) $(CFLAGS) \
|
||||
`$(BINPATH)/libpng12-config --cppflags --cflags` pngtest.c \
|
||||
-L$(ZLIBLIB) \
|
||||
-o pngtesti `$(BINPATH)/libpng12-config --ldflags --libs`
|
||||
pngtesti pngtest.png
|
||||
|
||||
clean:
|
||||
rm -f *.o libpng.a pngtest pngout.png \
|
||||
rm -f *.o libpng.a pngtest pngout.png libpng.pc libpng-config \
|
||||
$(LIBNAME).$(PNGVER).$(SHAREDLIB_POSTFIX) \
|
||||
$(LIBNAME).$(SHAREDLIB_POSTFIX)
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ LIBPATH=$(prefix)/lib
|
||||
# make install DESTDIR=/tmp/build/libpng
|
||||
#
|
||||
# If you're going to install into a temporary location
|
||||
# via DESTDIR, that location must already exist before
|
||||
# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
|
||||
# you execute make install.
|
||||
DESTDIR=
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ INCSDIR=${LOCALBASE}/include/libpng12
|
||||
|
||||
LIB= png12
|
||||
SHLIB_MAJOR= 0
|
||||
SHLIB_MINOR= 1.2.3rc5
|
||||
SHLIB_MINOR= 1.2.4beta3
|
||||
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
|
||||
|
||||
@@ -13,7 +13,7 @@ INCSDIR=${LOCALBASE}/include/libpng
|
||||
|
||||
LIB= png
|
||||
SHLIB_MAJOR= 3
|
||||
SHLIB_MINOR= 1.2.3rc5
|
||||
SHLIB_MINOR= 1.2.4beta3
|
||||
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
|
||||
|
||||
@@ -7,7 +7,7 @@ LIBDIR= ${PREFIX}/lib
|
||||
MANDIR= ${PREFIX}/man/cat
|
||||
|
||||
SHLIB_MAJOR= 0
|
||||
SHLIB_MINOR= 1.2.3rc4
|
||||
SHLIB_MINOR= 1.2.4beta3
|
||||
|
||||
LIB= png
|
||||
SRCS= png.c pngerror.c pnggccrd.c pngget.c pngmem.c pngpread.c \
|
||||
|
||||
@@ -18,15 +18,13 @@ ZLIBLIB=../zlib
|
||||
ZLIBINC=../zlib
|
||||
|
||||
CFLAGS= -dy -belf -I$(ZLIBINC) -O3
|
||||
LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
|
||||
LDFLAGS=-L. -L$(ZLIBLIB) -lpng12 -lz -lm
|
||||
|
||||
#RANLIB=ranlib
|
||||
RANLIB=echo
|
||||
|
||||
# read libpng.txt or png.h to see why PNGMAJ is 0. You should not
|
||||
# have to change it.
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.3rc5
|
||||
PNGMIN = 1.2.4beta3
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
LIBNAME = libpng12
|
||||
|
||||
@@ -41,10 +39,15 @@ BINPATH=$(prefix)/bin
|
||||
# make install DESTDIR=/tmp/build/libpng
|
||||
#
|
||||
# If you're going to install into a temporary location
|
||||
# via DESTDIR, that location must already exist before
|
||||
# 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
|
||||
@@ -56,7 +59,7 @@ OBJSDLL = $(OBJS:.o=.pic.o)
|
||||
.c.pic.o:
|
||||
$(CC) -c $(CFLAGS) -KPIC -o $@ $*.c
|
||||
|
||||
all: libpng.a $(LIBNAME).so pngtest
|
||||
all: libpng.a $(LIBNAME).so pngtest libpng.pc libpng-config
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
ar rc $@ $(OBJS)
|
||||
@@ -68,7 +71,7 @@ libpng.pc:
|
||||
libpng-config:
|
||||
( cat scripts/libpng-config-head.in; \
|
||||
echo prefix=\"$(prefix)\"; \
|
||||
echo cppflags=\"-I$(INCPATH)/libpng12"; \
|
||||
echo cppflags=\"-I$(INCPATH)/$(LIBNAME)\"; \
|
||||
echo cflags=\"-belf\"; \
|
||||
echo ldflags=\"-L$(LIBPATH)\"; \
|
||||
echo libs=\"-lpng12 -lz -lm\"; \
|
||||
@@ -93,70 +96,62 @@ test: pngtest
|
||||
|
||||
|
||||
install-headers: png.h pngconf.h
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH) ]; then mkdir $(DESTDIR)$(INCPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH)/$(LIBNAME) ]; then \
|
||||
mkdir $(DESTDIR)$(INCPATH)/$(LIBNAME); fi
|
||||
-@/bin/rm -f $(DESTDIR)$(INCPATH)/png.h
|
||||
-@/bin/rm -f $(DESTDIR)$(INCPATH)/pngconf.h
|
||||
cp png.h pngconf.h $(DESTDIR)$(INCPATH)/$(LIBNAME)
|
||||
chmod 644 $(DESTDIR)$(INCPATH)/$(LIBNAME)/png.h \
|
||||
$(DESTDIR)$(INCPATH)/$(LIBNAME)/pngconf.h
|
||||
-@/bin/rm -f $(DESTDIR)$(INCPATH)/png.h $(DESTDIR)$(INCPATH)/pngconf.h
|
||||
-@/bin/rm -f $(DESTDIR)$(INCPATH)/libpng
|
||||
(cd $(DESTDIR)$(INCPATH); ln -f -s $(LIBNAME) libpng; \
|
||||
ln -f -s $(LIBNAME)/* .)
|
||||
-@if [ ! -d $(DI) ]; then mkdir $(DI); fi
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then mkdir $(DI)/$(LIBNAME); fi
|
||||
-@/bin/rm -f $(DI)/png.h
|
||||
-@/bin/rm -f $(DI)/pngconf.h
|
||||
cp png.h pngconf.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
|
||||
-@/bin/rm -f $(DI)/png.h $(DI)/pngconf.h
|
||||
-@/bin/rm -f $(DI)/libpng
|
||||
(cd $(DI); ln -f -s $(LIBNAME) libpng; ln -f -s $(LIBNAME)/* .)
|
||||
|
||||
install-static: install-headers libpng.a
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then mkdir $(DESTDIR)$(LIBPATH); fi
|
||||
cp libpng.a $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.a
|
||||
(cd $(DESTDIR)$(LIBPATH); ln -f -s $(LIBNAME).a libpng.a)
|
||||
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
|
||||
cp libpng.a $(DL)/$(LIBNAME).a
|
||||
chmod 644 $(DL)/$(LIBNAME).a
|
||||
-@/bin/rm -f $(DL)/libpng.a
|
||||
(cd $(DL); ln -f -s $(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then mkdir $(DESTDIR)$(LIBPATH); fi
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/$(LIBNAME).so.$(PNGMAJ)* \
|
||||
$(DESTDIR)$(LIBPATH)/$(LIBNAME).so
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so.3
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so.3.*
|
||||
cp $(LIBNAME).so.$(PNGVER) $(DESTDIR)$(LIBPATH)
|
||||
chmod 755 $(DESTDIR)$(LIBPATH)/$(LIBNAME).so.$(PNGVER)
|
||||
(cd $(DESTDIR)$(LIBPATH); \
|
||||
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
|
||||
-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)* $(DL)/$(LIBNAME).so
|
||||
-@/bin/rm -f $(DL)/libpng.so
|
||||
-@/bin/rm -f $(DL)/libpng.so.3
|
||||
-@/bin/rm -f $(DL)/libpng.so.3.*
|
||||
cp $(LIBNAME).so.$(PNGVER) $(DL)
|
||||
chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
|
||||
(cd $(DL); \
|
||||
ln -f -s $(LIBNAME).so.$(PNGVER) libpng.so; \
|
||||
ln -f -s $(LIBNAME).so.$(PNGVER) libpng.so.3; \
|
||||
ln -f -s $(LIBNAME).so.$(PNGVER) libpng.so.3.$(PNGMIN); \
|
||||
ln -f -s $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
|
||||
ln -f -s $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then \
|
||||
mkdir $(DESTDIR)$(LIBPATH)/pkgconfig; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
|
||||
cp libpng.pc $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -f -s $(LIBNAME).pc libpng.pc)
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then mkdir $(DL)/pkgconfig; fi
|
||||
-@/bin/rm -f $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@/bin/rm -f $(DL)/pkgconfig/libpng.pc
|
||||
cp libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
chmod 644 $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
(cd $(DL)/pkgconfig; ln -f -s $(LIBNAME).pc libpng.pc)
|
||||
|
||||
install-man: libpng.3 libpngpf.3 png.5
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH) ]; then mkdir $(DESTDIR)$(MANPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH)/man3 ]; then \
|
||||
mkdir $(DESTDIR)$(MANPATH)/man3; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpng.3
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpngpf.3
|
||||
cp libpng.3 $(DESTDIR)$(MANPATH)/man3
|
||||
cp libpngpf.3 $(DESTDIR)$(MANPATH)/man3
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH)/man5 ]; then \
|
||||
mkdir $(DESTDIR)$(MANPATH)/man5; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man5/png.5
|
||||
cp png.5 $(DESTDIR)$(MANPATH)/man5
|
||||
-@if [ ! -d $(DM) ]; then mkdir $(DM); fi
|
||||
-@if [ ! -d $(DM)/man3 ]; then mkdir $(DM)/man3; fi
|
||||
-@/bin/rm -f $(DM)/man3/libpng.3
|
||||
-@/bin/rm -f $(DM)/man3/libpngpf.3
|
||||
cp libpng.3 $(DM)/man3
|
||||
cp libpngpf.3 $(DM)/man3
|
||||
-@if [ ! -d $(DM)/man5 ]; then mkdir $(DM)/man5; fi
|
||||
-@/bin/rm -f $(DM)/man5/png.5
|
||||
cp png.5 $(DM)/man5
|
||||
|
||||
install-config: libpng-config
|
||||
-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
|
||||
mkdir $(DESTDIR)$(BINPATH); fi
|
||||
-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
|
||||
-@/bin/rm -f $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
cp libpng-config $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
chmod 755 $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
(cd $(DESTDIR)$(BINPATH); ln -sf $(LIBNAME)-config libpng-config)
|
||||
-@if [ ! -d $(DB) ]; then mkdir $(DB); fi
|
||||
-@/bin/rm -f $(DB)/libpng-config
|
||||
-@/bin/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
|
||||
|
||||
|
||||
@@ -1,48 +1,43 @@
|
||||
# makefile for libpng, SGI IRIX with gcc
|
||||
# Copyright (C) 2002 Glenn Randers-Pehrson
|
||||
# makefile for libpng.a and libpng12.so, SGI IRIX with 'cc'
|
||||
# Copyright (C) 2001-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
|
||||
|
||||
# where make install puts libpng.a and png.h
|
||||
prefix=/usr/local
|
||||
INCPATH=$(prefix)/include
|
||||
LIBPATH=$(prefix)/lib
|
||||
# Where make install puts libpng.a, libpng12.so, and libpng12/png.h
|
||||
# Prefix must be a full pathname.
|
||||
|
||||
# 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, that location must already exist before
|
||||
# you execute make install.
|
||||
DESTDIR=
|
||||
prefix=/usr/local
|
||||
|
||||
# Where the zlib library and include files are located
|
||||
ZLIBLIB=/usr/local/lib32
|
||||
ZLIBINC=/usr/local/include
|
||||
#ZLIBLIB=../zlib
|
||||
#ZLIBINC=../zlib
|
||||
#ZLIBLIB=/usr/local/lib32
|
||||
#ZLIBINC=/usr/local/include
|
||||
#ZLIBLIB=/usr/local/lib
|
||||
#ZLIBINC=/usr/local/include
|
||||
ZLIBLIB=../zlib
|
||||
ZLIBINC=../zlib
|
||||
|
||||
LIBNAME=libpng12
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.4beta3
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
CC=gcc
|
||||
|
||||
# ABI can be blank to use default for your system, -32, -o32, -n32, or -64
|
||||
# See "man abi". zlib must be built with the same ABI.
|
||||
ABI=
|
||||
|
||||
CC=gcc
|
||||
|
||||
WARNMORE= # -g -DPNG_DEBUG=5
|
||||
CFLAGS=$(ABI) -I$(ZLIBINC) -O2 $(WARNMORE) -fPIC -mabi=n32
|
||||
LDFLAGS=$(ABI) -L. -L$(ZLIBLIB) -lpng -lz -lm
|
||||
LDSHARED=CC $(ABI) -shared
|
||||
LDSHARED=cc $(ABI) -shared -soname $(LIBNAME).so.$(PNGMAJ)
|
||||
# See "man dso" for info about shared objects
|
||||
|
||||
LIBNAME=libpng12
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.3rc5
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
LIBS=$(LIBNAME).so.$(PNGVER)
|
||||
RANLIB=echo
|
||||
#RANLIB=ranlib
|
||||
|
||||
INCPATH=$(prefix)/include
|
||||
LIBPATH=$(prefix)/lib32
|
||||
LIBPATH=$(prefix)/lib
|
||||
#LIBPATH=$(prefix)/lib32
|
||||
MANPATH=$(prefix)/man
|
||||
BINPATH=$(prefix)/bin
|
||||
|
||||
@@ -52,118 +47,137 @@ BINPATH=$(prefix)/bin
|
||||
# make install DESTDIR=/tmp/build/libpng
|
||||
#
|
||||
# If you're going to install into a temporary location
|
||||
# via DESTDIR, that location must already exist before
|
||||
# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
|
||||
# you execute make install.
|
||||
DESTDIR=
|
||||
|
||||
RANLIB=echo
|
||||
#RANLIB=ranlib
|
||||
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 \
|
||||
OBJS = pnggccrd.o 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 $(LIBNAME).so.$(PNGVER) pngtest
|
||||
all: libpng.a pngtest shared libpng.pc libpng-config
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
ar rc $@ $(OBJS)
|
||||
ar rc $@ $(OBJS)
|
||||
$(RANLIB) $@
|
||||
|
||||
shared: $(LIBNAME).so.$(PNGVER)
|
||||
|
||||
libpng.pc:
|
||||
cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
|
||||
cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > \
|
||||
libpng.pc
|
||||
|
||||
libpng-config:
|
||||
( cat scripts/libpng-config-head.in; \
|
||||
echo prefix=\"$(prefix)\"; \
|
||||
echo cppflags=\"-I$(INCPATH)/libpng12 -DPNG_USE_PNGGCCRD \
|
||||
echo cppflags=\"-I$(INCPATH)/$(LIBNAME) -DPNG_USE_PNGGCCRD \
|
||||
-DPNG_NO_ASSEMBLER_CODE\"; \
|
||||
echo cflags=\"$(ABI)\"; \
|
||||
echo ldflags=\"-L$(LIBPATH)\"; \
|
||||
echo ldflags=\"-L$(LIBPATH) -rpath $(LIBPATH) \"; \
|
||||
echo libs=\"-lpng12 -lz -lm\"; \
|
||||
cat scripts/libpng-config-body.in ) > libpng-config
|
||||
chmod +x libpng-config
|
||||
|
||||
$(LIBNAME).so: $(LIBNAME).so.$(PNGMAJ)
|
||||
ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so
|
||||
|
||||
$(LIBNAME).so.$(PNGMAJ): $(LIBNAME).so.$(PNGVER)
|
||||
ln -sf $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ)
|
||||
|
||||
$(LIBNAME).so.$(PNGVER): $(OBJS)
|
||||
$(LDSHARED) -o $@ $(OBJS)
|
||||
rm -f $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)
|
||||
ln -s -f $@ $(LIBNAME).so
|
||||
ln -s -f $@ $(LIBNAME).so.$(PNGMAJ)
|
||||
|
||||
pngtest: pngtest.o libpng.a
|
||||
$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
|
||||
|
||||
test: pngtest
|
||||
echo
|
||||
echo Testing local static library.
|
||||
./pngtest
|
||||
|
||||
|
||||
install-headers: png.h pngconf.h
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH) ]; then mkdir $(DESTDIR)$(INCPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH)/$(LIBNAME) ]; then \
|
||||
mkdir $(DESTDIR)$(INCPATH)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h $(DESTDIR)$(INCPATH)/$(LIBNAME)
|
||||
chmod 644 $(DESTDIR)$(INCPATH)/$(LIBNAME)/png.h \
|
||||
$(DESTDIR)$(INCPATH)/$(LIBNAME)/pngconf.h
|
||||
-@/bin/rm -f $(DESTDIR)$(INCPATH)/png.h $(DESTDIR)$(INCPATH)/pngconf.h
|
||||
-@/bin/rm -f $(DESTDIR)$(INCPATH)/libpng
|
||||
(cd $(DESTDIR)$(INCPATH); ln -sf $(LIBNAME) libpng; \
|
||||
ln -sf $(LIBNAME)/* .)
|
||||
-@if [ ! -d $(DI) ]; then mkdir $(DI); fi
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then mkdir $(DI)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
|
||||
-@/bin/rm -f $(DI)/png.h $(DI)/pngconf.h
|
||||
-@/bin/rm -f $(DI)/libpng
|
||||
(cd $(DI); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .)
|
||||
|
||||
install-static: install-headers libpng.a
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then mkdir $(DESTDIR)$(LIBPATH); fi
|
||||
cp libpng.a $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.a
|
||||
(cd $(DESTDIR)$(LIBPATH); ln -sf $(LIBNAME).a libpng.a)
|
||||
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
|
||||
cp libpng.a $(DL)/$(LIBNAME).a
|
||||
chmod 644 $(DL)/$(LIBNAME).a
|
||||
-@/bin/rm -f $(DL)/libpng.a
|
||||
(cd $(DL); ln -sf $(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then mkdir $(DESTDIR)$(LIBPATH); fi
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/$(LIBNAME).so.$(PNGMAJ)* \
|
||||
$(DESTDIR)$(LIBPATH)/$(LIBNAME).so
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so.3
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so.3.*
|
||||
cp $(LIBNAME).so.$(PNGVER) $(DESTDIR)$(LIBPATH)
|
||||
chmod 755 $(DESTDIR)$(LIBPATH)/$(LIBNAME).so.$(PNGVER)
|
||||
(cd $(DESTDIR)$(LIBPATH); \
|
||||
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
|
||||
-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)* $(DL)/$(LIBNAME).so
|
||||
-@/bin/rm -f $(DL)/libpng.so
|
||||
-@/bin/rm -f $(DL)/libpng.so.3
|
||||
-@/bin/rm -f $(DL)/libpng.so.3.*
|
||||
cp $(LIBNAME).so.$(PNGVER) $(DL)
|
||||
chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
|
||||
(cd $(DL); \
|
||||
ln -sf $(LIBNAME).so.$(PNGVER) libpng.so; \
|
||||
ln -sf $(LIBNAME).so.$(PNGVER) libpng.so.3; \
|
||||
ln -sf $(LIBNAME).so.$(PNGVER) libpng.so.3.$(PNGMIN); \
|
||||
ln -sf $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
|
||||
ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then \
|
||||
mkdir $(DESTDIR)$(LIBPATH)/pkgconfig; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
|
||||
cp libpng.pc $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -sf $(LIBNAME).pc libpng.pc)
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then mkdir $(DL)/pkgconfig; fi
|
||||
-@/bin/rm -f $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@/bin/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 $(DESTDIR)$(MANPATH) ]; then mkdir $(DESTDIR)$(MANPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH)/man3 ]; then \
|
||||
mkdir $(DESTDIR)$(MANPATH)/man3; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpng.3
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpngpf.3
|
||||
cp libpng.3 $(DESTDIR)$(MANPATH)/man3
|
||||
cp libpngpf.3 $(DESTDIR)$(MANPATH)/man3
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH)/man5 ]; then \
|
||||
mkdir $(DESTDIR)$(MANPATH)/man5; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man5/png.5
|
||||
cp png.5 $(DESTDIR)$(MANPATH)/man5
|
||||
-@if [ ! -d $(DM) ]; then mkdir $(DM); fi
|
||||
-@if [ ! -d $(DM)/man3 ]; then mkdir $(DM)/man3; fi
|
||||
-@/bin/rm -f $(DM)/man3/libpng.3
|
||||
-@/bin/rm -f $(DM)/man3/libpngpf.3
|
||||
cp libpng.3 $(DM)/man3
|
||||
cp libpngpf.3 $(DM)/man3
|
||||
-@if [ ! -d $(DM)/man5 ]; then mkdir $(DM)/man5; fi
|
||||
-@/bin/rm -f $(DM)/man5/png.5
|
||||
cp png.5 $(DM)/man5
|
||||
|
||||
install-config: libpng-config
|
||||
-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
|
||||
mkdir $(DESTDIR)$(BINPATH); fi
|
||||
-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
|
||||
-@/bin/rm -f $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
cp libpng-config $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
chmod 755 $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
(cd $(DESTDIR)$(BINPATH); ln -sf $(LIBNAME)-config libpng-config)
|
||||
-@if [ ! -d $(DB) ]; then mkdir $(DB); fi
|
||||
-@/bin/rm -f $(DB)/libpng-config
|
||||
-@/bin/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.
|
||||
|
||||
test-installed:
|
||||
$(CC) -I$(ZLIBINC) \
|
||||
`$(BINPATH)/libpng12-config --cppflags --cflags` pngtest.c \
|
||||
-L$(ZLIBLIB) -rpath $(ZLIBLIB) \
|
||||
-o pngtesti `$(BINPATH)/libpng12-config --ldflags --libs`
|
||||
echo
|
||||
echo Testing installed dynamic shared library.
|
||||
pngtesti pngtest.png
|
||||
|
||||
clean:
|
||||
rm -f *.o libpng.a pngtest pngout.png
|
||||
rm -f *.o libpng.a pngtest pngout.png libpng.pc libpng-config \
|
||||
$(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* so_locations
|
||||
|
||||
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.
|
||||
|
||||
@@ -183,4 +197,5 @@ pngwrite.o: png.h pngconf.h
|
||||
pngwtran.o: png.h pngconf.h
|
||||
pngwutil.o: png.h pngconf.h
|
||||
pngpread.o: png.h pngconf.h
|
||||
pnggccrd.o: png.h pngconf.h
|
||||
|
||||
|
||||
@@ -3,7 +3,14 @@
|
||||
# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
|
||||
# For conditions of distribution and use, see copyright notice in png.h
|
||||
|
||||
# where make install puts libpng.a, libpng12.so and libpng12/png.h
|
||||
LIBNAME=libpng12
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.4beta3
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
# Where make install puts libpng.a, libpng12.so, and libpng12/png.h
|
||||
# Prefix must be a full pathname.
|
||||
|
||||
prefix=/usr/local
|
||||
|
||||
# Where the zlib library and include files are located
|
||||
@@ -26,14 +33,9 @@ WARNMORE=-fullwarn
|
||||
CFLAGS=$(ABI) -I$(ZLIBINC) -O $(WARNMORE) -DPNG_USE_PNGGCCRD -DPNG_NO_ASSEMBLER_CODE
|
||||
LDFLAGS_A=$(ABI) -L. -L$(ZLIBLIB) -lpng12 -lz -lm
|
||||
LDFLAGS=$(ABI) -L. -L$(ZLIBLIB) -lpng -lz -lm
|
||||
LDSHARED=cc $(ABI) -shared
|
||||
LDSHARED=cc $(ABI) -shared -soname $(LIBNAME).so.$(PNGMAJ)
|
||||
# See "man dso" for info about shared objects
|
||||
|
||||
LIBNAME=libpng12
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.3rc5
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
RANLIB=echo
|
||||
#RANLIB=ranlib
|
||||
|
||||
@@ -42,7 +44,6 @@ LIBPATH=$(prefix)/lib
|
||||
#LIBPATH=$(prefix)/lib32
|
||||
MANPATH=$(prefix)/man
|
||||
BINPATH=$(prefix)/bin
|
||||
BINPATH=$(prefix)/bin
|
||||
|
||||
# override DESTDIR= on the make install command line to easily support
|
||||
# installing into a temporary location. Example:
|
||||
@@ -50,15 +51,24 @@ BINPATH=$(prefix)/bin
|
||||
# make install DESTDIR=/tmp/build/libpng
|
||||
#
|
||||
# If you're going to install into a temporary location
|
||||
# via DESTDIR, that location must already exist before
|
||||
# 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 = pnggccrd.o 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
|
||||
all: libpng.a pngtest shared libpng.pc libpng-config
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
ar rc $@ $(OBJS)
|
||||
$(RANLIB) $@
|
||||
|
||||
shared: $(LIBNAME).so.$(PNGVER)
|
||||
|
||||
@@ -68,99 +78,105 @@ libpng.pc:
|
||||
libpng-config:
|
||||
( cat scripts/libpng-config-head.in; \
|
||||
echo prefix=\"$(prefix)\"; \
|
||||
echo cppflags=\"-I$(INCPATH)/libpng12 -DPNG_USE_PNGGCCRD \
|
||||
echo cppflags=\"-I$(INCPATH)/$(LIBNAME) -DPNG_USE_PNGGCCRD \
|
||||
-DPNG_NO_ASSEMBLER_CODE\"; \
|
||||
echo cflags=\"$(ABI)\"; \
|
||||
echo ldflags=\"-L$(LIBPATH)\"; \
|
||||
echo ldflags=\"-L$(LIBPATH) -rpath $(LIBPATH) \"; \
|
||||
echo libs=\"-lpng12 -lz -lm\"; \
|
||||
cat scripts/libpng-config-body.in ) > libpng-config
|
||||
chmod +x libpng-config
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
ar rc $@ $(OBJS)
|
||||
$(RANLIB) $@
|
||||
$(LIBNAME).so: $(LIBNAME).so.$(PNGMAJ)
|
||||
ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so
|
||||
|
||||
$(LIBNAME).so.$(PNGMAJ): $(LIBNAME).so.$(PNGVER)
|
||||
ln -sf $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ)
|
||||
|
||||
$(LIBNAME).so.$(PNGVER): $(OBJS)
|
||||
$(LDSHARED) -o $@ $(OBJS)
|
||||
rm -f $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)
|
||||
ln -s -f $@ $(LIBNAME).so
|
||||
ln -s -f $@ $(LIBNAME).so.$(PNGMAJ)
|
||||
|
||||
pngtest: pngtest.o libpng.a
|
||||
$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
|
||||
|
||||
test: pngtest
|
||||
echo
|
||||
echo Testing local static library.
|
||||
./pngtest
|
||||
|
||||
install-headers: png.h pngconf.h
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH) ]; then mkdir $(DESTDIR)$(INCPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH)/$(LIBNAME) ]; then \
|
||||
mkdir $(DESTDIR)$(INCPATH)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h $(DESTDIR)$(INCPATH)/$(LIBNAME)
|
||||
chmod 644 $(DESTDIR)$(INCPATH)/$(LIBNAME)/png.h \
|
||||
$(DESTDIR)$(INCPATH)/$(LIBNAME)/pngconf.h
|
||||
-@/bin/rm -f $(DESTDIR)$(INCPATH)/png.h $(DESTDIR)$(INCPATH)/pngconf.h
|
||||
-@/bin/rm -f $(DESTDIR)$(INCPATH)/libpng
|
||||
(cd $(DESTDIR)$(INCPATH); ln -sf $(LIBNAME) libpng; \
|
||||
ln -sf $(LIBNAME)/* .)
|
||||
-@if [ ! -d $(DI) ]; then mkdir $(DI); fi
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then mkdir $(DI)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
|
||||
-@/bin/rm -f $(DI)/png.h $(DI)/pngconf.h
|
||||
-@/bin/rm -f $(DI)/libpng
|
||||
(cd $(DI); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .)
|
||||
|
||||
install-static: install-headers libpng.a
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then mkdir $(DESTDIR)$(LIBPATH); fi
|
||||
cp libpng.a $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.a
|
||||
(cd $(DESTDIR)$(LIBPATH); ln -sf $(LIBNAME).a libpng.a)
|
||||
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
|
||||
cp libpng.a $(DL)/$(LIBNAME).a
|
||||
chmod 644 $(DL)/$(LIBNAME).a
|
||||
-@/bin/rm -f $(DL)/libpng.a
|
||||
(cd $(DL); ln -sf $(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then mkdir $(DESTDIR)$(LIBPATH); fi
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/$(LIBNAME).so.$(PNGMAJ)* \
|
||||
$(DESTDIR)$(LIBPATH)/$(LIBNAME).so
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so.3
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so.3.*
|
||||
cp $(LIBNAME).so.$(PNGVER) $(DESTDIR)$(LIBPATH)
|
||||
chmod 755 $(DESTDIR)$(LIBPATH)/$(LIBNAME).so.$(PNGVER)
|
||||
(cd $(DESTDIR)$(LIBPATH); \
|
||||
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
|
||||
-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)* $(DL)/$(LIBNAME).so
|
||||
-@/bin/rm -f $(DL)/libpng.so
|
||||
-@/bin/rm -f $(DL)/libpng.so.3
|
||||
-@/bin/rm -f $(DL)/libpng.so.3.*
|
||||
cp $(LIBNAME).so.$(PNGVER) $(DL)
|
||||
chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
|
||||
(cd $(DL); \
|
||||
ln -sf $(LIBNAME).so.$(PNGVER) libpng.so; \
|
||||
ln -sf $(LIBNAME).so.$(PNGVER) libpng.so.3; \
|
||||
ln -sf $(LIBNAME).so.$(PNGVER) libpng.so.3.$(PNGMIN); \
|
||||
ln -sf $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
|
||||
ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then \
|
||||
mkdir $(DESTDIR)$(LIBPATH)/pkgconfig; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
|
||||
cp libpng.pc $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -sf $(LIBNAME).pc libpng.pc)
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then mkdir $(DL)/pkgconfig; fi
|
||||
-@/bin/rm -f $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@/bin/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 $(DESTDIR)$(MANPATH) ]; then mkdir $(DESTDIR)$(MANPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH)/man3 ]; then \
|
||||
mkdir $(DESTDIR)$(MANPATH)/man3; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpng.3
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpngpf.3
|
||||
cp libpng.3 $(DESTDIR)$(MANPATH)/man3
|
||||
cp libpngpf.3 $(DESTDIR)$(MANPATH)/man3
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH)/man5 ]; then \
|
||||
mkdir $(DESTDIR)$(MANPATH)/man5; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man5/png.5
|
||||
cp png.5 $(DESTDIR)$(MANPATH)/man5
|
||||
-@if [ ! -d $(DM) ]; then mkdir $(DM); fi
|
||||
-@if [ ! -d $(DM)/man3 ]; then mkdir $(DM)/man3; fi
|
||||
-@/bin/rm -f $(DM)/man3/libpng.3
|
||||
-@/bin/rm -f $(DM)/man3/libpngpf.3
|
||||
cp libpng.3 $(DM)/man3
|
||||
cp libpngpf.3 $(DM)/man3
|
||||
-@if [ ! -d $(DM)/man5 ]; then mkdir $(DM)/man5; fi
|
||||
-@/bin/rm -f $(DM)/man5/png.5
|
||||
cp png.5 $(DM)/man5
|
||||
|
||||
install-config: libpng-config
|
||||
-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
|
||||
mkdir $(DESTDIR)$(BINPATH); fi
|
||||
-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
|
||||
-@/bin/rm -f $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
cp libpng-config $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
chmod 755 $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
(cd $(DESTDIR)$(BINPATH); ln -sf $(LIBNAME)-config libpng-config)
|
||||
-@if [ ! -d $(DB) ]; then mkdir $(DB); fi
|
||||
-@/bin/rm -f $(DB)/libpng-config
|
||||
-@/bin/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.
|
||||
|
||||
test-installed:
|
||||
echo
|
||||
echo Testing installed dynamic shared library.
|
||||
$(CC) -I$(ZLIBINC) \
|
||||
`$(BINPATH)/libpng12-config --cppflags --cflags` pngtest.c \
|
||||
-L$(ZLIBLIB) -rpath $(ZLIBLIB) \
|
||||
-o pngtesti `$(BINPATH)/libpng12-config --ldflags --libs`
|
||||
pngtesti pngtest.png
|
||||
|
||||
clean:
|
||||
rm -f *.o libpng.a pngtest pngout.png $(LIBNAME).so \
|
||||
$(LIBNAME).so.$(PNGMAJ)*
|
||||
rm -f *.o libpng.a pngtest pngtesti pngout.png libpng.pc libpng-config \
|
||||
$(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* so_locations
|
||||
|
||||
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
|
||||
writelock:
|
||||
|
||||
@@ -28,15 +28,13 @@ ZLIBINC=/usr/include
|
||||
-Wstrict-prototypes -Wmissing-prototypes #-Wconversion
|
||||
#CFLAGS=-I$(ZLIBINC) -Wall -O3 $(WARNMORE) -g -DPNG_DEBUG=5
|
||||
CFLAGS=-I$(ZLIBINC) -O3
|
||||
LDFLAGS=-L. -R. -L$(ZLIBLIB) -R$(ZLIBLIB) -lpng -lz -lm
|
||||
LDFLAGS=-L. -R. -L$(ZLIBLIB) -R$(ZLIBLIB) -lpng12 -lz -lm
|
||||
|
||||
#RANLIB=ranlib
|
||||
RANLIB=echo
|
||||
|
||||
# read libpng.txt or png.h to see why PNGMAJ is 0. You should not
|
||||
# have to change it.
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.3rc5
|
||||
PNGMIN = 1.2.4beta3
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
LIBNAME = libpng12
|
||||
|
||||
@@ -51,10 +49,15 @@ BINPATH=$(prefix)/bin
|
||||
# make install DESTDIR=/tmp/build/libpng
|
||||
#
|
||||
# If you're going to install into a temporary location
|
||||
# via DESTDIR, that location must already exist before
|
||||
# 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
|
||||
@@ -66,7 +69,7 @@ OBJSDLL = $(OBJS:.o=.pic.o)
|
||||
.c.pic.o:
|
||||
$(CC) -c $(CFLAGS) -KPIC -o $@ $*.c
|
||||
|
||||
all: libpng.a $(LIBNAME).so pngtest
|
||||
all: libpng.a $(LIBNAME).so pngtest libpng.pc libpng-config
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
ar rc $@ $(OBJS)
|
||||
@@ -78,7 +81,7 @@ libpng.pc:
|
||||
libpng-config:
|
||||
( cat scripts/libpng-config-head.in; \
|
||||
echo prefix=\"$(prefix)\"; \
|
||||
echo cppflags=\"-I$(INCPATH)/libpng12\"; \
|
||||
echo cppflags=\"-I$(INCPATH)/$(LIBNAME)\"; \
|
||||
echo cflags=\"\"; \
|
||||
echo ldflags=\"-L$(LIBPATH) -R$(LIBPATH)\"; \
|
||||
echo libs=\"-lpng12 -lz -lm\"; \
|
||||
@@ -114,75 +117,78 @@ test: pngtest
|
||||
./pngtest
|
||||
|
||||
install-headers: png.h pngconf.h
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH) ]; then mkdir $(DESTDIR)$(INCPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH)/$(LIBNAME) ]; then \
|
||||
mkdir $(DESTDIR)$(INCPATH)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h $(DESTDIR)$(INCPATH)/$(LIBNAME)
|
||||
chmod 644 $(DESTDIR)$(INCPATH)/$(LIBNAME)/png.h \
|
||||
$(DESTDIR)$(INCPATH)/$(LIBNAME)/pngconf.h
|
||||
-@/bin/rm -f $(DESTDIR)$(INCPATH)/png.h $(DESTDIR)$(INCPATH)/pngconf.h
|
||||
-@/bin/rm -f $(DESTDIR)$(INCPATH)/libpng
|
||||
(cd $(DESTDIR)$(INCPATH); ln -f -s $(LIBNAME) libpng)
|
||||
-@if [ ! -d $(DI) ]; then mkdir $(DI); fi
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then mkdir $(DI)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
|
||||
-@/bin/rm -f $(DI)/png.h $(DI)/pngconf.h
|
||||
-@/bin/rm -f $(DI)/libpng
|
||||
(cd $(DI); ln -f -s $(LIBNAME) libpng; ln -f -s $(LIBNAME)/* .)
|
||||
|
||||
install-static: install-headers libpng.a
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then mkdir $(DESTDIR)$(LIBPATH); fi
|
||||
cp libpng.a $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.a
|
||||
(cd $(DESTDIR)$(INCPATH); ln -f -s $(LIBNAME) libpng; \
|
||||
ln -f -s $(LIBNAME)/* .)
|
||||
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
|
||||
cp libpng.a $(DL)/$(LIBNAME).a
|
||||
chmod 644 $(DL)/$(LIBNAME).a
|
||||
-@/bin/rm -f $(DL)/libpng.a
|
||||
(cd $(DL); ln -f -s $(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then mkdir $(DESTDIR)$(LIBPATH); fi
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/$(LIBNAME).so.$(PNGMAJ)* \
|
||||
$(DESTDIR)$(LIBPATH)/$(LIBNAME).so
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so.3
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so.3.*
|
||||
cp $(LIBNAME).so.$(PNGVER) $(DESTDIR)$(LIBPATH)
|
||||
chmod 755 $(DESTDIR)$(LIBPATH)/$(LIBNAME).so.$(PNGVER)
|
||||
(cd $(DESTDIR)$(LIBPATH); \
|
||||
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
|
||||
-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)* $(DL)/$(LIBNAME).so
|
||||
-@/bin/rm -f $(DL)/libpng.so
|
||||
-@/bin/rm -f $(DL)/libpng.so.3
|
||||
-@/bin/rm -f $(DL)/libpng.so.3.*
|
||||
cp $(LIBNAME).so.$(PNGVER) $(DL)
|
||||
chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
|
||||
(cd $(DL); \
|
||||
ln -f -s $(LIBNAME).so.$(PNGVER) libpng.so; \
|
||||
ln -f -s $(LIBNAME).so.$(PNGVER) libpng.so.3; \
|
||||
ln -f -s $(LIBNAME).so.$(PNGVER) libpng.so.3.$(PNGMIN); \
|
||||
ln -f -s $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
|
||||
ln -f -s $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then mkdir \
|
||||
$(DESTDIR)$(LIBPATH)/pkgconfig; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
|
||||
cp libpng.pc $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -f -s $(LIBNAME).pc libpng.pc)
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then mkdir $(DL)/pkgconfig; fi
|
||||
-@/bin/rm -f $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@/bin/rm -f $(DL)/pkgconfig/libpng.pc
|
||||
cp libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
chmod 644 $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
(cd $(DL)/pkgconfig; ln -f -s $(LIBNAME).pc libpng.pc)
|
||||
|
||||
install-man: libpng.3 libpngpf.3 png.5
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH) ]; then mkdir $(DESTDIR)$(MANPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH)/man3 ]; then \
|
||||
mkdir $(DESTDIR)$(MANPATH)/man3; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpng.3
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpngpf.3
|
||||
cp libpng.3 $(DESTDIR)$(MANPATH)/man3
|
||||
cp libpngpf.3 $(DESTDIR)$(MANPATH)/man3
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH)/man5 ]; then \
|
||||
mkdir $(DESTDIR)$(MANPATH)/man5; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man5/png.5
|
||||
cp png.5 $(DESTDIR)$(MANPATH)/man5
|
||||
-@if [ ! -d $(DM) ]; then mkdir $(DM); fi
|
||||
-@if [ ! -d $(DM)/man3 ]; then mkdir $(DM)/man3; fi
|
||||
-@/bin/rm -f $(DM)/man3/libpng.3
|
||||
-@/bin/rm -f $(DM)/man3/libpngpf.3
|
||||
cp libpng.3 $(DM)/man3
|
||||
cp libpngpf.3 $(DM)/man3
|
||||
-@if [ ! -d $(DM)/man5 ]; then mkdir $(DM)/man5; fi
|
||||
-@/bin/rm -f $(DM)/man5/png.5
|
||||
cp png.5 $(DM)/man5
|
||||
|
||||
install-config: libpng-config
|
||||
-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
|
||||
mkdir $(DESTDIR)$(BINPATH); fi
|
||||
-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
|
||||
-@/bin/rm -f $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
cp libpng-config $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
chmod 755 $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
(cd $(DESTDIR)$(BINPATH); ln -sf $(LIBNAME)-config libpng-config)
|
||||
-@if [ ! -d $(DB) ]; then mkdir $(DB); fi
|
||||
-@/bin/rm -f $(DB)/libpng-config
|
||||
-@/bin/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.
|
||||
|
||||
test-installed:
|
||||
echo
|
||||
echo Testing installed dynamic shared library.
|
||||
$(CC) -I$(ZLIBINC) \
|
||||
`$(BINPATH)/libpng12-config --cppflags --cflags` pngtest.c \
|
||||
-o pngtesti `$(BINPATH)/libpng12-config --ldflags --libs` \
|
||||
-L$(ZLIBLIB) -R$(ZLIBLIB)
|
||||
pngtesti pngtest.png
|
||||
|
||||
clean:
|
||||
/bin/rm -f *.o libpng.a $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* \
|
||||
pngtest pngout.png
|
||||
/bin/rm -f *.o libpng.a pngtest pngtesti pngout.png libpng.pc \
|
||||
libpng-config $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)*
|
||||
|
||||
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
|
||||
writelock:
|
||||
|
||||
@@ -24,15 +24,13 @@ WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
|
||||
-Wstrict-prototypes -Wmissing-prototypes #-Wconversion
|
||||
CFLAGS=-I$(ZLIBINC) -Wall -O3 \
|
||||
# $(WARNMORE) -g -DPNG_DEBUG=5
|
||||
LDFLAGS=-L. -R. -L$(ZLIBLIB) -R$(ZLIBLIB) -lpng -lz -lm
|
||||
LDFLAGS=-L. -R. -L$(ZLIBLIB) -R$(ZLIBLIB) -lpng12 -lz -lm
|
||||
|
||||
#RANLIB=ranlib
|
||||
RANLIB=echo
|
||||
|
||||
# read libpng.txt or png.h to see why PNGMAJ is 0. You should not
|
||||
# have to change it.
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.3rc5
|
||||
PNGMIN = 1.2.4beta3
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
LIBNAME = libpng12
|
||||
|
||||
@@ -47,10 +45,15 @@ BINPATH=$(prefix)/bin
|
||||
# make install DESTDIR=/tmp/build/libpng
|
||||
#
|
||||
# If you're going to install into a temporary location
|
||||
# via DESTDIR, that location must already exist before
|
||||
# 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
|
||||
@@ -62,7 +65,7 @@ OBJSDLL = $(OBJS:.o=.pic.o)
|
||||
.c.pic.o:
|
||||
$(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
|
||||
|
||||
all: libpng.a $(LIBNAME).so pngtest
|
||||
all: libpng.a $(LIBNAME).so pngtest libpng.pc libpng-config
|
||||
|
||||
libpng.a: $(OBJS)
|
||||
ar rc $@ $(OBJS)
|
||||
@@ -74,7 +77,7 @@ libpng.pc:
|
||||
libpng-config:
|
||||
( cat scripts/libpng-config-head.in; \
|
||||
echo prefix=\"$(prefix)\"; \
|
||||
echo cppflags=\"-I$(INCPATH)/libpng12 -DPNG_USE_PNGGCCRD \
|
||||
echo cppflags=\"-I$(INCPATH)/$(LIBNAME) -DPNG_USE_PNGGCCRD \
|
||||
-DPNG_NO_ASSEMBLER_CODE\"; \
|
||||
echo cflags=\"$(ABI)\"; \
|
||||
echo ldflags=\"-L$(LIBPATH) -R$(LIBPATH)\"; \
|
||||
@@ -111,74 +114,78 @@ test: pngtest
|
||||
./pngtest
|
||||
|
||||
install-headers: png.h pngconf.h
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH) ]; then mkdir $(DESTDIR)$(INCPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(INCPATH)/$(LIBNAME) ]; then \
|
||||
mkdir $(DESTDIR)$(INCPATH)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h $(DESTDIR)$(INCPATH)/$(LIBNAME)
|
||||
chmod 644 $(DESTDIR)$(INCPATH)/$(LIBNAME)/png.h \
|
||||
$(DESTDIR)$(INCPATH)/$(LIBNAME)/pngconf.h
|
||||
-@/bin/rm -f $(DESTDIR)$(INCPATH)/png.h $(DESTDIR)$(INCPATH)/pngconf.h
|
||||
-@/bin/rm -f $(DESTDIR)$(INCPATH)/libpng
|
||||
(cd $(DESTDIR)$(INCPATH); ln -f -s $(LIBNAME) libpng; \
|
||||
ln -f -s $(LIBNAME)/* .)
|
||||
-@if [ ! -d $(DI) ]; then mkdir $(DI); fi
|
||||
-@if [ ! -d $(DI)/$(LIBNAME) ]; then mkdir $(DI)/$(LIBNAME); fi
|
||||
cp png.h pngconf.h $(DI)/$(LIBNAME)
|
||||
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
|
||||
-@/bin/rm -f $(DI)/png.h $(DI)/pngconf.h
|
||||
-@/bin/rm -f $(DI)/libpng
|
||||
(cd $(DI); ln -f -s $(LIBNAME) libpng; ln -f -s $(LIBNAME)/* .)
|
||||
|
||||
install-static: install-headers libpng.a
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then mkdir $(DESTDIR)$(LIBPATH); fi
|
||||
cp libpng.a $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.a
|
||||
(cd $(DESTDIR)$(LIBPATH); ln -f -s $(LIBNAME).a libpng.a)
|
||||
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
|
||||
cp libpng.a $(DL)/$(LIBNAME).a
|
||||
chmod 644 $(DL)/$(LIBNAME).a
|
||||
-@/bin/rm -f $(DL)/libpng.a
|
||||
(cd $(DL); ln -f -s $(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then mkdir $(DESTDIR)$(LIBPATH); fi
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/$(LIBNAME).so.$(PNGMAJ)* \
|
||||
$(DESTDIR)$(LIBPATH)/$(LIBNAME).so
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so.3
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/libpng.so.3.*
|
||||
cp $(LIBNAME).so.$(PNGVER) $(DESTDIR)$(LIBPATH)
|
||||
chmod 755 $(DESTDIR)$(LIBPATH)/$(LIBNAME).so.$(PNGVER)
|
||||
(cd $(DESTDIR)$(LIBPATH); \
|
||||
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
|
||||
-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)* $(DL)/$(LIBNAME).so
|
||||
-@/bin/rm -f $(DL)/libpng.so
|
||||
-@/bin/rm -f $(DL)/libpng.so.3
|
||||
-@/bin/rm -f $(DL)/libpng.so.3.*
|
||||
cp $(LIBNAME).so.$(PNGVER) $(DL)
|
||||
chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
|
||||
(cd $(DL); \
|
||||
ln -f -s $(LIBNAME).so.$(PNGVER) libpng.so; \
|
||||
ln -f -s $(LIBNAME).so.$(PNGVER) libpng.so.3; \
|
||||
ln -f -s $(LIBNAME).so.$(PNGVER) libpng.so.3.$(PNGMIN); \
|
||||
ln -f -s $(LIBNAME).so.$(PNGVER) $(LIBNAME).so; \
|
||||
ln -f -s $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ))
|
||||
-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then \
|
||||
mkdir $(DESTDIR)$(LIBPATH)/pkgconfig; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
|
||||
cp libpng.pc $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
chmod 644 $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
|
||||
(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -f -s $(LIBNAME).pc libpng.pc)
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then mkdir $(DL)/pkgconfig; fi
|
||||
-@/bin/rm -f $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@/bin/rm -f $(DL)/pkgconfig/libpng.pc
|
||||
cp libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
chmod 644 $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
(cd $(DL)/pkgconfig; ln -f -s $(LIBNAME).pc libpng.pc)
|
||||
|
||||
install-man: libpng.3 libpngpf.3 png.5
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH) ]; then mkdir $(DESTDIR)$(MANPATH); fi
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH)/man3 ]; then \
|
||||
mkdir $(DESTDIR)$(MANPATH)/man3; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpng.3
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpngpf.3
|
||||
cp libpng.3 $(DESTDIR)$(MANPATH)/man3
|
||||
cp libpngpf.3 $(DESTDIR)$(MANPATH)/man3
|
||||
-@if [ ! -d $(DESTDIR)$(MANPATH)/man5 ]; then \
|
||||
mkdir $(DESTDIR)$(MANPATH)/man5; fi
|
||||
-@/bin/rm -f $(DESTDIR)$(MANPATH)/man5/png.5
|
||||
cp png.5 $(DESTDIR)$(MANPATH)/man5
|
||||
-@if [ ! -d $(DM) ]; then mkdir $(DM); fi
|
||||
-@if [ ! -d $(DM)/man3 ]; then mkdir $(DM)/man3; fi
|
||||
-@/bin/rm -f $(DM)/man3/libpng.3
|
||||
-@/bin/rm -f $(DM)/man3/libpngpf.3
|
||||
cp libpng.3 $(DM)/man3
|
||||
cp libpngpf.3 $(DM)/man3
|
||||
-@if [ ! -d $(DM)/man5 ]; then mkdir $(DM)/man5; fi
|
||||
-@/bin/rm -f $(DM)/man5/png.5
|
||||
cp png.5 $(DM)/man5
|
||||
|
||||
install-config: libpng-config
|
||||
-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
|
||||
mkdir $(DESTDIR)$(BINPATH); fi
|
||||
-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
|
||||
-@/bin/rm -f $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
cp libpng-config $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
chmod 755 $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
|
||||
(cd $(DESTDIR)$(BINPATH); ln -sf $(LIBNAME)-config libpng-config)
|
||||
-@if [ ! -d $(DB) ]; then mkdir $(DB); fi
|
||||
-@/bin/rm -f $(DB)/libpng-config
|
||||
-@/bin/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.
|
||||
|
||||
test-installed:
|
||||
echo
|
||||
echo Testing installed dynamic shared library.
|
||||
$(CC) -I$(ZLIBINC) \
|
||||
`$(BINPATH)/libpng12-config --cppflags --cflags` pngtest.c \
|
||||
-o pngtesti `$(BINPATH)/libpng12-config --ldflags --libs` \
|
||||
-L$(ZLIBLIB) -R$(ZLIBLIB)
|
||||
pngtesti pngtest.png
|
||||
|
||||
clean:
|
||||
/bin/rm -f *.o libpng.a $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* \
|
||||
pngtest pngout.png
|
||||
/bin/rm -f *.o libpng.a pngtest pngtesti pngout.png libpng.pc \
|
||||
libpng-config $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)*
|
||||
|
||||
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
|
||||
writelock:
|
||||
|
||||
@@ -14,7 +14,7 @@ LIBPATH=$(prefix)/lib
|
||||
# make install DESTDIR=/tmp/build/libpng
|
||||
#
|
||||
# If you're going to install into a temporary location
|
||||
# via DESTDIR, that location must already exist before
|
||||
# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
|
||||
# you execute make install.
|
||||
DESTDIR=
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ LIBPATH=$(prefix)/lib
|
||||
# make install DESTDIR=/tmp/build/libpng
|
||||
#
|
||||
# If you're going to install into a temporary location
|
||||
# via DESTDIR, that location must already exist before
|
||||
# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
|
||||
# you execute make install.
|
||||
DESTDIR=
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ unit pngdef;
|
||||
interface
|
||||
|
||||
const
|
||||
PNG_LIBPNG_VER_STRING = '1.2.3rc5';
|
||||
PNG_LIBPNG_VER = 10203;
|
||||
PNG_LIBPNG_VER_STRING = '1.2.4beta3';
|
||||
PNG_LIBPNG_VER = 10204;
|
||||
|
||||
type
|
||||
png_uint_32 = Cardinal;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
; PNG.LIB module definition file for OS/2
|
||||
;----------------------------------------
|
||||
|
||||
; Version 1.2.3rc5
|
||||
; Version 1.2.4beta3
|
||||
|
||||
LIBRARY PNG
|
||||
DESCRIPTION "PNG image compression library for OS/2"
|
||||
@@ -203,6 +203,9 @@ EXPORTS
|
||||
; png_zalloc
|
||||
; png_zfree
|
||||
|
||||
; Added at version 1.2.4
|
||||
png_malloc_warn
|
||||
|
||||
; These are not present when libpng is compiled with PNG_NO_GLOBAL_ARRAYS
|
||||
png_libpng_ver
|
||||
png_pass_start
|
||||
|
||||
Reference in New Issue
Block a user