#!/bin/sh

prefix=@prefix@
exec_prefix=@exec_prefix@
exec_prefix_set=no

usage="\
Usage: $0 [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--libs] [--cflags]"

if test $# -eq 0; then
      echo "${usage}" 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
      if `echo $prefix | grep -v -q '^/'` ; then
        prefix=`pwd`/$prefix
      fi
      if test $exec_prefix_set = no ; then
        exec_prefix=$optarg
      fi
      ;;
    --prefix)
      echo $prefix
      ;;
    --exec-prefix=*)
      exec_prefix=$optarg
      exec_prefix_set=yes
      ;;
    --exec-prefix)
      echo $exec_prefix
      ;;
    --version)
      echo @VERSION@
      ;;
    --cflags)
      if test $prefix -ef @builddir@ ; then
        includes=-I@builddir@ 
      elif test @includedir@ != /usr/include ; then
        includes=-I@includedir@ 
      fi
      echo $includes @CORE_CFLAGS@ @GST_DEFINE_CFLAGS@
      ;;
    --libs)
      if test $prefix -ef @builddir@ ; then
        echo @builddir@/libgst.la @CORE_LIBS@
      else
        libdirs=-L@libdir@
        echo $libdirs -lgst @CORE_LIBS@
      fi
      ;;
    *)
      echo "${usage}" 1>&2
      exit 1
      ;;
  esac
  shift
done

