#!/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 1 ]]; then
  echo "usage: $0 <version>" >&2
  echo "(BUILT_PRODUCTS_DIR and FULL_PRODUCT_NAME must be set)" >& 2
  exit 1
fi

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}"

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. https://crbug.com/google-breakpad/443
  "${DUMP_SYMS_TOOL}" -a "${ARCH}" -c "${DWARF_PATH}" > \
      "${SOURCE_BUNDLE}-${VERSION}-${ARCH}.breakpad"
done
