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

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: Rebase 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 1589 matching lines...) Expand 10 before | Expand all | Expand 10 after
1600 'winsdk_arch%': 'x86', 1600 'winsdk_arch%': 'x86',
1601 },{ 1601 },{
1602 'winsdk_arch%': '<(target_arch)', 1602 'winsdk_arch%': '<(target_arch)',
1603 }], 1603 }],
1604 ['component=="shared_library"', { 1604 ['component=="shared_library"', {
1605 'win_use_allocator_shim%': 0, 1605 'win_use_allocator_shim%': 0,
1606 },{ 1606 },{
1607 # Turn on multiple dll by default on Windows when in static_library. 1607 # Turn on multiple dll by default on Windows when in static_library.
1608 'chrome_multiple_dll%': 1, 1608 'chrome_multiple_dll%': 1,
1609 }], 1609 }],
1610 ['asan==1', {
1611 'win_use_allocator_shim%': 0,
1612 }],
1610 ['component=="shared_library" and "<(GENERATOR)"=="ninja"', { 1613 ['component=="shared_library" and "<(GENERATOR)"=="ninja"', {
1611 # Only enabled by default for ninja because it's buggy in VS. 1614 # Only enabled by default for ninja because it's buggy in VS.
1612 # Not enabled for component=static_library because some targets 1615 # Not enabled for component=static_library because some targets
1613 # are too large and the toolchain fails due to the size of the 1616 # are too large and the toolchain fails due to the size of the
1614 # .obj files. 1617 # .obj files.
1615 'incremental_chrome_dll%': 1, 1618 'incremental_chrome_dll%': 1,
1616 }], 1619 }],
1617 # Don't do incremental linking for large modules on 32-bit or when 1620 # Don't do incremental linking for large modules on 32-bit or when
1618 # component=static_library as the toolchain fails due to the size of 1621 # component=static_library as the toolchain fails due to the size of
1619 # the .ilk files. 1622 # the .ilk files.
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
1810 }], 1813 }],
1811 ['notifications==1', { 1814 ['notifications==1', {
1812 'grit_defines': ['-D', 'enable_notifications'], 1815 'grit_defines': ['-D', 'enable_notifications'],
1813 }], 1816 }],
1814 ['clang_use_chrome_plugins==1 and OS!="win"', { 1817 ['clang_use_chrome_plugins==1 and OS!="win"', {
1815 'clang_chrome_plugins_flags': [ 1818 'clang_chrome_plugins_flags': [
1816 '<!@(<(DEPTH)/tools/clang/scripts/plugin_flags.sh)' 1819 '<!@(<(DEPTH)/tools/clang/scripts/plugin_flags.sh)'
1817 ], 1820 ],
1818 }], 1821 }],
1819 1822
1820 ['asan==1 and OS=="win"', { 1823 ['asan==1', {
1821 # TODO(hans): Remove once users set syzyasan (crbug.com/343960).
1822 'syzyasan%': 1,
1823 }],
1824 ['asan==1 and OS!="win"', {
1825 # TODO(hans): Windows should use Clang-based ASan (crbug.com/343960).
1826 'clang%': 1, 1824 'clang%': 1,
1827 }], 1825 }],
1828 ['asan==1 and OS=="mac"', { 1826 ['asan==1 and OS=="mac"', {
1829 # TODO(glider): we do not strip ASan binaries until the dynamic ASan 1827 # TODO(glider): we do not strip ASan binaries until the dynamic ASan
1830 # runtime is fully adopted. See http://crbug.com/242503. 1828 # runtime is fully adopted. See http://crbug.com/242503.
1831 'mac_strip_release': 0, 1829 'mac_strip_release': 0,
1832 }], 1830 }],
1833 ['lsan==1', { 1831 ['lsan==1', {
1834 'clang%': 1, 1832 'clang%': 1,
1835 }], 1833 }],
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
1972 # goma doesn't support pch yet. 1970 # goma doesn't support pch yet.
1973 'chromium_win_pch': 0, 1971 'chromium_win_pch': 0,
1974 # goma doesn't support PDB yet, so win_z7=1 or fastbuild=1. 1972 # goma doesn't support PDB yet, so win_z7=1 or fastbuild=1.
1975 'conditions': [ 1973 'conditions': [
1976 ['fastbuild==0', { 1974 ['fastbuild==0', {
1977 'win_z7': 1, 1975 'win_z7': 1,
1978 }], 1976 }],
1979 ], 1977 ],
1980 }], 1978 }],
1981 1979
1982 ['OS=="win" and clang==1', { 1980 ['OS=="win" and (clang==1 or asan==1)', {
1983 'chromium_win_pch': 0, 1981 'chromium_win_pch': 0,
1984 }], 1982 }],
1985 1983
1986 # The seccomp-bpf sandbox is only supported on three architectures 1984 # The seccomp-bpf sandbox is only supported on three architectures
1987 # currently. 1985 # currently.
1988 # Do not disable seccomp_bpf anywhere without talking to 1986 # Do not disable seccomp_bpf anywhere without talking to
1989 # security@chromium.org! 1987 # security@chromium.org!
1990 ['((OS=="linux" or OS=="android") and ' 1988 ['((OS=="linux" or OS=="android") and '
1991 '(target_arch=="ia32" or target_arch=="x64" or ' 1989 '(target_arch=="ia32" or target_arch=="x64" or '
1992 'target_arch=="arm"))', { 1990 'target_arch=="arm"))', {
(...skipping 2821 matching lines...) Expand 10 before | Expand all | Expand 10 after
4814 }], 4812 }],
4815 ['MSVS_VERSION=="2010" or MSVS_VERSION=="2010e"', { 4813 ['MSVS_VERSION=="2010" or MSVS_VERSION=="2010e"', {
4816 'VCCLCompilerTool': { 4814 'VCCLCompilerTool': {
4817 'AdditionalOptions': [ 4815 'AdditionalOptions': [
4818 '-fmsc-version=1600', 4816 '-fmsc-version=1600',
4819 ], 4817 ],
4820 }, 4818 },
4821 }], 4819 }],
4822 ], 4820 ],
4823 }], 4821 }],
4822 ['asan==1', {
4823 # ASan on Windows is a work in progress and very experimental.
4824 # See crbug.com/345874.
4825 'VCCLCompilerTool': {
4826 'AdditionalOptions': [
4827 '-fsanitize=address',
4828 ],
4829 },
4830 'VCLinkerTool': {
4831 'AdditionalLibraryDirectories': [
4832 # TODO(hans): If make_clang_dir is absolute, this breaks.
4833 '<(DEPTH)/<(make_clang_dir)/lib/clang/3.5/lib/windows',
4834 ],
4835 },
4836 'target_conditions': [
4837 ['_type=="executable"', {
4838 'VCLinkerTool': {
4839 'AdditionalDependencies': [
4840 'clang_rt.asan-i386.lib',
4841 ],
4842 },
4843 }],
4844 ['_type=="shared_library" or _type=="loadable_module"', {
4845 'VCLinkerTool': {
4846 'AdditionalDependencies': [
4847 'clang_rt.asan_dll_thunk-i386.lib',
4848 ],
4849 },
4850 }],
4851 ],
4852 }],
4824 ], 4853 ],
4825 }, 4854 },
4826 }, 4855 },
4827 }], 4856 }],
4828 ['disable_nacl==1', { 4857 ['disable_nacl==1', {
4829 'target_defaults': { 4858 'target_defaults': {
4830 'defines': [ 4859 'defines': [
4831 'DISABLE_NACL', 4860 'DISABLE_NACL',
4832 ], 4861 ],
4833 }, 4862 },
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
5005 # settings in target dicts. SYMROOT is a special case, because many other 5034 # settings in target dicts. SYMROOT is a special case, because many other
5006 # Xcode variables depend on it, including variables such as 5035 # Xcode variables depend on it, including variables such as
5007 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something 5036 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something
5008 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the 5037 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the
5009 # files to appear (when present) in the UI as actual files and not red 5038 # files to appear (when present) in the UI as actual files and not red
5010 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, 5039 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR,
5011 # and therefore SYMROOT, needs to be set at the project level. 5040 # and therefore SYMROOT, needs to be set at the project level.
5012 'SYMROOT': '<(DEPTH)/xcodebuild', 5041 'SYMROOT': '<(DEPTH)/xcodebuild',
5013 }, 5042 },
5014 } 5043 }
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