blob: b3fc612516d87cada78154da45dd94347215b8f5 [file] [log] [blame]
Glenn Randers-Pehrson08a33431998-03-07 06:06:55 -06001
Glenn Randers-Pehrsond4366722000-06-04 14:29:29 -05002Installing libpng version 1.0.7beta16 - June 4, 2000
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-Pehrsond4366722000-06-04 14:29:29 -050013might be called "libpng-1.0.7beta16" or "lpng106" 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-Pehrsond4366722000-06-04 14:29:29 -050026 msvctest
Glenn Randers-Pehrson6d8f3b01999-10-23 08:39:18 -050027 pngminus
28 pngsuite
Glenn Randers-Pehrsond4366722000-06-04 14:29:29 -050029 msvc
Glenn Randers-Pehrson08a33431998-03-07 06:06:55 -060030 scripts
31 makefile.*
32 pngtest.png
33 etc.
34 zlib
35 README
36 *.h
37 *.c
38 contrib
39 etc.
40
Glenn Randers-Pehrson61c32d92000-02-04 23:40:16 -060041If the line endings in the files look funny, you may wish to get the other
42distribution of libpng. It is available in both tar.gz (UNIX style line
43endings) and zip (DOS style line endings) formats.
44
Glenn Randers-Pehrsond4366722000-06-04 14:29:29 -050045If you are building libpng with MSVC, you can enter the msvc directory and
46follow the instructions in msvc/README.txt.
47
48Else enter the zlib directory and follow the instructions in zlib/README.
Glenn Randers-Pehrson520a7642000-03-21 05:13:06 -060049Then come back here and choose the appropriate makefile.sys in the scripts
50directory.
Glenn Randers-Pehrson08a33431998-03-07 06:06:55 -060051The files that are presently available in the scripts directory
52include
53
Glenn Randers-Pehrson520a7642000-03-21 05:13:06 -060054 makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
Glenn Randers-Pehrsond4366722000-06-04 14:29:29 -050055 makefile.linux => Linux/ELF makefile (gcc, creates libpng.so.2.1.0.7beta16)
56 makefile.gcmmx => Linux/ELF makefile (gcc, creates libpng.so.2.1.0.7beta16,
Glenn Randers-Pehrson520a7642000-03-21 05:13:06 -060057 uses assembler code tuned for Intel MMX platform)
58 makefile.gcc => Generic makefile (gcc, creates static libpng.a)
Glenn Randers-Pehrson860ab2b1999-10-14 07:43:10 -050059 makefile.knr => Archaic UNIX Makefile that converts files with
60 ansi2knr (Requires ansi2knr.c from
61 ftp://ftp.cs.wisc.edu/ghost)
62 makefile.dec => DEC Alpha UNIX makefile
63 makefile.hpux => HPUX (10.20 and 11.00) makefile
Glenn Randers-Pehrson68ea2432000-04-01 21:10:05 -060064 makefile.ibmc => IBM C/C++ version 3.x for Win32 and OS/2 (static)
Glenn Randers-Pehrsonec61c232000-05-16 06:17:36 -050065 makefile.intel => Intel C/C++ version 4.0 and later
Glenn Randers-Pehrson68ea2432000-04-01 21:10:05 -060066 libpng.icc => Project file for IBM VisualAge/C++ version 4.0 or later
Glenn Randers-Pehrson520a7642000-03-21 05:13:06 -060067 makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib)
Glenn Randers-Pehrsond4366722000-06-04 14:29:29 -050068 makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.2.1.0.7beta16)
Glenn Randers-Pehrson860ab2b1999-10-14 07:43:10 -050069 makefile.sunos => Sun makefile
Glenn Randers-Pehrsond4366722000-06-04 14:29:29 -050070 makefile.solaris => Solaris 2.X makefile (gcc, creates libpng.so.2.1.0.7beta16)
Glenn Randers-Pehrson860ab2b1999-10-14 07:43:10 -050071 makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc
72 makefile.mips => MIPS makefile
73 makefile.acorn => Acorn makefile
74 makefile.amiga => Amiga makefile
75 smakefile.ppc => AMIGA smakefile for SAS C V6.58/7.00 PPC compiler
76 (Requires SCOPTIONS, copied from scripts/SCOPTIONS.ppc)
77 makefile.atari => Atari makefile
78 makefile.beos => BEOS makefile for X86
Glenn Randers-Pehrson520a7642000-03-21 05:13:06 -060079 makefile.bor => Borland makefile (uses bcc)
80 makefile.bc32 => 32-bit Borland C++ (all modules compiled in C mode)
Glenn Randers-Pehrson61c32d92000-02-04 23:40:16 -060081 makefile.bd32 => To make a png32bd.dll with Borland C++ 4.5
Glenn Randers-Pehrson520a7642000-03-21 05:13:06 -060082 makefile.tc3 => Turbo C 3.0 makefile
Glenn Randers-Pehrson860ab2b1999-10-14 07:43:10 -050083 makefile.dj2 => DJGPP 2 makefile
84 makefile.msc => Microsoft C makefile
85 makefile.vcawin32 => makefile for Microsoft Visual C++ 5.0 and later (uses
Glenn Randers-Pehrson61c32d92000-02-04 23:40:16 -060086 assembler code tuned for Intel MMX platform)
Glenn Randers-Pehrson860ab2b1999-10-14 07:43:10 -050087 makefile.vcwin32 => makefile for Microsoft Visual C++ 4.0 and later (does
88 not use assembler code)
Glenn Randers-Pehrson860ab2b1999-10-14 07:43:10 -050089 makefile.os2 => OS/2 Makefile (gcc and emx, requires pngos2.def)
90 pngos2.def => OS/2 module definition file used by makefile.os2
91 makefile.watcom => Watcom 10a+ Makefile, 32-bit flat memory model
92 makevms.com => VMS build script
Glenn Randers-Pehrson520a7642000-03-21 05:13:06 -060093 descrip.mms => VMS makefile for MMS or MMK
Glenn Randers-Pehrson860ab2b1999-10-14 07:43:10 -050094 pngdef.pas => Defines for a png32bd.dll with Borland C++ 4.5
95 SCOPTIONS.ppc => Used with smakefile.ppc
Glenn Randers-Pehrson08a33431998-03-07 06:06:55 -060096
97Copy the file (or files) that you need from the
98scripts directory into this directory, for example
99
Glenn Randers-Pehrson860ab2b1999-10-14 07:43:10 -0500100 MSDOS example: copy scripts\makefile.msc makefile
Glenn Randers-Pehrson08a33431998-03-07 06:06:55 -0600101 UNIX example: cp scripts/makefile.std makefile
102
103Read the makefile to see if you need to change any source or
104target directories to match your preferences.
105
106Then read pngconf.h to see if you want to make any configuration
107changes.
108
109Then just run "make test" which will create the libpng library in
110this directory and run a quick test that reads the "pngtest.png"
111file and writes a "pngout.png" file that should be identical to it.
Glenn Randers-Pehrson860ab2b1999-10-14 07:43:10 -0500112Look for "9782 zero samples" in the output of the test. For more
113confidence, you can run another test by typing "pngtest pngnow.png"
Glenn Randers-Pehrson6d8f3b01999-10-23 08:39:18 -0500114and looking for "289 zero samples" in the output. Also, you can
115run "pngtest -m *.png" in the "contrib/pngsuite" directory and compare
116your output with the result shown in contrib/pngsuite/README.
Glenn Randers-Pehrson08a33431998-03-07 06:06:55 -0600117
118Most of the makefiles will allow you to run "make install" to
119put the library in its final resting place (if you want to
120do that, run "make install" in the zlib directory first if necessary).
121
122Further information can be found in the README and libpng.txt
Glenn Randers-Pehrson6d8f3b01999-10-23 08:39:18 -0500123files, in the individual makefiles, in png.h, and the manual pages
124libpng.3 and png.5.