src/3rdparty/libpng/INSTALL
changeset 30 5dc02b23752f
parent 0 1918ee327afb
equal deleted inserted replaced
29:b72c6db6890b 30:5dc02b23752f
     1 
     1 
     2 Installing libpng version 1.2.40 - September 10, 2009
     2 Installing libpng version 1.4.0 - January 3, 2010
     3 
     3 
     4 On Unix/Linux and similar systems, you can simply type
     4 On Unix/Linux and similar systems, you can simply type
     5 
     5 
     6     ./configure [--prefix=/path]
     6     ./configure [--prefix=/path]
     7     make check
     7     make check
    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.