23 |
23 |
24 cp scripts/makefile.system makefile |
24 cp scripts/makefile.system makefile |
25 make test |
25 make test |
26 make install |
26 make install |
27 |
27 |
|
28 The files that are presently available in the scripts directory |
|
29 are listed and described in scripts/README.txt. |
|
30 |
28 Or you can use one of the "projects" in the "projects" directory. |
31 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 |
32 |
37 Before installing libpng, you must first install zlib, if it |
33 Before installing libpng, you must first install zlib, if it |
38 is not already on your system. zlib can usually be found |
34 is not already on your system. zlib can usually be found |
39 wherever you got libpng. zlib can be placed in another directory, |
35 wherever you got libpng. zlib can be placed in another directory, |
40 at the same level as libpng. |
36 at the same level as libpng. |
41 |
37 |
|
38 If you want to use "cmake" (see www.cmake.org), type |
|
39 |
|
40 cmake . -DCMAKE_INSTALL_PREFIX=/path |
|
41 make |
|
42 make install |
|
43 |
42 If your system already has a preinstalled zlib you will still need |
44 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 |
45 to have access to the zlib.h and zconf.h include files that |
44 correspond to the version of zlib that's installed. |
46 correspond to the version of zlib that's installed. |
45 |
47 |
46 You can rename the directories that you downloaded (they |
48 You can rename the directories that you downloaded (they |
47 might be called "libpng-1.2.40" or "lpng109" and "zlib-1.2.1" |
49 might be called "libpng-1.4.0" or "libpng14" and "zlib-1.2.3" |
48 or "zlib121") so that you have directories called "zlib" and "libpng". |
50 or "zlib123") so that you have directories called "zlib" and "libpng". |
49 |
51 |
50 Your directory structure should look like this: |
52 Your directory structure should look like this: |
51 |
53 |
52 .. (the parent directory) |
54 .. (the parent directory) |
53 libpng (this directory) |
55 libpng (this directory) |
54 INSTALL (this file) |
56 INSTALL (this file) |
55 README |
57 README |
56 *.h |
58 *.h |
57 *.c |
59 *.c |
|
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, mkinstalldirs, test-pngtest.sh |
58 contrib |
66 contrib |
59 gregbook |
67 gregbook |
|
68 pngminim |
60 pngminus |
69 pngminus |
61 pngsuite |
70 pngsuite |
62 visupng |
71 visupng |
63 projects |
72 projects |
64 beos |
73 cbuilder5 (Borland) |
65 c5builder (Borland) |
|
66 visualc6 (msvc) |
74 visualc6 (msvc) |
67 netware.txt |
75 visualc71 |
68 wince.txt |
76 xcode |
69 scripts |
77 scripts |
70 makefile.* |
78 makefile.* |
|
79 *.def (module definition files) |
71 pngtest.png |
80 pngtest.png |
72 etc. |
81 etc. |
73 zlib |
82 zlib |
74 README |
83 README |
75 *.h |
84 *.h |
80 If the line endings in the files look funny, you may wish to get the other |
89 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 |
90 distribution of libpng. It is available in both tar.gz (UNIX style line |
82 endings) and zip (DOS style line endings) formats. |
91 endings) and zip (DOS style line endings) formats. |
83 |
92 |
84 If you are building libpng with MSVC, you can enter the |
93 If you are building libpng with MSVC, you can enter the |
85 libpng projects\visualc6 directory and follow the instructions in |
94 libpng projects\visualc6 or visualc71 directory and follow the instructions |
86 projects\visualc6\README.txt. |
95 in README.txt. |
87 |
96 |
88 You can build libpng for WindowsCE by downloading and installing |
97 Otherwise enter the zlib directory and follow the instructions in zlib/README, |
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 |
98 then come back here and run "configure" or choose the appropriate |
96 makefile.sys in the scripts directory. |
99 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.40) |
|
105 makefile.linux => Linux/ELF makefile |
|
106 (gcc, creates libpng12.so.0.1.2.40) |
|
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.40) |
|
129 makefile.sunos => Sun makefile |
|
130 makefile.solaris => Solaris 2.X makefile (gcc, |
|
131 creates libpng12.so.0.1.2.40) |
|
132 makefile.solaris-x86 => Solaris/intelMMX 2.X makefile (gcc, |
|
133 creates libpng12.so.0.1.2.40) |
|
134 makefile.so9 => Solaris 9 makefile (gcc, |
|
135 creates libpng12.so.0.1.2.40) |
|
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 |
100 |
159 Copy the file (or files) that you need from the |
101 Copy the file (or files) that you need from the |
160 scripts directory into this directory, for example |
102 scripts directory into this directory, for example |
161 |
103 |
162 MSDOS example: copy scripts\makefile.msc makefile |
104 MSDOS example: copy scripts\makefile.msc makefile |
183 Some also allow you to run "make test-installed" after you have |
125 Some also allow you to run "make test-installed" after you have |
184 run "make install". |
126 run "make install". |
185 |
127 |
186 If you encounter a compiler error message complaining about the |
128 If you encounter a compiler error message complaining about the |
187 lines |
129 lines |
|
130 |
188 __png.h__ already includes setjmp.h; |
131 __png.h__ already includes setjmp.h; |
189 __dont__ include it again.; |
132 __dont__ include it again.; |
190 This means you have compiled another module that includes setjmp.h, |
133 |
|
134 this means you have compiled another module that includes setjmp.h, |
191 which is hazardous because the two modules might not include exactly |
135 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 |
136 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 |
137 and that they are exactly the same, then you can comment out or |
194 delete the two lines. Better yet, use the cexcept interface |
138 delete the two lines. Better yet, use the cexcept interface |
195 instead, as demonstrated in contrib/visupng of the libpng distribution. |
139 instead, as demonstrated in contrib/visupng of the libpng distribution. |