Blame gtkmm-osx/libpng-1.2.5/INSTALL

Carlos Lopez a09598
Carlos Lopez a09598
Installing libpng version 1.2.5 - October 3, 2002
Carlos Lopez a09598
Carlos Lopez a09598
Before installing libpng, you must first install zlib.  zlib
Carlos Lopez a09598
can usually be found wherever you got libpng.  zlib can be
Carlos Lopez a09598
placed in another directory, at the same level as libpng.
Carlos Lopez a09598
Note that your system might already have a preinstalled
Carlos Lopez a09598
zlib, but you will still need to have access to the
Carlos Lopez a09598
zlib.h and zconf.h include files that correspond to the
Carlos Lopez a09598
version of zlib that's installed.
Carlos Lopez a09598
Carlos Lopez a09598
You can rename the directories that you downloaded (they
Carlos Lopez a09598
might be called "libpng-1.2.5" or "lpng109" and "zlib-1.1.4"
Carlos Lopez a09598
or "zlib114") so that you have directories called "zlib" and "libpng".
Carlos Lopez a09598
Carlos Lopez a09598
Your directory structure should look like this:
Carlos Lopez a09598
Carlos Lopez a09598
   ..       (the parent directory)
Carlos Lopez a09598
      libpng  (this directory)
Carlos Lopez a09598
          INSTALL (this file)
Carlos Lopez a09598
          README
Carlos Lopez a09598
          *.h
Carlos Lopez a09598
          *.c
Carlos Lopez a09598
          contrib
Carlos Lopez a09598
             gregbook
Carlos Lopez a09598
             msvctest
Carlos Lopez a09598
             pngminus
Carlos Lopez a09598
             pngsuite
Carlos Lopez a09598
             visupng
Carlos Lopez a09598
          projects
Carlos Lopez a09598
             beos
Carlos Lopez a09598
             borland
Carlos Lopez a09598
             msvc
Carlos Lopez a09598
             netware.txt
Carlos Lopez a09598
             wince.txt
Carlos Lopez a09598
          scripts
Carlos Lopez a09598
             makefile.*
Carlos Lopez a09598
             libpng*.in
Carlos Lopez a09598
          pngtest.png
Carlos Lopez a09598
          etc.
Carlos Lopez a09598
      zlib
Carlos Lopez a09598
          README
Carlos Lopez a09598
          *.h
Carlos Lopez a09598
          *.c
Carlos Lopez a09598
          contrib
Carlos Lopez a09598
          etc.
Carlos Lopez a09598
Carlos Lopez a09598
If the line endings in the files look funny, you may wish to get the other
Carlos Lopez a09598
distribution of libpng.  It is available in both tar.gz (UNIX style line
Carlos Lopez a09598
endings) and zip (DOS style line endings) formats.
Carlos Lopez a09598
Carlos Lopez a09598
If you are building libpng with MSVC, you can enter the libpng\msvc directory
Carlos Lopez a09598
and follow the instructions in msvc\README.txt.
Carlos Lopez a09598
Carlos Lopez a09598
You can build libpng for WindowsCE by entering the downloading and installing
Carlos Lopez a09598
the libpng\wince directory as instructed in the projects\wince.txt file, and
Carlos Lopez a09598
then following the instructions in the README* files.  Similarly, you can
Carlos Lopez a09598
build libpng for Netware as instructed in projects\netware.txt.
Carlos Lopez a09598
Carlos Lopez a09598
Else enter the zlib directory and follow the instructions in zlib/README,
Carlos Lopez a09598
then come back here and choose the appropriate makefile.sys in the scripts
Carlos Lopez a09598
directory.
Carlos Lopez a09598
Carlos Lopez a09598
The files that are presently available in the scripts directory
Carlos Lopez a09598
include
Carlos Lopez a09598
Carlos Lopez a09598
 makefile.std      =>  Generic UNIX makefile (cc, creates static libpng.a)
