diff options
author | thomasvl@chromium.org <thomasvl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-13 13:11:19 +0000 |
---|---|---|
committer | thomasvl@chromium.org <thomasvl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-13 13:11:19 +0000 |
commit | 3ac3f51f8261910dbc38ccfa4cdf3d491ba7ecdb (patch) | |
tree | 77aacff719d688d1a5247a7210d11415c592154b /build/mac | |
parent | 2ef9c45408a75573f5e5325ac0cb17798964b67a (diff) | |
download | chromium_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-x | build/mac/dump_app_syms | 37 | ||||
-rwxr-xr-x | build/mac/tweak_app_infoplist | 56 |
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. |