1 # Copyright 2016 the V8 project authors. All rights reserved. 2 # Copyright (c) 2014 The Chromium Authors. All rights reserved. 3 # Use of this source code is governed by a BSD-style license that can be 4 # found in the LICENSE file. 5 6 # This file is meant to be included to set clang-specific compiler flags. 7 # To use this the following variable can be defined: 8 # clang_warning_flags: list: Compiler flags to pass to clang. 9 # clang_warning_flags_unset: list: Compiler flags to not pass to clang. 10 # 11 # Only use this in third-party code. In chromium_code, fix your code to not 12 # warn instead! 13 # 14 # Note that the gypi file is included in target_defaults, so it does not need 15 # to be explicitly included. 16 # 17 # Warning flags set by this will be used on all platforms. If you want to set 18 # warning flags on only some platforms, you have to do so manually. 19 # 20 # To use this, create a gyp target with the following form: 21 # { 22 # 'target_name': 'my_target', 23 # 'variables': { 24 # 'clang_warning_flags': ['-Wno-awesome-warning'], 25 # 'clang_warning_flags_unset': ['-Wpreviously-set-flag'], 26 # } 27 # } 28 29 { 30 'variables': { 31 'clang_warning_flags_unset%': [], # Provide a default value. 32 }, 33 'conditions': [ 34 ['clang==1', { 35 # This uses >@ instead of @< to also see clang_warning_flags set in 36 # targets directly, not just the clang_warning_flags in target_defaults. 37 'cflags': [ '>@(clang_warning_flags)' ], 38 'cflags!': [ '>@(clang_warning_flags_unset)' ], 39 'xcode_settings': { 40 'WARNING_CFLAGS': ['>@(clang_warning_flags)'], 41 'WARNING_CFLAGS!': ['>@(clang_warning_flags_unset)'], 42 }, 43 'msvs_settings': { 44 'VCCLCompilerTool': { 45 'AdditionalOptions': [ '>@(clang_warning_flags)' ], 46 'AdditionalOptions!': [ '>@(clang_warning_flags_unset)' ], 47 }, 48 }, 49 }], 50 ['clang==0 and host_clang==1', { 51 'target_conditions': [ 52 ['_toolset=="host"', { 53 'cflags': [ '>@(clang_warning_flags)' ], 54 'cflags!': [ '>@(clang_warning_flags_unset)' ], 55 }], 56 ], 57 }], 58 ], 59 } 60