Carlos Lopez a09598
 makefile.linux    =>  Linux/ELF makefile (gcc, creates libpng12.so.0.1.2.5)
Carlos Lopez a09598
 makefile.gcmmx    =>  Linux/ELF makefile (gcc, creates libpng12.so.0.1.2.5,
Carlos Lopez a09598
                       uses assembler code tuned for Intel MMX platform)
Carlos Lopez a09598
 makefile.gcc      =>  Generic makefile (gcc, creates static libpng.a)
Carlos Lopez a09598
 makefile.knr      =>  Archaic UNIX Makefile that converts files with
Carlos Lopez a09598
                       ansi2knr (Requires ansi2knr.c from
Carlos Lopez a09598
                       ftp://ftp.cs.wisc.edu/ghost)
Carlos Lopez a09598
 makefile.aix      =>  AIX/gcc makefile
Carlos Lopez a09598
 makefile.cygwin   =>  Cygwin/gcc makefile
Carlos Lopez a09598
 makefile.darwin   =>  Darwin makefile
Carlos Lopez a09598
 makefile.dec      =>  DEC Alpha UNIX makefile
Carlos Lopez a09598
 makefile.hpgcc    =>  FreeBSD makefile
Carlos Lopez a09598
 makefile.hpgcc    =>  HPUX makefile using gcc
Carlos Lopez a09598
 makefile.hpux     =>  HPUX (10.20 and 11.00) makefile
Carlos Lopez a09598
 makefile.ibmc     =>  IBM C/C++ version 3.x for Win32 and OS/2 (static)
Carlos Lopez a09598
 makefile.intel    =>  Intel C/C++ version 4.0 and later
Carlos Lopez a09598
 libpng.icc        =>  Project file for IBM VisualAge/C++ version 4.0 or later
Carlos Lopez a09598
 makefile.macosx   =>  MACOS X Makefile
Carlos Lopez a09598
 makefile.netbsd   =>  NetBSD/cc makefile, uses PNGGCCRD, makes libpng.so.
Carlos Lopez a09598
 makefile.ne0bsd  =>  NetBSD/cc makefile, uses PNGGCCRD, makes libpng0.so
Carlos Lopez a09598
 makefile.openbsd  =>  OpenBSD makefile
Carlos Lopez a09598
 makefile.sgi      =>  Silicon Graphics IRIX makefile (cc, creates static lib)
Carlos Lopez a09598
 makefile.sggcc    =>  Silicon Graphics (gcc, creates libpng12.so.0.1.2.5)
Carlos Lopez a09598
 makefile.sunos    =>  Sun makefile
Carlos Lopez a09598
 makefile.solaris  =>  Solaris 2.X makefile (gcc, creates libpng12.so.0.1.2.5)
Carlos Lopez a09598
 makefile.so9      =>  Solaris 9 makefile (gcc, creates libpng12.so.0.1.2.5)
Carlos Lopez a09598
 makefile.32sunu   =>  Sun Ultra 32-bit makefile
Carlos Lopez a09598
 makefile.64sunu   =>  Sun Ultra 64-bit makefile
Carlos Lopez a09598
 makefile.sco      =>  For SCO OSr5  ELF and Unixware 7 with Native cc
Carlos Lopez a09598
 makefile.mips     =>  MIPS makefile
Carlos Lopez a09598
 makefile.acorn    =>  Acorn makefile
Carlos Lopez a09598
 makefile.amiga    =>  Amiga makefile
Carlos Lopez a09598
 smakefile.ppc     =>  AMIGA smakefile for SAS C V6.58/7.00 PPC compiler
Carlos Lopez a09598
                       (Requires SCOPTIONS, copied from scripts/SCOPTIONS.ppc)
Carlos Lopez a09598
 makefile.atari    =>  Atari makefile
Carlos Lopez a09598
 makefile.beos     =>  BEOS makefile for X86
Carlos Lopez a09598
 makefile.bor      =>  Borland makefile (uses bcc)
Carlos Lopez a09598
 makefile.bc32     =>  32-bit Borland C++ (all modules compiled in C mode)
Carlos Lopez a09598
 makefile.bd32     =>  To make a png32bd.dll with Borland C++ 4.5
Carlos Lopez a09598
 makefile.tc3      =>  Turbo C 3.0 makefile
Carlos Lopez a09598
 makefile.dj2      =>  DJGPP 2 makefile
Carlos Lopez a09598
 makefile.msc      =>  Microsoft C makefile
Carlos Lopez a09598
 makefile.vcawin32 =>  makefile for Microsoft Visual C++ 5.0 and later (uses
Carlos Lopez a09598
                       assembler code tuned for Intel MMX platform)
Carlos Lopez a09598
 makefile.vcwin32  =>  makefile for Microsoft Visual C++ 4.0 and later (does
Carlos Lopez a09598
                       not use assembler code)
Carlos Lopez a09598
 makefile.os2      =>  OS/2 Makefile (gcc and emx, requires pngos2.def)
Carlos Lopez a09598
 pngos2.def        =>  OS/2 module definition file used by makefile.os2
Carlos Lopez a09598
 makefile.watcom   =>  Watcom 10a+ Makefile, 32-bit flat memory model
Carlos Lopez a09598
 makevms.com       =>  VMS build script
Carlos Lopez a09598
 descrip.mms       =>  VMS makefile for MMS or MMK
Carlos Lopez a09598
 pngdef.pas        =>  Defines for a png32bd.dll with Borland C++ 4.5
Carlos Lopez a09598
 SCOPTIONS.ppc     =>  Used with smakefile.ppc
Carlos Lopez a09598
Carlos Lopez a09598
Copy the file (or files) that you need from the
Carlos Lopez a09598
scripts directory into this directory, for example
Carlos Lopez a09598
Carlos Lopez a09598
   MSDOS example: copy scripts\makefile.msc makefile
Carlos Lopez a09598
   UNIX example:    cp scripts/makefile.std makefile
Carlos Lopez a09598
Carlos Lopez a09598
Read the makefile to see if you need to change any source or
Carlos Lopez a09598
target directories to match your preferences.
Carlos Lopez a09598
Carlos Lopez a09598
Then read pngconf.h to see if you want to make any configuration
Carlos Lopez a09598
changes.
Carlos Lopez a09598
Carlos Lopez a09598
Then just run "make test" which will create the libpng library in
Carlos Lopez a09598
this directory and run a quick test that reads the "pngtest.png"
Carlos Lopez a09598
file and writes a "pngout.png" file that should be identical to it.
Carlos Lopez a09598
Look for "9782 zero samples" in the output of the test.  For more
Carlos Lopez a09598
confidence, you can run another test by typing "pngtest pngnow.png"
Carlos Lopez a09598
and looking for "289 zero samples" in the output.  Also, you can
Carlos Lopez a09598
run "pngtest -m *.png" in the "contrib/pngsuite" directory and compare
Carlos Lopez a09598
your output with the result shown in contrib/pngsuite/README.
Carlos Lopez a09598
Carlos Lopez a09598
Most of the makefiles will allow you to run "make install" to
Carlos Lopez a09598
put the library in its final resting place (if you want to
Carlos Lopez a09598
do that, run "make install" in the zlib directory first if necessary).
Carlos Lopez a09598
Some also allow you to run "make test-installed" after you have
Carlos Lopez a09598
run "make install".
Carlos Lopez a09598
Carlos Lopez a09598
Further information can be found in the README and libpng.txt
Carlos Lopez a09598
files, in the individual makefiles, in png.h, in the README files in
Carlos Lopez a09598
subdirectories of the LIB directory, and the manual pages libpng.3 and png.5.