#!/bin/sh

usage()
{
	cat <<EOF
Usage: vision2-gtk-config [OPTIONS]
Options
	[--include_path]
	[--object]
	[--library]
	[--threads]
EOF
	exit $1
}

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

true_val=1
false_val=0

pkg_config_string="pkg-config"
gtk_package_string="gtk+-3.0"
gmodule_package_string="gmodule-2.0"
gthread_package_string="gthread-2.0"
xlib_package_string="x11"

prefix_path=""
packages_list=""
postfix_path=""

pkg_manager_name=$pkg_config_string
pkg_manager_options=""

packages_list="$gtk_package_string $gmodule_package_string"
xtst_string=" -L/usr/X11R6/lib -L/usr/X11R6/lib64 -lXtst -lX11 "

needs_include_path=$false_val
needs_object_path=$false_val
needs_library_path=$false_val
needs_threads=$false_val
needs_xtst=$true_val

#Check if ISE_LIBRARY is defined, if not we use ISE_EIFFEL.
if [ -z "$ISE_LIBRARY" ]; then
	ISE_LIBRARY=$ISE_EIFFEL
fi

while test $# -gt 0; do
	case $1 in
		--object)
		if [ $needs_object_path = $false_val ]; then
			needs_object_path=$true_val
			postfix_path=" $postfix_path $ISE_LIBRARY/library/vision2/spec/$ISE_PLATFORM/lib/gtk3_eiffel.o"
		fi
		;;
		--library)
		if [ $needs_library_path = $false_val ]; then
			needs_library_path=$true_val

			# Check if Xtst is needed for EV_SCREEN fake mouse/key support
			$pkg_manager_name $gtk_package_string --atleast-version="2.14.0"
			if [ $? = 1 ]; then 	
				if echo "$ISE_PLATFORM" | grep "macosx" >/dev/null 2>&1; then
					postfix_path=" $postfix_path $xtst_string"
				else
					prefix_path=" $prefix_path $xtst_string"
 				fi
			fi
			packages_list=" $packages_list $gtk_package_string $gmodule_package_string $xlib_package_string"
			pkg_manager_options=" $pkg_manager_options --libs"
		fi
		;;
		--threads)
		if [ $needs_threads = $false_val ]; then
			needs_threads=$true_val
			packages_list=" $packages_list $gthread_package_string"
		fi
		;;
		--include_path)
		if [ $needs_include_path = $false_val ]; then
			needs_include_path=$true_val
			packages_list=" $packages_list $gtk_package_string $gmodule_package_string $xlib_package_string"
			pkg_manager_options=" $pkg_manager_options --cflags"
		fi
		;;
		*)
		usage 1 1>&2
		;;
 	esac
	shift
done

echo $prefix_path `$pkg_manager_name $packages_list $pkg_manager_options` $postfix_path
