blob: 3d7ec877d96d39d2419fbd95f597d4faf9d6b1c2 [file] [log] [blame]
Glenn Randers-Pehrson08a33431998-03-07 06:06:55 -06001
Glenn Randers-Pehrson15dac0b2000-07-10 07:48:54 -05002Installing libpng version 1.0.8beta2 - July 10, 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-Pehrson15dac0b2000-07-10 07:48:54 -050013might be called "libpng-1.0.8beta2" or "lpng107" 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-Pehrsondb66d442000-06-23 21:38:16 -050029 visupng
Glenn Randers-Pehrsond4366722000-06-04 14:29:29 -050030 msvc
Glenn Randers-Pehrson08a33431998-03-07 06:06:55 -060031 scripts
32 makefile.*
33 pngtest.png
Glenn Randers-Pehrson15dac0b2000-07-10 07:48:54 -050034 wince
Glenn Randers-Pehrson08a33431998-03-07 06:06:55 -060035 etc.
36 zlib
37 README
38 *.h
39 *.c
40 contrib
41 etc.
42
Glenn Randers-Pehrson61c32d92000-02-04 23:40:16 -060043If the line endings in the files look funny, you may wish to get the other
44distribution of libpng. It is available in both tar.gz (UNIX style line
45endings) and zip (DOS style line endings) formats.
46
Glenn Randers-Pehrsondb66d442000-06-23 21:38:16 -050047If you are building libpng with MSVC, you can enter the libpng\msvc directory
Glenn Randers-Pehrson15dac0b2000-07-10 07:48:54 -050048and follow the instructions in msvc\README.txt. You can build libpng for
49WindowsCE by entering the libpng\wince directory and following the
50instructions in the README* files.
Glenn Randers-Pehrsond4366722000-06-04 14:29:29 -050051
Glenn Randers-Pehrsondb66d442000-06-23 21:38:16 -050052Else enter the zlib directory and follow the instructions in zlib/README,
53then come back here and choose the appropriate makefile.sys in the scripts
Glenn Randers-Pehrson520a7642000-03-21 05:13:06 -060054directory.
Glenn Randers-Pehrsondb66d442000-06-23 21:38:16 -050055
Glenn Randers-Pehrson08a33431998-03-07 06:06:55 -060056The files that are presently available in the scripts directory
57include
58
Glenn Randers-Pehrson520a7642000-03-21 05:13:06 -060059 makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
Glenn Randers-Pehrson15dac0b2000-07-10 07:48:54 -050060 makefile.linux => Linux/ELF makefile (gcc, creates libpng.so.2.1.0.8beta2)
61 makefile.gcmmx => Linux/ELF makefile (gcc, creates libpng.so.2.1.0.8beta2,
Glenn Randers-Pehrson520a7642000-03-21 05:13:06 -060062 uses assembler code tuned for Intel MMX platform)
63 makefile.gcc => Generic makefile (gcc, creates static libpng.a)
Glenn Randers-Pehrson860ab2b1999-10-14 07:43:10 -050064 makefile.knr => Archaic UNIX Makefile that converts files with
65 ansi2knr (Requires ansi2knr.c from
66 ftp://ftp.cs.wisc.edu/ghost)
67 makefile.dec => DEC Alpha UNIX makefile
68 makefile.hpux => HPUX (10.20 and 11.00) makefile
Glenn Randers-Pehrson68ea2432000-04-01 21:10:05 -060069 makefile.ibmc => IBM C/C++ version 3.x for Win32 and OS/2 (static)
Glenn Randers-Pehrsonec61c232000-05-16 06:17:36 -050070 makefile.intel => Intel C/C++ version 4.0 and later
Glenn Randers-Pehrson68ea2432000-04-01 21:10:05 -060071 libpng.icc => Project file for IBM VisualAge/C++ version 4.0 or later
Glenn Randers-Pehrson520a7642000-03-21 05:13:06 -060072 makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib)
Glenn Randers-Pehrson15dac0b2000-07-10 07:48:54 -050073 makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.2.1.0.8beta2)
Glenn Randers-Pehrson860ab2b1999-10-14 07:43:10 -050074 makefile.sunos => Sun makefile
Glenn Randers-Pehrson15dac0b2000-07-10 07:48:54 -050075 makefile.solaris => Solaris 2.X makefile (gcc, creates libpng.so.2.1.0.8beta2)
Glenn Randers-Pehrson860ab2b1999-10-14 07:43:10 -050076 makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc
77 makefile.mips => MIPS makefile
78 makefile.acorn => Acorn makefile
79 makefile.amiga => Amiga makefile
80 smakefile.ppc => AMIGA smakefile for SAS C V6.58/7.00 PPC compiler
81 (Requires SCOPTIONS, copied from scripts/SCOPTIONS.ppc)
82 makefile.atari => Atari makefile
83 makefile.beos => BEOS makefile for X86
Glenn Randers-Pehrson520a7642000-03-21 05:13:06 -060084 makefile.bor => Borland makefile (uses bcc)
85 makefile.bc32 => 32-bit Borland C++ (all modules compiled in C mode)
Glenn Randers-Pehrson61c32d92000-02-04 23:40:16 -060086 makefile.bd32 => To make a png32bd.dll with Borland C++ 4.5
Glenn Randers-Pehrson520a7642000-03-21 05:13:06 -060087 makefile.tc3 => Turbo C 3.0 makefile
Glenn Randers-Pehrson860ab2b1999-10-14 07:43:10 -050088 makefile.dj2 => DJGPP 2 makefile
89 makefile.msc => Microsoft C makefile
90 makefile.vcawin32 => makefile for Microsoft Visual C++ 5.0 and later (uses
Glenn Randers-Pehrson61c32d92000-02-04 23:40:16 -060091 assembler code tuned for Intel MMX platform)
Glenn Randers-Pehrson860ab2b1999-10-14 07:43:10 -050092 makefile.vcwin32 => makefile for Microsoft Visual C++ 4.0 and later (does
93 not use assembler code)
Glenn Randers-Pehrson860ab2b1999-10-14 07:43:10 -050094 makefile.os2 => OS/2 Makefile (gcc and emx, requires pngos2.def)
95 pngos2.def => OS/2 module definition file used by makefile.os2
96 makefile.watcom => Watcom 10a+ Makefile, 32-bit flat memory model
97 makevms.com => VMS build script
Glenn Randers-Pehrson520a7642000-03-21 05:13:06 -060098 descrip.mms => VMS makefile for MMS or MMK
Glenn Randers-Pehrson860ab2b1999-10-14 07:43:10 -050099 pngdef.pas => Defines for a png32bd.dll with Borland C++ 4.5
100 SCOPTIONS.ppc => Used with smakefile.ppc
Glenn Randers-Pehrson08a33431998-03-07 06:06:55 -0600101
102Copy the file (or files) that you need from the
103scripts directory into this directory, for example
104
Glenn Randers-Pehrson860ab2b1999-10-14 07:43:10 -0500105 MSDOS example: copy scripts\makefile.msc makefile
Glenn Randers-Pehrson08a33431998-03-07 06:06:55 -0600106 UNIX example: cp scripts/makefile.std makefile
107
108Read the makefile to see if you need to change any source or
109target directories to match your preferences.
110
111Then read pngconf.h to see if you want to make any configuration
112changes.
113
114Then just run "make test" which will create the libpng library in
115this directory and run a quick test that reads the "pngtest.png"
116file and writes a "pngout.png" file that should be identical to it.
Glenn Randers-Pehrson860ab2b1999-10-14 07:43:10 -0500117Look for "9782 zero samples" in the output of the test. For more
118confidence, you can run another test by typing "pngtest pngnow.png"
Glenn Randers-Pehrson6d8f3b01999-10-23 08:39:18 -0500119and looking for "289 zero samples" in the output. Also, you can
120run "pngtest -m *.png" in the "contrib/pngsuite" directory and compare
121your output with the result shown in contrib/pngsuite/README.
Glenn Randers-Pehrson08a33431998-03-07 06:06:55 -0600122
123Most of the makefiles will allow you to run "make install" to
124put the library in its final resting place (if you want to
125do that, run "make install" in the zlib directory first if necessary).
126
127Further information can be found in the README and libpng.txt
Glenn Randers-Pehrson6d8f3b01999-10-23 08:39:18 -0500128files, in the individual makefiles, in png.h, and the manual pages
129libpng.3 and png.5.