12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- #!/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_paths=(`otool -L ${file} | grep ${search_string} | awk '{print $1}'`)
- for orig_path in ${orig_paths[@]}; do
- if test "x${orig_path}" != x; then
- new_path=`echo ${orig_path} | xargs basename`
- echo "$file\t$orig_path"
- cp ${orig_path} $temp_dir/Dolphin.app/Contents/MacOS/${new_path}
- install_name_tool -change ${orig_path} @executable_path/${new_path} ${file}
- fi
- done
- done
- # wxw shoves all the paths into one string, so the looping is really just for dealing with wxw crap
- orig_paths=(`otool -L $temp_dir/Dolphin.app/Contents/MacOS/Dolphin | grep ${search_string} | awk '{print $1}'`)
-
- for orig_path in ${orig_paths[@]}; do
- 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
- echo "Fixing $orig_path"
- fi
- done
- }
- 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
- fix_shared_object_depends libz
- 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
- echo "Creating dmg"
- hdiutil create -srcfolder $temp_dir -format UDBZ $temp_dir.dmg
- rm -rf $temp_dir
|