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