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 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 'target_arch%': '<(target_arch)', | 73 'target_arch%': '<(target_arch)', |
74 'v8_target_arch%': '<(target_arch)', | 74 'v8_target_arch%': '<(target_arch)', |
75 'asan%': 0, | 75 'asan%': 0, |
76 'lsan%': 0, | 76 'lsan%': 0, |
77 'msan%': 0, | 77 'msan%': 0, |
78 'tsan%': 0, | 78 'tsan%': 0, |
79 # Enable coverage gathering instrumentation in sanitizer tools. This flag | 79 # Enable coverage gathering instrumentation in sanitizer tools. This flag |
80 # also controls coverage granularity (1 for function-level, 2 for | 80 # also controls coverage granularity (1 for function-level, 2 for |
81 # block-level, 3 for edge-level). | 81 # block-level, 3 for edge-level). |
82 'sanitizer_coverage%': 0, | 82 'sanitizer_coverage%': 0, |
| 83 # Use libc++ (buildtools/third_party/libc++ and |
| 84 # buildtools/third_party/libc++abi) instead of stdlibc++ as standard |
| 85 # library. This is intended to be used for instrumented builds. |
| 86 'use_custom_libcxx%': 0, |
83 | 87 |
84 # goma settings. | 88 # goma settings. |
85 # 1 to use goma. | 89 # 1 to use goma. |
86 # If no gomadir is set, it uses the default gomadir. | 90 # If no gomadir is set, it uses the default gomadir. |
87 'use_goma%': 0, | 91 'use_goma%': 0, |
88 'gomadir%': '', | 92 'gomadir%': '', |
89 'conditions': [ | 93 'conditions': [ |
90 # Set default gomadir. | 94 # Set default gomadir. |
91 ['OS=="win"', { | 95 ['OS=="win"', { |
92 'gomadir': 'c:\\goma\\goma-win', | 96 'gomadir': 'c:\\goma\\goma-win', |
93 }, { | 97 }, { |
94 'gomadir': '<!(/bin/echo -n ${HOME}/goma)', | 98 'gomadir': '<!(/bin/echo -n ${HOME}/goma)', |
95 }], | 99 }], |
96 ], | 100 ], |
97 }, | 101 }, |
98 'host_arch%': '<(host_arch)', | 102 'host_arch%': '<(host_arch)', |
99 'target_arch%': '<(target_arch)', | 103 'target_arch%': '<(target_arch)', |
100 'v8_target_arch%': '<(v8_target_arch)', | 104 'v8_target_arch%': '<(v8_target_arch)', |
101 'werror%': '-Werror', | 105 'werror%': '-Werror', |
102 'use_goma%': '<(use_goma)', | 106 'use_goma%': '<(use_goma)', |
103 'gomadir%': '<(gomadir)', | 107 'gomadir%': '<(gomadir)', |
104 'asan%': '<(asan)', | 108 'asan%': '<(asan)', |
105 'lsan%': '<(lsan)', | 109 'lsan%': '<(lsan)', |
106 'msan%': '<(msan)', | 110 'msan%': '<(msan)', |
107 'tsan%': '<(tsan)', | 111 'tsan%': '<(tsan)', |
108 'sanitizer_coverage%': '<(sanitizer_coverage)', | 112 'sanitizer_coverage%': '<(sanitizer_coverage)', |
| 113 'use_custom_libcxx%': '<(use_custom_libcxx)', |
109 | 114 |
110 # Add a simple extra solely for the purpose of the cctests | 115 # Add a simple extra solely for the purpose of the cctests |
111 'v8_extra_library_files': ['../test/cctest/test-extra.js'], | 116 'v8_extra_library_files': ['../test/cctest/test-extra.js'], |
112 | 117 |
113 # .gyp files or targets should set v8_code to 1 if they build V8 specific | 118 # .gyp files or targets should set v8_code to 1 if they build V8 specific |
114 # code, as opposed to external code. This variable is used to control such | 119 # code, as opposed to external code. This variable is used to control such |
115 # things as the set of warnings to enable, and whether warnings are treated | 120 # things as the set of warnings to enable, and whether warnings are treated |
116 # as errors. | 121 # as errors. |
117 'v8_code%': 0, | 122 'v8_code%': 0, |
118 | 123 |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
177 }], | 182 }], |
178 ['host_arch!="ppc" and host_arch!="ppc64" and host_arch!="ppc64le"', { | 183 ['host_arch!="ppc" and host_arch!="ppc64" and host_arch!="ppc64le"', { |
179 'host_clang%': '1', | 184 'host_clang%': '1', |
180 }, { | 185 }, { |
181 'host_clang%': '0', | 186 'host_clang%': '0', |
182 }], | 187 }], |
183 ['asan==1 or lsan==1 or msan==1 or tsan==1', { | 188 ['asan==1 or lsan==1 or msan==1 or tsan==1', { |
184 'clang%': 1, | 189 'clang%': 1, |
185 'use_allocator%': 'none', | 190 'use_allocator%': 'none', |
186 }], | 191 }], |
| 192 ['asan==1 and OS=="linux"', { |
| 193 'use_custom_libcxx%': 1, |
| 194 }], |
| 195 ['tsan==1', { |
| 196 'use_custom_libcxx%': 1, |
| 197 }], |
| 198 ['msan==1', { |
| 199 # Use a just-built, MSan-instrumented libc++ instead of the system-wide |
| 200 # libstdc++. This is required to avoid false positive reports whenever |
| 201 # the C++ standard library is used. |
| 202 'use_custom_libcxx%': 1, |
| 203 }], |
187 ], | 204 ], |
188 # Default ARM variable settings. | 205 # Default ARM variable settings. |
189 'arm_version%': 'default', | 206 'arm_version%': 'default', |
190 'arm_fpu%': 'vfpv3', | 207 'arm_fpu%': 'vfpv3', |
191 'arm_float_abi%': 'default', | 208 'arm_float_abi%': 'default', |
192 'arm_thumb': 'default', | 209 'arm_thumb': 'default', |
193 | 210 |
194 # Default MIPS variable settings. | 211 # Default MIPS variable settings. |
195 'mips_arch_variant%': 'r2', | 212 'mips_arch_variant%': 'r2', |
196 # Possible values fp32, fp64, fpxx. | 213 # Possible values fp32, fp64, fpxx. |
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
364 '-fsanitize-memory-track-origins=<(msan_track_origins)', | 381 '-fsanitize-memory-track-origins=<(msan_track_origins)', |
365 ], | 382 ], |
366 'ldflags': [ | 383 'ldflags': [ |
367 '-fsanitize=memory', | 384 '-fsanitize=memory', |
368 ], | 385 ], |
369 'defines': [ | 386 'defines': [ |
370 'MEMORY_SANITIZER', | 387 'MEMORY_SANITIZER', |
371 ], | 388 ], |
372 }], | 389 }], |
373 ], | 390 ], |
374 # TODO(machenbach): Share this between all *san configs like in | 391 }], |
375 # common.gypi. | 392 ['use_custom_libcxx==1', { |
376 'dependencies': [ | 393 'dependencies': [ |
377 # Use libc++ (buildtools/third_party/libc++ and | |
378 # buildtools/third_party/libc++abi) instead of stdlibc++ as | |
379 # standard library. This is intended to be used for for | |
380 # instrumented builds. | |
381 '<(DEPTH)/buildtools/third_party/libc++/libc++.gyp:libcxx_proxy', | 394 '<(DEPTH)/buildtools/third_party/libc++/libc++.gyp:libcxx_proxy', |
382 ], | 395 ], |
383 }], | 396 }], |
384 ['sanitizer_coverage!=0', { | 397 ['sanitizer_coverage!=0', { |
385 'target_conditions': [ | 398 'target_conditions': [ |
386 ['_toolset=="target"', { | 399 ['_toolset=="target"', { |
387 'cflags': [ | 400 'cflags': [ |
388 '-fsanitize-coverage=<(sanitizer_coverage)', | 401 '-fsanitize-coverage=<(sanitizer_coverage)', |
389 ], | 402 ], |
390 'defines': [ | 403 'defines': [ |
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
708 ['use_goma==1 and ("<(GENERATOR)"=="ninja" or clang==1)', { | 721 ['use_goma==1 and ("<(GENERATOR)"=="ninja" or clang==1)', { |
709 'make_global_settings': [ | 722 'make_global_settings': [ |
710 ['CC_wrapper', '<(gomadir)/gomacc'], | 723 ['CC_wrapper', '<(gomadir)/gomacc'], |
711 ['CXX_wrapper', '<(gomadir)/gomacc'], | 724 ['CXX_wrapper', '<(gomadir)/gomacc'], |
712 ['CC.host_wrapper', '<(gomadir)/gomacc'], | 725 ['CC.host_wrapper', '<(gomadir)/gomacc'], |
713 ['CXX.host_wrapper', '<(gomadir)/gomacc'], | 726 ['CXX.host_wrapper', '<(gomadir)/gomacc'], |
714 ], | 727 ], |
715 }], | 728 }], |
716 ], | 729 ], |
717 } | 730 } |
OLD | NEW |