#!/bin/sh

LINUXULATOR_LIB=/compat/linux/usr/lib64

BC_LIB=/usr/local/lib/beyondcompare
export BC_LIB

_LD_PRELOAD="$BC_LIB/nosched.so"
export _LD_PRELOAD

BC_PACKAGE_TYPE=rpm
export BC_PACKAGE_TYPE

EXEC="$BC_LIB/BCompare"

if [ -n "$LD_LIBRARY_PATH" ]; then
export LD_LIBRARY_PATH="$BC_LIB:$LD_LIBRARY_PATH:$LINUXULATOR_LIB"
else
export LD_LIBRARY_PATH="$BC_LIB:$LINUXULATOR_LIB"
fi

#check to see if we have all of the shared libraries.
if ldd "$EXEC" | grep -q "not found" ; then
   #if not then add our qt4 libraries in and see if that fixes problem
   export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$BC_LIB/qt4"
   if ldd "$EXEC" | grep -q "not found" ; then
       echo Some Shared Libraries were not found
       ldd "$EXEC"
        exit 1
   fi
fi

########################################
# initialize context menu action scripts for KDE 3.5
if [ "$KDE_FULL_SESSION" = "true" ] && [ -f "$BC_LIB/kde_context_menu" ] ; then
	if [ "$KDE_SESSION_VERSION" != "4" ] && [ "$KDE_SESSION_VERSION" != "5" ]; then
		mkdir -p "$HOME/.beyondcompare"
		if [ -d "$HOME/.kde/share/apps/konqueror" ]; then
			mkdir -p "$HOME/.kde/share/apps/konqueror/servicemenus"
		fi
		"$BC_LIB/kde_context_menu"
	fi
fi

########################################
# execute the program
ARGS="";
while [ "$#" -gt 0 ]; do
	ARGS=$ARGS" \"$1\""
	shift 1
done
/usr/bin/env bash -c "exec -a $0 /usr/bin/env LD_PRELOAD=$_LD_PRELOAD $EXEC $ARGS > /dev/null 2>&1" $0

########################################
# set exit code / wait on existing instance
EXIT=$?
if [ $EXIT = 99 ]; then
	# detected existing instance of Beyond Compare
	EXIT=`cat /tmp/BC4_.$$`
	rm -f /tmp/BC4_.$$
fi
[ ! -f bash.core ] || rm -f bash.core
[ ! -f pgrep.core ] || rm -f pgrep.core
exit $EXIT
