diff options
-rw-r--r-- | remoting/remoting.gyp | 48 | ||||
-rwxr-xr-x | remoting/scripts/mac/dump_product_syms | 30 |
2 files changed, 43 insertions, 35 deletions
diff --git a/remoting/remoting.gyp b/remoting/remoting.gyp index d38ee79..17c1526 100644 --- a/remoting/remoting.gyp +++ b/remoting/remoting.gyp @@ -897,22 +897,6 @@ ], }, ], - 'dependencies': [ - '../breakpad/breakpad.gyp:dump_syms', - ], - 'postbuilds': [ - { - 'action_name': 'Dump Symbols', - 'variables': { - 'dump_product_syms_path': - 'scripts/mac/dump_product_syms', - }, - 'action': [ - '<(dump_product_syms_path)', - '<(version_full)', - ], - }, # end of postbuild 'dump_symbols' - ], # end of 'postbuilds' }], # mac_breakpad==1 ], # conditions }], # OS=mac @@ -1187,6 +1171,38 @@ ], # 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 index 7c53948..cc54a97 100755 --- a/remoting/scripts/mac/dump_product_syms +++ b/remoting/scripts/mac/dump_product_syms @@ -6,30 +6,22 @@ set -eu -if [[ "$#" -ne 1 ]]; then - echo "usage: $0 <version>" >&2 - echo "(BUILT_PRODUCTS_DIR and FULL_PRODUCT_NAME must be set)" >& 2 +if [[ "$#" -ne 3 ]]; then + echo "$0 <dump_syms_tool> <mac_bundle> <breakpad_symbols>" >&2 exit 1 fi -VERSION="$1" -DUMP_SYMS_TOOL="${BUILT_PRODUCTS_DIR}/dump_syms" -SOURCE_BUNDLE="${BUILT_PRODUCTS_DIR}/${FULL_PRODUCT_NAME}" +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}" -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 +# 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}" |