Mercurial > fife-parpg
comparison ext/libpng-1.2.29/INSTALL @ 0:4a0efb7baf70
* Datasets becomes the new trunk and retires after that :-)
author | mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222 |
---|---|
date | Sun, 29 Jun 2008 18:44:17 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4a0efb7baf70 |
---|---|
1 | |
2 Installing libpng version 1.2.29 - May 8, 2008 | |
3 | |
4 On Unix/Linux and similar systems, you can simply type | |
5 | |
6 ./configure [--prefix=/path] | |
7 make check | |
8 make install | |
9 | |
10 and ignore the rest of this document. | |
11 | |
12 If configure does not work on your system and you have a reasonably | |
13 up-to-date set of tools, running ./autogen.sh before running ./configure | |
14 may fix the problem. You can also run the individual commands in | |
15 autogen.sh with the --force option, if supported by your version of | |
16 the tools. If you run 'libtoolize --force', though, this will replace | |
17 the distributed, patched, version of ltmain.sh with an unpatched version | |
18 and your shared library builds may fail to produce libraries with the | |
19 correct version numbers. | |
20 | |
21 Instead, 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 | |
28 Or you can use one of the "projects" in the "projects" directory. | |
29 | |
30 If you want to use "cmake" (see www.cmake.org), copy CMakeLists.txt | |
31 from the "scripts" directory to this directory and type | |
32 | |
33 cmake . [-DPNG_MMX=YES] -DCMAKE_INSTALL_PREFIX=/path | |
34 make | |
35 make install | |
36 | |
37 Before installing libpng, you must first install zlib, if it | |
38 is not already on your system. zlib can usually be found | |
39 wherever you got libpng. zlib can be placed in another directory, | |
40 at the same level as libpng. | |
41 | |
42 If your system already has a preinstalled zlib you will still need | |
43 to have access to the zlib.h and zconf.h include files that | |
44 correspond to the version of zlib that's installed. | |
45 | |
46 You can rename the directories that you downloaded (they | |
47 might be called "libpng-1.2.29" or "lpng109" and "zlib-1.2.1" | |
48 or "zlib121") so that you have directories called "zlib" and "libpng". | |
49 | |
50 Your directory structure should look like this: | |
51 | |
52 .. (the parent directory) | |
53 libpng (this directory) | |
54 INSTALL (this file) | |
55 README | |
56 *.h | |
57 *.c | |
58 contrib | |
59 gregbook | |
60 pngminus | |
61 pngsuite | |
62 visupng | |
63 projects | |
64 beos | |
65 c5builder (Borland) | |
66 visualc6 (msvc) | |
67 netware.txt | |
68 wince.txt | |
69 scripts | |
70 makefile.* | |
71 pngtest.png | |
72 etc. | |
73 zlib | |
74 README | |
75 *.h | |
76 *.c | |
77 contrib | |
78 etc. | |
79 | |
80 If the line endings in the files look funny, you may wish to get the other | |
81 distribution of libpng. It is available in both tar.gz (UNIX style line | |
82 endings) and zip (DOS style line endings) formats. | |
83 | |
84 If you are building libpng with MSVC, you can enter the | |
85 libpng projects\visualc6 directory and follow the instructions in | |
86 projects\visualc6\README.txt. | |
87 | |
88 You can build libpng for WindowsCE by downloading and installing | |
89 the projects\wince directory as instructed in the projects\wince.txt file, and | |
90 then following the instructions in the README* files. Similarly, you can | |
91 build libpng for Netware or Beos as instructed in projects\netware.txt | |
92 or projects\beos. | |
93 | |
94 Else enter the zlib directory and follow the instructions in zlib/README, | |
95 then come back here and run "configure" or choose the appropriate | |
96 makefile.sys in the scripts directory. | |
97 | |
98 The files that are presently available in the scripts directory | |
99 include | |
100 | |
101 CMakeLists.txt => "cmake" script | |
102 makefile.std => Generic UNIX makefile (cc, creates static libpng.a) | |
103 makefile.elf => Linux/ELF makefile symbol versioning, | |
104 gcc, creates libpng12.so.0.1.2.29) | |
105 makefile.linux => Linux/ELF makefile | |
106 (gcc, creates libpng12.so.0.1.2.29) | |
107 makefile.gcc => Generic makefile (gcc, creates static libpng.a) | |
108 makefile.knr => Archaic UNIX Makefile that converts files with | |
109 ansi2knr (Requires ansi2knr.c from | |
110 ftp://ftp.cs.wisc.edu/ghost) | |
111 makefile.aix => AIX/gcc makefile | |
112 makefile.cygwin => Cygwin/gcc makefile | |
113 makefile.darwin => Darwin makefile, can use on MacosX | |
114 makefile.dec => DEC Alpha UNIX makefile | |
115 makefile.freebsd => FreeBSD makefile | |
116 makefile.hpgcc => HPUX makefile using gcc | |
117 makefile.hpux => HPUX (10.20 and 11.00) makefile | |
118 makefile.hp64 => HPUX (10.20 and 11.00) makefile, 64-bit | |
119 makefile.ibmc => IBM C/C++ version 3.x for Win32 and OS/2 (static) | |
120 makefile.intel => Intel C/C++ version 4.0 and later | |
121 libpng.icc => Project file for IBM VisualAge/C++ version 4.0 or later | |
122 makefile.netbsd => NetBSD/cc makefile, uses PNGGCCRD, makes libpng.so. | |
123 makefile.ne12bsd => NetBSD/cc makefile, uses PNGGCCRD, | |
124 makes libpng12.so | |
125 makefile.openbsd => OpenBSD makefile | |
126 makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib) | |
127 makefile.sggcc => Silicon Graphics (gcc, | |
128 creates libpng12.so.0.1.2.29) | |
129 makefile.sunos => Sun makefile | |
130 makefile.solaris => Solaris 2.X makefile (gcc, | |
131 creates libpng12.so.0.1.2.29) | |
132 makefile.solaris-x86 => Solaris/intelMMX 2.X makefile (gcc, | |
133 creates libpng12.so.0.1.2.29) | |
134 makefile.so9 => Solaris 9 makefile (gcc, | |
135 creates libpng12.so.0.1.2.29) | |
136 makefile.32sunu => Sun Ultra 32-bit makefile | |
137 makefile.64sunu => Sun Ultra 64-bit makefile | |
138 makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc | |
139 makefile.mips => MIPS makefile | |
140 makefile.acorn => Acorn makefile | |
141 makefile.amiga => Amiga makefile | |
142 smakefile.ppc => AMIGA smakefile for SAS C V6.58/7.00 PPC compiler | |
143 (Requires SCOPTIONS, copied from scripts/SCOPTIONS.ppc) | |
144 makefile.atari => Atari makefile | |
145 makefile.beos => BEOS makefile for X86 | |
146 makefile.bor => Borland makefile (uses bcc) | |
147 makefile.bc32 => 32-bit Borland C++ (all modules compiled in C mode) | |
148 makefile.tc3 => Turbo C 3.0 makefile | |
149 makefile.dj2 => DJGPP 2 makefile | |
150 makefile.msc => Microsoft C makefile | |
151 makefile.vcwin32 => makefile for Microsoft Visual C++ 4.0 and later | |
152 makefile.os2 => OS/2 Makefile (gcc and emx, requires pngos2.def) | |
153 pngos2.def => OS/2 module definition file used by makefile.os2 | |
154 makefile.watcom => Watcom 10a+ Makefile, 32-bit flat memory model | |
155 makevms.com => VMS build script | |
156 descrip.mms => VMS makefile for MMS or MMK | |
157 SCOPTIONS.ppc => Used with smakefile.ppc | |
158 | |
159 Copy the file (or files) that you need from the | |
160 scripts directory into this directory, for example | |
161 | |
162 MSDOS example: copy scripts\makefile.msc makefile | |
163 UNIX example: cp scripts/makefile.std makefile | |
164 | |
165 Read the makefile to see if you need to change any source or | |
166 target directories to match your preferences. | |
167 | |
168 Then read pngconf.h to see if you want to make any configuration | |
169 changes. | |
170 | |
171 Then just run "make" which will create the libpng library in | |
172 this directory and "make test" which will run a quick test that reads | |
173 the "pngtest.png" file and writes a "pngout.png" file that should be | |
174 identical to it. Look for "9782 zero samples" in the output of the | |
175 test. For more confidence, you can run another test by typing | |
176 "pngtest pngnow.png" and looking for "289 zero samples" in the output. | |
177 Also, you can run "pngtest -m contrib/pngsuite/*.png" and compare | |
178 your output with the result shown in contrib/pngsuite/README. | |
179 | |
180 Most of the makefiles will allow you to run "make install" to | |
181 put the library in its final resting place (if you want to | |
182 do that, run "make install" in the zlib directory first if necessary). | |
183 Some also allow you to run "make test-installed" after you have | |
184 run "make install". | |
185 | |
186 If you encounter a compiler error message complaining about the | |
187 lines | |
188 __png.h__ already includes setjmp.h; | |
189 __dont__ include it again.; | |
190 This means you have compiled another module that includes setjmp.h, | |
191 which is hazardous because the two modules might not include exactly | |
192 the same setjmp.h. If you are sure that you know what you are doing | |
193 and that they are exactly the same, then you can comment out or | |
194 delete the two lines. Better yet, use the cexcept interface | |
195 instead, as demonstrated in contrib/visupng of the libpng distribution. | |
196 | |
197 Further information can be found in the README and libpng.txt | |
198 files, in the individual makefiles, in png.h, and the manual pages | |
199 libpng.3 and png.5. | |
200 | |
201 | |
202 Using the ./configure script -- 16 December 2002. | |
203 ================================================= | |
204 | |
205 | |
206 The ./configure script should work compatibly with what scripts/makefile.* | |
207 did, however there are some options you need to add to configure explicitly, | |
208 which previously was done semi-automatically (if you didn't edit | |
209 scripts/makefile.* yourself, that is) | |
210 | |
211 | |
212 CFLAGS="-Wall -O -funroll-loops \ | |
213 -malign-loops=2 -malign-functions=2" ./configure --prefix=/usr/include \ | |
214 --with-pkgconfigdir=/usr/lib/pkgconfig --includedir=/usr/include | |
215 | |
216 You can alternatively specify --includedir=/usr/include, /usr/local/include, | |
217 /usr/include/png12, or whatever. | |
218 | |
219 |