OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 # IMPORTANT: | 5 # IMPORTANT: |
6 # Please don't directly include this file if you are building via gyp_chromium, | 6 # Please don't directly include this file if you are building via gyp_chromium, |
7 # since gyp_chromium is automatically forcing its inclusion. | 7 # since gyp_chromium is automatically forcing its inclusion. |
8 { | 8 { |
9 # Variables expected to be overriden on the GYP command line (-D) or by | 9 # Variables expected to be overriden on the GYP command line (-D) or by |
10 # ~/.gyp/include.gypi. | 10 # ~/.gyp/include.gypi. |
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
183 # Default MIPS arch variant. This is set in the conditions block | 183 # Default MIPS arch variant. This is set in the conditions block |
184 # below for MIPS targets. | 184 # below for MIPS targets. |
185 'mips_arch_variant%': '', | 185 'mips_arch_variant%': '', |
186 | 186 |
187 'conditions': [ | 187 'conditions': [ |
188 # Ash needs Aura. | 188 # Ash needs Aura. |
189 ['use_aura==0', { | 189 ['use_aura==0', { |
190 'use_ash%': 0, | 190 'use_ash%': 0, |
191 }], | 191 }], |
192 | 192 |
| 193 # Set default value of toolkit_views based on OS. |
| 194 ['OS=="win" or chromeos==1 or use_aura==1', { |
| 195 'toolkit_views%': 1, |
| 196 }, { |
| 197 'toolkit_views%': 0, |
| 198 }], |
| 199 |
193 # Embedded builds use aura without ash or views. | 200 # Embedded builds use aura without ash or views. |
194 ['embedded==1', { | 201 ['embedded==1', { |
195 'use_aura%': 1, | 202 'use_aura%': 1, |
196 'use_ash%': 0, | 203 'use_ash%': 0, |
197 'toolkit_views%': 0, | 204 'toolkit_views%': 0, |
198 }], | 205 }], |
199 | 206 |
200 # Enable HiDPI on Mac OS, Chrome OS and Windows. | 207 # Enable HiDPI on Mac OS, Chrome OS and Windows. |
201 ['OS=="mac" or chromeos==1 or OS=="win"', { | 208 ['OS=="mac" or chromeos==1 or OS=="win"', { |
202 'enable_hidpi%': 1, | 209 'enable_hidpi%': 1, |
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
417 'msan_blacklist%': '<(PRODUCT_DIR)/../../tools/msan/blacklist.txt', | 424 'msan_blacklist%': '<(PRODUCT_DIR)/../../tools/msan/blacklist.txt', |
418 # Track where uninitialized memory originates from. From fastest to | 425 # Track where uninitialized memory originates from. From fastest to |
419 # slowest: 0 - no tracking, 1 - track only the initial allocation site, 2 | 426 # slowest: 0 - no tracking, 1 - track only the initial allocation site, 2 |
420 # - track the chain of stores leading from allocation site to use site. | 427 # - track the chain of stores leading from allocation site to use site. |
421 'msan_track_origins%': 1, | 428 'msan_track_origins%': 1, |
422 | 429 |
423 # Enable building with UBSan (Clang's -fsanitize=undefined option). | 430 # Enable building with UBSan (Clang's -fsanitize=undefined option). |
424 # -fsanitize=undefined only works with clang, but ubsan=1 implies clang=1 | 431 # -fsanitize=undefined only works with clang, but ubsan=1 implies clang=1 |
425 # See http://clang.llvm.org/docs/UsersManual.html | 432 # See http://clang.llvm.org/docs/UsersManual.html |
426 'ubsan%': 0, | 433 'ubsan%': 0, |
| 434 'ubsan_blacklist%': '<(PRODUCT_DIR)/../../tools/ubsan/blacklist.txt', |
427 | 435 |
428 # Enable building with UBsan's vptr (Clang's -fsanitize=vptr option). | 436 # Enable building with UBsan's vptr (Clang's -fsanitize=vptr option). |
429 # -fsanitize=vptr only works with clang, but ubsan_vptr=1 implies clang=1 | 437 # -fsanitize=vptr only works with clang, but ubsan_vptr=1 implies clang=1 |
430 'ubsan_vptr%': 0, | 438 'ubsan_vptr%': 0, |
431 'ubsan_vptr_blacklist%': '<(PRODUCT_DIR)/../../tools/ubsan_vptr/blacklist.
txt', | |
432 | 439 |
433 # Use the dynamic libraries instrumented by one of the sanitizers | 440 # Use the dynamic libraries instrumented by one of the sanitizers |
434 # instead of the standard system libraries. | 441 # instead of the standard system libraries. |
435 'use_instrumented_libraries%': 0, | 442 'use_instrumented_libraries%': 0, |
436 | 443 |
437 # Use libc++ (third_party/libc++ and third_party/libc++abi) instead of | 444 # Use libc++ (third_party/libc++ and third_party/libc++abi) instead of |
438 # stdlibc++ as standard library. This is intended to use for instrumented | 445 # stdlibc++ as standard library. This is intended to use for instrumented |
439 # builds. | 446 # builds. |
440 'use_custom_libcxx%': 0, | 447 'use_custom_libcxx%': 0, |
441 | 448 |
(...skipping 533 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
975 'sas_dll_path%': '<(DEPTH)/third_party/platformsdk_win7/files/redist/x
86', | 982 'sas_dll_path%': '<(DEPTH)/third_party/platformsdk_win7/files/redist/x
86', |
976 }], | 983 }], |
977 | 984 |
978 # Turn on JNI generation optimizations on non-WebView builds. | 985 # Turn on JNI generation optimizations on non-WebView builds. |
979 ['OS=="android" and android_webview_build==0', { | 986 ['OS=="android" and android_webview_build==0', { |
980 'optimize_jni_generation%': 1, | 987 'optimize_jni_generation%': 1, |
981 }, { | 988 }, { |
982 'optimize_jni_generation%': 0, | 989 'optimize_jni_generation%': 0, |
983 }], | 990 }], |
984 | 991 |
985 # TODO(baixo): Enable v8_use_external_startup_data | 992 # TODO(rmcilroy): Enable v8_use_external_startup_data on ChromeOS |
986 # http://crbug.com/421063 | 993 # http://crbug.com/421063 |
987 ['android_webview_build==0 and chromecast==0 and chromeos==0 and (OS=="a
ndroid" or OS=="linux" or OS=="mac")', { | 994 ['android_webview_build==0 and chromecast==0 and chromeos==0 and OS!="io
s"', { |
988 'v8_use_external_startup_data%': 1, | 995 'v8_use_external_startup_data%': 1, |
989 }, { | 996 }, { |
990 'v8_use_external_startup_data%': 0, | 997 'v8_use_external_startup_data%': 0, |
991 }], | 998 }], |
992 ], | 999 ], |
993 | 1000 |
994 # Set this to 1 to enable use of concatenated impulse responses | 1001 # Set this to 1 to enable use of concatenated impulse responses |
995 # for the HRTF panner in WebAudio. | 1002 # for the HRTF panner in WebAudio. |
996 'use_concatenated_impulse_responses': 1, | 1003 'use_concatenated_impulse_responses': 1, |
997 | 1004 |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1116 'use_sanitizer_options%': '<(use_sanitizer_options)', | 1123 'use_sanitizer_options%': '<(use_sanitizer_options)', |
1117 'syzyasan%': '<(syzyasan)', | 1124 'syzyasan%': '<(syzyasan)', |
1118 'syzygy_optimize%': '<(syzygy_optimize)', | 1125 'syzygy_optimize%': '<(syzygy_optimize)', |
1119 'lsan%': '<(lsan)', | 1126 'lsan%': '<(lsan)', |
1120 'msan%': '<(msan)', | 1127 'msan%': '<(msan)', |
1121 'msan_blacklist%': '<(msan_blacklist)', | 1128 'msan_blacklist%': '<(msan_blacklist)', |
1122 'msan_track_origins%': '<(msan_track_origins)', | 1129 'msan_track_origins%': '<(msan_track_origins)', |
1123 'tsan%': '<(tsan)', | 1130 'tsan%': '<(tsan)', |
1124 'tsan_blacklist%': '<(tsan_blacklist)', | 1131 'tsan_blacklist%': '<(tsan_blacklist)', |
1125 'ubsan%': '<(ubsan)', | 1132 'ubsan%': '<(ubsan)', |
| 1133 'ubsan_blacklist%': '<(ubsan_blacklist)', |
1126 'ubsan_vptr%': '<(ubsan_vptr)', | 1134 'ubsan_vptr%': '<(ubsan_vptr)', |
1127 'ubsan_vptr_blacklist%': '<(ubsan_vptr_blacklist)', | |
1128 'use_instrumented_libraries%': '<(use_instrumented_libraries)', | 1135 'use_instrumented_libraries%': '<(use_instrumented_libraries)', |
1129 'use_custom_libcxx%': '<(use_custom_libcxx)', | 1136 'use_custom_libcxx%': '<(use_custom_libcxx)', |
1130 'use_system_libcxx%': '<(use_system_libcxx)', | 1137 'use_system_libcxx%': '<(use_system_libcxx)', |
1131 'clang_type_profiler%': '<(clang_type_profiler)', | 1138 'clang_type_profiler%': '<(clang_type_profiler)', |
1132 'order_profiling%': '<(order_profiling)', | 1139 'order_profiling%': '<(order_profiling)', |
1133 'order_text_section%': '<(order_text_section)', | 1140 'order_text_section%': '<(order_text_section)', |
1134 'enable_extensions%': '<(enable_extensions)', | 1141 'enable_extensions%': '<(enable_extensions)', |
1135 'enable_plugin_installation%': '<(enable_plugin_installation)', | 1142 'enable_plugin_installation%': '<(enable_plugin_installation)', |
1136 'enable_plugins%': '<(enable_plugins)', | 1143 'enable_plugins%': '<(enable_plugins)', |
1137 'enable_session_service%': '<(enable_session_service)', | 1144 'enable_session_service%': '<(enable_session_service)', |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1185 'v8_optimized_debug%': '<(v8_optimized_debug)', | 1192 'v8_optimized_debug%': '<(v8_optimized_debug)', |
1186 'proprietary_codecs%': '<(proprietary_codecs)', | 1193 'proprietary_codecs%': '<(proprietary_codecs)', |
1187 'use_goma%': '<(use_goma)', | 1194 'use_goma%': '<(use_goma)', |
1188 'gomadir%': '<(gomadir)', | 1195 'gomadir%': '<(gomadir)', |
1189 'use_lto%': '<(use_lto)', | 1196 'use_lto%': '<(use_lto)', |
1190 'use_lto_o2%': '<(use_lto_o2)', | 1197 'use_lto_o2%': '<(use_lto_o2)', |
1191 'video_hole%': '<(video_hole)', | 1198 'video_hole%': '<(video_hole)', |
1192 'support_pre_M6_history_database%': '<(support_pre_M6_history_database)', | 1199 'support_pre_M6_history_database%': '<(support_pre_M6_history_database)', |
1193 'v8_use_external_startup_data%': '<(v8_use_external_startup_data)', | 1200 'v8_use_external_startup_data%': '<(v8_use_external_startup_data)', |
1194 | 1201 |
1195 # Whether or not we are building the Athena shell. | |
1196 'use_athena%': '0', | |
1197 | |
1198 # Use system protobuf instead of bundled one. | 1202 # Use system protobuf instead of bundled one. |
1199 'use_system_protobuf%': 0, | 1203 'use_system_protobuf%': 0, |
1200 | 1204 |
1201 # Use system yasm instead of bundled one. | 1205 # Use system yasm instead of bundled one. |
1202 'use_system_yasm%': 0, | 1206 'use_system_yasm%': 0, |
1203 | 1207 |
1204 # Use system ICU instead of bundled one. | 1208 # Use system ICU instead of bundled one. |
1205 'use_system_icu%' : 0, | 1209 'use_system_icu%' : 0, |
1206 | 1210 |
1207 # Default to enabled PIE; this is important for ASLR but we may need to be | 1211 # Default to enabled PIE; this is important for ASLR but we may need to be |
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1442 # Whether we are using the rlz library or not. Platforms like Android send | 1446 # Whether we are using the rlz library or not. Platforms like Android send |
1443 # rlz codes for searches but do not use the library. | 1447 # rlz codes for searches but do not use the library. |
1444 'enable_rlz%': 0, | 1448 'enable_rlz%': 0, |
1445 | 1449 |
1446 # Turns on the i18n support in V8. | 1450 # Turns on the i18n support in V8. |
1447 'v8_enable_i18n_support': 1, | 1451 'v8_enable_i18n_support': 1, |
1448 | 1452 |
1449 # Compile d8 for the host toolset. | 1453 # Compile d8 for the host toolset. |
1450 'v8_toolset_for_d8': 'host', | 1454 'v8_toolset_for_d8': 'host', |
1451 | 1455 |
| 1456 # Enable the V8 heap verification code. The verification itself is enabled |
| 1457 # via a command line option. |
| 1458 'v8_enable_verify_heap%': 1, |
| 1459 |
1452 # Use brlapi from brltty for braille display support. | 1460 # Use brlapi from brltty for braille display support. |
1453 'use_brlapi%': 0, | 1461 'use_brlapi%': 0, |
1454 | 1462 |
1455 # Relative path to icu.gyp from this file. | 1463 # Relative path to icu.gyp from this file. |
1456 'icu_gyp_path': '../third_party/icu/icu.gyp', | 1464 'icu_gyp_path': '../third_party/icu/icu.gyp', |
1457 | 1465 |
1458 # IPC fuzzer is disabled by default. | 1466 # IPC fuzzer is disabled by default. |
1459 'enable_ipc_fuzzer%': 0, | 1467 'enable_ipc_fuzzer%': 0, |
1460 | 1468 |
1461 # Force disable libstdc++ debug mode. | 1469 # Force disable libstdc++ debug mode. |
1462 'disable_glibcxx_debug%': 0, | 1470 'disable_glibcxx_debug%': 0, |
1463 | 1471 |
1464 # Set to 1 to compile with MSE support for MPEG2 TS | 1472 # Set to 1 to compile with MSE support for MPEG2 TS |
1465 'enable_mpeg2ts_stream_parser%': 0, | 1473 'enable_mpeg2ts_stream_parser%': 0, |
1466 | 1474 |
| 1475 # Support ChromeOS touchpad gestures with ozone. |
| 1476 'use_evdev_gestures%': 0, |
| 1477 |
1467 # Default ozone platform (if no --ozone-platform flag). | 1478 # Default ozone platform (if no --ozone-platform flag). |
1468 'ozone_platform%': "", | 1479 'ozone_platform%': "", |
1469 | 1480 |
1470 # Ozone platforms to include in the build. | 1481 # Ozone platforms to include in the build. |
1471 'ozone_platform_caca%': 0, | 1482 'ozone_platform_caca%': 0, |
1472 'ozone_platform_dri%': 0, | 1483 'ozone_platform_dri%': 0, |
1473 'ozone_platform_egltest%': 0, | 1484 'ozone_platform_egltest%': 0, |
1474 'ozone_platform_gbm%': 0, | 1485 'ozone_platform_gbm%': 0, |
1475 'ozone_platform_ozonex%': 0, | 1486 'ozone_platform_ozonex%': 0, |
1476 'ozone_platform_test%': 0, | 1487 'ozone_platform_test%': 0, |
(...skipping 642 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2119 'grit_defines': ['-D', 'enable_service_discovery'], | 2130 'grit_defines': ['-D', 'enable_service_discovery'], |
2120 'enable_service_discovery%': 1 | 2131 'enable_service_discovery%': 1 |
2121 }], | 2132 }], |
2122 ['clang_use_chrome_plugins==1 and OS!="win"', { | 2133 ['clang_use_chrome_plugins==1 and OS!="win"', { |
2123 'clang_chrome_plugins_flags': [ | 2134 'clang_chrome_plugins_flags': [ |
2124 '<!@(<(DEPTH)/tools/clang/scripts/plugin_flags.sh)' | 2135 '<!@(<(DEPTH)/tools/clang/scripts/plugin_flags.sh)' |
2125 ], | 2136 ], |
2126 'conditions': [ | 2137 'conditions': [ |
2127 # TODO(dcheng): https://crbug.com/417463 -- work to enable this flag | 2138 # TODO(dcheng): https://crbug.com/417463 -- work to enable this flag |
2128 # on all platforms is currently underway. | 2139 # on all platforms is currently underway. |
2129 ['OS=="linux" and chromeos==0', { | 2140 ['(OS=="linux" and chromeos==0) or OS=="mac" or OS=="ios"', { |
2130 'clang_chrome_plugins_flags': [ | 2141 'clang_chrome_plugins_flags': [ |
2131 '-Xclang', | 2142 '-Xclang', |
2132 '-plugin-arg-find-bad-constructs', | 2143 '-plugin-arg-find-bad-constructs', |
2133 '-Xclang', | 2144 '-Xclang', |
2134 'strict-virtual-specifiers', | 2145 'strict-virtual-specifiers', |
2135 ], | 2146 ], |
2136 }], | 2147 }], |
2137 ], | 2148 ], |
2138 }], | 2149 }], |
2139 ['asan==1 or msan==1 or lsan==1 or tsan==1', { | 2150 ['asan==1 or msan==1 or lsan==1 or tsan==1', { |
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2334 # Do not disable seccomp_bpf anywhere without talking to | 2345 # Do not disable seccomp_bpf anywhere without talking to |
2335 # security@chromium.org! | 2346 # security@chromium.org! |
2336 ['((OS=="linux" or OS=="android") and ' | 2347 ['((OS=="linux" or OS=="android") and ' |
2337 '(target_arch=="ia32" or target_arch=="x64" or ' | 2348 '(target_arch=="ia32" or target_arch=="x64" or ' |
2338 'target_arch=="arm" or target_arch=="mipsel" or ' | 2349 'target_arch=="arm" or target_arch=="mipsel" or ' |
2339 'target_arch=="arm64"))', { | 2350 'target_arch=="arm64"))', { |
2340 'use_seccomp_bpf%': 1, | 2351 'use_seccomp_bpf%': 1, |
2341 }, { | 2352 }, { |
2342 'use_seccomp_bpf%': 0, | 2353 'use_seccomp_bpf%': 0, |
2343 }], | 2354 }], |
2344 # Set component build with LTO until all tests pass. | |
2345 # This also reduces link time. | |
2346 ['use_lto==1', { | |
2347 'component%': "shared_library", | |
2348 }], | |
2349 ], | 2355 ], |
2350 | 2356 |
2351 # older history files use fts2 instead of fts3 | 2357 # older history files use fts2 instead of fts3 |
2352 'sqlite_enable_fts2%': '<(support_pre_M6_history_database)', | 2358 'sqlite_enable_fts2%': '<(support_pre_M6_history_database)', |
2353 | 2359 |
2354 # The path to the ANGLE library. | 2360 # The path to the ANGLE library. |
2355 'angle_path': '<(DEPTH)/third_party/angle', | 2361 'angle_path': '<(DEPTH)/third_party/angle', |
2356 | 2362 |
2357 # List of default apps to install in new profiles. The first list contains | 2363 # List of default apps to install in new profiles. The first list contains |
2358 # the source files as found in svn. The second list, used only for linux, | 2364 # the source files as found in svn. The second list, used only for linux, |
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2572 # things when their commandline changes). Nothing should ever read this | 2578 # things when their commandline changes). Nothing should ever read this |
2573 # define. | 2579 # define. |
2574 'defines': ['CR_CLANG_REVISION=<!(<(DEPTH)/tools/clang/scripts/update.sh
--print-revision)'], | 2580 'defines': ['CR_CLANG_REVISION=<!(<(DEPTH)/tools/clang/scripts/update.sh
--print-revision)'], |
2575 }], | 2581 }], |
2576 ['enable_rlz==1', { | 2582 ['enable_rlz==1', { |
2577 'defines': ['ENABLE_RLZ'], | 2583 'defines': ['ENABLE_RLZ'], |
2578 }], | 2584 }], |
2579 ['component=="shared_library"', { | 2585 ['component=="shared_library"', { |
2580 'defines': ['COMPONENT_BUILD'], | 2586 'defines': ['COMPONENT_BUILD'], |
2581 }], | 2587 }], |
| 2588 ['toolkit_views==1', { |
| 2589 'defines': ['TOOLKIT_VIEWS=1'], |
| 2590 }], |
2582 ['ui_compositor_image_transport==1', { | 2591 ['ui_compositor_image_transport==1', { |
2583 'defines': ['UI_COMPOSITOR_IMAGE_TRANSPORT'], | 2592 'defines': ['UI_COMPOSITOR_IMAGE_TRANSPORT'], |
2584 }], | 2593 }], |
| 2594 ['use_aura==1', { |
| 2595 'defines': ['USE_AURA=1'], |
| 2596 }], |
2585 ['use_ash==1', { | 2597 ['use_ash==1', { |
2586 'defines': ['USE_ASH=1'], | 2598 'defines': ['USE_ASH=1'], |
2587 }], | 2599 }], |
2588 ['use_pango==1', { | 2600 ['use_pango==1', { |
2589 'defines': ['USE_PANGO=1'], | 2601 'defines': ['USE_PANGO=1'], |
2590 }], | 2602 }], |
2591 ['use_cairo==1', { | 2603 ['use_cairo==1', { |
2592 'defines': ['USE_CAIRO=1'], | 2604 'defines': ['USE_CAIRO=1'], |
2593 }], | 2605 }], |
2594 ['use_cras==1', { | 2606 ['use_cras==1', { |
(...skipping 916 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3511 }, | 3523 }, |
3512 }], | 3524 }], |
3513 # TODO(jochen): Enable this on chromeos on arm. http://crbug.com/356580 | 3525 # TODO(jochen): Enable this on chromeos on arm. http://crbug.com/356580 |
3514 ['os_posix==1 and disable_fatal_linker_warnings==0 and use_evdev_gestures==0
and (chromeos==0 or target_arch!="arm")', { | 3526 ['os_posix==1 and disable_fatal_linker_warnings==0 and use_evdev_gestures==0
and (chromeos==0 or target_arch!="arm")', { |
3515 'target_defaults': { | 3527 'target_defaults': { |
3516 'ldflags': [ | 3528 'ldflags': [ |
3517 '-Wl,--fatal-warnings', | 3529 '-Wl,--fatal-warnings', |
3518 ], | 3530 ], |
3519 }, | 3531 }, |
3520 }], | 3532 }], |
| 3533 # TODO(thakis): Enable this everywhere. http://crbug.com/371125 |
| 3534 ['(OS=="linux" or OS=="android") and asan==0 and msan==0 and tsan==0 and use
_ozone!=1', { |
| 3535 'target_defaults': { |
| 3536 'ldflags': [ |
| 3537 '-Wl,-z,defs', |
| 3538 ], |
| 3539 }, |
| 3540 }], |
3521 ['os_posix==1 and chromeos==0', { | 3541 ['os_posix==1 and chromeos==0', { |
3522 # Chrome OS enables -fstack-protector-strong via its build wrapper, | 3542 # Chrome OS enables -fstack-protector-strong via its build wrapper, |
3523 # and we want to avoid overriding this, so stack-protector is only | 3543 # and we want to avoid overriding this, so stack-protector is only |
3524 # enabled when not building on Chrome OS. | 3544 # enabled when not building on Chrome OS. |
3525 # TODO(phajdan.jr): Use -fstack-protector-strong when our gcc | 3545 # TODO(phajdan.jr): Use -fstack-protector-strong when our gcc |
3526 # supports it. | 3546 # supports it. |
3527 'target_defaults': { | 3547 'target_defaults': { |
3528 'cflags': [ | 3548 'cflags': [ |
3529 '-fstack-protector', | 3549 '-fstack-protector', |
3530 '--param=ssp-buffer-size=4', | 3550 '--param=ssp-buffer-size=4', |
(...skipping 655 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4186 '-mllvm -asan-globals=0', # http://crbug.com/352073 | 4206 '-mllvm -asan-globals=0', # http://crbug.com/352073 |
4187 ], | 4207 ], |
4188 }], | 4208 }], |
4189 ], | 4209 ], |
4190 }], | 4210 }], |
4191 ['ubsan==1', { | 4211 ['ubsan==1', { |
4192 'target_conditions': [ | 4212 'target_conditions': [ |
4193 ['_toolset=="target"', { | 4213 ['_toolset=="target"', { |
4194 'cflags': [ | 4214 'cflags': [ |
4195 '-fsanitize=undefined', | 4215 '-fsanitize=undefined', |
4196 # -fsanitize=vptr is incompatible with -fno-rtti. | 4216 '-fsanitize-blacklist=<(ubsan_blacklist)', |
4197 '-fno-sanitize=vptr', | |
4198 # Employ the experimental PBQP register allocator to avoid | 4217 # Employ the experimental PBQP register allocator to avoid |
4199 # slow compilation on files with too many basic blocks. | 4218 # slow compilation on files with too many basic blocks. |
4200 # See http://crbug.com/426271. | 4219 # See http://crbug.com/426271. |
4201 '-mllvm -regalloc=pbqp', | 4220 '-mllvm -regalloc=pbqp', |
4202 # Speculatively use coalescing to slightly improve the code | 4221 # Speculatively use coalescing to slightly improve the code |
4203 # generated by PBQP regallocator. May increase compile time. | 4222 # generated by PBQP regallocator. May increase compile time. |
4204 '-mllvm -pbqp-coalescing', | 4223 '-mllvm -pbqp-coalescing', |
4205 ], | 4224 ], |
| 4225 'cflags_cc!': [ |
| 4226 '-fno-rtti', |
| 4227 ], |
| 4228 'cflags!': [ |
| 4229 '-fno-rtti', |
| 4230 ], |
4206 'ldflags': [ | 4231 'ldflags': [ |
4207 '-fsanitize=undefined', | 4232 '-fsanitize=undefined', |
4208 # -fsanitize=vptr is incompatible with -fno-rtti. | 4233 ], |
4209 '-fno-sanitize=vptr', | 4234 'defines': [ |
| 4235 'UNDEFINED_SANITIZER', |
4210 ], | 4236 ], |
4211 }], | 4237 }], |
4212 ], | 4238 ], |
4213 }], | 4239 }], |
4214 ['ubsan_vptr==1', { | 4240 ['ubsan_vptr==1', { |
4215 'target_conditions': [ | 4241 'target_conditions': [ |
4216 ['_toolset=="target"', { | 4242 ['_toolset=="target"', { |
4217 'cflags': [ | 4243 'cflags': [ |
4218 '-fsanitize=vptr', | 4244 '-fsanitize=vptr', |
4219 '-fsanitize-blacklist=<(ubsan_vptr_blacklist)', | 4245 '-fsanitize-blacklist=<(ubsan_blacklist)', |
4220 ], | 4246 ], |
4221 'cflags_cc!': [ | 4247 'cflags_cc!': [ |
4222 '-fno-rtti', | 4248 '-fno-rtti', |
4223 ], | 4249 ], |
4224 'cflags!': [ | 4250 'cflags!': [ |
4225 '-fno-rtti', | 4251 '-fno-rtti', |
4226 ], | 4252 ], |
4227 'ldflags': [ | 4253 'ldflags': [ |
4228 '-fsanitize=vptr', | 4254 '-fsanitize=vptr', |
4229 ], | 4255 ], |
(...skipping 1285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5515 # See crbug.com/345874. | 5541 # See crbug.com/345874. |
5516 'VCCLCompilerTool': { | 5542 'VCCLCompilerTool': { |
5517 'AdditionalOptions': [ | 5543 'AdditionalOptions': [ |
5518 '-fsanitize=address', | 5544 '-fsanitize=address', |
5519 ], | 5545 ], |
5520 'AdditionalIncludeDirectories': [ | 5546 'AdditionalIncludeDirectories': [ |
5521 # MSVC needs to be able to find the sanitizer headers when | 5547 # MSVC needs to be able to find the sanitizer headers when |
5522 # invoked via /fallback. This is critical for using macros | 5548 # invoked via /fallback. This is critical for using macros |
5523 # like ASAN_UNPOISON_MEMORY_REGION in files where we fall | 5549 # like ASAN_UNPOISON_MEMORY_REGION in files where we fall |
5524 # back. | 5550 # back. |
5525 '<(DEPTH)/<(make_clang_dir)/lib/clang/3.6.0/include_sanitizer'
, | 5551 '<(DEPTH)/<(make_clang_dir)/lib/clang/3.7.0/include_sanitizer'
, |
5526 ], | 5552 ], |
5527 }, | 5553 }, |
5528 'VCLinkerTool': { | 5554 'VCLinkerTool': { |
5529 'AdditionalLibraryDirectories': [ | 5555 'AdditionalLibraryDirectories': [ |
5530 # TODO(hans): If make_clang_dir is absolute, this breaks. | 5556 # TODO(hans): If make_clang_dir is absolute, this breaks. |
5531 '<(DEPTH)/<(make_clang_dir)/lib/clang/3.6.0/lib/windows', | 5557 '<(DEPTH)/<(make_clang_dir)/lib/clang/3.7.0/lib/windows', |
5532 ], | 5558 ], |
5533 }, | 5559 }, |
5534 'target_conditions': [ | 5560 'target_conditions': [ |
5535 ['component=="shared_library"', { | 5561 ['component=="shared_library"', { |
5536 'VCLinkerTool': { | 5562 'VCLinkerTool': { |
5537 'AdditionalDependencies': [ | 5563 'AdditionalDependencies': [ |
5538 'clang_rt.asan_dynamic-i386.lib', | 5564 'clang_rt.asan_dynamic-i386.lib', |
5539 'clang_rt.asan_dynamic_runtime_thunk-i386.lib', | 5565 'clang_rt.asan_dynamic_runtime_thunk-i386.lib', |
5540 ], | 5566 ], |
5541 }, | 5567 }, |
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5825 # settings in target dicts. SYMROOT is a special case, because many other | 5851 # settings in target dicts. SYMROOT is a special case, because many other |
5826 # Xcode variables depend on it, including variables such as | 5852 # Xcode variables depend on it, including variables such as |
5827 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something | 5853 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something |
5828 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the | 5854 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the |
5829 # files to appear (when present) in the UI as actual files and not red | 5855 # files to appear (when present) in the UI as actual files and not red |
5830 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, | 5856 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, |
5831 # and therefore SYMROOT, needs to be set at the project level. | 5857 # and therefore SYMROOT, needs to be set at the project level. |
5832 'SYMROOT': '<(DEPTH)/xcodebuild', | 5858 'SYMROOT': '<(DEPTH)/xcodebuild', |
5833 }, | 5859 }, |
5834 } | 5860 } |
OLD | NEW |