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 |