]> git.saurik.com Git - wxWidgets.git/blame - src/png/INSTALL
avoid scrolling to cleared-non existing- data, reload before, fixes #13318
[wxWidgets.git] / src / png / INSTALL
CommitLineData
0272a10d 1
b61cc19c 2Installing libpng version 1.4.4 - September 23, 2010
0272a10d
VZ
3
4On Unix/Linux and similar systems, you can simply type
5
6 ./configure [--prefix=/path]
7 make check
8 make install
9
10and ignore the rest of this document.
11
12If configure does not work on your system and you have a reasonably
13up-to-date set of tools, running ./autogen.sh before running ./configure
14may fix the problem. You can also run the individual commands in
15autogen.sh with the --force option, if supported by your version of
16the tools. If you run 'libtoolize --force', though, this will replace
17the distributed, patched, version of ltmain.sh with an unpatched version
18and your shared library builds may fail to produce libraries with the
19correct version numbers.
20
21Instead, you can use one of the custom-built makefiles in the
22"scripts" directory
23
24 cp scripts/makefile.system makefile
25 make test
26 make install
27
b61cc19c
PC
28The files that are presently available in the scripts directory
29are listed and described in scripts/README.txt.
0272a10d 30
b61cc19c 31Or you can use one of the "projects" in the "projects" directory.
0272a10d
VZ
32
33Before installing libpng, you must first install zlib, if it
34is not already on your system. zlib can usually be found
35wherever you got libpng. zlib can be placed in another directory,
36at the same level as libpng.
37
b61cc19c
PC
38If you want to use "cmake" (see www.cmake.org), type
39
40 cmake . -DCMAKE_INSTALL_PREFIX=/path
41 make
42 make install
43
0272a10d
VZ
44If your system already has a preinstalled zlib you will still need
45to have access to the zlib.h and zconf.h include files that
46correspond to the version of zlib that's installed.
47
48You can rename the directories that you downloaded (they
b61cc19c
PC
49might be called "libpng-1.4.4" or "libpng14" and "zlib-1.2.3"
50or "zlib123") so that you have directories called "zlib" and "libpng".
0272a10d
VZ
51
52Your directory structure should look like this:
53
54 .. (the parent directory)
55 libpng (this directory)
56 INSTALL (this file)
57 README
58 *.h
59 *.c
b61cc19c
PC
60 CMakeLists.txt => "cmake" script
61 configuration files:
62 configure.ac, configure, Makefile.am, Makefile.in,
63 autogen.sh, config.guess, ltmain.sh, missing,
64 aclocal.m4, config.h.in, config.sub,
65 depcomp, install-sh, test-pngtest.sh
0272a10d
VZ
66 contrib
67 gregbook
b61cc19c 68 pngminim
0272a10d
VZ
69 pngminus
70 pngsuite
71 visupng
72 projects
b61cc19c 73 cbuilder5 (Borland)
0272a10d 74 visualc6 (msvc)
b61cc19c
PC
75 visualc71
76 vstudio
77 xcode
0272a10d
VZ
78 scripts
79 makefile.*
b61cc19c 80 *.def (module definition files)
0272a10d
VZ
81 pngtest.png
82 etc.
83 zlib
84 README
85 *.h
86 *.c
87 contrib
88 etc.
89
90If the line endings in the files look funny, you may wish to get the other
91distribution of libpng. It is available in both tar.gz (UNIX style line
92endings) and zip (DOS style line endings) formats.
93
94If you are building libpng with MSVC, you can enter the
b61cc19c
PC
95libpng projects\visualc6 or visualc71 directory and follow the instructions
96in README.txt.
0272a10d 97
b61cc19c 98Otherwise enter the zlib directory and follow the instructions in zlib/README,
0272a10d
VZ
99then come back here and run "configure" or choose the appropriate
100makefile.sys in the scripts directory.
101
0272a10d
VZ
102Copy the file (or files) that you need from the
103scripts directory into this directory, for example
104
105 MSDOS example: copy scripts\makefile.msc makefile
106 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" which will create the libpng library in
115this directory and "make test" which will run a quick test that reads
116the "pngtest.png" file and writes a "pngout.png" file that should be
117identical to it. Look for "9782 zero samples" in the output of the
118test. For more confidence, you can run another test by typing
119"pngtest pngnow.png" and looking for "289 zero samples" in the output.
120Also, you can run "pngtest -m contrib/pngsuite/*.png" and compare
121your output with the result shown in contrib/pngsuite/README.
122
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).
126Some also allow you to run "make test-installed" after you have
127run "make install".
128
129If you encounter a compiler error message complaining about the
130lines
b61cc19c 131
0272a10d
VZ
132 __png.h__ already includes setjmp.h;
133 __dont__ include it again.;
b61cc19c
PC
134
135this means you have compiled another module that includes setjmp.h,
0272a10d
VZ
136which is hazardous because the two modules might not include exactly
137the same setjmp.h. If you are sure that you know what you are doing
138and that they are exactly the same, then you can comment out or
139delete the two lines. Better yet, use the cexcept interface
140instead, as demonstrated in contrib/visupng of the libpng distribution.
141
142Further information can be found in the README and libpng.txt
143files, in the individual makefiles, in png.h, and the manual pages
144libpng.3 and png.5.