#! | 135 lines | 108 code | 27 blank | 0 comment | 0 complexity | 0443d7a8a0860c34d3d6b2128f8d7e80 MD5 | raw file
1 2Installing libpng 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. 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 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 34The files that are presently available in the scripts directory 35are listed and described in scripts/README.txt. 36 37Or you can use one of the "projects" in the "projects" directory. 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 44If you want to use "cmake" (see www.cmake.org), type 45 46 cmake . -DCMAKE_INSTALL_PREFIX=/path 47 make 48 make install 49 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 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". 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 66 CMakeLists.txt => "cmake" script 67 configuration files: 68 configure.ac, configure, Makefile.am, Makefile.in, 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 72 contrib 73 gregbook 74 pngminim 75 pngminus 76 pngsuite 77 visupng 78 projects 79 visualc71 80 vstudio 81 scripts 82 makefile.* 83 *.def (module definition files) 84 etc. 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 99libpng projects\visualc6 or visualc71 directory and follow the instructions 100in README.txt. 101 102Otherwise enter the zlib directory and follow the instructions in zlib/README, 103then come back here and run "configure" or choose the appropriate 104makefile.sys in the scripts directory. 105 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 115Then read pnglibconf.dfa to see if you want to make any configuration 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 133Further information can be found in the README and libpng-manual.txt 134files, in the individual makefiles, in png.h, and the manual pages 135libpng.3 and png.5.