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", # 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 sources = [ 39 "src/gflags.cc", 40 "src/gflags_completions.cc", 41 "src/gflags_reporting.cc", 42 ] 43 if (is_win) { 44 sources += [ "src/windows/port.cc" ] 45 46 cflags = [ 47 "/wd4005", # WIN32_LEAN_AND_MEAN. 48 "/wd4267", # Conversion from size_t to "type". 49 ] 50 } 51 52 include_dirs = [ "$gflags_gen_arch_root/include/private" ] # For config.h 53 54 public_configs = [ ":gflags_config" ] 55 56 configs -= [ "//build/config/compiler:chromium_code" ] 57 configs += [ "//build/config/compiler:no_chromium_code" ] 58 59 if (is_clang) { 60 # TODO(andrew): Look into fixing this warning upstream: 61 # http://code.google.com/p/webrtc/issues/detail?id=760 62 configs -= [ "//build/config/clang:extra_warnings" ] 63 } 64} 65