Chromium Code Reviews| 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 373 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 384 # Run tools/clang/scripts/update.sh to make sure they are compiled. | 384 # Run tools/clang/scripts/update.sh to make sure they are compiled. |
| 385 # This causes 'clang_chrome_plugins_flags' to be set. | 385 # This causes 'clang_chrome_plugins_flags' to be set. |
| 386 # Has no effect if 'clang' is not set as well. | 386 # Has no effect if 'clang' is not set as well. |
| 387 'clang_use_chrome_plugins%': 1, | 387 'clang_use_chrome_plugins%': 1, |
| 388 | 388 |
| 389 # Enable building with ASAN (Clang's -fsanitize=address option). | 389 # Enable building with ASAN (Clang's -fsanitize=address option). |
| 390 # -fsanitize=address only works with clang, but asan=1 implies clang=1 | 390 # -fsanitize=address only works with clang, but asan=1 implies clang=1 |
| 391 # See https://sites.google.com/a/chromium.org/dev/developers/testing/addre sssanitizer | 391 # See https://sites.google.com/a/chromium.org/dev/developers/testing/addre sssanitizer |
| 392 'asan%': 0, | 392 'asan%': 0, |
| 393 'asan_blacklist%': '<(PRODUCT_DIR)/../../tools/memory/asan/blacklist.txt', | 393 'asan_blacklist%': '<(PRODUCT_DIR)/../../tools/memory/asan/blacklist.txt', |
| 394 # Enable coverage gathering instrumentation in ASan. This flag also | 394 # Enable coverage gathering instrumentation in sanitizer tools. This flag |
| 395 # controls coverage granularity (1 for function-level coverage, 2 for | 395 # also controls coverage granularity (1 for function-level coverage, 2 |
| 396 # block-level coverage). | 396 # for block-level coverage). |
| 397 'asan_coverage%': 0, | 397 'sanitizer_coverage%': 0, |
| 398 'asan_coverage%': 0, # deprecated | |
|
earthdok
2015/01/23 13:51:03
please document how it interacts with sanitizer_co
| |
| 398 # Enable intra-object-overflow detection in ASan (experimental). | 399 # Enable intra-object-overflow detection in ASan (experimental). |
| 399 'asan_field_padding%': 0, | 400 'asan_field_padding%': 0, |
| 400 | 401 |
| 401 # Enable Chromium overrides of the default configurations for various | 402 # Enable Chromium overrides of the default configurations for various |
| 402 # dynamic tools (like ASan). | 403 # dynamic tools (like ASan). |
| 403 'use_sanitizer_options%': 0, | 404 'use_sanitizer_options%': 0, |
| 404 | 405 |
| 405 # Enable building with SyzyAsan. | 406 # Enable building with SyzyAsan. |
| 406 # See https://code.google.com/p/sawbuck/wiki/SyzyASanHowTo | 407 # See https://code.google.com/p/sawbuck/wiki/SyzyASanHowTo |
| 407 'syzyasan%': 0, | 408 'syzyasan%': 0, |
| (...skipping 704 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1112 'chromium_win_pch%': '<(chromium_win_pch)', | 1113 'chromium_win_pch%': '<(chromium_win_pch)', |
| 1113 'configuration_policy%': '<(configuration_policy)', | 1114 'configuration_policy%': '<(configuration_policy)', |
| 1114 'safe_browsing%': '<(safe_browsing)', | 1115 'safe_browsing%': '<(safe_browsing)', |
| 1115 'enable_web_speech%': '<(enable_web_speech)', | 1116 'enable_web_speech%': '<(enable_web_speech)', |
| 1116 'notifications%': '<(notifications)', | 1117 'notifications%': '<(notifications)', |
| 1117 'clang_use_chrome_plugins%': '<(clang_use_chrome_plugins)', | 1118 'clang_use_chrome_plugins%': '<(clang_use_chrome_plugins)', |
| 1118 'mac_want_real_dsym%': '<(mac_want_real_dsym)', | 1119 'mac_want_real_dsym%': '<(mac_want_real_dsym)', |
| 1119 'asan%': '<(asan)', | 1120 'asan%': '<(asan)', |
| 1120 'asan_blacklist%': '<(asan_blacklist)', | 1121 'asan_blacklist%': '<(asan_blacklist)', |
| 1121 'asan_coverage%': '<(asan_coverage)', | 1122 'asan_coverage%': '<(asan_coverage)', |
| 1123 'sanitizer_coverage%': '<(sanitizer_coverage)', | |
| 1122 'asan_field_padding%': '<(asan_field_padding)', | 1124 'asan_field_padding%': '<(asan_field_padding)', |
| 1123 'use_sanitizer_options%': '<(use_sanitizer_options)', | 1125 'use_sanitizer_options%': '<(use_sanitizer_options)', |
| 1124 'syzyasan%': '<(syzyasan)', | 1126 'syzyasan%': '<(syzyasan)', |
| 1125 'syzygy_optimize%': '<(syzygy_optimize)', | 1127 'syzygy_optimize%': '<(syzygy_optimize)', |
| 1126 'lsan%': '<(lsan)', | 1128 'lsan%': '<(lsan)', |
| 1127 'msan%': '<(msan)', | 1129 'msan%': '<(msan)', |
| 1128 'msan_blacklist%': '<(msan_blacklist)', | 1130 'msan_blacklist%': '<(msan_blacklist)', |
| 1129 'msan_track_origins%': '<(msan_track_origins)', | 1131 'msan_track_origins%': '<(msan_track_origins)', |
| 1130 'tsan%': '<(tsan)', | 1132 'tsan%': '<(tsan)', |
| 1131 'tsan_blacklist%': '<(tsan_blacklist)', | 1133 'tsan_blacklist%': '<(tsan_blacklist)', |
| (...skipping 3126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4258 ], | 4260 ], |
| 4259 'ldflags': [ | 4261 'ldflags': [ |
| 4260 '-fsanitize=vptr', | 4262 '-fsanitize=vptr', |
| 4261 ], | 4263 ], |
| 4262 'defines': [ | 4264 'defines': [ |
| 4263 'UNDEFINED_SANITIZER', | 4265 'UNDEFINED_SANITIZER', |
| 4264 ], | 4266 ], |
| 4265 }], | 4267 }], |
| 4266 ], | 4268 ], |
| 4267 }], | 4269 }], |
| 4268 ['asan_coverage!=0', { | 4270 ['asan_coverage!=0 and sanitizer_coverage==0', { |
| 4269 'target_conditions': [ | 4271 'target_conditions': [ |
| 4270 ['_toolset=="target"', { | 4272 ['_toolset=="target"', { |
| 4271 'cflags': [ | 4273 'cflags': [ |
| 4272 '-fsanitize-coverage=<(asan_coverage)', | 4274 '-fsanitize-coverage=<(asan_coverage)', |
| 4273 ], | 4275 ], |
| 4276 'defines': [ | |
| 4277 'SANITIZER_COVERAGE', | |
| 4278 ], | |
| 4274 }], | 4279 }], |
| 4275 ], | 4280 ], |
| 4276 }], | 4281 }], |
| 4282 ['sanitizer_coverage!=0', { | |
| 4283 'target_conditions': [ | |
| 4284 ['_toolset=="target"', { | |
| 4285 'cflags': [ | |
| 4286 '-fsanitize-coverage=<(sanitizer_coverage)', | |
| 4287 ], | |
| 4288 'defines': [ | |
| 4289 'SANITIZER_COVERAGE', | |
| 4290 ], | |
| 4291 }], | |
| 4292 ], | |
| 4293 }], | |
| 4277 ['asan_field_padding!=0', { | 4294 ['asan_field_padding!=0', { |
| 4278 'target_conditions': [ | 4295 'target_conditions': [ |
| 4279 ['_toolset=="target"', { | 4296 ['_toolset=="target"', { |
| 4280 'cflags': [ | 4297 'cflags': [ |
| 4281 '-fsanitize-address-field-padding=<(asan_field_padding)', | 4298 '-fsanitize-address-field-padding=<(asan_field_padding)', |
| 4282 ], | 4299 ], |
| 4283 }], | 4300 }], |
| 4284 ], | 4301 ], |
| 4285 }], | 4302 }], |
| 4286 ['lsan==1', { | 4303 ['lsan==1', { |
| (...skipping 635 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4922 }], | 4939 }], |
| 4923 ['asan==1', { | 4940 ['asan==1', { |
| 4924 'xcode_settings': { | 4941 'xcode_settings': { |
| 4925 'OTHER_CFLAGS': [ | 4942 'OTHER_CFLAGS': [ |
| 4926 '-fsanitize=address', | 4943 '-fsanitize=address', |
| 4927 '-mllvm -asan-globals=0', # http://crbug.com/352073 | 4944 '-mllvm -asan-globals=0', # http://crbug.com/352073 |
| 4928 '-gline-tables-only', | 4945 '-gline-tables-only', |
| 4929 ], | 4946 ], |
| 4930 }, | 4947 }, |
| 4931 }], | 4948 }], |
| 4932 ['asan_coverage!=0', { | 4949 ['asan_coverage!=0 and sanitizer_coverage==0', { |
| 4933 'target_conditions': [ | 4950 'target_conditions': [ |
| 4934 ['_toolset=="target"', { | 4951 ['_toolset=="target"', { |
| 4935 'cflags': [ | 4952 'cflags': [ |
| 4936 '-fsanitize-coverage=<(asan_coverage)', | 4953 '-fsanitize-coverage=<(asan_coverage)', |
| 4937 ], | 4954 ], |
| 4955 'defines': [ | |
| 4956 'SANITIZER_COVERAGE', | |
| 4957 ], | |
| 4938 }], | 4958 }], |
| 4939 ], | 4959 ], |
| 4940 }], | 4960 }], |
| 4961 ['sanitizer_coverage!=0', { | |
| 4962 'target_conditions': [ | |
| 4963 ['_toolset=="target"', { | |
| 4964 'cflags': [ | |
| 4965 '-fsanitize-coverage=<(sanitizer_coverage)', | |
| 4966 ], | |
| 4967 'defines': [ | |
| 4968 'SANITIZER_COVERAGE', | |
| 4969 ], | |
| 4970 }], | |
| 4971 ], | |
| 4972 }], | |
| 4941 ], | 4973 ], |
| 4942 'target_conditions': [ | 4974 'target_conditions': [ |
| 4943 ['_type!="static_library"', { | 4975 ['_type!="static_library"', { |
| 4944 'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-search_paths_first']}, | 4976 'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-search_paths_first']}, |
| 4945 'conditions': [ | 4977 'conditions': [ |
| 4946 ['asan==1', { | 4978 ['asan==1', { |
| 4947 'xcode_settings': { | 4979 'xcode_settings': { |
| 4948 'OTHER_LDFLAGS': [ | 4980 'OTHER_LDFLAGS': [ |
| 4949 '-fsanitize=address', | 4981 '-fsanitize=address', |
| 4950 ], | 4982 ], |
| (...skipping 906 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 5857 # settings in target dicts. SYMROOT is a special case, because many other | 5889 # settings in target dicts. SYMROOT is a special case, because many other |
| 5858 # Xcode variables depend on it, including variables such as | 5890 # Xcode variables depend on it, including variables such as |
| 5859 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something | 5891 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something |
| 5860 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the | 5892 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the |
| 5861 # files to appear (when present) in the UI as actual files and not red | 5893 # files to appear (when present) in the UI as actual files and not red |
| 5862 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, | 5894 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, |
| 5863 # and therefore SYMROOT, needs to be set at the project level. | 5895 # and therefore SYMROOT, needs to be set at the project level. |
| 5864 'SYMROOT': '<(DEPTH)/xcodebuild', | 5896 'SYMROOT': '<(DEPTH)/xcodebuild', |
| 5865 }, | 5897 }, |
| 5866 } | 5898 } |
| OLD | NEW |