#!/bin/sh
#
# Configure options script for re-calling MagickCore compilation options
# required to use the MagickCore library.
#

prefix=/usr/local
exec_prefix=${prefix}

usage="\
Usage: MagickCore-config [--cflags] [--cppflags] [--exec-prefix] [--ldflags] [--libs] [--prefix] [--version]"

if test $# -eq 0; then
      echo "${usage}" 1>&2
      echo "Example: gcc \`MagickCore-config --cflags --cppflags\` -o core core.c \`Magick-config --ldflags --libs\`" 1>&2
      exit 1
fi

while test $# -gt 0; do
  case "$1" in
    -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
    *) optarg= ;;
  esac
  case $1 in
    --prefix=*)
      prefix=$optarg
      ;;
    --prefix)
      echo $prefix
      ;;
    --exec-prefix=*)
      exec_prefix=$optarg
      ;;
    --exec-prefix)
      echo $exec_prefix
      ;;
    --version)
      echo '7.0.8 Q16 HDRI'
      ;;
    --cflags)
      /usr/bin/pkg-config --cflags MagickCore
      ;;
    --cxxflags)
      /usr/bin/pkg-config --cflags MagickCore
      ;;
    --cppflags)
      /usr/bin/pkg-config --cflags MagickCore
      ;;
    --ldflags)
      /usr/bin/pkg-config --libs MagickCore
      ;;
    --libs)
      /usr/bin/pkg-config --libs MagickCore
      ;;
    --coder-path)
      echo "/usr/local/lib/ImageMagick-7.0.8/modules-Q16HDRI/coders"
      ;;
    --filter-path)
      echo "/usr/local/lib/ImageMagick-7.0.8/modules-Q16HDRI/filters"
      ;;
    *)
      echo "${usage}" 1>&2
      exit 1
      ;;
  esac
  shift
done
