OLD | NEW |
1 # Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 # Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
2 # for details. All rights reserved. Use of this source code is governed by a | 2 # for details. All rights reserved. Use of this source code is governed by a |
3 # BSD-style license that can be found in the LICENSE file. | 3 # BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 # This file is included to modify the configurations to build third-party | 5 # This file is included to modify the configurations to build third-party |
6 # code from BoringSSL. | 6 # code from BoringSSL. |
| 7 # This code is C code, not C++, and is not warning-free, so we need to remove |
| 8 # C++-specific flags, and add flags to supress the warnings in the code. |
7 { | 9 { |
| 10 'variables': { |
| 11 # Used by third_party/nss, which is from Chromium. |
| 12 # Include the built-in set of root certificate authorities. |
| 13 'exclude_nss_root_certs': 0, |
| 14 'os_posix%': 1, |
| 15 'os_bsd%': 0, |
| 16 'chromeos%': 0, |
| 17 'clang%': 0, |
| 18 }, |
8 'target_defaults': { | 19 'target_defaults': { |
| 20 'cflags': [ |
| 21 '-w', |
| 22 '-UHAVE_CVAR_BUILT_ON_SEM', |
| 23 ], |
9 # Removes these flags from the list cflags. | 24 # Removes these flags from the list cflags. |
10 'cflags!': [ | 25 'cflags!': [ |
| 26 # NSS code from upstream mozilla builds with warnings, |
| 27 # so we must allow warnings without failing. |
| 28 '-Werror', |
| 29 '-Wall', |
11 '-ansi', | 30 '-ansi', |
12 # Not supported for C, only for C++. | 31 # Not supported for C, only for C++. |
13 '-Wnon-virtual-dtor', | 32 '-Wnon-virtual-dtor', |
14 '-Wno-conversion-null', | 33 '-Wno-conversion-null', |
15 '-fno-rtti', | 34 '-fno-rtti', |
16 '-fvisibility-inlines-hidden', | 35 '-fvisibility-inlines-hidden', |
17 '-Woverloaded-virtual', | 36 '-Woverloaded-virtual', |
18 ], | 37 ], |
| 38 'configurations': { |
| 39 'Dart_Base': { |
| 40 'xcode_settings': { |
| 41 'WARNING_CFLAGS': [ |
| 42 '-w', |
| 43 ], |
| 44 'WARNING_CFLAGS!': [ |
| 45 '-Wall', |
| 46 '-Wextra', |
| 47 ], |
| 48 }, |
| 49 }, |
| 50 # Dart_Macos_Debug and Dart_Macos_Release are merged after |
| 51 # Dart_Macos_Base, so we can override the 'ansi' and '-Werror' flags set |
| 52 # at the global level in tools/gyp/configurations_xcode.gypi. |
| 53 'Dart_Macos_Debug': { |
| 54 'abstract': 1, |
| 55 'xcode_settings': { |
| 56 # Remove 'ansi' setting. |
| 57 'GCC_C_LANGUAGE_STANDARD': 'c99', |
| 58 'GCC_TREAT_WARNINGS_AS_ERRORS': 'NO', # -Werror off |
| 59 }, |
| 60 }, |
| 61 'Dart_Macos_Release': { |
| 62 'abstract': 1, |
| 63 'xcode_settings': { |
| 64 # Remove 'ansi' setting. |
| 65 'GCC_C_LANGUAGE_STANDARD': 'c99', |
| 66 'GCC_TREAT_WARNINGS_AS_ERRORS': 'NO', # -Werror off |
| 67 }, |
| 68 }, |
| 69 # Disable hand-coded assembly routines on ARMv6 and ARMv5TE. |
| 70 'Dart_armv6_Base': { |
| 71 'abstract': 1, |
| 72 'defines': [ |
| 73 'OPENSSL_NO_ASM', |
| 74 ], |
| 75 }, |
| 76 'Dart_armv5te_Base': { |
| 77 'abstract': 1, |
| 78 'defines': [ |
| 79 'OPENSSL_NO_ASM', |
| 80 ], |
| 81 }, |
| 82 # TODO(24321): Also disable temporarily on arm64. Reenable after the next |
| 83 # roll. |
| 84 'Dart_arm64_Base': { |
| 85 'abstract': 1, |
| 86 'defines': [ |
| 87 'OPENSSL_NO_ASM', |
| 88 ], |
| 89 }, |
| 90 # Android 64-bit dbc build is for arm64, disable temporarily as well. |
| 91 'Dart_Android_arm64_Base': { |
| 92 'abstract': 1, |
| 93 'defines': [ |
| 94 'OPENSSL_NO_ASM', |
| 95 ], |
| 96 }, |
| 97 # When being built for Android nss expects __linux__ to be defined. |
| 98 'Dart_Android_Base': { |
| 99 'target_conditions': [ |
| 100 ['_toolset=="host"', { |
| 101 'defines!': [ |
| 102 'ANDROID', |
| 103 ], |
| 104 # Define __linux__ on Android build for NSS. |
| 105 'defines': [ |
| 106 '__linux__', |
| 107 ], |
| 108 'cflags!': [ |
| 109 '-U__linux__', |
| 110 ], |
| 111 }], |
| 112 ['_toolset=="target"', { |
| 113 'defines': [ |
| 114 '__linux__', |
| 115 'CHECK_FORK_GETPID', # Android does not provide pthread_atfork. |
| 116 '__USE_LARGEFILE64', |
| 117 ], |
| 118 # Define __linux__ on Android build for NSS. |
| 119 'cflags!': [ |
| 120 '-U__linux__', |
| 121 ], |
| 122 }] |
| 123 ], |
| 124 }, |
| 125 }, |
19 }, | 126 }, |
20 } | 127 } |
OLD | NEW |