List natvis files as inputs
BUG=985285 R=thakis CC=robliao Change-Id: Iac88eccb84ac9bd6d6b80e9268a7a6cda0534bef Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1627706 Commit-Queue: Thomas Anderson <thomasanderson@chromium.org> Reviewed-by: Nico Weber <thakis@chromium.org> Cr-Commit-Position: refs/heads/master@{#680678}
This commit is contained in:
@ -1790,6 +1790,12 @@ jumbo_component("base") {
|
||||
":base_win_linker_flags",
|
||||
"//tools/win/DebugVisualizers:chrome",
|
||||
]
|
||||
inputs = [
|
||||
# chrome.natvis listed as an input here instead of in
|
||||
# //tools/win/DebugVisualizers:chrome to prevent unnecessary size increase
|
||||
# in generated build files.
|
||||
"//tools/win/DebugVisualizers/chrome.natvis",
|
||||
]
|
||||
}
|
||||
|
||||
# Desktop Mac.
|
||||
|
@ -15,11 +15,6 @@ declare_args() {
|
||||
# TODO(thomasanderson): Set this to true by default once rL352899 is available
|
||||
# in MacOS's lldb.
|
||||
libcxx_abi_unstable = !((is_mac || is_ios) && is_debug && is_component_build)
|
||||
|
||||
# Builds libcxx Natvis into the symbols for type visualization.
|
||||
# Set to false to workaround http://crbug.com/966676 and
|
||||
# http://crbug.com/966687.
|
||||
libcxx_natvis_include = true
|
||||
}
|
||||
|
||||
# TODO(xiaohuic): https://crbug/917533 Crashes on internal ChromeOS build.
|
||||
@ -84,6 +79,8 @@ config("runtime_library") {
|
||||
# Add a debug visualizer for Microsoft's debuggers so that they can display
|
||||
# libc++ types well.
|
||||
if (libcxx_natvis_include) {
|
||||
# chrome.natvis listed as an input in //buildtools/third_party/libc++ to
|
||||
# guarantee relinking on changes.
|
||||
ldflags += [ "/NATVIS:" + rebase_path("libc++.natvis", root_build_dir) ]
|
||||
}
|
||||
} else {
|
||||
|
@ -23,6 +23,11 @@ declare_args() {
|
||||
# expected usage is to set use_custom_libcxx=false and
|
||||
# use_custom_libcxx_for_host=true in the passed in buildargs.
|
||||
use_custom_libcxx_for_host = false
|
||||
|
||||
# Builds libcxx Natvis into the symbols for type visualization.
|
||||
# Set to false to workaround http://crbug.com/966676 and
|
||||
# http://crbug.com/966687.
|
||||
libcxx_natvis_include = true
|
||||
}
|
||||
|
||||
use_custom_libcxx =
|
||||
|
8
buildtools/third_party/libc++/BUILD.gn
vendored
8
buildtools/third_party/libc++/BUILD.gn
vendored
@ -91,6 +91,14 @@ target(_libcxx_target_type, "libc++") {
|
||||
]
|
||||
configs -= [ "//build/config/win:winver" ]
|
||||
configs += [ ":winver" ]
|
||||
if (libcxx_natvis_include) {
|
||||
inputs = [
|
||||
# libc++.natvis listed as an input here instead of in
|
||||
# //build/config/c++:runtime_library to prevent unnecessary size
|
||||
# increase in generated build files.
|
||||
"//build/config/c++/libc++.natvis",
|
||||
]
|
||||
}
|
||||
}
|
||||
configs -= [
|
||||
"//build/config/compiler:chromium_code",
|
||||
|
@ -252,6 +252,12 @@ jumbo_component("wtf") {
|
||||
# Inject Visual Studio debug visualizers for our types into all targets
|
||||
# that reference this.
|
||||
all_dependent_configs = [ "//tools/win/DebugVisualizers:webkit" ]
|
||||
inputs = [
|
||||
# webkit.natvis listed as an input here instead of in
|
||||
# //tools/win/DebugVisualizers:webkit to prevent unnecessary size increase
|
||||
# in generated build files.
|
||||
"//tools/win/DebugVisualizers/webkit.natvis",
|
||||
]
|
||||
}
|
||||
|
||||
if (is_android) {
|
||||
|
@ -12,22 +12,19 @@
|
||||
# from their PDB files.
|
||||
#
|
||||
# See https://msdn.microsoft.com/en-us/library/jj620914.aspx for how they work.
|
||||
#
|
||||
# Since these only add ldflags, the targets themselves are not rebuilt when the
|
||||
# natvis files are updated. To debug, erase the .pdb file and build to re-link.
|
||||
|
||||
import("//build/config/compiler/compiler.gni")
|
||||
|
||||
assert(is_win)
|
||||
|
||||
config("chrome") {
|
||||
# chrome.natvis listed as an input in //base:base to guarantee relinking on
|
||||
# changes.
|
||||
ldflags = [ "/NATVIS:" + rebase_path("chrome.natvis", root_build_dir) ]
|
||||
}
|
||||
|
||||
config("skia") {
|
||||
ldflags = [ "/NATVIS:" + rebase_path("skia.natvis", root_build_dir) ]
|
||||
}
|
||||
|
||||
config("webkit") {
|
||||
# webkit.natvis listed as an input in
|
||||
# //third_party/blink/renderer/platform/wtf to guarantee relinking on changes.
|
||||
ldflags = [ "/NATVIS:" + rebase_path("webkit.natvis", root_build_dir) ]
|
||||
}
|
||||
|
@ -1,18 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<AutoVisualizer
|
||||
xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
|
||||
<Type Name="SkPoint">
|
||||
<AlternativeType Name="SkIPoint"/>
|
||||
<DisplayString>({fX}, {fY})</DisplayString>
|
||||
</Type>
|
||||
<Type Name="SkSize">
|
||||
<DisplayString>({fWidth}, {fHeight})</DisplayString>
|
||||
</Type>
|
||||
<Type Name="SkRect">
|
||||
<AlternativeType Name="SkIRect"/>
|
||||
<DisplayString>({fLeft}, {fTop}), ({fRight}, {fBottom})</DisplayString>
|
||||
</Type>
|
||||
<Type Name="LogFontTypeface">
|
||||
<DisplayString>{fLogFont.lfFaceName,su}</DisplayString>
|
||||
</Type>
|
||||
</AutoVisualizer>
|
Reference in New Issue
Block a user