#!/bin/sh
# adapted from `c2hs-config', which was derived from `gtk-config'

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

usage()
{
	cat <<EOF
Usage: ports-config [OPTIONS] [LIBRARIES]
Options:
	[--system=HS]
	[--prefix[=DIR]]
	[--exec-prefix[=DIR]]
	[--version]
	[--libs]
	[--cflags]
Libraries:
EOF
	exit $1
}

if test $# -eq 0; then
	usage 1 1>&2
fi

# default library and default system
#
lib_ports=yes
sys=ghc6

while test $# -gt 0; do
  case "$1" in
  -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
  *) optarg= ;;
  esac

  case $1 in
    --system=*)
      sys=$optarg
      ;;
    --prefix=*)
      prefix=$optarg
      if test $exec_prefix_set = no ; then
        exec_prefix=$optarg
      fi
      ;;
    --prefix)
      echo_prefix=yes
      ;;
    --exec-prefix=*)
      exec_prefix=$optarg
      exec_prefix_set=yes
      ;;
    --exec-prefix)
      echo_exec_prefix=yes
      ;;
    --version)
      echo 0.4.1
      exit 0
      ;;
    --cflags)
      echo_cflags=yes
      ;;
    --libs)
      echo_libs=yes
      ;;
    *)
      usage 1 1>&2
      ;;
  esac
  shift
done

libdir=${exec_prefix}/lib/hs-ports-0.4.1
bindir=${exec_prefix}/bin

syslibs="-package concurrent -package lang -package posix -package haskell98"

if test "$echo_prefix" = "yes"; then
	echo $prefix
fi
if test "$echo_exec_prefix" = "yes"; then
	echo $exec_prefix
fi
if test "$echo_cflags" = "yes"; then
	cflags="$syslibs"
	echo -i$libdir/$sys/import $cflags
fi
if test "$echo_libs" = "yes"; then
	libsp=""
	libsa=""
	if test "$lib_ports" = "yes"; then
		libsp="$libsp -lportsHS $syslibs"
	fi
	echo -L$libdir/$sys $libsp $libsa
fi
