summaryrefslogtreecommitdiffstats
path: root/remoting/scripts/mac
diff options
context:
space:
mode:
authormark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-14 07:39:54 +0000
committermark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-14 07:39:54 +0000
commitdb4556247aa1180f9bc28befa8f8e95d30c4eb7e (patch)
tree49e842e5213c187826ebf786f31a514070ef6b5d /remoting/scripts/mac
parent35c495690d20c8bc624429af1b160e0ec1b7b2c7 (diff)
downloadchromium_src-db4556247aa1180f9bc28befa8f8e95d30c4eb7e.zip
chromium_src-db4556247aa1180f9bc28befa8f8e95d30c4eb7e.tar.gz
chromium_src-db4556247aa1180f9bc28befa8f8e95d30c4eb7e.tar.bz2
Make remoting_me2me_host build properly for official Mac 64-bit builds.
remoting's symbol dumper was hard-coded to work on 32-bit x86 only. Similar to r184545 for Chrome, it is now updated to check the built product for what architectures are present. It will dump Breakpad symbols for 32-bit x86, x86_64, or both, as present. The symbol dumper is moved from an action in a distinct 'none'-type target to a postbuild in the correct target. There was no guarantee that the 'none' target would ever be built (and thus that symbols would be dumped), since nothing actually depended on this target. It is likely that whatever required symbols, if anything, was just building the 'All' target. This is not good practice. A postbuild on the correct target is the right way to dump these symbols. Review URL: https://chromiumcodereview.appspot.com/17003003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206360 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/scripts/mac')
-rwxr-xr-xremoting/scripts/mac/dump_product_syms30
1 files changed, 19 insertions, 11 deletions
diff --git a/remoting/scripts/mac/dump_product_syms b/remoting/scripts/mac/dump_product_syms
index cc54a97..7c53948 100755
--- a/remoting/scripts/mac/dump_product_syms
+++ b/remoting/scripts/mac/dump_product_syms
@@ -6,22 +6,30 @@
set -eu
-if [[ "$#" -ne 3 ]]; then
- echo "$0 <dump_syms_tool> <mac_bundle> <breakpad_symbols>" >&2
+if [[ "$#" -ne 1 ]]; then
+ echo "usage: $0 <version>" >&2
+ echo "(BUILT_PRODUCTS_DIR and FULL_PRODUCT_NAME must be set)" >& 2
exit 1
fi
-DUMP_SYMS_TOOL="$1"
-SOURCE_BUNDLE="$2"
-BREAKPAD_SYMBOLS="$3"
-
-ARCH="i386"
+VERSION="$1"
+DUMP_SYMS_TOOL="${BUILT_PRODUCTS_DIR}/dump_syms"
+SOURCE_BUNDLE="${BUILT_PRODUCTS_DIR}/${FULL_PRODUCT_NAME}"
# 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}"
+ARCHS=$(file "${DWARF_PATH}" | sed -Ene 's/^.*(i386|x86_64)$/\1/p')
+if [[ -z "${ARCHS}" ]]; then
+ echo "$0: expected something dumpable in ${DWARF_PATH}" >& 2
+ exit 1
+fi
+
+for ARCH in ${ARCHS}; do
+ # 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}" > \
+ "${SOURCE_BUNDLE}-${VERSION}-${ARCH}.breakpad"
+done