1# Copyright 2011 Google Inc. 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15{ 16 'variables': { 17 'gflags_root': '<(DEPTH)/third_party/gflags', 18 'conditions': [ 19 ['OS=="win"', { 20 'gflags_gen_arch_root': '<(gflags_root)/gen/win', 21 }, { 22 'gflags_gen_arch_root': '<(gflags_root)/gen/posix', 23 }], 24 ], 25 }, 26 'targets': [ 27 { 28 'target_name': 'gflags', 29 'type': 'static_library', 30 'include_dirs': [ 31 '<(gflags_gen_arch_root)/include/private', # For config.h 32 '<(gflags_gen_arch_root)/include', # For configured files. 33 '<(gflags_root)/src', # For everything else. 34 ], 35 'defines': [ 36 # These macros exist so flags and symbols are properly 37 # exported when building DLLs. Since we don't build DLLs, we 38 # need to disable them. 39 'GFLAGS_DLL_DECL=', 40 'GFLAGS_DLL_DECLARE_FLAG=', 41 'GFLAGS_DLL_DEFINE_FLAG=', 42 ], 43 'direct_dependent_settings': { 44 'include_dirs': [ 45 '<(gflags_gen_arch_root)/include', # For configured files. 46 '<(gflags_root)/src', # For everything else. 47 ], 48 'defines': [ 49 'GFLAGS_DLL_DECL=', 50 'GFLAGS_DLL_DECLARE_FLAG=', 51 'GFLAGS_DLL_DEFINE_FLAG=', 52 ], 53 }, 54 'sources': [ 55 'src/gflags.cc', 56 'src/gflags_completions.cc', 57 'src/gflags_reporting.cc', 58 ], 59 'conditions': [ 60 ['OS=="win"', { 61 'sources': [ 62 'src/windows/port.cc', 63 ], 64 # Suppress warnings about WIN32_LEAN_AND_MEAN and size_t truncation. 65 'msvs_disabled_warnings': [4005, 4267], 66 }], 67 # TODO(andrew): Look into fixing this warning upstream: 68 # http://code.google.com/p/webrtc/issues/detail?id=760 69 ['OS=="win" and clang==1', { 70 'msvs_settings': { 71 'VCCLCompilerTool': { 72 'AdditionalOptions!': [ 73 '-Wheader-hygiene', # Suppress warning about using namespace. 74 ], 75 'AdditionalOptions': [ 76 '-Wno-unused-local-typedef', # Suppress unused private typedef. 77 ], 78 }, 79 }, 80 }], 81 ['clang==1', { 82 'cflags': ['-Wno-unused-local-typedef',], 83 'cflags!': ['-Wheader-hygiene',], 84 'xcode_settings': { 85 'WARNING_CFLAGS': ['-Wno-unused-local-typedef',], 86 'WARNING_CFLAGS!': ['-Wheader-hygiene',], 87 }, 88 }], 89 ], 90 }, 91 ], 92} 93