1#!/bin/sh
2
3#get the bundle's MacOS directory full path
4DIR=`dirname $0`
5
6EXE_PATH="$DIR/bin/Renode.exe"
7PROCESS_NAME=appname
8APPNAME="Renode"
9
10#set up environment
11MONO_FRAMEWORK_PATH=/Library/Frameworks/Mono.framework/Versions/Current
12export DYLD_FALLBACK_LIBRARY_PATH="$DIR:$MONO_FRAMEWORK_PATH/lib:/lib:/usr/lib"
13export PATH="$MONO_FRAMEWORK_PATH/bin:$PATH"
14
15# REQUIRED_MAJOR and REQUIRED_MINOR should be
16# set automatically at the moment of packaging
17if [ -z "$REQUIRED_MAJOR" -o -z "$REQUIRED_MINOR" ]
18then
19	echo "No required mono version set. It most probably indicates a problem in packaging scripts"
20	exit 1
21fi
22
23VERSION_TITLE="Cannot launch $APPNAME"
24VERSION_MSG="$APPNAME requires the Mono Framework version $REQUIRED_MAJOR.$REQUIRED_MINOR or later."
25DOWNLOAD_URL="http://www.mono-project.com/download/stable/"
26
27MONO_VERSION="$(mono64 --version | grep 'Mono JIT compiler version ' |  cut -f5 -d\ )"
28MONO_VERSION_MAJOR="$(echo $MONO_VERSION | cut -f1 -d.)"
29MONO_VERSION_MINOR="$(echo $MONO_VERSION | cut -f2 -d.)"
30if [ -z "$MONO_VERSION" ] \
31	|| [ $MONO_VERSION_MAJOR -lt $REQUIRED_MAJOR ] \
32	|| [ $MONO_VERSION_MAJOR -eq $REQUIRED_MAJOR -a $MONO_VERSION_MINOR -lt $REQUIRED_MINOR ]
33then
34	osascript \
35	-e "set question to display dialog \"$VERSION_MSG\" with title \"$VERSION_TITLE\" buttons {\"Cancel\", \"Download...\"} default button 2" \
36	-e "if button returned of question is equal to \"Download...\" then open location \"$DOWNLOAD_URL\""
37	echo "$VERSION_TITLE"
38	echo "$VERSION_MSG"
39	exit 1
40fi
41
42#run app using mono
43exec -a \"$PROCESS_NAME\" mono64 $MONO_OPTIONS "$EXE_PATH" "$@"
44