diff --git a/third_party/gflags/BUILD.gn b/third_party/gflags/BUILD.gn index f5cc42d32a..af41b7ecbf 100644 --- a/third_party/gflags/BUILD.gn +++ b/third_party/gflags/BUILD.gn @@ -6,75 +6,68 @@ # in the file PATENTS. All contributing project authors may # be found in the AUTHORS file in the root of the source tree. -import("../../webrtc/build/webrtc.gni") +if (is_win) { + gflags_gen_arch_root = "gen/win" +} else { + gflags_gen_arch_root = "gen/posix" +} -# 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) { - gflags_gen_arch_root = "gen/win" - } else { - gflags_gen_arch_root = "gen/posix" - } +config("gflags_config") { + include_dirs = [ + "$gflags_gen_arch_root/include", # For configured files. + "src/src", # For everything else. + ] - 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=", + ] - 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") { - 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" ] - - cflags += [ - "/wd4005", # WIN32_LEAN_AND_MEAN. - "/wd4267", # Conversion from size_t to "type". - ] - } - - include_dirs = [ - "$gflags_gen_arch_root/include/gflags", # For configured files. - "$gflags_gen_arch_root/include/private", # For config.h - ] - - public_configs = [ ":gflags_config" ] - - 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" ] - } + # 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", + ] + if (is_win) { + sources += [ "src/src/windows_port.cc" ] + + cflags += [ + "/wd4005", # WIN32_LEAN_AND_MEAN. + "/wd4267", # Conversion from size_t to "type". + ] + } + + include_dirs = [ + "$gflags_gen_arch_root/include/gflags", # For configured files. + "$gflags_gen_arch_root/include/private", # For config.h + ] + + public_configs = [ ":gflags_config" ] + + 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" ] } }