aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Tools/LaunchSLClient/LaunchSLClient.app.skel/Contents/Info.plist12
-rwxr-xr-xOpenSim/Tools/LaunchSLClient/LaunchSLClient.app.skel/Contents/MacOS/LaunchSLClient13
-rwxr-xr-xOpenSim/Tools/LaunchSLClient/make-OSX-app.sh42
3 files changed, 47 insertions, 20 deletions
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient.app.skel/Contents/Info.plist b/OpenSim/Tools/LaunchSLClient/LaunchSLClient.app.skel/Contents/Info.plist
new file mode 100644
index 0000000..7139350
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient.app.skel/Contents/Info.plist
@@ -0,0 +1,12 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3<plist version="1.0">
4<dict>
5 <key>CFBundleIdentifier</key>
6 <string>LaunchSLClient</string>
7 <key>CFBundleExecutable</key>
8 <string>LaunchSLClient</string>
9 <key>CFBundleIconFile</key>
10 <string></string>
11</dict>
12</plist>
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient.app.skel/Contents/MacOS/LaunchSLClient b/OpenSim/Tools/LaunchSLClient/LaunchSLClient.app.skel/Contents/MacOS/LaunchSLClient
new file mode 100755
index 0000000..22acade
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient.app.skel/Contents/MacOS/LaunchSLClient
@@ -0,0 +1,13 @@
1#!/bin/sh
2
3PWD=`pwd`
4
5# Fetch the path relative to the launch point where this shell script exists.
6APP_PATH=`echo $0 | awk '{split($0,patharr,"/"); idx=1; while(patharr[idx+3] != "") { if (patharr[idx] != "/") {printf("%s/", patharr[idx]); idx++ }} }'`
7
8# Fetch the app name (its our own name)
9APP_NAME=`echo $0 | awk '{split($0,patharr,"/"); idx=1; while(patharr[idx+1] != "") {idx++} printf("%s", patharr[idx]); }'`
10
11cd "$APP_PATH/Contents/Resources"
12
13./$APP_NAME
diff --git a/OpenSim/Tools/LaunchSLClient/make-OSX-app.sh b/OpenSim/Tools/LaunchSLClient/make-OSX-app.sh
index 9b9177e..aa37cb6 100755
--- a/OpenSim/Tools/LaunchSLClient/make-OSX-app.sh
+++ b/OpenSim/Tools/LaunchSLClient/make-OSX-app.sh
@@ -6,13 +6,22 @@
6# This should be run from the bin directory. 6# This should be run from the bin directory.
7 7
8APP_NAME="LaunchSLClient" 8APP_NAME="LaunchSLClient"
9 9SOURCE_PATH="../OpenSim/Tools/${APP_NAME}"
10# Note that proper form is to copy Frameworks to 10
11# *.app/Contents/Frameworks, but because @executable_path resolves to 11ASSEMBLIES="mscorlib.dll \
12# [...]/Resources/bin, and the libraries reference 12 System.Windows.Forms.dll \
13# @executable_path/../Frameworks, we put frameworks in 13 System.Drawing.dll \
14# Contents/Resources instead. 14 System.Configuration.dll \
15FRAMEWORKS_PATH="${APP_NAME}.app/Contents/Resources/Frameworks" 15 System.Xml.dll \
16 System.Security.dll \
17 Mono.Security.dll \
18 System.Data.dll \
19 Mono.Data.Tds.dll \
20 System.Transactions.dll \
21 System.EnterpriseServices.dll \
22 Mono.Mozilla.dll \
23 Mono.Posix.dll \
24 Accessibility.dll"
16 25
17if [ ! -e ${APP_NAME}.exe ]; then 26if [ ! -e ${APP_NAME}.exe ]; then
18 echo "Error: Could not find ${APP_NAME}.exe." >& 2 27 echo "Error: Could not find ${APP_NAME}.exe." >& 2
@@ -20,19 +29,12 @@ if [ ! -e ${APP_NAME}.exe ]; then
20 exit 1 29 exit 1
21fi 30fi
22 31
23CMDFLAGS="-m console -n ${APP_NAME} -a ${APP_NAME}.exe" 32mkbundle2 -z -o ${APP_NAME} ${APP_NAME}.exe ${ASSEMBLIES} || exit 1
24
25REFERENCES="-r /Library/Frameworks/Mono.framework/Versions/Current/lib/ \
26 -r Nini.dll \
27 -r ${APP_NAME}.ini"
28
29if [ -f ${APP_NAME}.icns ]; then
30 CMDFLAGS="${CMDFLAGS} -i ${APP_NAME}.icns"
31else
32 echo "Warning: no icon file found. Will use default application icon." >&2
33fi
34 33
35if [ -d ${APP_NAME}.app ]; then rm -rf ${APP_NAME}.app; fi 34if [ -d ${APP_NAME}.app ]; then rm -rf ${APP_NAME}.app; fi
36macpack ${REFERENCES} ${CMDFLAGS} 35cp -r ${SOURCE_PATH}/${APP_NAME}.app.skel ${APP_NAME}.app
36
37# mkbundle doesn't seem to recognize the -L option, so we can't include Nini.dll in the bundling
38cp Nini.dll ${APP_NAME}.app/Contents/Resources
37 39
38mkdir -p ${FRAMEWORKS_PATH} 40cp ${APP_NAME} ${APP_NAME}.ini ${APP_NAME}.app/Contents/Resources