Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(55)

Side by Side Diff: build/common.gypi

Issue 137823014: Start landing build support for Clang-style ASan on Windows (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Bump clang rev to force rebuild Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | tools/clang/scripts/update.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 1062 matching lines...) Expand 10 before | Expand all | Expand 10 after
1073 # The default settings for third party code for treating 1073 # The default settings for third party code for treating
1074 # warnings-as-errors. Ideally, this would not be required, however there 1074 # warnings-as-errors. Ideally, this would not be required, however there
1075 # is some third party code that takes a long time to fix/roll. So, this 1075 # is some third party code that takes a long time to fix/roll. So, this
1076 # flag allows us to have warnings as errors in general to prevent 1076 # flag allows us to have warnings as errors in general to prevent
1077 # regressions in most modules, while working on the bits that are 1077 # regressions in most modules, while working on the bits that are
1078 # remaining. 1078 # remaining.
1079 'win_third_party_warn_as_error%': 'true', 1079 'win_third_party_warn_as_error%': 'true',
1080 1080
1081 # Clang stuff. 1081 # Clang stuff.
1082 'clang%': '<(clang)', 1082 'clang%': '<(clang)',
1083 'make_clang_dir%': 'third_party/llvm-build/Release+Asserts', 1083 'make_clang_dir%': '<!(python -c "import sys, os; print os.path.abspath(sys. argv[1])" <(DEPTH)/third_party/llvm-build/Release+Asserts)',
Timur Iskhodzhanov 2014/02/13 09:18:30 Maybe want to add a comment explaining why absolut
1084 1084
1085 # These two variables can be set in GYP_DEFINES while running 1085 # These two variables can be set in GYP_DEFINES while running
1086 # |gclient runhooks| to let clang run a plugin in every compilation. 1086 # |gclient runhooks| to let clang run a plugin in every compilation.
1087 # Only has an effect if 'clang=1' is in GYP_DEFINES as well. 1087 # Only has an effect if 'clang=1' is in GYP_DEFINES as well.
1088 # Example: 1088 # Example:
1089 # GYP_DEFINES='clang=1 clang_load=/abs/path/to/libPrintFunctionNames.dyl ib clang_add_plugin=print-fns' gclient runhooks 1089 # GYP_DEFINES='clang=1 clang_load=/abs/path/to/libPrintFunctionNames.dyl ib clang_add_plugin=print-fns' gclient runhooks
1090 1090
1091 'clang_load%': '', 1091 'clang_load%': '',
1092 'clang_add_plugin%': '', 1092 'clang_add_plugin%': '',
1093 1093
(...skipping 478 matching lines...) Expand 10 before | Expand all | Expand 10 after
1572 'winsdk_arch%': 'x86', 1572 'winsdk_arch%': 'x86',
1573 },{ 1573 },{
1574 'winsdk_arch%': '<(target_arch)', 1574 'winsdk_arch%': '<(target_arch)',
1575 }], 1575 }],
1576 ['component=="shared_library"', { 1576 ['component=="shared_library"', {
1577 'win_use_allocator_shim%': 0, 1577 'win_use_allocator_shim%': 0,
1578 },{ 1578 },{
1579 # Turn on multiple dll by default on Windows when in static_library. 1579 # Turn on multiple dll by default on Windows when in static_library.
1580 'chrome_multiple_dll%': 1, 1580 'chrome_multiple_dll%': 1,
1581 }], 1581 }],
1582 ['clang==1 and asan==1', {
1583 'win_use_allocator_shim%': 0,
1584 }],
1582 ['component=="shared_library" and "<(GENERATOR)"=="ninja"', { 1585 ['component=="shared_library" and "<(GENERATOR)"=="ninja"', {
1583 # Only enabled by default for ninja because it's buggy in VS. 1586 # Only enabled by default for ninja because it's buggy in VS.
1584 # Not enabled for component=static_library because some targets 1587 # Not enabled for component=static_library because some targets
1585 # are too large and the toolchain fails due to the size of the 1588 # are too large and the toolchain fails due to the size of the
1586 # .obj files. 1589 # .obj files.
1587 'incremental_chrome_dll%': 1, 1590 'incremental_chrome_dll%': 1,
1588 }], 1591 }],
1589 # Don't do incremental linking for large modules on 32-bit or when 1592 # Don't do incremental linking for large modules on 32-bit or when
1590 # component=static_library as the toolchain fails due to the size of 1593 # component=static_library as the toolchain fails due to the size of
1591 # the .ilk files. 1594 # the .ilk files.
(...skipping 722 matching lines...) Expand 10 before | Expand all | Expand 10 after
2314 ['use_openssl==1', { 2317 ['use_openssl==1', {
2315 'defines': [ 2318 'defines': [
2316 'USE_OPENSSL=1', 2319 'USE_OPENSSL=1',
2317 ], 2320 ],
2318 }], 2321 }],
2319 ['enable_eglimage==1', { 2322 ['enable_eglimage==1', {
2320 'defines': [ 2323 'defines': [
2321 'ENABLE_EGLIMAGE=1', 2324 'ENABLE_EGLIMAGE=1',
2322 ], 2325 ],
2323 }], 2326 }],
2324 ['asan==1 and OS=="win"', { 2327 ['asan==1 and OS=="win" and clang!=1', {
2325 # Since asan on windows uses Syzygy, we need /PROFILE turned on to 2328 # For SyzyAsan, we need /PROFILE turned on to
2326 # produce appropriate pdbs. 2329 # produce appropriate pdbs.
2327 'msvs_settings': { 2330 'msvs_settings': {
2328 'VCLinkerTool': { 2331 'VCLinkerTool': {
2329 'Profile': 'true', 2332 'Profile': 'true',
2330 }, 2333 },
2331 }, 2334 },
2332 'defines': [ 2335 'defines': [
2333 'ADDRESS_SANITIZER', 2336 'ADDRESS_SANITIZER',
2334 'MEMORY_TOOL_REPLACES_ALLOCATOR', 2337 'MEMORY_TOOL_REPLACES_ALLOCATOR',
2335 ], 2338 ],
(...skipping 2384 matching lines...) Expand 10 before | Expand all | Expand 10 after
4720 }], 4723 }],
4721 ['MSVS_VERSION=="2010" or MSVS_VERSION=="2010e"', { 4724 ['MSVS_VERSION=="2010" or MSVS_VERSION=="2010e"', {
4722 'VCCLCompilerTool': { 4725 'VCCLCompilerTool': {
4723 'AdditionalOptions': [ 4726 'AdditionalOptions': [
4724 '-fmsc-version=1600', 4727 '-fmsc-version=1600',
4725 ], 4728 ],
4726 }, 4729 },
4727 }], 4730 }],
4728 ], 4731 ],
4729 }], 4732 }],
4733 ['clang==1 and asan==1', {
4734 # Building with Clang on Windows is a work in progress and very
4735 # experimental. See crbug.com/82385.
4736 'VCCLCompilerTool': {
4737 'AdditionalOptions': [
4738 '-fsanitize=address',
4739 ],
4740 },
4741 'target_conditions': [
4742 ['_type=="executable"', {
4743 'VCLinkerTool': {
4744 'AdditionalOptions': [
4745 '<(make_clang_dir)/lib/clang/3.5/lib/windows/clang_rt.asa n-i386.lib',
4746 ],
4747 },
4748 }],
4749 ['_type=="shared_library" or _type=="loadable_module"', {
4750 'VCLinkerTool': {
4751 'AdditionalOptions': [
4752 '<(make_clang_dir)/lib/clang/3.5/lib/windows/clang_rt.asa n_dll_thunk-i386.lib',
4753 ],
4754 },
4755 }],
4756 ],
4757 }],
4730 ], 4758 ],
4731 }, 4759 },
4732 }, 4760 },
4733 }], 4761 }],
4734 ['disable_nacl==1', { 4762 ['disable_nacl==1', {
4735 'target_defaults': { 4763 'target_defaults': {
4736 'defines': [ 4764 'defines': [
4737 'DISABLE_NACL', 4765 'DISABLE_NACL',
4738 ], 4766 ],
4739 }, 4767 },
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
4910 # settings in target dicts. SYMROOT is a special case, because many other 4938 # settings in target dicts. SYMROOT is a special case, because many other
4911 # Xcode variables depend on it, including variables such as 4939 # Xcode variables depend on it, including variables such as
4912 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something 4940 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something
4913 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the 4941 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the
4914 # files to appear (when present) in the UI as actual files and not red 4942 # files to appear (when present) in the UI as actual files and not red
4915 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, 4943 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR,
4916 # and therefore SYMROOT, needs to be set at the project level. 4944 # and therefore SYMROOT, needs to be set at the project level.
4917 'SYMROOT': '<(DEPTH)/xcodebuild', 4945 'SYMROOT': '<(DEPTH)/xcodebuild',
4918 }, 4946 },
4919 } 4947 }
OLDNEW
« no previous file with comments | « no previous file | tools/clang/scripts/update.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698