#!/bin/sh

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

usage()
{
	cat <<EOF
Usage: gnucash-config [OPTIONS] [LIBRARIES]
Options:
	[--prefix[=DIR]]
	[--exec-prefix[=DIR]]
	[--version]
	[--libs]
	[--cflags]
        [--ld-library-path]
        [--scm-module-dir]
Libraries:
	engine
        network-utils
        app-utils
        register-core
        gnome-utils
        gnucash
EOF
	exit $1
}

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

any_lib=no

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 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 @VERSION@
      exit 0
      ;;
    --cflags)
      echo_cflags=yes
      ;;
    --libs)
      echo_libs=yes
      ;;
    --ld-library-path)
      echo_ld_library_path=yes
      ;;
    --scm-module-dir)
      echo_scm_module_dir=yes
      ;;
    engine)
      lib_engine=yes
      any_lib=yes
      ;;
    app-utils)
      lib_app_utils=yes
      any_lib=yes
      ;;
    network-utils)
      lib_network_utils=yes
      any_lib=yes
      ;;
    gnome-utils)
      lib_gnome_utils=yes
      any_lib=yes
      ;;
    register-core)
      lib_register_core=yes
      any_lib=yes
      ;;
    gnucash)
      lib_gnucash=yes
      any_lib=yes
      ;;
    *)
      usage 1 1>&2
      ;;
  esac
  shift
done

datadir=@datadir@
libdir=@libdir@
pkgdatadir=${datadir}/@PACKAGE@
pkglibdir=${libdir}/@PACKAGE@
pkgincludedir=${includedir}/@PACKAGE@
GNC_LIBDIR=@GNC_LIBDIR@
GNC_MODULE_DIR=@GNC_MODULE_DIR@
GNC_SHAREDIR=@GNC_SHAREDIR@

# Trim the link and compile lines down.

if test "$any_lib" = "no"; then
  lib_gnucash=yes
fi

if test "$lib_app_utils" = "yes"; then
  lib_engine=no
fi

if test "$lib_register_core" = "yes"; then
  lib_engine=no
  lib_network_utils=no
  lib_app_utils=no
  lib_gnome_utils=no
fi

if test "$lib_gnome_utils" = "yes"; then
  lib_engine=no
  lib_network_utils=no
  lib_app_utils=no
fi

if test "$lib_gnucash" = "yes"; then
  lib_engine=no
  lib_network_utils=no
  lib_app_utils=no
  lib_register_core=no
  lib_gnome_utils=no
fi

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=""

    if test "$lib_engine" = "yes"; then
        cflags="$cflags @GNUCASH_ENGINE_CFLAGS@"
    fi

    if test "$lib_network_utils" = "yes"; then
        cflags="$cflags @GNUCASH_NETWORK_UTILS_CFLAGS@"
    fi

    if test "$lib_app_utils" = "yes"; then
        cflags="$cflags @GNUCASH_APP_UTILS_CFLAGS@"
    fi

    if test "$lib_register_core" = "yes"; then
        cflags="$cflags @GNUCASH_REGISTER_CORE_CFLAGS@"
    fi

    if test "$lib_gnome_utils" = "yes"; then
        cflags="$cflags @GNUCASH_GNOME_UTILS_CFLAGS@"
    fi

    echo $cflags
fi

if test "$echo_libs" = "yes"; then
    libs="-L${libdir}"

    if test "$lib_engine" = "yes"; then
        libs="$libs @GNUCASH_ENGINE_LIBS@"
    fi

    if test "$lib_network_utils" = "yes"; then
        libs="$libs @GNUCASH_NETWORK_UTILS_LIBS@"
    fi

    if test "$lib_app_utils" = "yes"; then
        libs="$libs @GNUCASH_APP_UTILS_LIBS@"
    fi

    if test "$lib_register_core" = "yes"; then
        libs="$libs @GNUCASH_REGISTER_CORE_LIBS@"
    fi

    if test "$lib_gnome_utils" = "yes"; then
        libs="$libs @GNUCASH_GNOME_UTILS_LIBS@"
    fi

    echo $libs
fi

if test "$echo_ld_library_path" = "yes"; then
    path="$libdir:$GNC_LIBDIR:$GNC_MODULE_DIR"
    echo $path
fi

if test "$echo_scm_module_dir" = "yes"; then
   echo $GNC_SHAREDIR/guile-modules
fi
