OLD | NEW |
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2013 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 import("//build/config/android/config.gni") | 5 import("//build/config/android/config.gni") |
6 import("//build/config/clang/clang.gni") | 6 import("//build/config/clang/clang.gni") |
7 import("//build/config/nacl/config.gni") | 7 import("//build/config/nacl/config.gni") |
8 import("//build/config/sanitizers/sanitizers.gni") | 8 import("//build/config/sanitizers/sanitizers.gni") |
9 import("//build/config/v8_target_cpu.gni") | 9 import("//build/config/v8_target_cpu.gni") |
10 import("//build/toolchain/cc_wrapper.gni") | 10 import("//build/toolchain/cc_wrapper.gni") |
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
214 } | 214 } |
215 | 215 |
216 # These library switches can apply to all tools below. | 216 # These library switches can apply to all tools below. |
217 lib_switch = "-l" | 217 lib_switch = "-l" |
218 lib_dir_switch = "-L" | 218 lib_dir_switch = "-L" |
219 | 219 |
220 # Object files go in this directory. | 220 # Object files go in this directory. |
221 object_subdir = "{{target_out_dir}}/{{label_name}}" | 221 object_subdir = "{{target_out_dir}}/{{label_name}}" |
222 | 222 |
223 tool("cc") { | 223 tool("cc") { |
224 whitelist_flag = " " | |
225 if (enable_resource_whitelist_generation) { | |
226 whitelist_flag = " --resource-whitelist=\"{{output}}.whitelist\"" | |
227 } | |
228 depfile = "{{output}}.d" | 224 depfile = "{{output}}.d" |
229 command = "$cc -MMD -MF $depfile ${rebuild_string}{{defines}} {{include_di
rs}} {{cflags}} {{cflags_c}}${extra_cppflags}${extra_cflags} -c {{source}} -o {{
output}}" | 225 command = "$cc -MMD -MF $depfile ${rebuild_string}{{defines}} {{include_di
rs}} {{cflags}} {{cflags_c}}${extra_cppflags}${extra_cflags} -c {{source}} -o {{
output}}" |
230 depsformat = "gcc" | 226 depsformat = "gcc" |
231 description = "CC {{output}}" | 227 description = "CC {{output}}" |
232 outputs = [ | 228 outputs = [ |
233 # The whitelist file is also an output, but ninja does not | 229 # The whitelist file is also an output, but ninja does not |
234 # currently support multiple outputs for tool("cc"). | 230 # currently support multiple outputs for tool("cc"). |
235 "$object_subdir/{{source_name_part}}.o", | 231 "$object_subdir/{{source_name_part}}.o", |
236 ] | 232 ] |
237 compile_wrapper = rebase_path("//build/toolchain/gcc_compile_wrapper.py", | 233 if (enable_resource_whitelist_generation) { |
238 root_build_dir) | 234 compile_wrapper = |
239 command = "$python_path \"$compile_wrapper\"$whitelist_flag $command" | 235 rebase_path("//build/toolchain/gcc_compile_wrapper.py", |
| 236 root_build_dir) |
| 237 command = "$python_path \"$compile_wrapper\" --resource-whitelist=\"{{ou
tput}}.whitelist\" $command" |
| 238 } |
240 } | 239 } |
241 | 240 |
242 tool("cxx") { | 241 tool("cxx") { |
243 whitelist_flag = " " | |
244 if (enable_resource_whitelist_generation) { | |
245 whitelist_flag = " --resource-whitelist=\"{{output}}.whitelist\"" | |
246 } | |
247 depfile = "{{output}}.d" | 242 depfile = "{{output}}.d" |
248 command = "$cxx -MMD -MF $depfile ${rebuild_string}{{defines}} {{include_d
irs}} {{cflags}} {{cflags_cc}}${extra_cppflags}${extra_cxxflags} -c {{source}} -
o {{output}}" | 243 command = "$cxx -MMD -MF $depfile ${rebuild_string}{{defines}} {{include_d
irs}} {{cflags}} {{cflags_cc}}${extra_cppflags}${extra_cxxflags} -c {{source}} -
o {{output}}" |
249 depsformat = "gcc" | 244 depsformat = "gcc" |
250 description = "CXX {{output}}" | 245 description = "CXX {{output}}" |
251 outputs = [ | 246 outputs = [ |
252 # The whitelist file is also an output, but ninja does not | 247 # The whitelist file is also an output, but ninja does not |
253 # currently support multiple outputs for tool("cxx"). | 248 # currently support multiple outputs for tool("cxx"). |
254 "$object_subdir/{{source_name_part}}.o", | 249 "$object_subdir/{{source_name_part}}.o", |
255 ] | 250 ] |
256 compile_wrapper = rebase_path("//build/toolchain/gcc_compile_wrapper.py", | 251 if (enable_resource_whitelist_generation) { |
257 root_build_dir) | 252 compile_wrapper = |
258 command = "$python_path \"$compile_wrapper\"$whitelist_flag $command" | 253 rebase_path("//build/toolchain/gcc_compile_wrapper.py", |
| 254 root_build_dir) |
| 255 command = "$python_path \"$compile_wrapper\" --resource-whitelist=\"{{ou
tput}}.whitelist\" $command" |
| 256 } |
259 } | 257 } |
260 | 258 |
261 tool("asm") { | 259 tool("asm") { |
262 # For GCC we can just use the C compiler to compile assembly. | 260 # For GCC we can just use the C compiler to compile assembly. |
263 depfile = "{{output}}.d" | 261 depfile = "{{output}}.d" |
264 command = "$cc -MMD -MF $depfile ${rebuild_string}{{defines}} {{include_di
rs}} {{asmflags}} -c {{source}} -o {{output}}" | 262 command = "$cc -MMD -MF $depfile ${rebuild_string}{{defines}} {{include_di
rs}} {{asmflags}} -c {{source}} -o {{output}}" |
265 depsformat = "gcc" | 263 depsformat = "gcc" |
266 description = "ASM {{output}}" | 264 description = "ASM {{output}}" |
267 outputs = [ | 265 outputs = [ |
268 "$object_subdir/{{source_name_part}}.o", | 266 "$object_subdir/{{source_name_part}}.o", |
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
496 forward_variables_from(invoker, [ "strip" ]) | 494 forward_variables_from(invoker, [ "strip" ]) |
497 | 495 |
498 toolchain_args = { | 496 toolchain_args = { |
499 if (defined(invoker.toolchain_args)) { | 497 if (defined(invoker.toolchain_args)) { |
500 forward_variables_from(invoker.toolchain_args, "*") | 498 forward_variables_from(invoker.toolchain_args, "*") |
501 } | 499 } |
502 is_clang = true | 500 is_clang = true |
503 } | 501 } |
504 } | 502 } |
505 } | 503 } |
OLD | NEW |