symbian-qemu-0.9.1-12/libpng-1.2.32/INSTALL
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 
       
     2 Installing libpng version 1.2.32 - September 18, 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.32" 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.32)
       
   105  makefile.linux    =>  Linux/ELF makefile
       
   106                        (gcc, creates libpng12.so.0.1.2.32)
       
   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.32)
       
   129  makefile.sunos    =>  Sun makefile
       
   130  makefile.solaris  =>  Solaris 2.X makefile (gcc,
       
   131                        creates libpng12.so.0.1.2.32)
       
   132  makefile.solaris-x86 =>  Solaris/intelMMX 2.X makefile (gcc,
       
   133                        creates libpng12.so.0.1.2.32)
       
   134  makefile.so9      =>  Solaris 9 makefile (gcc,
       
   135                        creates libpng12.so.0.1.2.32)
       
   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