Only expose gflags target in non-Chromium and non-fuzzer builds.
Since gflags is not present in Chromium nor the libfuzzer infrastructure, we have to ensure we don't accidentally depend on it in WebRTC code that is used in such places. BUG=chromium:645069 NOTRY=True Review-Url: https://codereview.webrtc.org/2321963002 Cr-Commit-Position: refs/heads/master@{#14145}
This commit is contained in:
parent
aa85cac7b4
commit
9365338db2
113
third_party/gflags/BUILD.gn
vendored
113
third_party/gflags/BUILD.gn
vendored
@ -6,68 +6,75 @@
|
||||
# in the file PATENTS. All contributing project authors may
|
||||
# be found in the AUTHORS file in the root of the source tree.
|
||||
|
||||
if (is_win) {
|
||||
gflags_gen_arch_root = "gen/win"
|
||||
} else {
|
||||
gflags_gen_arch_root = "gen/posix"
|
||||
}
|
||||
import("../../webrtc/build/webrtc.gni")
|
||||
|
||||
config("gflags_config") {
|
||||
include_dirs = [
|
||||
"$gflags_gen_arch_root/include", # For configured files.
|
||||
"src/src", # For everything else.
|
||||
]
|
||||
|
||||
defines = [
|
||||
# These macros exist so flags and symbols are properly exported when
|
||||
# building DLLs. Since we don't build DLLs, we need to disable them.
|
||||
"GFLAGS_DLL_DECL=",
|
||||
"GFLAGS_DLL_DECLARE_FLAG=",
|
||||
"GFLAGS_DLL_DEFINE_FLAG=",
|
||||
]
|
||||
|
||||
# GN orders flags on a target before flags from configs. The default config
|
||||
# adds -Wall, and this flag have to be after -Wall -- so they need to
|
||||
# come from a config and can't be on the target directly.
|
||||
if (is_clang) {
|
||||
cflags = [ "-Wno-unused-local-typedef" ]
|
||||
}
|
||||
}
|
||||
|
||||
source_set("gflags") {
|
||||
cflags = []
|
||||
sources = [
|
||||
"src/src/gflags.cc",
|
||||
"src/src/gflags_completions.cc",
|
||||
"src/src/gflags_reporting.cc",
|
||||
]
|
||||
# gflags can only be used by targets that are not built in Chromium, since
|
||||
# Chromium doesn't have gflags as a dependency).
|
||||
if (!build_with_chromium && !use_libfuzzer) {
|
||||
if (is_win) {
|
||||
sources += [ "src/src/windows_port.cc" ]
|
||||
gflags_gen_arch_root = "gen/win"
|
||||
} else {
|
||||
gflags_gen_arch_root = "gen/posix"
|
||||
}
|
||||
|
||||
cflags += [
|
||||
"/wd4005", # WIN32_LEAN_AND_MEAN.
|
||||
"/wd4267", # Conversion from size_t to "type".
|
||||
config("gflags_config") {
|
||||
include_dirs = [
|
||||
"$gflags_gen_arch_root/include", # For configured files.
|
||||
"src/src", # For everything else.
|
||||
]
|
||||
|
||||
defines = [
|
||||
# These macros exist so flags and symbols are properly exported when
|
||||
# building DLLs. Since we don't build DLLs, we need to disable them.
|
||||
"GFLAGS_DLL_DECL=",
|
||||
"GFLAGS_DLL_DECLARE_FLAG=",
|
||||
"GFLAGS_DLL_DEFINE_FLAG=",
|
||||
]
|
||||
|
||||
# GN orders flags on a target before flags from configs. The default config
|
||||
# adds -Wall, and this flag have to be after -Wall -- so they need to
|
||||
# come from a config and can't be on the target directly.
|
||||
if (is_clang) {
|
||||
cflags = [ "-Wno-unused-local-typedef" ]
|
||||
}
|
||||
}
|
||||
|
||||
include_dirs = [
|
||||
"$gflags_gen_arch_root/include/gflags", # For configured files.
|
||||
"$gflags_gen_arch_root/include/private", # For config.h
|
||||
]
|
||||
source_set("gflags") {
|
||||
testonly = true
|
||||
cflags = []
|
||||
sources = [
|
||||
"src/src/gflags.cc",
|
||||
"src/src/gflags_completions.cc",
|
||||
"src/src/gflags_reporting.cc",
|
||||
]
|
||||
if (is_win) {
|
||||
sources += [ "src/src/windows_port.cc" ]
|
||||
|
||||
public_configs = [ ":gflags_config" ]
|
||||
cflags += [
|
||||
"/wd4005", # WIN32_LEAN_AND_MEAN.
|
||||
"/wd4267", # Conversion from size_t to "type".
|
||||
]
|
||||
}
|
||||
|
||||
configs -= [ "//build/config/compiler:chromium_code" ]
|
||||
configs += [ "//build/config/compiler:no_chromium_code" ]
|
||||
include_dirs = [
|
||||
"$gflags_gen_arch_root/include/gflags", # For configured files.
|
||||
"$gflags_gen_arch_root/include/private", # For config.h
|
||||
]
|
||||
|
||||
if (is_win) {
|
||||
configs -= [ "//build/config/win:unicode" ]
|
||||
}
|
||||
public_configs = [ ":gflags_config" ]
|
||||
|
||||
if (is_clang) {
|
||||
# TODO(andrew): Look into fixing this warning upstream:
|
||||
# http://code.google.com/p/webrtc/issues/detail?id=760
|
||||
configs -= [ "//build/config/clang:extra_warnings" ]
|
||||
cflags += [ "-Wno-microsoft-include" ]
|
||||
configs -= [ "//build/config/compiler:chromium_code" ]
|
||||
configs += [ "//build/config/compiler:no_chromium_code" ]
|
||||
|
||||
if (is_win) {
|
||||
configs -= [ "//build/config/win:unicode" ]
|
||||
}
|
||||
|
||||
if (is_clang) {
|
||||
# TODO(andrew): Look into fixing this warning upstream:
|
||||
# http://code.google.com/p/webrtc/issues/detail?id=760
|
||||
configs -= [ "//build/config/clang:extra_warnings" ]
|
||||
cflags += [ "-Wno-microsoft-include" ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user