1
2
3                             Installing Magick++
4
5General
6
7In order to compile Magick++ you must have access to a standard C++
8implementation. The author uses  gcc 3.1 (GNU C++) which is available under
9UNIX and under the Cygwin UNIX-emulation environment for Windows. Standards
10compliant commercial C++ compilers should also work fine. Most modern C++
11compilers for Microsoft Windows or the Mac should work (project files are
12provided for Microsoft Visual C++ 6.0).
13
14It was decided that Magick++ will be around for the long-haul, so its API
15definition depends on valuable C++ features which should be common in all
16current and future C++ compilers. The compiler must support the following
17C++ standard features:
18
19   * templates
20   * static constructors
21   * C++-style casts (e.g. static_cast)
22   * bool type
23   * string class (<string>)
24   * exceptions (<exception>)
25   * namespaces
26   * Standard Template Library (STL) (e.g. <list>, <vector>)
27
28The author has personally verified that Magick++ compiles and runs using the
29following compiler/platform combinations:
30
31                            Tested Configurations
32
33       Operating System         Architecture             Compiler
34 SunOS 5.6, 5.7, 5.8
35 ("Solaris 2.6, 7, & 8)      SPARC             GCC 3.0.4
36 SunOS 5.7 ("Solaris 7")     SPARC             Sun Workshop 5.0 C++
37
38 SunOS 5.8 ("Solaris 8")     SPARC             Sun WorkShop 6 update 2 C++
39                                               5.3
40 FreeBSD 4.0                 Intel Pentium II  GCC 2.95
41
42 Windows NT 4.0 SP6a         Intel Pentium II  Visual C++ 6.0 Standard
43                                               Edition
44
45 Windows XP                  Intel Pentium IV  Visual C++ 6.0 Standard
46                                               Edition Service Pack 5
47 Windows '98 + Cygwin 1.3.10 Intel Pentium III GCC 2.95.3-5
48 Windows NT 4.0 SP6a         Intel Pentium II  GCC 2.95.3-5
49 Windows XP + Cygwin 1.3.10  Intel Pentium IV  GCC 2.95.3-5
50
51Users of Magick++ have reported that the following configurations work with
52Magick++:
53
54                      Other Known Working Configurations
55
56 Operating
57  System  Architecture    Compiler   Reported By
58 Red Hat  i386 & alpha EGCS 1.1.2    Dr. Alexander Zimmermann
59 Linux 6.0                           <Alexander.Zimmermann@fmi.uni-passau.de>
60 Red Hat  i386         GCC 2.95.2    Dr. Alexander Zimmermann
61 Linux 7.0                           <Alexander.Zimmermann@fmi.uni-passau.de>
62 Red Hat  i386         GCC "2.96"    ???
63 Linux 7.0             snapshot
64 Red Hat                             Dr. Alexander Zimmermann
65 Linux 7.Xi386 & alpha GCC 3.0       <Alexander.Zimmermann@fmi.uni-passau.de>
66 SGI IRIX MIPS         IRIX C++      Albert Chin-A-Young
67 6.2, 6.5              7.3.1.2m      <china@thewrittenword.com>
68 SunOS                 Sun WorkShop  Albert Chin-A-Young
69 5.5.1    SPARC        CC 5.0        <china@thewrittenword.com>
70 SunOS
71 5.6, 5.7,SPARC        Sun Forte CC  Albert Chin-A-Young
72 5.8                   5.3           <china@thewrittenword.com>
73 HP-UX    PA-RISC      HP-UX aCC     Albert Chin-A-Young
74 11.00                 A.03.30       <china@thewrittenword.com>
75 Mac OS 9 PowerPC      CodeWarrior   Leonard Rosenthol <leonardr@digapp.com>
76                       Professional
77                       Release 6
78 Mac OS X              GCC 2.95.2
79 10.1     PowerPC      (apple gcc    Cristy
80 "Darwin"              -926)
81
82Please let me know if you have successfully built and executed Magick++
83using a different configuration so that I can add to the table of verified
84configurations.
85
86  ------------------------------------------------------------------------
87
88                                 Unix/Linux
89
90Building From Source
91
92Magick++ is now built using the ImageMagick configure script and Makefiles.
93Please follow the installation instructions provided by its README.txt file.
94The following instructions pertain to the Magick++ specific configuration
95and build options.
96
97To install ImageMagick plus Magick++ under Unix, installation should be
98similar to
99
100./configure [ --prefix=/prefix ]
101make
102make install
103
104The library is currently named similar to 'libMagick++.a' (and/or
105libMagick++.so.5.0.39) and is installed under prefix/lib while the headers
106are installed with Magick++.h being installed in prefix/include and the
107remaining headers in prefix/include/Magick++.
108
109To influence the options the configure script chooses, you may specify
110'make' option variables when running the configure script. For example, the
111command
112
113
114     ./configure CXX=CC CXXFLAGS=-O2 LIBS=-lposix
115
116specifies additional options to the configure script.  The following table
117shows the available options.
118
119             Environment Variables That Effect Configure
120
121     Make Option
122      Variable                         Description
123
124         CXX         Name of C++ compiler (e.g. 'CC -Xa') to use
125                     compiler 'CC -Xa'
126      CXXFLAGS       Compiler flags (e.g. '-g -O2') to compile with
127
128      CPPFLAGS       Include paths (-I/somedir) to look for header
129                     files
130                     Library paths (-L/somedir) to look for
131                     libraries. Systems that support the notion of a
132       LDFLAGS       library run-path may additionally require
133                     -R/somedir or '-rpath /somedir' in order to
134                     find shared libraries at run time.
135        LIBS         Extra libraries (-lsomelib) required to link
136
137Installing Linux RPMs
138
139Please note that the default version of the C++ compiler delivered with the
140system may not be sufficient to support Magick++. Use of GCC 2.95 or later is
141strongly recommended under Linux.
142  ------------------------------------------------------------------------
143
144                       Windows '9X, NT, 2000, ME, & XP
145
146Visual C++
147
148Windows '95 through Windows XP are supported by the ImageMagick source
149package for NT available in the 'win2k' subdirectory of the ImageMagick ftp
150site (and mirrors).  The ImageMagick source package for NT provides sources
151to ImageMagick, Magick++, add-on libraries (e.g. JPEG), and a ready-made
152Visual C++ 6.0 build environment. Please read the configuration and build
153instructions in README.txt (under the heading "Windows Win2K/95 VISUAL C++
1546.0 COMPILATION") in order to build Magick++.
155
156Cygwin & GCC
157
158It is possible to build both ImageMagick and Magick++ under the Cygwin
159Unix-emulation environment for Windows NT. Obtain and install Cgywin from
160http://www.cygwin.com/ .   An X11R6 environment for Cygwin is available
161from  http://www.cygwin.com/xfree/ .To build using Cygwin and GCC, follow
162the instructions for building under Unix. ImageMagick and Magick++ do not
163yet include support for building Windows DLLs under Cygwin so do not enable
164dynamic libraries when building ImageMagick.
165