| # Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. |
| # |
| # Use of this source code is governed by a BSD-style license |
| # that can be found in the LICENSE file in the root of the source |
| # tree. An additional intellectual property rights grant can be found |
| # 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" |
| } |
| |
| 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", |
| ] |
| 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" ] |
| } |
| } |