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

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

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

if test $# -eq 0; then
      echo "${usage}" 1>&2
      echo "Example: gcc \`MagickWand-config --cflags --cppflags\` -o wand wand.c \`MagickWand-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.10 Q16 HDRI'
      ;;
    --cflags)
      /usr/bin/pkg-config --cflags MagickWand
      ;;
    --cxxflags)
      /usr/bin/pkg-config --cflags MagickWand
      ;;
    --cppflags)
      /usr/bin/pkg-config --cflags MagickWand
      ;;
    --ldflags)
      /usr/bin/pkg-config --libs MagickWand
      ;;
    --libs)
      /usr/bin/pkg-config --libs MagickWand
      ;;
    *)
      echo "${usage}" 1>&2
      exit 1
      ;;
  esac
  shift
done

