OLD | NEW |
---|---|
1 # Copyright 2012 the V8 project authors. All rights reserved. | 1 # Copyright 2012 the V8 project authors. All rights reserved. |
2 # Redistribution and use in source and binary forms, with or without | 2 # Redistribution and use in source and binary forms, with or without |
3 # modification, are permitted provided that the following conditions are | 3 # modification, are permitted provided that the following conditions are |
4 # met: | 4 # met: |
5 # | 5 # |
6 # * Redistributions of source code must retain the above copyright | 6 # * Redistributions of source code must retain the above copyright |
7 # notice, this list of conditions and the following disclaimer. | 7 # notice, this list of conditions and the following disclaimer. |
8 # * Redistributions in binary form must reproduce the above | 8 # * Redistributions in binary form must reproduce the above |
9 # copyright notice, this list of conditions and the following | 9 # copyright notice, this list of conditions and the following |
10 # disclaimer in the documentation and/or other materials provided | 10 # disclaimer in the documentation and/or other materials provided |
(...skipping 30 matching lines...) Expand all Loading... | |
41 'visibility%': 'hidden', | 41 'visibility%': 'hidden', |
42 'v8_enable_backtrace%': 0, | 42 'v8_enable_backtrace%': 0, |
43 'v8_enable_i18n_support%': 1, | 43 'v8_enable_i18n_support%': 1, |
44 'v8_deprecation_warnings': 1, | 44 'v8_deprecation_warnings': 1, |
45 'v8_imminent_deprecation_warnings': 1, | 45 'v8_imminent_deprecation_warnings': 1, |
46 'msvs_multi_core_compile%': '1', | 46 'msvs_multi_core_compile%': '1', |
47 'mac_deployment_target%': '10.5', | 47 'mac_deployment_target%': '10.5', |
48 'release_extra_cflags%': '', | 48 'release_extra_cflags%': '', |
49 'variables': { | 49 'variables': { |
50 'variables': { | 50 'variables': { |
51 # goma settings. | |
52 # 1 to use goma. | |
53 # If no gomadir is set, it uses the default gomadir. | |
54 'use_goma%': 0, | |
55 'gomadir%': '', | |
56 | |
51 'variables': { | 57 'variables': { |
52 'conditions': [ | 58 'conditions': [ |
53 ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or \ | 59 ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or \ |
54 OS=="netbsd" or OS=="mac" or OS=="qnx" or OS=="aix"', { | 60 OS=="netbsd" or OS=="mac" or OS=="qnx" or OS=="aix"', { |
55 # This handles the Unix platforms we generally deal with. | 61 # This handles the Unix platforms we generally deal with. |
56 # Anything else gets passed through, which probably won't work | 62 # Anything else gets passed through, which probably won't work |
57 # very well; such hosts should pass an explicit target_arch | 63 # very well; such hosts should pass an explicit target_arch |
58 # to gyp. | 64 # to gyp. |
59 'host_arch%': '<!pymod_do_main(detect_v8_host_arch)', | 65 'host_arch%': '<!pymod_do_main(detect_v8_host_arch)', |
60 }, { | 66 }, { |
61 # OS!="linux" and OS!="freebsd" and OS!="openbsd" and | 67 # OS!="linux" and OS!="freebsd" and OS!="openbsd" and |
62 # OS!="netbsd" and OS!="mac" and OS!="aix" | 68 # OS!="netbsd" and OS!="mac" and OS!="aix" |
63 'host_arch%': 'ia32', | 69 'host_arch%': 'ia32', |
64 }], | 70 }], |
65 ], | 71 ], |
66 }, | 72 }, |
67 'host_arch%': '<(host_arch)', | 73 'host_arch%': '<(host_arch)', |
68 'target_arch%': '<(host_arch)', | 74 'target_arch%': '<(host_arch)', |
69 'base_dir%': '<!(cd <(DEPTH) && python -c "import os; print os.getcwd()" )', | 75 'base_dir%': '<!(cd <(DEPTH) && python -c "import os; print os.getcwd()" )', |
70 | 76 |
71 # Instrument for code coverage with gcov. | 77 # Instrument for code coverage with gcov. |
72 'coverage%': 0, | 78 'coverage%': 0, |
79 | |
80 'conditions': [ | |
81 # Set default gomadir. | |
82 ['OS=="win"', { | |
83 'gomadir': 'c:\\goma\\goma-win', | |
84 }, { | |
85 'gomadir': '<!(/bin/echo -n ${HOME}/goma)', | |
86 }], | |
87 ], | |
73 }, | 88 }, |
74 'base_dir%': '<(base_dir)', | 89 'base_dir%': '<(base_dir)', |
75 'host_arch%': '<(host_arch)', | 90 'host_arch%': '<(host_arch)', |
76 'target_arch%': '<(target_arch)', | 91 'target_arch%': '<(target_arch)', |
77 'v8_target_arch%': '<(target_arch)', | 92 'v8_target_arch%': '<(target_arch)', |
78 'coverage%': '<(coverage)', | 93 'coverage%': '<(coverage)', |
94 'use_goma%': '<(use_goma)', | |
95 'gomadir%': '<(gomadir)', | |
79 'asan%': 0, | 96 'asan%': 0, |
80 'lsan%': 0, | 97 'lsan%': 0, |
81 'msan%': 0, | 98 'msan%': 0, |
82 'tsan%': 0, | 99 'tsan%': 0, |
83 # Enable coverage gathering instrumentation in sanitizer tools. This flag | 100 # Enable coverage gathering instrumentation in sanitizer tools. This flag |
84 # also controls coverage granularity (1 for function-level, 2 for | 101 # also controls coverage granularity (1 for function-level, 2 for |
85 # block-level, 3 for edge-level). | 102 # block-level, 3 for edge-level). |
86 'sanitizer_coverage%': 0, | 103 'sanitizer_coverage%': 0, |
87 # Use libc++ (buildtools/third_party/libc++ and | 104 # Use libc++ (buildtools/third_party/libc++ and |
88 # buildtools/third_party/libc++abi) instead of stdlibc++ as standard | 105 # buildtools/third_party/libc++abi) instead of stdlibc++ as standard |
89 # library. This is intended to be used for instrumented builds. | 106 # library. This is intended to be used for instrumented builds. |
90 'use_custom_libcxx%': 0, | 107 'use_custom_libcxx%': 0, |
91 | 108 |
92 'clang_dir%': '<(base_dir)/third_party/llvm-build/Release+Asserts', | 109 'clang_dir%': '<(base_dir)/third_party/llvm-build/Release+Asserts', |
93 | 110 |
94 'use_lto%': 0, | 111 'use_lto%': 0, |
95 | 112 |
96 # Control Flow Integrity for virtual calls and casts. | 113 # Control Flow Integrity for virtual calls and casts. |
97 # See http://clang.llvm.org/docs/ControlFlowIntegrity.html | 114 # See http://clang.llvm.org/docs/ControlFlowIntegrity.html |
98 'cfi_vptr%': 0, | 115 'cfi_vptr%': 0, |
99 'cfi_diag%': 0, | 116 'cfi_diag%': 0, |
100 | 117 |
101 'cfi_blacklist%': '<(base_dir)/tools/cfi/blacklist.txt', | 118 'cfi_blacklist%': '<(base_dir)/tools/cfi/blacklist.txt', |
102 | 119 |
103 # Set to 1 to enable fast builds. | 120 # Set to 1 to enable fast builds. |
104 # TODO(machenbach): Only configured for windows. | 121 # TODO(machenbach): Only configured for windows. |
105 'fastbuild%': 0, | 122 'fastbuild%': 0, |
106 | 123 |
107 # goma settings. | |
108 # 1 to use goma. | |
109 # If no gomadir is set, it uses the default gomadir. | |
110 'use_goma%': 0, | |
111 'gomadir%': '', | |
112 | |
113 # Check if valgrind directories are present. | 124 # Check if valgrind directories are present. |
114 'has_valgrind%': '<!pymod_do_main(has_valgrind)', | 125 'has_valgrind%': '<!pymod_do_main(has_valgrind)', |
115 | 126 |
116 'conditions': [ | 127 'conditions': [ |
117 # Set default gomadir. | |
118 ['OS=="win"', { | |
119 'gomadir': 'c:\\goma\\goma-win', | |
120 }, { | |
121 'gomadir': '<!(/bin/echo -n ${HOME}/goma)', | |
122 }], | |
123 ['host_arch!="ppc" and host_arch!="ppc64" and host_arch!="ppc64le" and h ost_arch!="s390" and host_arch!="s390x" and \ | 128 ['host_arch!="ppc" and host_arch!="ppc64" and host_arch!="ppc64le" and h ost_arch!="s390" and host_arch!="s390x" and \ |
124 coverage==0', { | 129 coverage==0', { |
125 'host_clang%': 1, | 130 'host_clang%': 1, |
126 }, { | 131 }, { |
127 'host_clang%': 0, | 132 'host_clang%': 0, |
128 }], | 133 }], |
129 # linux_use_bundled_gold: whether to use the gold linker binary checked | 134 # linux_use_bundled_gold: whether to use the gold linker binary checked |
130 # into third_party/binutils. Force this off via GYP_DEFINES when you | 135 # into third_party/binutils. Force this off via GYP_DEFINES when you |
131 # are using a custom toolchain and need to control -B in ldflags. | 136 # are using a custom toolchain and need to control -B in ldflags. |
132 # Do not use 32-bit gold on 32-bit hosts as it runs out address space | 137 # Do not use 32-bit gold on 32-bit hosts as it runs out address space |
133 # for component=static_library builds. | 138 # for component=static_library builds. |
134 ['(OS=="linux" or OS=="android") and (target_arch=="x64" or target_arch= ="arm" or (target_arch=="ia32" and host_arch=="x64"))', { | 139 ['(OS=="linux" or OS=="android") and (target_arch=="x64" or target_arch= ="arm" or (target_arch=="ia32" and host_arch=="x64"))', { |
135 'linux_use_bundled_gold%': 1, | 140 'linux_use_bundled_gold%': 1, |
136 }, { | 141 }, { |
137 'linux_use_bundled_gold%': 0, | 142 'linux_use_bundled_gold%': 0, |
138 }], | 143 }], |
139 | 144 |
140 # TODO(machenbach): Remove the conditions as more configurations are | 145 # TODO(machenbach): Remove the conditions as more configurations are |
141 # supported. | 146 # supported. |
142 ['OS=="linux" or OS=="win"', { | 147 ['OS=="linux" or OS=="win"', { |
143 'test_isolation_mode%': 'check', | 148 'test_isolation_mode%': 'check', |
144 }, { | 149 }, { |
145 'test_isolation_mode%': 'noop', | 150 'test_isolation_mode%': 'noop', |
146 }], | 151 }], |
152 | |
Michael Achenbach
2016/02/24 15:45:48
Moved this one variable nesting level higher, so t
| |
153 ['(OS=="linux" or OS=="mac") and (target_arch=="ia32" or target_arch=="x 64") and \ | |
154 (v8_target_arch!="x87" and v8_target_arch!="x32") and coverage==0', { | |
155 'clang%': 1, | |
156 }, { | |
157 'clang%': 0, | |
158 }], | |
JF
2016/02/24 16:59:12
I think this breaks gclient sync:
gyp: name 'v8_
| |
147 ], | 159 ], |
148 }, | 160 }, |
149 'base_dir%': '<(base_dir)', | 161 'base_dir%': '<(base_dir)', |
150 'clang_dir%': '<(clang_dir)', | 162 'clang_dir%': '<(clang_dir)', |
151 'host_arch%': '<(host_arch)', | 163 'host_arch%': '<(host_arch)', |
152 'host_clang%': '<(host_clang)', | 164 'host_clang%': '<(host_clang)', |
153 'target_arch%': '<(target_arch)', | 165 'target_arch%': '<(target_arch)', |
154 'v8_target_arch%': '<(v8_target_arch)', | 166 'v8_target_arch%': '<(v8_target_arch)', |
155 'werror%': '-Werror', | 167 'werror%': '-Werror', |
156 'use_goma%': '<(use_goma)', | 168 'use_goma%': '<(use_goma)', |
157 'gomadir%': '<(gomadir)', | 169 'gomadir%': '<(gomadir)', |
170 'clang%': '<(clang)', | |
158 'asan%': '<(asan)', | 171 'asan%': '<(asan)', |
159 'lsan%': '<(lsan)', | 172 'lsan%': '<(lsan)', |
160 'msan%': '<(msan)', | 173 'msan%': '<(msan)', |
161 'tsan%': '<(tsan)', | 174 'tsan%': '<(tsan)', |
162 'sanitizer_coverage%': '<(sanitizer_coverage)', | 175 'sanitizer_coverage%': '<(sanitizer_coverage)', |
163 'use_custom_libcxx%': '<(use_custom_libcxx)', | 176 'use_custom_libcxx%': '<(use_custom_libcxx)', |
164 'linux_use_bundled_gold%': '<(linux_use_bundled_gold)', | 177 'linux_use_bundled_gold%': '<(linux_use_bundled_gold)', |
165 'use_lto%': '<(use_lto)', | 178 'use_lto%': '<(use_lto)', |
166 'cfi_vptr%': '<(cfi_vptr)', | 179 'cfi_vptr%': '<(cfi_vptr)', |
167 'cfi_diag%': '<(cfi_diag)', | 180 'cfi_diag%': '<(cfi_diag)', |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
226 'chromium_win_pch': 0, | 239 'chromium_win_pch': 0, |
227 # goma doesn't support PDB yet. | 240 # goma doesn't support PDB yet. |
228 'fastbuild%': 1, | 241 'fastbuild%': 1, |
229 }], | 242 }], |
230 ['((v8_target_arch=="ia32" or v8_target_arch=="x64" or v8_target_arch=="x8 7") and \ | 243 ['((v8_target_arch=="ia32" or v8_target_arch=="x64" or v8_target_arch=="x8 7") and \ |
231 (OS=="linux" or OS=="mac")) or (v8_target_arch=="ppc64" and OS=="linux") ', { | 244 (OS=="linux" or OS=="mac")) or (v8_target_arch=="ppc64" and OS=="linux") ', { |
232 'v8_enable_gdbjit%': 1, | 245 'v8_enable_gdbjit%': 1, |
233 }, { | 246 }, { |
234 'v8_enable_gdbjit%': 0, | 247 'v8_enable_gdbjit%': 0, |
235 }], | 248 }], |
236 ['(OS=="linux" or OS=="mac") and (target_arch=="ia32" or target_arch=="x64 ") and \ | |
237 (v8_target_arch!="x87" and v8_target_arch!="x32") and coverage==0', { | |
238 'clang%': 1, | |
239 }, { | |
240 'clang%': 0, | |
241 }], | |
242 ['asan==1 or lsan==1 or msan==1 or tsan==1', { | 249 ['asan==1 or lsan==1 or msan==1 or tsan==1', { |
243 'clang%': 1, | 250 'clang%': 1, |
244 'use_allocator%': 'none', | 251 'use_allocator%': 'none', |
245 }], | 252 }], |
246 ['asan==1 and OS=="linux"', { | 253 ['asan==1 and OS=="linux"', { |
247 'use_custom_libcxx%': 1, | 254 'use_custom_libcxx%': 1, |
248 }], | 255 }], |
249 ['tsan==1', { | 256 ['tsan==1', { |
250 'use_custom_libcxx%': 1, | 257 'use_custom_libcxx%': 1, |
251 }], | 258 }], |
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
355 ], | 362 ], |
356 'android_libcpp_library': 'c++_static', | 363 'android_libcpp_library': 'c++_static', |
357 }], # OS=="android" | 364 }], # OS=="android" |
358 ['host_clang==1', { | 365 ['host_clang==1', { |
359 'host_cc': '<(clang_dir)/bin/clang', | 366 'host_cc': '<(clang_dir)/bin/clang', |
360 'host_cxx': '<(clang_dir)/bin/clang++', | 367 'host_cxx': '<(clang_dir)/bin/clang++', |
361 }, { | 368 }, { |
362 'host_cc': '<!(which gcc)', | 369 'host_cc': '<!(which gcc)', |
363 'host_cxx': '<!(which g++)', | 370 'host_cxx': '<!(which g++)', |
364 }], | 371 }], |
372 ['use_goma==1 and ("<(GENERATOR)"=="ninja" or clang==1)', { | |
373 'conditions': [ | |
374 ['coverage==1', { | |
375 'cc_wrapper': '<(base_dir)/build/coverage_wrapper.py <(gomadir)/goma cc', | |
376 }, { | |
377 'cc_wrapper': '<(gomadir)/gomacc', | |
378 }], | |
379 ], | |
380 }, { | |
381 'conditions': [ | |
382 ['coverage==1', { | |
383 'cc_wrapper': '<(base_dir)/build/coverage_wrapper.py', | |
384 }, { | |
385 'cc_wrapper': 0, | |
386 }], | |
387 ], | |
388 }], | |
365 ], | 389 ], |
366 # Default ARM variable settings. | 390 # Default ARM variable settings. |
367 'arm_version%': 'default', | 391 'arm_version%': 'default', |
368 'arm_fpu%': 'vfpv3', | 392 'arm_fpu%': 'vfpv3', |
369 'arm_float_abi%': 'default', | 393 'arm_float_abi%': 'default', |
370 'arm_thumb': 'default', | 394 'arm_thumb': 'default', |
371 | 395 |
372 # Default MIPS variable settings. | 396 # Default MIPS variable settings. |
373 'mips_arch_variant%': 'r2', | 397 'mips_arch_variant%': 'r2', |
374 # Possible values fp32, fp64, fpxx. | 398 # Possible values fp32, fp64, fpxx. |
(...skipping 879 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1254 'make_global_settings': [ | 1278 'make_global_settings': [ |
1255 ['CC', '<!(which arm-linux-gnueabihf-gcc)'], | 1279 ['CC', '<!(which arm-linux-gnueabihf-gcc)'], |
1256 ['CXX', '<!(which arm-linux-gnueabihf-g++)'], | 1280 ['CXX', '<!(which arm-linux-gnueabihf-g++)'], |
1257 ['CC.host', '<(host_cc)'], | 1281 ['CC.host', '<(host_cc)'], |
1258 ['CXX.host', '<(host_cxx)'], | 1282 ['CXX.host', '<(host_cxx)'], |
1259 ], | 1283 ], |
1260 }], | 1284 }], |
1261 # TODO(yyanagisawa): supports GENERATOR==make | 1285 # TODO(yyanagisawa): supports GENERATOR==make |
1262 # make generator doesn't support CC_wrapper without CC | 1286 # make generator doesn't support CC_wrapper without CC |
1263 # in make_global_settings yet. | 1287 # in make_global_settings yet. |
1264 ['use_goma==1 and ("<(GENERATOR)"=="ninja" or clang==1)', { | 1288 ['cc_wrapper!=0', { |
1265 'make_global_settings': [ | 1289 'make_global_settings': [ |
1266 ['CC_wrapper', '<(gomadir)/gomacc'], | 1290 ['CC_wrapper', '<(cc_wrapper)'], |
1267 ['CXX_wrapper', '<(gomadir)/gomacc'], | 1291 ['CXX_wrapper', '<(cc_wrapper)'], |
1268 ['CC.host_wrapper', '<(gomadir)/gomacc'], | 1292 ['CC.host_wrapper', '<(cc_wrapper)'], |
1269 ['CXX.host_wrapper', '<(gomadir)/gomacc'], | 1293 ['CXX.host_wrapper', '<(cc_wrapper)'], |
1270 ], | 1294 ], |
1271 }], | 1295 }], |
1272 ['use_lto==1', { | 1296 ['use_lto==1', { |
1273 'target_defaults': { | 1297 'target_defaults': { |
1274 'target_conditions': [ | 1298 'target_conditions': [ |
1275 ['_toolset=="target"', { | 1299 ['_toolset=="target"', { |
1276 'cflags': [ | 1300 'cflags': [ |
1277 '-flto', | 1301 '-flto', |
1278 ], | 1302 ], |
1279 }], | 1303 }], |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1366 '-fsanitize=cfi-vcall', | 1390 '-fsanitize=cfi-vcall', |
1367 '-fsanitize=cfi-derived-cast', | 1391 '-fsanitize=cfi-derived-cast', |
1368 '-fsanitize=cfi-unrelated-cast', | 1392 '-fsanitize=cfi-unrelated-cast', |
1369 ], | 1393 ], |
1370 }], | 1394 }], |
1371 ], | 1395 ], |
1372 }, | 1396 }, |
1373 }], | 1397 }], |
1374 ], | 1398 ], |
1375 } | 1399 } |
OLD | NEW |