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 291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 302 # -fsanitize=thread only works with clang, but tsan=1 implies clang=1 | 302 # -fsanitize=thread only works with clang, but tsan=1 implies clang=1 |
| 303 # See http://clang.llvm.org/docs/ThreadSanitizer.html | 303 # See http://clang.llvm.org/docs/ThreadSanitizer.html |
| 304 'tsan%': 0, | 304 'tsan%': 0, |
| 305 'tsan_blacklist%': '<(PRODUCT_DIR)/../../tools/valgrind/tsan_v2/ignores.tx t', | 305 'tsan_blacklist%': '<(PRODUCT_DIR)/../../tools/valgrind/tsan_v2/ignores.tx t', |
| 306 | 306 |
| 307 # Enable building with MSAN (Clang's -fsanitize=memory option). | 307 # Enable building with MSAN (Clang's -fsanitize=memory option). |
| 308 # MemorySanitizer only works with clang, but msan=1 implies clang=1 | 308 # MemorySanitizer only works with clang, but msan=1 implies clang=1 |
| 309 # See http://clang.llvm.org/docs/MemorySanitizer.html | 309 # See http://clang.llvm.org/docs/MemorySanitizer.html |
| 310 'msan%': 0, | 310 'msan%': 0, |
| 311 | 311 |
| 312 # Use the dynamic libraries instrumented by one of the sanitizers | |
| 313 # instead of the standard system libraries. | |
| 314 'use_instrumented_libraries%': 0, | |
| 315 | |
| 312 # Use a modified version of Clang to intercept allocated types and sizes | 316 # Use a modified version of Clang to intercept allocated types and sizes |
| 313 # for allocated objects. clang_type_profiler=1 implies clang=1. | 317 # for allocated objects. clang_type_profiler=1 implies clang=1. |
| 314 # See http://dev.chromium.org/developers/deep-memory-profiler/cpp-object-t ype-identifier | 318 # See http://dev.chromium.org/developers/deep-memory-profiler/cpp-object-t ype-identifier |
| 315 # TODO(dmikurube): Support mac. See http://crbug.com/123758#c11 | 319 # TODO(dmikurube): Support mac. See http://crbug.com/123758#c11 |
| 316 'clang_type_profiler%': 0, | 320 'clang_type_profiler%': 0, |
| 317 | 321 |
| 318 # Set to true to instrument the code with function call logger. | 322 # Set to true to instrument the code with function call logger. |
| 319 # See src/third_party/cygprofile/cyg-profile.cc for details. | 323 # See src/third_party/cygprofile/cyg-profile.cc for details. |
| 320 'order_profiling%': 0, | 324 'order_profiling%': 0, |
| 321 | 325 |
| (...skipping 511 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 833 'safe_browsing%': '<(safe_browsing)', | 837 'safe_browsing%': '<(safe_browsing)', |
| 834 'input_speech%': '<(input_speech)', | 838 'input_speech%': '<(input_speech)', |
| 835 'notifications%': '<(notifications)', | 839 'notifications%': '<(notifications)', |
| 836 'clang_use_chrome_plugins%': '<(clang_use_chrome_plugins)', | 840 'clang_use_chrome_plugins%': '<(clang_use_chrome_plugins)', |
| 837 'mac_want_real_dsym%': '<(mac_want_real_dsym)', | 841 'mac_want_real_dsym%': '<(mac_want_real_dsym)', |
| 838 'asan%': '<(asan)', | 842 'asan%': '<(asan)', |
| 839 'lsan%': '<(lsan)', | 843 'lsan%': '<(lsan)', |
| 840 'msan%': '<(msan)', | 844 'msan%': '<(msan)', |
| 841 'tsan%': '<(tsan)', | 845 'tsan%': '<(tsan)', |
| 842 'tsan_blacklist%': '<(tsan_blacklist)', | 846 'tsan_blacklist%': '<(tsan_blacklist)', |
| 847 'use_instrumented_libraries%': '<(use_instrumented_libraries)', | |
| 843 'clang_type_profiler%': '<(clang_type_profiler)', | 848 'clang_type_profiler%': '<(clang_type_profiler)', |
| 844 'order_profiling%': '<(order_profiling)', | 849 'order_profiling%': '<(order_profiling)', |
| 845 'order_text_section%': '<(order_text_section)', | 850 'order_text_section%': '<(order_text_section)', |
| 846 'enable_extensions%': '<(enable_extensions)', | 851 'enable_extensions%': '<(enable_extensions)', |
| 847 'enable_plugin_installation%': '<(enable_plugin_installation)', | 852 'enable_plugin_installation%': '<(enable_plugin_installation)', |
| 848 'enable_plugins%': '<(enable_plugins)', | 853 'enable_plugins%': '<(enable_plugins)', |
| 849 'enable_session_service%': '<(enable_session_service)', | 854 'enable_session_service%': '<(enable_session_service)', |
| 850 'enable_themes%': '<(enable_themes)', | 855 'enable_themes%': '<(enable_themes)', |
| 851 'enable_autofill_dialog%': '<(enable_autofill_dialog)', | 856 'enable_autofill_dialog%': '<(enable_autofill_dialog)', |
| 852 'enable_background%': '<(enable_background)', | 857 'enable_background%': '<(enable_background)', |
| (...skipping 2506 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3359 'target_conditions': [ | 3364 'target_conditions': [ |
| 3360 ['_type=="executable"', { | 3365 ['_type=="executable"', { |
| 3361 'ldflags': [ | 3366 'ldflags': [ |
| 3362 '-pie', | 3367 '-pie', |
| 3363 ], | 3368 ], |
| 3364 }], | 3369 }], |
| 3365 ], | 3370 ], |
| 3366 }], | 3371 }], |
| 3367 ], | 3372 ], |
| 3368 }], | 3373 }], |
| 3374 ['use_instrumented_libraries==1', { | |
| 3375 'dependencies': [ | |
|
Nico
2013/10/30 14:47:02
Why do you always need this but the rpath bit only
alextaran1
2013/10/30 16:08:54
We are going to have different instrumentation typ
| |
| 3376 '<(DEPTH)/third_party/instrumented_libraries/instrumented_librarie s.gyp:instrumented_libraries', | |
| 3377 ], | |
| 3378 'conditions': [ | |
| 3379 ['asan==1', { | |
| 3380 'target_conditions': [ | |
| 3381 ['_toolset=="target"', { | |
| 3382 'ldflags': [ | |
| 3383 # Add RPATH to result binary to make it linking instrument ed libraries ($ORIGIN means relative RPATH) | |
| 3384 '-Wl,-R,\\$$ORIGIN/instrumented_libraries/asan/lib/:\\$$OR IGIN/instrumented_libraries/asan/usr/lib/x86_64-linux-gnu/', | |
|
Nico
2013/10/30 14:47:02
Just one backslash in front of $ is enough (and co
alextaran1
2013/10/30 16:08:54
Done.
| |
| 3385 '-Wl,-z,origin', | |
| 3386 ], | |
| 3387 }], | |
| 3388 ], | |
| 3389 }], | |
| 3390 ], | |
| 3391 }], | |
| 3369 ['order_profiling!=0 and (chromeos==1 or OS=="linux" or OS=="android") ', { | 3392 ['order_profiling!=0 and (chromeos==1 or OS=="linux" or OS=="android") ', { |
| 3370 'target_conditions' : [ | 3393 'target_conditions' : [ |
| 3371 ['_toolset=="target"', { | 3394 ['_toolset=="target"', { |
| 3372 'cflags': [ | 3395 'cflags': [ |
| 3373 '-finstrument-functions', | 3396 '-finstrument-functions', |
| 3374 # Allow mmx intrinsics to inline, so that the | 3397 # Allow mmx intrinsics to inline, so that the |
| 3375 #0 compiler can expand the intrinsics. | 3398 #0 compiler can expand the intrinsics. |
| 3376 '-finstrument-functions-exclude-file-list=mmintrin.h', | 3399 '-finstrument-functions-exclude-file-list=mmintrin.h', |
| 3377 ], | 3400 ], |
| 3378 }], | 3401 }], |
| (...skipping 1366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4745 # settings in target dicts. SYMROOT is a special case, because many other | 4768 # settings in target dicts. SYMROOT is a special case, because many other |
| 4746 # Xcode variables depend on it, including variables such as | 4769 # Xcode variables depend on it, including variables such as |
| 4747 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something | 4770 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something |
| 4748 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the | 4771 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the |
| 4749 # files to appear (when present) in the UI as actual files and not red | 4772 # files to appear (when present) in the UI as actual files and not red |
| 4750 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, | 4773 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, |
| 4751 # and therefore SYMROOT, needs to be set at the project level. | 4774 # and therefore SYMROOT, needs to be set at the project level. |
| 4752 'SYMROOT': '<(DEPTH)/xcodebuild', | 4775 'SYMROOT': '<(DEPTH)/xcodebuild', |
| 4753 }, | 4776 }, |
| 4754 } | 4777 } |
| OLD | NEW |