diff --git a/osx_make_dmg.sh b/osx_make_dmg.sh new file mode 100755 index 0000000000..a711d709d3 --- /dev/null +++ b/osx_make_dmg.sh @@ -0,0 +1,54 @@ +#!/bin/sh +# OS X .dmg maker for distributable builds +# Courtesy of WntrMute +# How to use: +# run scons so that a complete and valid build is made in the normal Binary path +# run this script :) + +trap "echo; exit" SIGINT SIGTERM + +temp_dir="Dolphin-r`svn info | grep "Revision" | awk '{print $2}'`" + +fix_shared_object_depends() { + search_string=$1 + + ## Get list of files to work on + file_list=`find $temp_dir/Dolphin.app -name *.dylib` + + ## Loop over the files, and update the path + for file in ${file_list} + do + orig_path=`otool -L ${file} | grep ${search_string} | awk '{print $1;}'` + + if test "x${orig_path}" != x; then + new_path=`echo ${orig_path} | xargs basename` + + cp ${orig_path} $temp_dir/Dolphin.app/Contents/MacOS/${new_path} + install_name_tool -change ${orig_path} @executable_path/${new_path} ${file} + fi + done + + orig_path=`otool -L $temp_dir/Dolphin.app/Contents/MacOS/Dolphin | grep ${search_string} | awk '{print $1;}'` + if test "x${orig_path}" != x; then + new_path=`echo ${orig_path} | xargs basename` + cp ${orig_path} $temp_dir/Dolphin.app/Contents/MacOS/${new_path} + install_name_tool -change ${orig_path} @executable_path/${new_path} $temp_dir/Dolphin.app/Contents/MacOS/Dolphin + fi +} + +cd Binary 2>/dev/null +if [ $? != 0 ]; then echo "Did you build dolphin yet?"; exit; fi +rm -rf $temp_dir +mkdir -p $temp_dir/Dolphin.app +cp -r Darwin-i386/Dolphin.app $temp_dir +fix_shared_object_depends libwx +fix_shared_object_depends libSDL +fix_shared_object_depends libGLEW + +mkdir -p $temp_dir/Dolphin.app/Contents/Library/Frameworks/Cg.framework +cp /Library/Frameworks/Cg.framework/Cg $temp_dir/Dolphin.app/Contents/Library/Frameworks/Cg.framework/Cg + +find $temp_dir -name .svn -exec rm -fr {} \; 2>/dev/null +rm $temp_dir.dmg 2>/dev/null +hdiutil create -srcfolder $temp_dir -format UDBZ $temp_dir.dmg +rm -rf $temp_dir \ No newline at end of file