]> git.saurik.com Git - wxWidgets.git/blame - src/png/INSTALL
Refresh wxMSW wxStaticBitmap when its size changes.
[wxWidgets.git] / src / png / INSTALL
CommitLineData
0272a10d 1
9c0d9ce3 2Installing libpng
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
9c0d9ce3
DS
16the tools. To be really sure that you aren't using any of the included
17pre-built scripts, you can do this:
18
19 ./configure --enable-maintainer-mode
20 make maintainer-clean
21 ./autogen.sh
22 ./configure [--prefix=/path] [other options]
23 make
24 make install
25 make check
0272a10d
VZ
26
27Instead, you can use one of the custom-built makefiles in the
28"scripts" directory
29
30 cp scripts/makefile.system makefile
31 make test
32 make install
33
b61cc19c
PC
34The files that are presently available in the scripts directory
35are listed and described in scripts/README.txt.
0272a10d 36
b61cc19c 37Or you can use one of the "projects" in the "projects" directory.
0272a10d
VZ
38
39Before installing libpng, you must first install zlib, if it
40is not already on your system. zlib can usually be found
41wherever you got libpng. zlib can be placed in another directory,
42at the same level as libpng.
43
b61cc19c
PC
44If you want to use "cmake" (see www.cmake.org), type
45
46 cmake . -DCMAKE_INSTALL_PREFIX=/path
47 make
48 make install
49
0272a10d
VZ
50If your system already has a preinstalled zlib you will still need
51to have access to the zlib.h and zconf.h include files that
52correspond to the version of zlib that's installed.
53
54You can rename the directories that you downloaded (they
9c0d9ce3
DS
55might be called "libpng-x.y.z" or "libpngNN" and "zlib-1.2.5"
56or "zlib125") so that you have directories called "zlib" and "libpng".
0272a10d
VZ
57
58Your directory structure should look like this:
59
60 .. (the parent directory)
61 libpng (this directory)
62 INSTALL (this file)
63 README
64 *.h
65 *.c
b61cc19c
PC
66 CMakeLists.txt => "cmake" script
67 configuration files:
68 configure.ac, configure, Makefile.am, Makefile.in,
9c0d9ce3
DS
69 autogen.sh, config.guess, ltmain.sh, missing, libpng.pc.in,
70 libpng-config.in, aclocal.m4, config.h.in, config.sub,
71 depcomp, install-sh, mkinstalldirs, test-pngtest.sh
0272a10d
VZ
72 contrib
73 gregbook
b61cc19c 74 pngminim
0272a10d
VZ
75 pngminus
76 pngsuite
77 visupng
78 projects
b61cc19c
PC
79 visualc71
80 vstudio
0272a10d
VZ
81 scripts
82 makefile.*
b61cc19c 83 *.def (module definition files)
9c0d9ce3 84 etc.
0272a10d
VZ
85 pngtest.png
86 etc.
87 zlib
88 README
89 *.h
90 *.c
91 contrib
92 etc.
93
94If the line endings in the files look funny, you may wish to get the other
95distribution of libpng. It is available in both tar.gz (UNIX style line
96endings) and zip (DOS style line endings) formats.
97
98If you are building libpng with MSVC, you can enter the
b61cc19c
PC
99libpng projects\visualc6 or visualc71 directory and follow the instructions
100in README.txt.
0272a10d 101
b61cc19c 102Otherwise enter the zlib directory and follow the instructions in zlib/README,
0272a10d
VZ
103then come back here and run "configure" or choose the appropriate
104makefile.sys in the scripts directory.
105
0272a10d
VZ
106Copy the file (or files) that you need from the
107scripts directory into this directory, for example
108
109 MSDOS example: copy scripts\makefile.msc makefile
110 UNIX example: cp scripts/makefile.std makefile
111
112Read the makefile to see if you need to change any source or
113target directories to match your preferences.
114
9c0d9ce3 115Then read pnglibconf.dfa to see if you want to make any configuration
0272a10d
VZ
116changes.
117
118Then just run "make" which will create the libpng library in
119this directory and "make test" which will run a quick test that reads
120the "pngtest.png" file and writes a "pngout.png" file that should be
121identical to it. Look for "9782 zero samples" in the output of the
122test. For more confidence, you can run another test by typing
123"pngtest pngnow.png" and looking for "289 zero samples" in the output.
124Also, you can run "pngtest -m contrib/pngsuite/*.png" and compare
125your output with the result shown in contrib/pngsuite/README.
126
127Most of the makefiles will allow you to run "make install" to
128put the library in its final resting place (if you want to
129do that, run "make install" in the zlib directory first if necessary).
130Some also allow you to run "make test-installed" after you have
131run "make install".
132
9c0d9ce3 133Further information can be found in the README and libpng-manual.txt
0272a10d
VZ
134files, in the individual makefiles, in png.h, and the manual pages
135libpng.3 and png.5.
72281370
DS
136
137Using the ./configure script -- 16 December 2002.
138=================================================
139
140The ./configure script should work compatibly with what scripts/makefile.*
141did, however there are some options you might need to add to configure
142explicitly, which previously was done semi-automatically (if you didn't edit
143scripts/makefile.* yourself, that is)
144
145CFLAGS="-Wall -O -funroll-loops \
146-malign-loops=2 -malign-functions=2" ./configure --prefix=/usr/include \
147--with-pkgconfigdir=/usr/lib/pkgconfig --includedir=/usr/include
148
149You can alternatively specify --includedir=/usr/include, /usr/local/include,
150/usr/include/libpng%NN%, or whatever.
151
152If you find that the configure script is out-of-date or is not supporting
153your platform properly, try running autogen.sh to regenerate "configure",
154"Makefile.in", and the other configuration files. Then try configure again.
155