naiveproxy/tools/win/DebugVisualizers/BUILD.gn
2018-02-02 05:49:39 -05:00

43 lines
1.4 KiB
Plaintext

# Copyright 2017 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.
# The .natvis files define "native visualizers" for the Visual Studio debugger
# that allow one to define how custom types appear.
#
# One can use them by adding them to a project in visual studio, and they can
# be embedded in a project's PDB file using the undocumented linker flag
# /NATVIS. These configs would generally be added to all_dependent_configs
# on a target so all targets that link to them will reference the visualizers
# 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") {
# TODO(tikuta): remove this condition if lld supports /NATVIS.
if (!use_lld) {
ldflags = [ "/NATVIS:" + rebase_path("chrome.natvis", root_build_dir) ]
}
}
config("skia") {
# TODO(tikuta): remove this condition if lld supports /NATVIS.
if (!use_lld) {
ldflags = [ "/NATVIS:" + rebase_path("skia.natvis", root_build_dir) ]
}
}
config("webkit") {
# TODO(tikuta): remove this condition if lld supports /NATVIS.
if (!use_lld) {
ldflags = [ "/NATVIS:" + rebase_path("webkit.natvis", root_build_dir) ]
}
}