summaryrefslogtreecommitdiffstats
path: root/build/mac
diff options
context:
space:
mode:
authorthomasvl@chromium.org <thomasvl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-13 13:11:19 +0000
committerthomasvl@chromium.org <thomasvl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-13 13:11:19 +0000
commit3ac3f51f8261910dbc38ccfa4cdf3d491ba7ecdb (patch)
tree77aacff719d688d1a5247a7210d11415c592154b /build/mac
parent2ef9c45408a75573f5e5325ac0cb17798964b67a (diff)
downloadchromium_src-3ac3f51f8261910dbc38ccfa4cdf3d491ba7ecdb.zip
chromium_src-3ac3f51f8261910dbc38ccfa4cdf3d491ba7ecdb.tar.gz
chromium_src-3ac3f51f8261910dbc38ccfa4cdf3d491ba7ecdb.tar.bz2
- Roll DEPS to pick up newer GYP
- Add script for running dump_syms on release builds if breakpad is enabled. - Update the info.plist tweaks to add the breakpad keys if needed - Add a var to check for breakpad support within the chrome.gyp instead of having the knowledge about breakpad being in official builds spread all around. Review URL: http://codereview.chromium.org/113305 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15948 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'build/mac')
-rwxr-xr-xbuild/mac/dump_app_syms37
-rwxr-xr-xbuild/mac/tweak_app_infoplist56
2 files changed, 91 insertions, 2 deletions
diff --git a/build/mac/dump_app_syms b/build/mac/dump_app_syms
new file mode 100755
index 0000000..a1e497c
--- /dev/null
+++ b/build/mac/dump_app_syms
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+# Copyright (c) 2009 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Make sure we got the header to write into passed to us
+if [ $# -ne 1 ]; then
+ echo "error: missing branding as an argument" >&2
+ exit 1
+fi
+
+set -ex
+
+# Skip out if we're aren't in Release mode, no need for dump_syms on debug runs.
+if [ "${CONFIGURATION}" != "Release" ] ; then
+ exit 0
+fi
+
+TOP="${SRCROOT}/.."
+BUILD_BRANDING=$1
+
+. "${TOP}/chrome/VERSION"
+
+SRC_APP_NAME="${BUILD_BRANDING}"
+BREAKPAD_DUMP_SYMS="${BUILT_PRODUCTS_DIR}/dump_syms"
+BREAKPAD_PRODUCT_ID="${BUILD_BRANDING}_Mac"
+FULL_VERSION="${MAJOR}.${MINOR}.${BUILD}.${PATCH}"
+SRC_APP_PATH="${BUILT_PRODUCTS_DIR}/${SRC_APP_NAME}.app"
+# Created by the build/mac/strip_from_xcode script.
+UNSTRIPPED_APP="${SRC_APP_PATH}.dSYM/Contents/Resources/DWARF/${SRC_APP_NAME}"
+SYMBOL_FILE="${BUILT_PRODUCTS_DIR}/${BUILD_BRANDING}-${FULL_VERSION} i386.breakpad"
+
+# Only run dump_syms if the file has changed since we last did a dump.
+if [ "${UNSTRIPPED_APP}" -nt "${SYMBOL_FILE}" ] ; then
+ "${BREAKPAD_DUMP_SYMS}" -a i386 "${UNSTRIPPED_APP}" > "${SYMBOL_FILE}"
+fi
diff --git a/build/mac/tweak_app_infoplist b/build/mac/tweak_app_infoplist
index 4040fa0..f8a062d 100755
--- a/build/mac/tweak_app_infoplist
+++ b/build/mac/tweak_app_infoplist
@@ -4,6 +4,32 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+set -e
+
+# Pull off the optional args
+INCLUDE_BREAKPAD=0
+OPTERR=0
+while getopts ":b:" an_opt ; do
+ case $an_opt in
+ b)
+ INCLUDE_BREAKPAD=$OPTARG
+ ;;
+ \?)
+ echo "Unknown option $OPTARG"
+ exit 1
+ ;;
+ :)
+ echo "Option $OPTARG missing it's value"
+ exit 1
+ ;;
+ *)
+ echo "Not recognized argument $an_opt"
+ exit 1
+ ;;
+ esac
+done
+shift $(($OPTIND - 1))
+
# Make sure we got the header to write into passed to us
if [ $# -ne 1 ]; then
echo "error: missing branding as an argument" >&2
@@ -26,12 +52,12 @@ fi
# by the time the app target is done, the info.plist is correct.
#
-set -ex
-
TOP="${SRCROOT}/.."
BUILD_BRANDING=$1
SRC_APP_PATH="${BUILT_PRODUCTS_DIR}/${BUILD_BRANDING}.app"
+set -x
+
# Figure out what version this build corresponds to. Just use the svn revision
# for now. Warning: my svnversion returns 10495:10552M. But that's ok since
# it is just for reference.
@@ -89,6 +115,32 @@ defaults write "${TMP_INFO_PLIST_DEFAULTS}" \
defaults write "${TMP_INFO_PLIST_DEFAULTS}" \
NSHumanReadableCopyright -string "${COPYRIGHT_STRING}"
+# Add/Remove the breakpad keys
+if [ "${INCLUDE_BREAKPAD}" == "1" ] ; then
+ defaults write "${TMP_INFO_PLIST_DEFAULTS}" \
+ BreakpadURL "https://clients2.google.com/cr/report"
+ defaults write "${TMP_INFO_PLIST_DEFAULTS}" BreakpadReportInterval "3600"
+ defaults write "${TMP_INFO_PLIST_DEFAULTS}" \
+ BreakpadProduct "${BUILD_BRANDING}_Mac"
+ defaults write "${TMP_INFO_PLIST_DEFAULTS}" \
+ BreakpadProductDisplay "${BUILD_BRANDING}"
+ defaults write "${TMP_INFO_PLIST_DEFAULTS}" \
+ BreakpadVersion -string "${FULL_VERSION}"
+ defaults write "${TMP_INFO_PLIST_DEFAULTS}" BreakpadSendAndExit "YES"
+ # TODO: remove/update this when we have first launch
+ defaults write "${TMP_INFO_PLIST_DEFAULTS}" BreakpadSkipConfirm "YES"
+else
+ # Make sure the keys aren't there, || true to avoid errors if they aren't.
+ defaults delete "${TMP_INFO_PLIST_DEFAULTS}" BreakpadURL || true
+ defaults delete "${TMP_INFO_PLIST_DEFAULTS}" BreakpadReportInterval || true
+ defaults delete "${TMP_INFO_PLIST_DEFAULTS}" BreakpadProduct || true
+ defaults delete "${TMP_INFO_PLIST_DEFAULTS}" BreakpadProductDisplay || true
+ defaults delete "${TMP_INFO_PLIST_DEFAULTS}" BreakpadVersion || true
+ defaults delete "${TMP_INFO_PLIST_DEFAULTS}" BreakpadSendAndExit || true
+ # TODO: remove/update this when we have first launch
+ defaults delete "${TMP_INFO_PLIST_DEFAULTS}" BreakpadSkipConfirm || true
+fi
+
# Info.plist will work perfectly well in any plist format, but traditionally
# applications use xml1 for this, so convert it back after whatever defaults
# might have done.