• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
2#
3# Use of this source code is governed by a BSD-style license
4# that can be found in the LICENSE file in the root of the source
5# tree. An additional intellectual property rights grant can be found
6# in the file PATENTS.  All contributing project authors may
7# be found in the AUTHORS file in the root of the source tree.
8
9if (is_win) {
10  gflags_gen_arch_root = "gen/win"
11} else {
12  gflags_gen_arch_root = "gen/posix"
13}
14
15config("gflags_config") {
16  include_dirs = [
17    "$gflags_gen_arch_root/include",  # For configured files.
18    "src/src",  # For everything else.
19  ]
20
21  defines = [
22    # These macros exist so flags and symbols are properly exported when
23    # building DLLs. Since we don't build DLLs, we need to disable them.
24    "GFLAGS_DLL_DECL=",
25    "GFLAGS_DLL_DECLARE_FLAG=",
26    "GFLAGS_DLL_DEFINE_FLAG=",
27  ]
28
29  # GN orders flags on a target before flags from configs. The default config
30  # adds -Wall, and this flag have to be after -Wall -- so they need to
31  # come from a config and can't be on the target directly.
32  if (is_clang) {
33    cflags = [ "-Wno-unused-local-typedef" ]
34  }
35}
36
37source_set("gflags") {
38  cflags = []
39  sources = [
40    "src/src/gflags.cc",
41    "src/src/gflags_completions.cc",
42    "src/src/gflags_reporting.cc",
43  ]
44  if (is_win) {
45    sources += [ "src/src/windows_port.cc" ]
46
47    cflags += [
48      "/wd4005",  # WIN32_LEAN_AND_MEAN.
49      "/wd4267",  # Conversion from size_t to "type".
50    ]
51  }
52
53  include_dirs = [
54    "$gflags_gen_arch_root/include/gflags",  # For configured files.
55    "$gflags_gen_arch_root/include/private",  # For config.h
56  ]
57
58  public_configs = [ ":gflags_config" ]
59
60  configs -= [ "//build/config/compiler:chromium_code" ]
61  configs += [ "//build/config/compiler:no_chromium_code" ]
62
63  if (is_win) {
64    configs -= [ "//build/config/win:unicode" ]
65  }
66
67  if (is_clang) {
68    # TODO(andrew): Look into fixing this warning upstream:
69    # http://code.google.com/p/webrtc/issues/detail?id=760
70    configs -= [ "//build/config/clang:extra_warnings" ]
71    cflags += [ "-Wno-microsoft-include" ]
72  }
73}
74