Bug 623183 - Build dump_syms on Windows when using VS2015; r=ted

MozReview-Commit-ID: LCvipO5FXdR

--HG--
extra : source : e68a8c608182025bac53dcbb48b0c0d474931f90
extra : amend_source : 3113865fb4be93db6b51ce55514cd2a55e577df9
This commit is contained in:
Birunthan Mohanathas 2016-03-08 14:07:28 -08:00
Родитель 35503fb698
Коммит ec65f12dd8
5 изменённых файлов: 55 добавлений и 8 удалений

Просмотреть файл

@ -249,7 +249,11 @@ MAKE_SYM_STORE_ARGS := -c --vcs-info
ifdef PDBSTR_PATH
MAKE_SYM_STORE_ARGS += -i
endif
ifdef MSVC_HAS_DIA_SDK
DUMP_SYMS_BIN ?= $(DIST)/host/bin/dump_syms.exe
else
DUMP_SYMS_BIN ?= $(topsrcdir)/toolkit/crashreporter/tools/win32/dump_syms_vc$(_MSC_VER).exe
endif
# PDB files don't get moved to dist, so we need to scan the whole objdir
MAKE_SYM_STORE_PATH := .
endif

Просмотреть файл

@ -475,6 +475,9 @@ case "$target" in
MSVC_C_RUNTIME_DLL=vcruntime140.dll
MSVC_CXX_RUNTIME_DLL=msvcp140.dll
MSVC_HAS_DIA_SDK=1
AC_DEFINE(MSVC_HAS_DIA_SDK)
# -Wv:18 disables all warnings introduced after VS2013
# See http://blogs.msdn.com/b/vcblog/archive/2014/11/12/improvements-to-warnings-in-the-c-compiler.aspx
CFLAGS="$CFLAGS -Wv:18"
@ -505,6 +508,7 @@ You must install Visual C++ 2013 Update 3, Visual C++ 2015 Update 1, or newer in
See https://developer.mozilla.org/en/Windows_Build_Prerequisites.])
fi
AC_SUBST(MSVS_VERSION)
AC_SUBST(MSVC_HAS_DIA_SDK)
AC_SUBST(MSVC_C_RUNTIME_DLL)
AC_SUBST(MSVC_CXX_RUNTIME_DLL)

Просмотреть файл

@ -0,0 +1,31 @@
# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
HostProgram('dump_syms')
HOST_SOURCES += [
'../../../common/windows/dia_util.cc',
'../../../common/windows/guid_string.cc',
'../../../common/windows/omap.cc',
'../../../common/windows/pdb_source_line_writer.cc',
'../../../common/windows/string_utils.cc',
'dump_syms.cc',
]
HOST_CXXFLAGS += [
'-O2',
'-EHsc',
'-MD'
]
HOST_OS_LIBS += [
'diaguids',
'imagehlp'
]
LOCAL_INCLUDES += [
'../../..'
]

Просмотреть файл

@ -8,10 +8,13 @@ SPHINX_TREES['crashreporter'] = 'docs'
if CONFIG['OS_ARCH'] == 'WINNT':
DIRS += [
'google-breakpad/src/common',
'breakpad-windows-libxul'
'google-breakpad/src/common',
'breakpad-windows-libxul',
]
if CONFIG['MSVC_HAS_DIA_SDK']:
DIRS += ['google-breakpad/src/tools/windows/dump_syms']
if CONFIG['MOZ_CRASHREPORTER_INJECTOR']:
DIRS += ['breakpad-windows-standalone']

Просмотреть файл

@ -478,12 +478,17 @@ class TestFunctional(HelperMixin, unittest.TestCase):
'crashreporter', 'tools',
'symbolstore.py')
if platform.system() in ("Windows", "Microsoft"):
self.dump_syms = os.path.join(self.topsrcdir,
'toolkit',
'crashreporter',
'tools',
'win32',
'dump_syms_vc{_MSC_VER}.exe'.format(**buildconfig.substs))
if buildconfig.substs['MSVC_HAS_DIA_SDK']:
self.dump_syms = os.path.join(buildconfig.topobjdir,
'dist', 'host', 'bin',
'dump_syms.exe')
else:
self.dump_syms = os.path.join(self.topsrcdir,
'toolkit',
'crashreporter',
'tools',
'win32',
'dump_syms_vc{_MSC_VER}.exe'.format(**buildconfig.substs))
self.target_bin = os.path.join(buildconfig.topobjdir,
'browser',
'app',