|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
Installing libpng version 1.2.5 - October 3, 2002
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
Before installing libpng, you must first install zlib. zlib
|
|
Carlos Lopez |
a09598 |
can usually be found wherever you got libpng. zlib can be
|
|
Carlos Lopez |
a09598 |
placed in another directory, at the same level as libpng.
|
|
Carlos Lopez |
a09598 |
Note that your system might already have a preinstalled
|
|
Carlos Lopez |
a09598 |
zlib, but you will still need to have access to the
|
|
Carlos Lopez |
a09598 |
zlib.h and zconf.h include files that correspond to the
|
|
Carlos Lopez |
a09598 |
version of zlib that's installed.
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
You can rename the directories that you downloaded (they
|
|
Carlos Lopez |
a09598 |
might be called "libpng-1.2.5" or "lpng109" and "zlib-1.1.4"
|
|
Carlos Lopez |
a09598 |
or "zlib114") so that you have directories called "zlib" and "libpng".
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
Your directory structure should look like this:
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
.. (the parent directory)
|
|
Carlos Lopez |
a09598 |
libpng (this directory)
|
|
Carlos Lopez |
a09598 |
INSTALL (this file)
|
|
Carlos Lopez |
a09598 |
README
|
|
Carlos Lopez |
a09598 |
*.h
|
|
Carlos Lopez |
a09598 |
*.c
|
|
Carlos Lopez |
a09598 |
contrib
|
|
Carlos Lopez |
a09598 |
gregbook
|
|
Carlos Lopez |
a09598 |
msvctest
|
|
Carlos Lopez |
a09598 |
pngminus
|
|
Carlos Lopez |
a09598 |
pngsuite
|
|
Carlos Lopez |
a09598 |
visupng
|
|
Carlos Lopez |
a09598 |
projects
|
|
Carlos Lopez |
a09598 |
beos
|
|
Carlos Lopez |
a09598 |
borland
|
|
Carlos Lopez |
a09598 |
msvc
|
|
Carlos Lopez |
a09598 |
netware.txt
|
|
Carlos Lopez |
a09598 |
wince.txt
|
|
Carlos Lopez |
a09598 |
scripts
|
|
Carlos Lopez |
a09598 |
makefile.*
|
|
Carlos Lopez |
a09598 |
libpng*.in
|
|
Carlos Lopez |
a09598 |
pngtest.png
|
|
Carlos Lopez |
a09598 |
etc.
|
|
Carlos Lopez |
a09598 |
zlib
|
|
Carlos Lopez |
a09598 |
README
|
|
Carlos Lopez |
a09598 |
*.h
|
|
Carlos Lopez |
a09598 |
*.c
|
|
Carlos Lopez |
a09598 |
contrib
|
|
Carlos Lopez |
a09598 |
etc.
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
If the line endings in the files look funny, you may wish to get the other
|
|
Carlos Lopez |
a09598 |
distribution of libpng. It is available in both tar.gz (UNIX style line
|
|
Carlos Lopez |
a09598 |
endings) and zip (DOS style line endings) formats.
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
If you are building libpng with MSVC, you can enter the libpng\msvc directory
|
|
Carlos Lopez |
a09598 |
and follow the instructions in msvc\README.txt.
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
You can build libpng for WindowsCE by entering the downloading and installing
|
|
Carlos Lopez |
a09598 |
the libpng\wince directory as instructed in the projects\wince.txt file, and
|
|
Carlos Lopez |
a09598 |
then following the instructions in the README* files. Similarly, you can
|
|
Carlos Lopez |
a09598 |
build libpng for Netware as instructed in projects\netware.txt.
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
Else enter the zlib directory and follow the instructions in zlib/README,
|
|
Carlos Lopez |
a09598 |
then come back here and choose the appropriate makefile.sys in the scripts
|
|
Carlos Lopez |
a09598 |
directory.
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
The files that are presently available in the scripts directory
|
|
Carlos Lopez |
a09598 |
include
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
|
|
Carlos Lopez |
a09598 |
makefile.linux => Linux/ELF makefile (gcc, creates libpng12.so.0.1.2.5)
|
|
Carlos Lopez |
a09598 |
makefile.gcmmx => Linux/ELF makefile (gcc, creates libpng12.so.0.1.2.5,
|
|
Carlos Lopez |
a09598 |
uses assembler code tuned for Intel MMX platform)
|
|
Carlos Lopez |
a09598 |
makefile.gcc => Generic makefile (gcc, creates static libpng.a)
|
|
Carlos Lopez |
a09598 |
makefile.knr => Archaic UNIX Makefile that converts files with
|
|
Carlos Lopez |
a09598 |
ansi2knr (Requires ansi2knr.c from
|
|
Carlos Lopez |
a09598 |
ftp://ftp.cs.wisc.edu/ghost)
|
|
Carlos Lopez |
a09598 |
makefile.aix => AIX/gcc makefile
|
|
Carlos Lopez |
a09598 |
makefile.cygwin => Cygwin/gcc makefile
|
|
Carlos Lopez |
a09598 |
makefile.darwin => Darwin makefile
|
|
Carlos Lopez |
a09598 |
makefile.dec => DEC Alpha UNIX makefile
|
|
Carlos Lopez |
a09598 |
makefile.hpgcc => FreeBSD makefile
|
|
Carlos Lopez |
a09598 |
makefile.hpgcc => HPUX makefile using gcc
|
|
Carlos Lopez |
a09598 |
makefile.hpux => HPUX (10.20 and 11.00) makefile
|
|
Carlos Lopez |
a09598 |
makefile.ibmc => IBM C/C++ version 3.x for Win32 and OS/2 (static)
|
|
Carlos Lopez |
a09598 |
makefile.intel => Intel C/C++ version 4.0 and later
|
|
Carlos Lopez |
a09598 |
libpng.icc => Project file for IBM VisualAge/C++ version 4.0 or later
|
|
Carlos Lopez |
a09598 |
makefile.macosx => MACOS X Makefile
|
|
Carlos Lopez |
a09598 |
makefile.netbsd => NetBSD/cc makefile, uses PNGGCCRD, makes libpng.so.
|
|
Carlos Lopez |
a09598 |
makefile.ne0bsd => NetBSD/cc makefile, uses PNGGCCRD, makes libpng0.so
|
|
Carlos Lopez |
a09598 |
makefile.openbsd => OpenBSD makefile
|
|
Carlos Lopez |
a09598 |
makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib)
|
|
Carlos Lopez |
a09598 |
makefile.sggcc => Silicon Graphics (gcc, creates libpng12.so.0.1.2.5)
|
|
Carlos Lopez |
a09598 |
makefile.sunos => Sun makefile
|
|
Carlos Lopez |
a09598 |
makefile.solaris => Solaris 2.X makefile (gcc, creates libpng12.so.0.1.2.5)
|
|
Carlos Lopez |
a09598 |
makefile.so9 => Solaris 9 makefile (gcc, creates libpng12.so.0.1.2.5)
|
|
Carlos Lopez |
a09598 |
makefile.32sunu => Sun Ultra 32-bit makefile
|
|
Carlos Lopez |
a09598 |
makefile.64sunu => Sun Ultra 64-bit makefile
|
|
Carlos Lopez |
a09598 |
makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc
|
|
Carlos Lopez |
a09598 |
makefile.mips => MIPS makefile
|
|
Carlos Lopez |
a09598 |
makefile.acorn => Acorn makefile
|
|
Carlos Lopez |
a09598 |
makefile.amiga => Amiga makefile
|
|
Carlos Lopez |
a09598 |
smakefile.ppc => AMIGA smakefile for SAS C V6.58/7.00 PPC compiler
|
|
Carlos Lopez |
a09598 |
(Requires SCOPTIONS, copied from scripts/SCOPTIONS.ppc)
|
|
Carlos Lopez |
a09598 |
makefile.atari => Atari makefile
|
|
Carlos Lopez |
a09598 |
makefile.beos => BEOS makefile for X86
|
|
Carlos Lopez |
a09598 |
makefile.bor => Borland makefile (uses bcc)
|
|
Carlos Lopez |
a09598 |
makefile.bc32 => 32-bit Borland C++ (all modules compiled in C mode)
|
|
Carlos Lopez |
a09598 |
makefile.bd32 => To make a png32bd.dll with Borland C++ 4.5
|
|
Carlos Lopez |
a09598 |
makefile.tc3 => Turbo C 3.0 makefile
|
|
Carlos Lopez |
a09598 |
makefile.dj2 => DJGPP 2 makefile
|
|
Carlos Lopez |
a09598 |
makefile.msc => Microsoft C makefile
|
|
Carlos Lopez |
a09598 |
makefile.vcawin32 => makefile for Microsoft Visual C++ 5.0 and later (uses
|
|
Carlos Lopez |
a09598 |
assembler code tuned for Intel MMX platform)
|
|
Carlos Lopez |
a09598 |
makefile.vcwin32 => makefile for Microsoft Visual C++ 4.0 and later (does
|
|
Carlos Lopez |
a09598 |
not use assembler code)
|
|
Carlos Lopez |
a09598 |
makefile.os2 => OS/2 Makefile (gcc and emx, requires pngos2.def)
|
|
Carlos Lopez |
a09598 |
pngos2.def => OS/2 module definition file used by makefile.os2
|
|
Carlos Lopez |
a09598 |
makefile.watcom => Watcom 10a+ Makefile, 32-bit flat memory model
|
|
Carlos Lopez |
a09598 |
makevms.com => VMS build script
|
|
Carlos Lopez |
a09598 |
descrip.mms => VMS makefile for MMS or MMK
|
|
Carlos Lopez |
a09598 |
pngdef.pas => Defines for a png32bd.dll with Borland C++ 4.5
|
|
Carlos Lopez |
a09598 |
SCOPTIONS.ppc => Used with smakefile.ppc
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
Copy the file (or files) that you need from the
|
|
Carlos Lopez |
a09598 |
scripts directory into this directory, for example
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
MSDOS example: copy scripts\makefile.msc makefile
|
|
Carlos Lopez |
a09598 |
UNIX example: cp scripts/makefile.std makefile
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
Read the makefile to see if you need to change any source or
|
|
Carlos Lopez |
a09598 |
target directories to match your preferences.
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
Then read pngconf.h to see if you want to make any configuration
|
|
Carlos Lopez |
a09598 |
changes.
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
Then just run "make test" which will create the libpng library in
|
|
Carlos Lopez |
a09598 |
this directory and run a quick test that reads the "pngtest.png"
|
|
Carlos Lopez |
a09598 |
file and writes a "pngout.png" file that should be identical to it.
|
|
Carlos Lopez |
a09598 |
Look for "9782 zero samples" in the output of the test. For more
|
|
Carlos Lopez |
a09598 |
confidence, you can run another test by typing "pngtest pngnow.png"
|
|
Carlos Lopez |
a09598 |
and looking for "289 zero samples" in the output. Also, you can
|
|
Carlos Lopez |
a09598 |
run "pngtest -m *.png" in the "contrib/pngsuite" directory and compare
|
|
Carlos Lopez |
a09598 |
your output with the result shown in contrib/pngsuite/README.
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
Most of the makefiles will allow you to run "make install" to
|
|
Carlos Lopez |
a09598 |
put the library in its final resting place (if you want to
|
|
Carlos Lopez |
a09598 |
do that, run "make install" in the zlib directory first if necessary).
|
|
Carlos Lopez |
a09598 |
Some also allow you to run "make test-installed" after you have
|
|
Carlos Lopez |
a09598 |
run "make install".
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
Further information can be found in the README and libpng.txt
|
|
Carlos Lopez |
a09598 |
files, in the individual makefiles, in png.h, in the README files in
|
|
Carlos Lopez |
a09598 |
subdirectories of the LIB directory, and the manual pages libpng.3 and png.5.
|