Ben Murdoch | c561043 | 2016-08-08 18:44:38 +0100 | [diff] [blame] | 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 | } |