| # Copyright (c) 2014 The Chromium Authors. All rights reserved. | 
 | # Use of this source code is governed by a BSD-style license that can be | 
 | # found in the LICENSE file. | 
 |  | 
 | # This file is meant to be included to set clang-specific compiler flags. | 
 | # To use this the following variable can be defined: | 
 | #   clang_warning_flags:       list: Compiler flags to pass to clang. | 
 | #   clang_warning_flags_unset: list: Compiler flags to not pass to clang. | 
 | # | 
 | # Only use this in third-party code. In chromium_code, fix your code to not | 
 | # warn instead! | 
 | # | 
 | # Note that the gypi file is included in target_defaults, so it does not need | 
 | # to be explicitly included. | 
 | # | 
 | # Warning flags set by this will be used on all platforms. If you want to set | 
 | # warning flags on only some platforms, you have to do so manually. | 
 | # | 
 | # To use this, create a gyp target with the following form: | 
 | # { | 
 | #   'target_name': 'my_target', | 
 | #   'variables': { | 
 | #     'clang_warning_flags': ['-Wno-awesome-warning'], | 
 | #     'clang_warning_flags_unset': ['-Wpreviously-set-flag'], | 
 | #   } | 
 | # } | 
 |  | 
 | { | 
 |   'variables': { | 
 |     'clang_warning_flags_unset%': [],  # Provide a default value. | 
 |   }, | 
 |   'conditions': [ | 
 |     ['clang==1', { | 
 |       # This uses >@ instead of @< to also see clang_warning_flags set in | 
 |       # targets directly, not just the clang_warning_flags in target_defaults. | 
 |       'cflags': [ '>@(clang_warning_flags)' ], | 
 |       'cflags!': [ '>@(clang_warning_flags_unset)' ], | 
 |       'xcode_settings': { | 
 |         'WARNING_CFLAGS': ['>@(clang_warning_flags)'], | 
 |         'WARNING_CFLAGS!': ['>@(clang_warning_flags_unset)'], | 
 |       }, | 
 |       'msvs_settings': { | 
 |         'VCCLCompilerTool': { | 
 |           'AdditionalOptions': [ '>@(clang_warning_flags)' ], | 
 |           'AdditionalOptions!': [ '>@(clang_warning_flags_unset)' ], | 
 |         }, | 
 |       }, | 
 |     }], | 
 |     ['clang==0 and host_clang==1', { | 
 |       'target_conditions': [ | 
 |         ['_toolset=="host"', { | 
 |           'cflags': [ '>@(clang_warning_flags)' ], | 
 |           'cflags!': [ '>@(clang_warning_flags_unset)' ], | 
 |         }], | 
 |       ], | 
 |     }], | 
 |   ], | 
 | } |