summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlambroslambrou@chromium.org <lambroslambrou@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-11 07:17:51 +0000
committerlambroslambrou@chromium.org <lambroslambrou@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-11 07:17:51 +0000
commit6e3586fe3839b991ed0622f4b5b00f006b2029cc (patch)
tree9f92c287fc6d7ed41f1ea75e4cd070eb77ad3780
parent3522e339ee71264263a2fc546d954dac6ab44f3c (diff)
downloadchromium_src-6e3586fe3839b991ed0622f4b5b00f006b2029cc.zip
chromium_src-6e3586fe3839b991ed0622f4b5b00f006b2029cc.tar.gz
chromium_src-6e3586fe3839b991ed0622f4b5b00f006b2029cc.tar.bz2
Build Mac Breakpad symbols for Chromoting Host
BUG=136579 TEST=Official build logs Review URL: https://chromiumcodereview.appspot.com/11340058 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172270 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--remoting/remoting.gyp34
-rwxr-xr-xremoting/scripts/mac/dump_product_syms27
2 files changed, 60 insertions, 1 deletions
diff --git a/remoting/remoting.gyp b/remoting/remoting.gyp
index b0ccce9..db9a678 100644
--- a/remoting/remoting.gyp
+++ b/remoting/remoting.gyp
@@ -1086,10 +1086,42 @@
# A real .dSYM is needed for dump_syms to operate on.
'mac_real_dsym': 1,
},
- }],
+ }], # 'mac_breakpad==1'
], # conditions
}, # end of target 'remoting_host_prefpane'
], # end of 'targets'
+ 'conditions': [
+ ['mac_breakpad==1', {
+ 'targets': [
+ {
+ 'target_name': 'remoting_mac_symbols',
+ 'type': 'none',
+ 'dependencies': [
+ '../breakpad/breakpad.gyp:dump_syms',
+ 'remoting_me2me_host',
+ ],
+ 'actions': [
+ {
+ 'action_name': 'dump_symbols',
+ 'inputs': [
+ '<(DEPTH)/remoting/scripts/mac/dump_product_syms',
+ '<(PRODUCT_DIR)/dump_syms',
+ '<(PRODUCT_DIR)/remoting_me2me_host.app',
+ ],
+ 'outputs': [
+ '<(PRODUCT_DIR)/remoting_me2me_host.app-<(version_full)-<(target_arch).breakpad',
+ ],
+ 'action': [
+ '<@(_inputs)',
+ '<@(_outputs)',
+ ],
+ 'message': 'Dumping breakpad symbols to <(_outputs)',
+ }, # end of action 'dump_symbols'
+ ], # end of 'actions'
+ }, # end of target 'remoting_mac_symbols'
+ ], # end of 'targets'
+ }], # 'mac_breakpad==1'
+ ], # end of 'conditions'
}], # 'OS=="mac"'
['OS=="win"', {
diff --git a/remoting/scripts/mac/dump_product_syms b/remoting/scripts/mac/dump_product_syms
new file mode 100755
index 0000000..cc54a97
--- /dev/null
+++ b/remoting/scripts/mac/dump_product_syms
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+# Copyright (c) 2012 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.
+
+set -eu
+
+if [[ "$#" -ne 3 ]]; then
+ echo "$0 <dump_syms_tool> <mac_bundle> <breakpad_symbols>" >&2
+ exit 1
+fi
+
+DUMP_SYMS_TOOL="$1"
+SOURCE_BUNDLE="$2"
+BREAKPAD_SYMBOLS="$3"
+
+ARCH="i386"
+
+# Filename of bundle, minus the file extension.
+STEM="$(basename "${SOURCE_BUNDLE%.*}")"
+DWARF_PATH="${SOURCE_BUNDLE}.dSYM/Contents/Resources/DWARF/${STEM}"
+
+# Use -c to avoid dumping CFI, because the Breakpad stackwalk is incompatible
+# with CFI produced by clang.
+# http://code.google.com/p/google-breakpad/issues/detail?id=443
+"${DUMP_SYMS_TOOL}" -a "${ARCH}" -c "${DWARF_PATH}" > "${BREAKPAD_SYMBOLS}"