#!/bin/sh

prefix=/usr/local
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 1.8.12
      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=${exec_prefix}/lib
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 -I/usr/local/include/glib-1.2 -I /usr/local/include/g-wrap -I/usr/local/include"
    fi

    if test "$lib_network_utils" = "yes"; then
        cflags="$cflags -I/usr/local/include/glib-1.2 -I/usr/local/include -I/usr/local/include/gtk-1.2 -I/usr/local/include/glib-1.2 -I/usr/X11R6/include -I/usr/local/include/gnome-1.0 -DNEED_GNOMESUPPORT_H -I/usr/local/lib/gnome-libs/include -I/usr/local/include/orbit-1.0"
    fi

    if test "$lib_app_utils" = "yes"; then
        cflags="$cflags -I/usr/local/include/glib-1.2 -I /usr/local/include/g-wrap -I/usr/local/include"
    fi

    if test "$lib_register_core" = "yes"; then
        cflags="$cflags -I/usr/local/include/glib-1.2 -I /usr/local/include/g-wrap -I/usr/local/include -I/usr/local/include/glib-1.2 -I/usr/local/include -I/usr/local/include/gtk-1.2 -I/usr/local/include/glib-1.2 -I/usr/X11R6/include -I/usr/local/include/gnome-1.0 -DNEED_GNOMESUPPORT_H -I/usr/local/lib/gnome-libs/include -I/usr/local/include/orbit-1.0 -I/usr/local/include/gnome-1.0 -I/usr/X11R6/include/freetype2 -I/usr/X11R6/include -DNEED_GNOMESUPPORT_H -I/usr/local/lib/gnome-libs/include -I/usr/local/include/gtk-1.2 -I/usr/local/include/glib-1.2 -I/usr/local/include/gdk-pixbuf-1.0 -I/usr/local/include/gnome-xml -I/usr/local/include/gtk-1.2 -I/usr/local/include/glib-1.2 -I/usr/X11R6/include -I/usr/local/include/gnome-1.0 -DNEED_GNOMESUPPORT_H -I/usr/local/lib/gnome-libs/include -I/usr/local/include/orbit-1.0  -I/usr/local/include/gdk-pixbuf-1.0 -I/usr/local/include/gtk-1.2 -I/usr/local/include/glib-1.2 -I/usr/X11R6/include"
    fi

    if test "$lib_gnome_utils" = "yes"; then
        cflags="$cflags -I/usr/local/include/glib-1.2 -I /usr/local/include/g-wrap -I/usr/local/include -I/usr/local/include/glib-1.2 -I/usr/local/include -I/usr/local/include/gtk-1.2 -I/usr/local/include/glib-1.2 -I/usr/X11R6/include -I/usr/local/include/gnome-1.0 -DNEED_GNOMESUPPORT_H -I/usr/local/lib/gnome-libs/include -I/usr/local/include/orbit-1.0 -I/usr/local/include/gnome-1.0 -I/usr/X11R6/include/freetype2 -I/usr/X11R6/include -DNEED_GNOMESUPPORT_H -I/usr/local/lib/gnome-libs/include -I/usr/local/include/gtk-1.2 -I/usr/local/include/glib-1.2 -I/usr/local/include/gdk-pixbuf-1.0 -I/usr/local/include/gnome-xml -I/usr/local/include/gtk-1.2 -I/usr/local/include/glib-1.2 -I/usr/X11R6/include -I/usr/local/include/gnome-1.0 -DNEED_GNOMESUPPORT_H -I/usr/local/lib/gnome-libs/include -I/usr/local/include/orbit-1.0  -I/usr/local/include/gdk-pixbuf-1.0 -I/usr/local/include/gtk-1.2 -I/usr/local/include/glib-1.2 -I/usr/X11R6/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 -L/usr/local/lib -lglib -L/usr/local/lib -lguile -lguile-ltdl -lm -lgncmod-engine -lgw-engine -lgw-kvp -lgncmodule"
    fi

    if test "$lib_network_utils" = "yes"; then
        libs="$libs -L/usr/local/lib -lghttp -Wl,-E -L/usr/local/lib -L/usr/X11R6/lib -lgnome -lgnomesupport -lesd -laudiofile -lm -lglib -Wl,-E -lgnomeui -lart_lgpl -lgdk_imlib -ltiff -ljpeg -lungif -lpng -lz -lSM -lICE -lgtk -lgdk -lgmodule -lintl -liconv -lXi -lXext -lX11 -lgnome -lgnomesupport -lesd -laudiofile -lm -lglib -lgncmod-network-utils"
    fi

    if test "$lib_app_utils" = "yes"; then
        libs="$libs -L${pkglibdir} -L${GNC_SHAREDIR}/guile-modules/g-wrapped -L/usr/local/lib -lglib -L/usr/local/lib -lguile -lguile-ltdl -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 -L/usr/local/lib -lglib -L/usr/local/lib -lguile -lguile-ltdl -lm -lgncmod-engine -lgw-engine -lgw-kvp -lgncmodule -lgncmod-calculation -lgncmod-app-utils -L/usr/local/lib -lghttp -Wl,-E -L/usr/local/lib -L/usr/X11R6/lib -lgnome -lgnomesupport -lesd -laudiofile -lm -lglib -Wl,-E -lgnomeui -lart_lgpl -lgdk_imlib -ltiff -ljpeg -lungif -lpng -lz -lSM -lICE -lgtk -lgdk -lgmodule -lintl -liconv -lXi -lXext -lX11 -lgnome -lgnomesupport -lesd -laudiofile -lm -lglib -lgncmod-network-utils -Wl,-E -L/usr/local/lib -L/usr/X11R6/lib -Wl,-E -lgnomeui -lart_lgpl -lgdk_imlib -ltiff -ljpeg -lungif -lpng -lz -lSM -lICE -lgtk -lgdk -lgmodule -lintl -liconv -lXi -lXext -lX11 -lgnome -lgnomesupport -lesd -laudiofile -lm -lglib -Wl,-E -L/usr/local/lib -L/usr/X11R6/lib -lgnomeprint -lgnomeui -lgdk_imlib -lungif -lSM -lICE -lgnome -lgnomesupport -lesd -laudiofile -lgdk_pixbuf -lgtk -lgdk -lgmodule -lglib -lintl -liconv -lXi -lXext -lX11 -ltiff -ljpeg -lpng -lart_lgpl -lm -lxml -lz -lfreetype -Wl,-E -L/usr/local/lib -L/usr/X11R6/lib -lgtkhtml-1.1 -lgal -lgnomeprint -lfreetype -lglade-gnome -lglade -lxml -lgnomeui -lart_lgpl -lgdk_imlib -lungif -lSM -lICE -lgnome -lgnomesupport -lesd -laudiofile -lgdk_pixbuf -lgnomecanvaspixbuf -ltiff -ljpeg -lpng -lz -lgconf-gtk-1 -lgconf-1 -loaf -lORBitCosNaming -lORBit -lIIOP -lwrap -lORBitutil -lgtk -lgdk -lgmodule -lglib -lintl -liconv -lXi -lXext -lX11 -lm   -L/usr/local/lib -lglade -L/usr/local/lib -lxml -lz -L/usr/local/lib -L/usr/X11R6/lib -lgtk -lgdk -Wl,-E -lgmodule -lglib -lintl -liconv -lXi -lXext -lX11 -lm  -L/usr/local/lib -lgdk_pixbuf -L/usr/local/lib -L/usr/X11R6/lib -lgtk -lgdk -Wl,-E -lgmodule -lglib -lintl -liconv -lXi -lXext -lX11 -lm -ltiff -ljpeg -lz -ljpeg -lpng -lz -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 -L/usr/local/lib -lglib -L/usr/local/lib -lguile -lguile-ltdl -lm -lgncmod-engine -lgw-engine -lgw-kvp -lgncmodule -lgncmod-calculation -lgncmod-app-utils -L/usr/local/lib -lghttp -Wl,-E -L/usr/local/lib -L/usr/X11R6/lib -lgnome -lgnomesupport -lesd -laudiofile -lm -lglib -Wl,-E -lgnomeui -lart_lgpl -lgdk_imlib -ltiff -ljpeg -lungif -lpng -lz -lSM -lICE -lgtk -lgdk -lgmodule -lintl -liconv -lXi -lXext -lX11 -lgnome -lgnomesupport -lesd -laudiofile -lm -lglib -lgncmod-network-utils -Wl,-E -L/usr/local/lib -L/usr/X11R6/lib -Wl,-E -lgnomeui -lart_lgpl -lgdk_imlib -ltiff -ljpeg -lungif -lpng -lz -lSM -lICE -lgtk -lgdk -lgmodule -lintl -liconv -lXi -lXext -lX11 -lgnome -lgnomesupport -lesd -laudiofile -lm -lglib -Wl,-E -L/usr/local/lib -L/usr/X11R6/lib -lgnomeprint -lgnomeui -lgdk_imlib -lungif -lSM -lICE -lgnome -lgnomesupport -lesd -laudiofile -lgdk_pixbuf -lgtk -lgdk -lgmodule -lglib -lintl -liconv -lXi -lXext -lX11 -ltiff -ljpeg -lpng -lart_lgpl -lm -lxml -lz -lfreetype -Wl,-E -L/usr/local/lib -L/usr/X11R6/lib -lgtkhtml-1.1 -lgal -lgnomeprint -lfreetype -lglade-gnome -lglade -lxml -lgnomeui -lart_lgpl -lgdk_imlib -lungif -lSM -lICE -lgnome -lgnomesupport -lesd -laudiofile -lgdk_pixbuf -lgnomecanvaspixbuf -ltiff -ljpeg -lpng -lz -lgconf-gtk-1 -lgconf-1 -loaf -lORBitCosNaming -lORBit -lIIOP -lwrap -lORBitutil -lgtk -lgdk -lgmodule -lglib -lintl -liconv -lXi -lXext -lX11 -lm   -L/usr/local/lib -lglade -L/usr/local/lib -lxml -lz -L/usr/local/lib -L/usr/X11R6/lib -lgtk -lgdk -Wl,-E -lgmodule -lglib -lintl -liconv -lXi -lXext -lX11 -lm  -L/usr/local/lib -lgdk_pixbuf -L/usr/local/lib -L/usr/X11R6/lib -lgtk -lgdk -Wl,-E -lgmodule -lglib -lintl -liconv -lXi -lXext -lX11 -lm -ltiff -ljpeg -lz -ljpeg -lpng -lz -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
