blob: 88ce327bb9e02b21736d2ad08083bbcc824357ed [file] [log] [blame]
Glenn Randers-Pehrson08a33431998-03-07 06:06:55 -06001
Glenn Randers-Pehrson860ab2b1999-10-14 07:43:10 -05002Installing libpng version 1.0.5 - October 15, 1999
Glenn Randers-Pehrson08a33431998-03-07 06:06:55 -06003
4Before installing libpng, you must first install zlib. zlib
5can usually be found wherever you got libpng. zlib can be
6placed in another directory, at the same level as libpng.
7Note that your system might already have a preinstalled
Glenn Randers-Pehrson5c6aeb21998-12-29 11:47:59 -06008zlib, but you will still need to have access to the
Glenn Randers-Pehrson08a33431998-03-07 06:06:55 -06009zlib.h and zconf.h include files that correspond to the
10version of zlib that's installed.
11
12You can rename the directories that you downloaded (they
Glenn Randers-Pehrsonad5dd1f1999-10-05 13:03:49 -050013might be called "libpng-1.0.5" or "lpng103" and "zlib-1.1.3"
Glenn Randers-Pehrson5c6aeb21998-12-29 11:47:59 -060014or "zlib113") so that you have directories called "zlib" and "libpng".
Glenn Randers-Pehrson08a33431998-03-07 06:06:55 -060015
16Your directory structure should look like this:
17
18 .. (the parent directory)
19 libpng (this directory)
20 INSTALL (this file)
21 README
22 *.h
23 *.c
Glenn Randers-Pehrson860ab2b1999-10-14 07:43:10 -050024 contrib
25 gregbook
Glenn Randers-Pehrson08a33431998-03-07 06:06:55 -060026 scripts
27 makefile.*
28 pngtest.png
29 etc.
30 zlib
31 README
32 *.h
33 *.c
34 contrib
35 etc.
36
37First enter the zlib directory and follow the instructions
38in zlib/README. Then come back here and choose the
39appropriate makefile.sys in the scripts directory.
40The files that are presently available in the scripts directory
41include
42
Glenn Randers-Pehrson860ab2b1999-10-14 07:43:10 -050043 descrip.mms => VMS makefile for MMS or MMK
44 makefile.std => Generic UNIX makefile
45 makefile.knr => Archaic UNIX Makefile that converts files with
46 ansi2knr (Requires ansi2knr.c from
47 ftp://ftp.cs.wisc.edu/ghost)
48 makefile.dec => DEC Alpha UNIX makefile
49 makefile.hpux => HPUX (10.20 and 11.00) makefile
50 makefile.sgi => Silicon Graphics IRIX makefile
51 makefile.sunos => Sun makefile
52 makefile.solaris => Solaris 2.X makefile (gcc, creates libpng.so.2.1.0.5)
53 makefile.linux => Linux/ELF makefile (gcc, creates libpng.so.2.1.0.5)
54 makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc
55 makefile.mips => MIPS makefile
56 makefile.acorn => Acorn makefile
57 makefile.amiga => Amiga makefile
58 smakefile.ppc => AMIGA smakefile for SAS C V6.58/7.00 PPC compiler
59 (Requires SCOPTIONS, copied from scripts/SCOPTIONS.ppc)
60 makefile.atari => Atari makefile
61 makefile.beos => BEOS makefile for X86
62 makefile.borland => Borland makefile
63 build.bat => MS-DOS batch file for Borland compiler
64 makefile.dj2 => DJGPP 2 makefile
65 makefile.msc => Microsoft C makefile
66 makefile.vcawin32 => makefile for Microsoft Visual C++ 5.0 and later (uses
67 assembler code)
68 makefile.vcwin32 => makefile for Microsoft Visual C++ 4.0 and later (does
69 not use assembler code)
70 makefile.turboc3 => Turbo C 3.0 makefile
71 makefile.os2 => OS/2 Makefile (gcc and emx, requires pngos2.def)
72 pngos2.def => OS/2 module definition file used by makefile.os2
73 makefile.watcom => Watcom 10a+ Makefile, 32-bit flat memory model
74 makevms.com => VMS build script
75 pngdll.mak => To make a png32bd.dll with Borland C++ 4.5
76 pngdef.pas => Defines for a png32bd.dll with Borland C++ 4.5
77 SCOPTIONS.ppc => Used with smakefile.ppc
Glenn Randers-Pehrson08a33431998-03-07 06:06:55 -060078
79Copy the file (or files) that you need from the
80scripts directory into this directory, for example
81
Glenn Randers-Pehrson860ab2b1999-10-14 07:43:10 -050082 MSDOS example: copy scripts\makefile.msc makefile
Glenn Randers-Pehrson08a33431998-03-07 06:06:55 -060083 UNIX example: cp scripts/makefile.std makefile
84
85Read the makefile to see if you need to change any source or
86target directories to match your preferences.
87
88Then read pngconf.h to see if you want to make any configuration
89changes.
90
91Then just run "make test" which will create the libpng library in
92this directory and run a quick test that reads the "pngtest.png"
93file and writes a "pngout.png" file that should be identical to it.
Glenn Randers-Pehrson860ab2b1999-10-14 07:43:10 -050094Look for "9782 zero samples" in the output of the test. For more
95confidence, you can run another test by typing "pngtest pngnow.png"
96and looking for "289 zero samples" in the output.
Glenn Randers-Pehrson08a33431998-03-07 06:06:55 -060097
98Most of the makefiles will allow you to run "make install" to
99put the library in its final resting place (if you want to
100do that, run "make install" in the zlib directory first if necessary).
101
102Further information can be found in the README and libpng.txt
103files, in the individual makefiles, and in png.h, and the manual
104pages libpng.3 and png.5.