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 5984 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5995 'make_global_settings': [ | 5995 'make_global_settings': [ |
5996 # On Windows, gyp's ninja generator only looks at CC. | 5996 # On Windows, gyp's ninja generator only looks at CC. |
5997 ['CC', '<(make_clang_dir)/bin/clang-cl'], | 5997 ['CC', '<(make_clang_dir)/bin/clang-cl'], |
5998 ], | 5998 ], |
5999 }], | 5999 }], |
6000 ['use_lld==1 and OS=="win"', { | 6000 ['use_lld==1 and OS=="win"', { |
6001 'make_global_settings': [ | 6001 'make_global_settings': [ |
6002 # Limited to Windows because lld-link is the driver that is | 6002 # Limited to Windows because lld-link is the driver that is |
6003 # compatible with link.exe. | 6003 # compatible with link.exe. |
6004 ['LD', '<(make_clang_dir)/bin/lld-link'], | 6004 ['LD', '<(make_clang_dir)/bin/lld-link'], |
| 6005 # lld-link includes a replacement for lib.exe that can produce thin |
| 6006 # archives and understands bitcode (for use_lto==1). |
| 6007 ['AR', '<(make_clang_dir)/bin/lld-link /lib /llvmlibthin'], |
6005 ], | 6008 ], |
6006 }], | 6009 }], |
6007 ['OS=="android" and clang==0', { | 6010 ['OS=="android" and clang==0', { |
6008 # Hardcode the compiler names in the Makefile so that | 6011 # Hardcode the compiler names in the Makefile so that |
6009 # it won't depend on the environment at make time. | 6012 # it won't depend on the environment at make time. |
6010 'make_global_settings': [ | 6013 'make_global_settings': [ |
6011 ['CC', '<!(/bin/echo -n <(android_toolchain)/*-gcc)'], | 6014 ['CC', '<!(/bin/echo -n <(android_toolchain)/*-gcc)'], |
6012 ['CXX', '<!(/bin/echo -n <(android_toolchain)/*-g++)'], | 6015 ['CXX', '<!(/bin/echo -n <(android_toolchain)/*-g++)'], |
6013 ['CC.host', '<(host_cc)'], | 6016 ['CC.host', '<(host_cc)'], |
6014 ['CXX.host', '<(host_cxx)'], | 6017 ['CXX.host', '<(host_cxx)'], |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6080 }], | 6083 }], |
6081 ['use_lto==1 and clang==1', { | 6084 ['use_lto==1 and clang==1', { |
6082 'target_defaults': { | 6085 'target_defaults': { |
6083 'target_conditions': [ | 6086 'target_conditions': [ |
6084 ['_toolset=="target"', { | 6087 ['_toolset=="target"', { |
6085 'arflags': [ | 6088 'arflags': [ |
6086 '--plugin', '../../<(make_clang_dir)/lib/LLVMgold.so', | 6089 '--plugin', '../../<(make_clang_dir)/lib/LLVMgold.so', |
6087 ], | 6090 ], |
6088 }], | 6091 }], |
6089 ], | 6092 ], |
| 6093 'msvs_settings': { |
| 6094 'VCCLCompilerTool': { |
| 6095 'AdditionalOptions': [ |
| 6096 # TODO(pcc): Add LTO support to clang-cl driver and use it here. |
| 6097 '-Xclang', |
| 6098 '-emit-llvm-bc', |
| 6099 ], |
| 6100 }, |
| 6101 }, |
6090 }, | 6102 }, |
6091 }], | 6103 }], |
6092 # Apply a lower LTO optimization level as the default is too slow. | 6104 # Apply a lower LTO optimization level as the default is too slow. |
6093 ['use_lto==1 and clang==1', { | 6105 ['use_lto==1 and clang==1', { |
6094 'target_defaults': { | 6106 'target_defaults': { |
6095 'target_conditions': [ | 6107 'target_conditions': [ |
6096 ['_toolset=="target"', { | 6108 ['_toolset=="target"', { |
6097 'ldflags': [ | 6109 'ldflags': [ |
6098 '-Wl,--plugin-opt,O1', | 6110 '-Wl,--plugin-opt,O1', |
6099 ], | 6111 ], |
6100 }], | 6112 }], |
6101 ['_toolset=="target" and _type!="static_library"', { | 6113 ['_toolset=="target" and _type!="static_library"', { |
6102 'xcode_settings': { | 6114 'xcode_settings': { |
6103 'OTHER_LDFLAGS': [ | 6115 'OTHER_LDFLAGS': [ |
6104 '-Wl,-mllvm,-O1', | 6116 '-Wl,-mllvm,-O1', |
6105 ], | 6117 ], |
6106 }, | 6118 }, |
6107 }], | 6119 }], |
6108 ], | 6120 ], |
| 6121 'msvs_settings': { |
| 6122 'VCLinkerTool': { |
| 6123 'AdditionalOptions': [ |
| 6124 '/opt:lldlto=1', |
| 6125 ], |
| 6126 }, |
| 6127 }, |
6109 }, | 6128 }, |
6110 }], | 6129 }], |
6111 ['use_lto==1 and clang==1 and target_arch=="arm"', { | 6130 ['use_lto==1 and clang==1 and target_arch=="arm"', { |
6112 'target_defaults': { | 6131 'target_defaults': { |
6113 'target_conditions': [ | 6132 'target_conditions': [ |
6114 ['_toolset=="target"', { | 6133 ['_toolset=="target"', { |
6115 # Without this flag, LTO produces a .text section that is larger | 6134 # Without this flag, LTO produces a .text section that is larger |
6116 # than the maximum call displacement, preventing the linker from | 6135 # than the maximum call displacement, preventing the linker from |
6117 # relocating calls (http://llvm.org/PR22999). | 6136 # relocating calls (http://llvm.org/PR22999). |
6118 'ldflags': [ | 6137 'ldflags': [ |
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6308 # settings in target dicts. SYMROOT is a special case, because many other | 6327 # settings in target dicts. SYMROOT is a special case, because many other |
6309 # Xcode variables depend on it, including variables such as | 6328 # Xcode variables depend on it, including variables such as |
6310 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something | 6329 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something |
6311 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the | 6330 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the |
6312 # files to appear (when present) in the UI as actual files and not red | 6331 # files to appear (when present) in the UI as actual files and not red |
6313 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, | 6332 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, |
6314 # and therefore SYMROOT, needs to be set at the project level. | 6333 # and therefore SYMROOT, needs to be set at the project level. |
6315 'SYMROOT': '<(DEPTH)/xcodebuild', | 6334 'SYMROOT': '<(DEPTH)/xcodebuild', |
6316 }, | 6335 }, |
6317 } | 6336 } |
OLD | NEW |