From 3f69367f3a96e0152e166f1fc881c42ef095433f Mon Sep 17 00:00:00 2001 From: dak180 Date: Thu, 29 Jul 2010 20:07:35 +0000 Subject: [PATCH] Add dSYM bundles for maximum symbolication. http://bitbucket.org/boredzo/symbolicator can be used to symbolicate crash logs from people without dSYM bundles. git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@11313 4a71c877-e1ca-e34f-864e-861f7616d084 --- macosx/Warzone.xcodeproj/project.pbxproj | 2 +- macosx/configs/Project-All.xcconfig | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/macosx/Warzone.xcodeproj/project.pbxproj b/macosx/Warzone.xcodeproj/project.pbxproj index 4b485f9e1..8813c7b56 100644 --- a/macosx/Warzone.xcodeproj/project.pbxproj +++ b/macosx/Warzone.xcodeproj/project.pbxproj @@ -4067,7 +4067,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/bash; - shellScript = "# Config\nsimgfl=\"http://downloads.sourceforge.net/project/warzone2100/build-tools/mac/wztemplate.sparseimage\"\nsimgflnme=\"wztemplate.sparseimage\"\nsimgflmd5=\"da10e06f2b9b2b565e70dd8e98deaaad\"\nsequence=\"http://downloads.sourceforge.net/project/warzone2100/warzone2100/Videos/2.2/high-quality-en/sequences.wz\"\nsequencenme=\"sequences.wz\"\nsequencelo=\"http://downloads.sourceforge.net/project/warzone2100/warzone2100/Videos/2.2/low-quality-en/sequences.wz\"\nsequencelonme=\"sequences-lo.wz\"\nrelbuild=\"build/Release/Warzone.app\"\ndmgout=\"build/dmgout\"\n\n# Fail if not release\nif [ ! -d \"$relbuild\" ]; then\n echo \"error: This should only be run as Release\" >&2\n exit 1\nfi\n\n# Make a dir and get the sparseimage\nmkdir -p \"$dmgout\"\ncd \"$dmgout\"\nif [ ! -f \"$simgflnme\" ]; then\n echo \"Fetching $simgfl\"\n if ! curl -L -O --connect-timeout \"30\" \"$simgfl\"; then\n echo \"error: Unable to fetch $simgfl\" >&2\n exit 1\n fi\nelse\n echo \"$simgflnme already exists, skipping\"\nfi\n\n# Get the sequences\n\n# Comment out the following to skip the high qual seq\n# if [ ! -f \"$sequencenme\" ]; then\n# echo \"Fetching $sequencenme\"\n# if [ -f \"${HOME}/Library/Application Support/Warzone 2100 Trunk/sequences.wz\" ]; then\n# cp \"${HOME}/Library/Application Support/Warzone 2100 Trunk/sequences.wz\" \"$sequencenme\"\n# elif ! curl -L --connect-timeout \"30\" -o \"$sequencenme\" \"$sequence\"; then\n# echo \"error: Unable to fetch $sequence\" >&2\n# exit 1\n# fi\n# else\n# echo \"$sequencenme already exists, skipping\"\n# fi\n#\n\n# Comment out the following to skip the low qual seq\nif [ ! -f \"$sequencelonme\" ]; then\n echo \"Fetching $sequencelonme\"\n if [ -f \"${HOME}/Applications/Build/wz2100/dmgmaker/sequences-lo.wz\" ]; then\n cp \"${HOME}/Applications/Build/wz2100/dmgmaker/sequences-lo.wz\" \"$sequencelonme\"\n elif [ -f \"${HOME}/Library/Application Support/Warzone 2100 Trunk/sequences-lq.wz\" ]; then\n cp \"${HOME}/Library/Application Support/Warzone 2100 Trunk/sequences-lq.wz\" \"$sequencelonme\"\n elif ! curl -L --connect-timeout \"30\" -o \"$sequencelonme\" \"$sequencelo\"; then\n echo \"error: Unable to fetch $sequencelo\" >&2\n exit 1\n fi\nelse\n echo \"$sequencelonme already exists, skipping\"\nfi\n# \n\n# Copy over the app\ncd ../../\necho \"Copying the app cleanly.\"\nrm -r -f $dmgout/Warzone.app\nif ! tar -c --exclude '.svn' --exclude 'Makefile*' --exclude 'makefile*' --exclude '.DS_Store' -C build/Release Warzone.app | tar -xC $dmgout; then\n echo \"error: Unable to copy the app\" >&2\n exit 1\nfi\ncd \"$dmgout\"\n\n# mkredist.bash\n\ncd Warzone.app/Contents/Resources/data/\n\necho \"== Compressing base.wz ==\"\nif [ -d base/ ]; then\n cd base/\n zip -r ../base.wz *\n cd ..\n rm -rf base/\nfi\n\necho \"== Compressing mp.wz ==\"\nif [ -d mp/ ]; then\n cd mp/\n zip -r ../mp.wz *\n cd ..\n rm -rf mp/\nfi\n\ncd mods/\n\nmodlst=`ls -1`\nfor moddr in ${modlst}; do\n if [ -d ${moddr} ]; then\n cd ${moddr}\n if [ \"${moddr}\" = \"campaign\" ]; then\n sbtyp=\".cam\"\n elif [ \"${moddr}\" = \"global\" ]; then\n sbtyp=\".gmod\"\n elif [ \"${moddr}\" = \"multiplay\" ]; then\n sbtyp=\".mod\"\n elif [ \"${moddr}\" = \"music\" ]; then\n sbtyp=\".music\"\n else\n sbtyp=\"\"\n fi\n modlstd=`ls -1`\n for modwz in ${modlstd}; do\n if [ -d ${modwz} ]; then\n echo \"== Compressing ${modwz}${sbtyp}.wz ==\"\n cd ${modwz}\n zip -r ../${modwz}${sbtyp}.wz *\n cd ..\n rm -rf \"${modwz}/\"\n fi\n done\n cd ..\n fi\ndone\n\ncd ../../../../../\n\nrm -r -f ./out ./temp\nmkdir temp/\nmkdir out/\n\necho \"== Creating DMG ==\"\ncp wztemplate.sparseimage temp/wztemplatecopy.sparseimage\nhdiutil resize -size 150m temp/wztemplatecopy.sparseimage\nmountpt=`hdiutil mount temp/wztemplatecopy.sparseimage | tr -d \"\\t\" | sed -E 's:(/dev/disk[0-9])( +)(/Volumes/Warzone 2100):\\1:'`\ncp -r Warzone.app/* /Volumes/Warzone\\ 2100/Warzone.app\n# hdiutil detach `expr match \"$mountpt\" '\\(^[^ ]*\\)'`\nhdiutil detach \"$mountpt\"\nhdiutil convert temp/wztemplatecopy.sparseimage -format UDZO -o out/warzone2100-novideo.dmg\n\nif [ -f \"$sequencelonme\" ]; then\n echo \"== Creating LQ DMG ==\"\n hdiutil resize -size 350m temp/wztemplatecopy.sparseimage\n mountpt=`hdiutil mount temp/wztemplatecopy.sparseimage | tr -d \"\\t\" | sed -E 's:(/dev/disk[0-9])( +)(/Volumes/Warzone 2100):\\1:'`\n cp sequences-lo.wz /Volumes/Warzone\\ 2100/Warzone.app/Contents/Resources/data/sequences.wz\n # hdiutil detach `expr match \"$mountpt\" '\\(^[^ ]*\\)'`\n hdiutil detach \"$mountpt\"\n hdiutil convert temp/wztemplatecopy.sparseimage -format UDZO -o out/warzone2100-lqvideo.dmg\nelse\n echo \"$sequencelonme does not exist, skipping\"\nfi\n\n\nif [ -f \"$sequencenme\" ]; then\n echo \"== Creating HQ DMG ==\"\n hdiutil resize -size 700m temp/wztemplatecopy.sparseimage\n mountpt=`hdiutil mount temp/wztemplatecopy.sparseimage | tr -d \"\\t\" | sed -E 's:(/dev/disk[0-9])( +)(/Volumes/Warzone 2100):\\1:'`\n rm /Volumes/Warzone\\ 2100/Warzone.app/Contents/Resources/data/sequences.wz\n cp sequences.wz /Volumes/Warzone\\ 2100/Warzone.app/Contents/Resources/data/sequences.wz\n hdiutil detach \"$mountpt\"\n hdiutil convert temp/wztemplatecopy.sparseimage -format UDZO -o out/warzone2100-hqvideo.dmg\nelse\n echo \"$sequencenme does not exist, skipping\"\nfi\n\necho \"== Cleaning up ==\"\nrm -f temp/wztemplatecopy.sparseimage\nrmdir temp/\n\n# Open the dir\nopen \"out\"\n\nexit 0"; + shellScript = "# Config\nsimgfl=\"http://downloads.sourceforge.net/project/warzone2100/build-tools/mac/wztemplate.sparseimage\"\nsimgflnme=\"wztemplate.sparseimage\"\nsimgflmd5=\"da10e06f2b9b2b565e70dd8e98deaaad\"\nsequence=\"http://downloads.sourceforge.net/project/warzone2100/warzone2100/Videos/2.2/high-quality-en/sequences.wz\"\nsequencenme=\"sequences.wz\"\nsequencelo=\"http://downloads.sourceforge.net/project/warzone2100/warzone2100/Videos/2.2/low-quality-en/sequences.wz\"\nsequencelonme=\"sequences-lo.wz\"\nrelbuild=\"build/Release/\"\ndmgout=\"build/dmgout\"\n\n# Fail if not release\nif [ ! -d \"${relbuild}Warzone.app\" ]; then\n echo \"error: This should only be run as Release\" >&2\n exit 1\nfi\n\n# Make a dir and get the sparseimage\nmkdir -p \"$dmgout\"\ncd \"$dmgout\"\nif [ ! -f \"$simgflnme\" ]; then\n echo \"Fetching $simgfl\"\n if ! curl -L -O --connect-timeout \"30\" \"$simgfl\"; then\n echo \"error: Unable to fetch $simgfl\" >&2\n exit 1\n fi\nelse\n echo \"$simgflnme already exists, skipping\"\nfi\n\n# Get the sequences\n\n# Comment out the following to skip the high qual seq\n# if [ ! -f \"$sequencenme\" ]; then\n# echo \"Fetching $sequencenme\"\n# if [ -f \"${HOME}/Library/Application Support/Warzone 2100 Trunk/sequences.wz\" ]; then\n# cp \"${HOME}/Library/Application Support/Warzone 2100 Trunk/sequences.wz\" \"$sequencenme\"\n# elif ! curl -L --connect-timeout \"30\" -o \"$sequencenme\" \"$sequence\"; then\n# echo \"error: Unable to fetch $sequence\" >&2\n# exit 1\n# fi\n# else\n# echo \"$sequencenme already exists, skipping\"\n# fi\n#\n\n# Comment out the following to skip the low qual seq\nif [ ! -f \"$sequencelonme\" ]; then\n echo \"Fetching $sequencelonme\"\n if [ -f \"${HOME}/Applications/Build/wz2100/dmgmaker/sequences-lo.wz\" ]; then\n cp \"${HOME}/Applications/Build/wz2100/dmgmaker/sequences-lo.wz\" \"$sequencelonme\"\n elif [ -f \"${HOME}/Library/Application Support/Warzone 2100 Trunk/sequences-lq.wz\" ]; then\n cp \"${HOME}/Library/Application Support/Warzone 2100 Trunk/sequences-lq.wz\" \"$sequencelonme\"\n elif ! curl -L --connect-timeout \"30\" -o \"$sequencelonme\" \"$sequencelo\"; then\n echo \"error: Unable to fetch $sequencelo\" >&2\n exit 1\n fi\nelse\n echo \"$sequencelonme already exists, skipping\"\nfi\n# \n\n# Copy over the app\ncd ../../\necho \"Copying the app cleanly.\"\nrm -r -f $dmgout/Warzone.app\nif ! tar -c --exclude '.svn' --exclude 'Makefile*' --exclude 'makefile*' --exclude '.DS_Store' -C build/Release Warzone.app | tar -xC $dmgout; then\n echo \"error: Unable to copy the app\" >&2\n exit 1\nfi\nmkdir -p \"${dmgout}/warzone2100-dSYM\"\ncp -pPR ${relbuild}*.dSYM \"${dmgout}/warzone2100-dSYM\"\ncd \"$dmgout\"\ntar -czf warzone2100-dSYM.tar.gz --exclude '.DS_Store' warzone2100-dSYM\n\n# mkredist.bash\n\ncd Warzone.app/Contents/Resources/data/\n\necho \"== Compressing base.wz ==\"\nif [ -d base/ ]; then\n cd base/\n zip -r ../base.wz *\n cd ..\n rm -rf base/\nfi\n\necho \"== Compressing mp.wz ==\"\nif [ -d mp/ ]; then\n cd mp/\n zip -r ../mp.wz *\n cd ..\n rm -rf mp/\nfi\n\ncd mods/\n\nmodlst=`ls -1`\nfor moddr in ${modlst}; do\n if [ -d ${moddr} ]; then\n cd ${moddr}\n if [ \"${moddr}\" = \"campaign\" ]; then\n sbtyp=\".cam\"\n elif [ \"${moddr}\" = \"global\" ]; then\n sbtyp=\".gmod\"\n elif [ \"${moddr}\" = \"multiplay\" ]; then\n sbtyp=\".mod\"\n elif [ \"${moddr}\" = \"music\" ]; then\n sbtyp=\".music\"\n else\n sbtyp=\"\"\n fi\n modlstd=`ls -1`\n for modwz in ${modlstd}; do\n if [ -d ${modwz} ]; then\n echo \"== Compressing ${modwz}${sbtyp}.wz ==\"\n cd ${modwz}\n zip -r ../${modwz}${sbtyp}.wz *\n cd ..\n rm -rf \"${modwz}/\"\n fi\n done\n cd ..\n fi\ndone\n\ncd ../../../../../\n\nrm -rf ./out ./temp\nmkdir temp/\nmkdir out/\nmv warzone2100-dSYM temp/warzone2100-dSYM\nmv warzone2100-dSYM.tar.gz out/warzone2100-dSYM.tar.gz\n\necho \"== Creating DMG ==\"\ncp wztemplate.sparseimage temp/wztemplatecopy.sparseimage\nhdiutil resize -size 150m temp/wztemplatecopy.sparseimage\nmountpt=`hdiutil mount temp/wztemplatecopy.sparseimage | tr -d \"\\t\" | sed -E 's:(/dev/disk[0-9])( +)(/Volumes/Warzone 2100):\\1:'`\ncp -r Warzone.app/* /Volumes/Warzone\\ 2100/Warzone.app\n# hdiutil detach `expr match \"$mountpt\" '\\(^[^ ]*\\)'`\nhdiutil detach \"$mountpt\"\nhdiutil convert temp/wztemplatecopy.sparseimage -format UDZO -o out/warzone2100-novideo.dmg\n\nif [ -f \"$sequencelonme\" ]; then\n echo \"== Creating LQ DMG ==\"\n hdiutil resize -size 350m temp/wztemplatecopy.sparseimage\n mountpt=`hdiutil mount temp/wztemplatecopy.sparseimage | tr -d \"\\t\" | sed -E 's:(/dev/disk[0-9])( +)(/Volumes/Warzone 2100):\\1:'`\n cp sequences-lo.wz /Volumes/Warzone\\ 2100/Warzone.app/Contents/Resources/data/sequences.wz\n # hdiutil detach `expr match \"$mountpt\" '\\(^[^ ]*\\)'`\n hdiutil detach \"$mountpt\"\n hdiutil convert temp/wztemplatecopy.sparseimage -format UDZO -o out/warzone2100-lqvideo.dmg\nelse\n echo \"$sequencelonme does not exist, skipping\"\nfi\n\n\nif [ -f \"$sequencenme\" ]; then\n echo \"== Creating HQ DMG ==\"\n hdiutil resize -size 700m temp/wztemplatecopy.sparseimage\n mountpt=`hdiutil mount temp/wztemplatecopy.sparseimage | tr -d \"\\t\" | sed -E 's:(/dev/disk[0-9])( +)(/Volumes/Warzone 2100):\\1:'`\n rm /Volumes/Warzone\\ 2100/Warzone.app/Contents/Resources/data/sequences.wz\n cp sequences.wz /Volumes/Warzone\\ 2100/Warzone.app/Contents/Resources/data/sequences.wz\n hdiutil detach \"$mountpt\"\n hdiutil convert temp/wztemplatecopy.sparseimage -format UDZO -o out/warzone2100-hqvideo.dmg\nelse\n echo \"$sequencenme does not exist, skipping\"\nfi\n\necho \"== Cleaning up ==\"\nrm -f temp/wztemplatecopy.sparseimage\n\n# Open the dir\nopen \"out\"\n\nexit 0"; }; 43FA570B10FF8E9B0074E914 /* SDL */ = { isa = PBXShellScriptBuildPhase; diff --git a/macosx/configs/Project-All.xcconfig b/macosx/configs/Project-All.xcconfig index e98759b28..2fb1ca87d 100644 --- a/macosx/configs/Project-All.xcconfig +++ b/macosx/configs/Project-All.xcconfig @@ -3,6 +3,7 @@ ARCHS = $(ARCHS_STANDARD_32_BIT) SDKROOT = macosx10.5 +DEBUG_INFORMATION_FORMAT = dwarf-with-dsym GCC_VERSION = com.apple.compilers.llvm.clang.1_0 MACOSX_DEPLOYMENT_TARGET = 10.4 COPY_PHASE_STRIP = NO