Mac OS X-specific Build instructions
  
  Perform these steps as an administrator or with the sudo command:
  
  Install MacPorts. Download and install http://www.macports.org/ and type the
  following commands:
  
    $magick> sudo port -v install freetype +bytecode
    $magick> sudo port -v install librsvg
    $magick> sudo port -v install +graphviz +gs +wmf +jbig +jpeg2 +lcms
  
  This installs many of the delegate libraries ImageMagick will utilize such as
  JPEG and FreeType.
  
  Install the latest Xcode from Apple.
  
  Use the port command to install any delegate libraries you require, for example:
  
    $magick> sudo port install jpeg
  
  Now lets build ImageMagick:
  
  Download the ImageMagick source distribution and verify the distribution
  against its message digest.
  
  Unpack and change into the top-level ImageMagick directory:
  
    $magick> tar xvfz ImageMagick-6.5.9-0.tar.gz $magick> cd ImageMagick-6.5.9
  
  Configure ImageMagick:
  
    $magick> ./configure --prefix=/opt --with-quantum-depth=16 \
      --disable-dependency-tracking --with-x=yes \
      --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib/ \
      --without-perl
  
  Build ImageMagick:
  
    $magick> make
  
  Install ImageMagick:
  
    $magick> sudo make install
  
  To verify your install, type
  
    $magick> /opt/local/bin/identify -list font
  
  to list all the fonts ImageMagick knows about.
  
  To test the ImageMagick GUI, in a new shell, type:
  
    $magick> display -display :0
