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 371 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
382 # -fsanitize=address only works with clang, but asan=1 implies clang=1 | 382 # -fsanitize=address only works with clang, but asan=1 implies clang=1 |
383 # See https://sites.google.com/a/chromium.org/dev/developers/testing/addre
sssanitizer | 383 # See https://sites.google.com/a/chromium.org/dev/developers/testing/addre
sssanitizer |
384 'asan%': 0, | 384 'asan%': 0, |
385 # Enable coverage gathering instrumentation in ASan. This flag also | 385 # Enable coverage gathering instrumentation in ASan. This flag also |
386 # controls coverage granularity (1 for function-level coverage, 2 for | 386 # controls coverage granularity (1 for function-level coverage, 2 for |
387 # block-level coverage). | 387 # block-level coverage). |
388 'asan_coverage%': 0, | 388 'asan_coverage%': 0, |
389 | 389 |
390 # Enable Chromium overrides of the default configurations for various | 390 # Enable Chromium overrides of the default configurations for various |
391 # dynamic tools (like ASan). | 391 # dynamic tools (like ASan). |
392 'use_sanitizer_options%': 0, | 392 'use_sanitizer_options%': 1, |
393 | 393 |
394 # Enable building with SyzyAsan. | 394 # Enable building with SyzyAsan. |
395 # See https://code.google.com/p/sawbuck/wiki/SyzyASanHowTo | 395 # See https://code.google.com/p/sawbuck/wiki/SyzyASanHowTo |
396 'syzyasan%': 0, | 396 'syzyasan%': 0, |
397 | 397 |
398 # Enable building with LSan (Clang's -fsanitize=leak option). | 398 # Enable building with LSan (Clang's -fsanitize=leak option). |
399 # -fsanitize=leak only works with clang, but lsan=1 implies clang=1 | 399 # -fsanitize=leak only works with clang, but lsan=1 implies clang=1 |
400 # See https://sites.google.com/a/chromium.org/dev/developers/testing/leaks
anitizer | 400 # See https://sites.google.com/a/chromium.org/dev/developers/testing/leaks
anitizer |
401 'lsan%': 0, | 401 'lsan%': 0, |
402 | 402 |
(...skipping 1735 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2138 'enable_service_discovery%': 1 | 2138 'enable_service_discovery%': 1 |
2139 }], | 2139 }], |
2140 ['clang_use_chrome_plugins==1 and OS!="win"', { | 2140 ['clang_use_chrome_plugins==1 and OS!="win"', { |
2141 'clang_chrome_plugins_flags': [ | 2141 'clang_chrome_plugins_flags': [ |
2142 '<!@(<(DEPTH)/tools/clang/scripts/plugin_flags.sh)' | 2142 '<!@(<(DEPTH)/tools/clang/scripts/plugin_flags.sh)' |
2143 ], | 2143 ], |
2144 }], | 2144 }], |
2145 ['asan==1 or msan==1 or lsan==1 or tsan==1', { | 2145 ['asan==1 or msan==1 or lsan==1 or tsan==1', { |
2146 'clang%': 1, | 2146 'clang%': 1, |
2147 'use_allocator%': 'none', | 2147 'use_allocator%': 'none', |
2148 'use_sanitizer_options%': 1, | |
2149 }], | 2148 }], |
2150 ['asan==1 and OS=="linux" and chromeos==0', { | 2149 ['asan==1 and OS=="linux" and chromeos==0', { |
2151 'use_custom_libcxx%': 1, | 2150 'use_custom_libcxx%': 1, |
2152 }], | 2151 }], |
2153 ['ubsan==1', { | 2152 ['ubsan==1', { |
2154 'clang%': 1, | 2153 'clang%': 1, |
2155 }], | 2154 }], |
2156 ['ubsan_vptr==1', { | 2155 ['ubsan_vptr==1', { |
2157 'clang%': 1, | 2156 'clang%': 1, |
2158 }], | 2157 }], |
(...skipping 1319 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3478 ], | 3477 ], |
3479 }, | 3478 }, |
3480 }, | 3479 }, |
3481 'conditions': [ | 3480 'conditions': [ |
3482 ['os_posix==1', { | 3481 ['os_posix==1', { |
3483 'target_defaults': { | 3482 'target_defaults': { |
3484 'ldflags': [ | 3483 'ldflags': [ |
3485 '-Wl,-z,now', | 3484 '-Wl,-z,now', |
3486 '-Wl,-z,relro', | 3485 '-Wl,-z,relro', |
3487 ], | 3486 ], |
3488 # TODO(glider): enable the default options on other systems. | |
3489 'conditions': [ | |
3490 ['use_sanitizer_options==1 and ((OS=="linux" and (chromeos==0 or targe
t_arch!="ia32")) or OS=="mac")', { | |
3491 'dependencies': [ | |
3492 '<(DEPTH)/build/sanitizers/sanitizers.gyp:sanitizer_options', | |
3493 ], | |
3494 }], | |
3495 ], | |
3496 }, | 3487 }, |
3497 }], | 3488 }], |
3498 # TODO(jochen): Enable this on chromeos on arm. http://crbug.com/356580 | 3489 # TODO(jochen): Enable this on chromeos on arm. http://crbug.com/356580 |
3499 ['os_posix==1 and disable_fatal_linker_warnings==0 and use_evdev_gestures==0
and (chromeos==0 or target_arch!="arm")', { | 3490 ['os_posix==1 and disable_fatal_linker_warnings==0 and use_evdev_gestures==0
and (chromeos==0 or target_arch!="arm")', { |
3500 'target_defaults': { | 3491 'target_defaults': { |
3501 'ldflags': [ | 3492 'ldflags': [ |
3502 '-Wl,--fatal-warnings', | 3493 '-Wl,--fatal-warnings', |
3503 ], | 3494 ], |
3504 }, | 3495 }, |
3505 }], | 3496 }], |
(...skipping 595 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4101 # that some libraries aren't needed when they actually are, | 4092 # that some libraries aren't needed when they actually are, |
4102 # http://crbug.com/234010. As workaround, disable --as-needed. | 4093 # http://crbug.com/234010. As workaround, disable --as-needed. |
4103 '-Wl,--as-needed', | 4094 '-Wl,--as-needed', |
4104 ], | 4095 ], |
4105 'defines': [ | 4096 'defines': [ |
4106 'MEMORY_TOOL_REPLACES_ALLOCATOR', | 4097 'MEMORY_TOOL_REPLACES_ALLOCATOR', |
4107 'MEMORY_SANITIZER_INITIAL_SIZE', | 4098 'MEMORY_SANITIZER_INITIAL_SIZE', |
4108 ], | 4099 ], |
4109 }], | 4100 }], |
4110 ], | 4101 ], |
| 4102 # TODO(glider): enable the default options on other systems. |
| 4103 'conditions': [ |
| 4104 ['use_sanitizer_options==1 and OS=="linux" and (chromeos==0 or tar
get_arch!="ia32")', { |
| 4105 'dependencies': [ |
| 4106 '<(DEPTH)/build/sanitizers/sanitizers.gyp:sanitizer_options', |
| 4107 ], |
| 4108 }], |
| 4109 ], |
4111 }], | 4110 }], |
4112 ['asan==1', { | 4111 ['asan==1', { |
4113 'target_conditions': [ | 4112 'target_conditions': [ |
4114 ['_toolset=="target"', { | 4113 ['_toolset=="target"', { |
4115 'cflags': [ | 4114 'cflags': [ |
4116 '-fsanitize=address', | 4115 '-fsanitize=address', |
4117 ], | 4116 ], |
4118 'ldflags': [ | 4117 'ldflags': [ |
4119 '-fsanitize=address', | 4118 '-fsanitize=address', |
4120 ], | 4119 ], |
(...skipping 1662 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5783 # settings in target dicts. SYMROOT is a special case, because many other | 5782 # settings in target dicts. SYMROOT is a special case, because many other |
5784 # Xcode variables depend on it, including variables such as | 5783 # Xcode variables depend on it, including variables such as |
5785 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something | 5784 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something |
5786 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the | 5785 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the |
5787 # files to appear (when present) in the UI as actual files and not red | 5786 # files to appear (when present) in the UI as actual files and not red |
5788 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, | 5787 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, |
5789 # and therefore SYMROOT, needs to be set at the project level. | 5788 # and therefore SYMROOT, needs to be set at the project level. |
5790 'SYMROOT': '<(DEPTH)/xcodebuild', | 5789 'SYMROOT': '<(DEPTH)/xcodebuild', |
5791 }, | 5790 }, |
5792 } | 5791 } |
OLD | NEW |