

                             Installing Magick++

General

In order to compile Magick++ you must have access to a standard C++
implementation. The author uses  gcc 3.1 (GNU C++) which is available under
UNIX and under the Cygwin UNIX-emulation environment for Windows. Standards
compliant commercial C++ compilers should also work fine. Most modern C++
compilers for Microsoft Windows or the Mac should work (project files are
provided for Microsoft Visual C++ 6.0).

It was decided that Magick++ will be around for the long-haul, so its API
definition depends on valuable C++ features which should be common in all
current and future C++ compilers. The compiler must support the following
C++ standard features:

   * templates
   * static constructors
   * C++-style casts (e.g. static_cast)
   * bool type
   * string class (<string>)
   * exceptions (<exception>)
   * namespaces
   * Standard Template Library (STL) (e.g. <list>, <vector>)

The author has personally verified that Magick++ compiles and runs using the
following compiler/platform combinations:

                            Tested Configurations

       Operating System         Architecture             Compiler
 SunOS 5.6, 5.7, 5.8
 ("Solaris 2.6, 7, & 8)      SPARC             GCC 3.0.4
 SunOS 5.7 ("Solaris 7")     SPARC             Sun Workshop 5.0 C++

 SunOS 5.8 ("Solaris 8")     SPARC             Sun WorkShop 6 update 2 C++
                                               5.3
 FreeBSD 4.0                 Intel Pentium II  GCC 2.95

 Windows NT 4.0 SP6a         Intel Pentium II  Visual C++ 6.0 Standard
                                               Edition

 Windows XP                  Intel Pentium IV  Visual C++ 6.0 Standard
                                               Edition Service Pack 5
 Windows '98 + Cygwin 1.3.10 Intel Pentium III GCC 2.95.3-5
 Windows NT 4.0 SP6a         Intel Pentium II  GCC 2.95.3-5
 Windows XP + Cygwin 1.3.10  Intel Pentium IV  GCC 2.95.3-5

Users of Magick++ have reported that the following configurations work with
Magick++:

                      Other Known Working Configurations

 Operating
  System  Architecture    Compiler   Reported By
 Red Hat  i386 & alpha EGCS 1.1.2    Dr. Alexander Zimmermann
 Linux 6.0                           <Alexander.Zimmermann@fmi.uni-passau.de>
 Red Hat  i386         GCC 2.95.2    Dr. Alexander Zimmermann
 Linux 7.0                           <Alexander.Zimmermann@fmi.uni-passau.de>
 Red Hat  i386         GCC "2.96"    ???
 Linux 7.0             snapshot
 Red Hat                             Dr. Alexander Zimmermann
 Linux 7.Xi386 & alpha GCC 3.0       <Alexander.Zimmermann@fmi.uni-passau.de>
 SGI IRIX MIPS         IRIX C++      Albert Chin-A-Young
 6.2, 6.5              7.3.1.2m      <china@thewrittenword.com>
 SunOS                 Sun WorkShop  Albert Chin-A-Young
 5.5.1    SPARC        CC 5.0        <china@thewrittenword.com>
 SunOS
 5.6, 5.7,SPARC        Sun Forte CC  Albert Chin-A-Young
 5.8                   5.3           <china@thewrittenword.com>
 HP-UX    PA-RISC      HP-UX aCC     Albert Chin-A-Young
 11.00                 A.03.30       <china@thewrittenword.com>
 Mac OS 9 PowerPC      CodeWarrior   Leonard Rosenthol <leonardr@digapp.com>
                       Professional
                       Release 6
 Mac OS X              GCC 2.95.2
 10.1     PowerPC      (apple gcc    John Cristy
 "Darwin"              -926)

Please let me know if you have successfully built and executed Magick++
using a different configuration so that I can add to the table of verified
configurations.

  ------------------------------------------------------------------------

                                 Unix/Linux

Building From Source

Magick++ is now built using the ImageMagick configure script and Makefiles.
Please follow the installation instructions provided by its README.txt file.
The following instructions pertain to the Magick++ specific configuration
and build options.

To install ImageMagick plus Magick++ under Unix, installation should be
similar to

./configure [ --prefix=/prefix ]
make
make install

The library is currently named similar to 'libMagick++.a' (and/or
libMagick++.so.5.0.39) and is installed under prefix/lib while the headers
are installed with Magick++.h being installed in prefix/include and the
remaining headers in prefix/include/Magick++.

To influence the options the configure script chooses, you may specify
'make' option variables when running the configure script. For example, the
command


     ./configure CXX=CC CXXFLAGS=-O2 LIBS=-lposix

specifies additional options to the configure script.  The following table
shows the available options.

             Environment Variables That Effect Configure

     Make Option
      Variable                         Description

         CXX         Name of C++ compiler (e.g. 'CC -Xa') to use
                     compiler 'CC -Xa'
      CXXFLAGS       Compiler flags (e.g. '-g -O2') to compile with

      CPPFLAGS       Include paths (-I/somedir) to look for header
                     files
                     Library paths (-L/somedir) to look for
                     libraries. Systems that support the notion of a
       LDFLAGS       library run-path may additionally require
                     -R/somedir or '-rpath /somedir' in order to
                     find shared libraries at run time.
        LIBS         Extra libraries (-lsomelib) required to link

Installing Linux RPMs

Dr. Alexander Zimmermann maintains Linux RPMs of ImageMagick and Magick++.
These may be downloaded from
ftp://ftp.forwiss.uni-passau.de/pub/linux/local/ImageMagick/. This site is
mirrored periodically to the ImageMagick linux directory and from there to
the many ImageMagick and Linux mirror sites. Please note that the default
version of the C++ compiler delivered with the system may not be sufficient
to support Magick++. Use of GCC 2.95 or later is strongly recommended under
Linux.
  ------------------------------------------------------------------------

                       Windows '9X, NT, 2000, ME, & XP

Visual C++

Windows '95 through Windows XP are supported by the ImageMagick source
package for NT available in the 'win2k' subdirectory of the ImageMagick ftp
site (and mirrors).  The ImageMagick source package for NT provides sources
to ImageMagick, Magick++, add-on libraries (e.g. JPEG), and a ready-made
Visual C++ 6.0 build environment. Please read the configuration and build
instructions in README.txt (under the heading "Windows Win2K/95 VISUAL C++
6.0 COMPILATION") in order to build Magick++.

Cygwin & GCC

It is possible to build both ImageMagick and Magick++ under the Cygwin
Unix-emulation environment for Windows NT. Obtain and install Cgywin from
http://www.cygwin.com/ .   An X11R6 environment for Cygwin is available
from  http://www.cygwin.com/xfree/ .To build using Cygwin and GCC, follow
the instructions for building under Unix. ImageMagick and Magick++ do not
yet include support for building Windows DLLs under Cygwin so do not enable
dynamic libraries when building ImageMagick.
