#!/bin/sh

prefix=/usr
exec_prefix=${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 2.0.5
      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=${prefix}/share
libdir=/usr/lib/gnucash
includedir=${prefix}/include
pkgdatadir=${datadir}/gnucash
pkglibdir=${libdir}/gnucash
pkgincludedir=${includedir}/gnucash
GNC_LIBDIR=${pkglibdir}
GNC_MODULE_DIR=${pkglibdir}
GNC_SHAREDIR=${pkgdatadir}

# 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 -DGNUCASH -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -std=gnu99   "
    fi

    if test "$lib_network_utils" = "yes"; then
        cflags="$cflags -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include    "
    fi

    if test "$lib_app_utils" = "yes"; then
        cflags="$cflags -DGNUCASH -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -std=gnu99   "
    fi

    if test "$lib_register_core" = "yes"; then
        cflags="$cflags -DGNUCASH -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -std=gnu99    -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include     -DPNG_NO_MMX_CODE -I/usr/include/libgnomeprint-2.2 -I/usr/include/libart-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/libgnomeprintui-2.2 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/freetype2 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/libpng12  -I/usr/include/gtk-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include"
    fi

    if test "$lib_gnome_utils" = "yes"; then
        cflags="$cflags -DGNUCASH -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -std=gnu99    -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include     -DPNG_NO_MMX_CODE -I/usr/include/libgnomeprint-2.2 -I/usr/include/libart-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/libgnomeprintui-2.2 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/freetype2 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/libpng12  -I/usr/include/gtk-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include"
    fi

    echo $cflags
fi

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

    if test "$lib_engine" = "yes"; then
        libs="$libs -L${pkglibdir} -L${GNC_SHAREDIR}/guile-modules/g-wrapped -pthread -Wl,--export-dynamic -lgthread-2.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0   -lguile -lguile-ltdl -lcrypt -lm -lgncmod-engine -lgw-engine -lgw-kvp -lgncmodule"
    fi

    if test "$lib_network_utils" = "yes"; then
        libs="$libs   -pthread -lgnomeui-2 -lSM -lICE -lbonoboui-2 -lgnome-keyring -lxml2 -lgnomecanvas-2 -lgnome-2 -lpopt -lart_lgpl_2 -lpangoft2-1.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXfixes -lpango-1.0 -lcairo -lX11 -lgnomevfs-2 -lbonobo-2 -lgconf-2 -lbonobo-activation -lgmodule-2.0 -ldl -lORBit-2 -lgthread-2.0 -lgobject-2.0 -lglib-2.0    -lgncmod-network-utils"
    fi

    if test "$lib_app_utils" = "yes"; then
        libs="$libs -L${pkglibdir} -L${GNC_SHAREDIR}/guile-modules/g-wrapped -pthread -Wl,--export-dynamic -lgthread-2.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0   -lguile -lguile-ltdl -lcrypt -lm -lgncmod-engine -lgw-engine -lgw-kvp -lgncmodule -lgncmod-calculation -lgncmod-app-utils"
    fi

    if test "$lib_register_core" = "yes"; then
        libs="$libs -L${pkglibdir} -L${GNC_SHAREDIR}/guile-modules/g-wrapped -pthread -Wl,--export-dynamic -lgthread-2.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0   -lguile -lguile-ltdl -lcrypt -lm -lgncmod-engine -lgw-engine -lgw-kvp -lgncmodule -lgncmod-calculation -lgncmod-app-utils   -pthread -lgnomeui-2 -lSM -lICE -lbonoboui-2 -lgnome-keyring -lxml2 -lgnomecanvas-2 -lgnome-2 -lpopt -lart_lgpl_2 -lpangoft2-1.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXfixes -lpango-1.0 -lcairo -lX11 -lgnomevfs-2 -lbonobo-2 -lgconf-2 -lbonobo-activation -lgmodule-2.0 -ldl -lORBit-2 -lgthread-2.0 -lgobject-2.0 -lglib-2.0    -lgncmod-network-utils   -Wl,--export-dynamic -lgnomeprintui-2-2 -lgnomeprint-2-2 -lz -lgnomecanvas-2 -lxml2 -lart_lgpl_2 -lpangoft2-1.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXfixes -lpango-1.0 -lcairo -lX11 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0   -pthread -Wl,--export-dynamic -lgtkhtml-3.8 -lgnomeui-2 -lSM -lICE -lgnomeprintui-2-2 -lglade-2.0 -lbonoboui-2 -lgnome-keyring -lgnome-2 -lpopt -lgnomevfs-2 -lbonobo-2 -lgconf-2 -lbonobo-activation -lORBit-2 -lgthread-2.0 -lgnomeprint-2-2 -lz -lgnomecanvas-2 -lart_lgpl_2 -lpangoft2-1.0 -lgtk-x11-2.0 -lxml2 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXfixes -lpango-1.0 -lcairo -lX11 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0   -lglade-2.0 -lgtk-x11-2.0 -lxml2 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXfixes -lpango-1.0 -lcairo -lX11 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0   -lgdk_pixbuf-2.0 -lm -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0   -lgncmod-gnome-utils -lgncmod-register-core"
    fi

    if test "$lib_gnome_utils" = "yes"; then
        libs="$libs -L${pkglibdir} -L${GNC_SHAREDIR}/guile-modules/g-wrapped -pthread -Wl,--export-dynamic -lgthread-2.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0   -lguile -lguile-ltdl -lcrypt -lm -lgncmod-engine -lgw-engine -lgw-kvp -lgncmodule -lgncmod-calculation -lgncmod-app-utils   -pthread -lgnomeui-2 -lSM -lICE -lbonoboui-2 -lgnome-keyring -lxml2 -lgnomecanvas-2 -lgnome-2 -lpopt -lart_lgpl_2 -lpangoft2-1.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXfixes -lpango-1.0 -lcairo -lX11 -lgnomevfs-2 -lbonobo-2 -lgconf-2 -lbonobo-activation -lgmodule-2.0 -ldl -lORBit-2 -lgthread-2.0 -lgobject-2.0 -lglib-2.0    -lgncmod-network-utils   -Wl,--export-dynamic -lgnomeprintui-2-2 -lgnomeprint-2-2 -lz -lgnomecanvas-2 -lxml2 -lart_lgpl_2 -lpangoft2-1.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXfixes -lpango-1.0 -lcairo -lX11 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0   -pthread -Wl,--export-dynamic -lgtkhtml-3.8 -lgnomeui-2 -lSM -lICE -lgnomeprintui-2-2 -lglade-2.0 -lbonoboui-2 -lgnome-keyring -lgnome-2 -lpopt -lgnomevfs-2 -lbonobo-2 -lgconf-2 -lbonobo-activation -lORBit-2 -lgthread-2.0 -lgnomeprint-2-2 -lz -lgnomecanvas-2 -lart_lgpl_2 -lpangoft2-1.0 -lgtk-x11-2.0 -lxml2 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXfixes -lpango-1.0 -lcairo -lX11 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0   -lglade-2.0 -lgtk-x11-2.0 -lxml2 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXfixes -lpango-1.0 -lcairo -lX11 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0   -lgdk_pixbuf-2.0 -lm -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0   -lgncmod-gnome-utils"
    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
