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/sanitizers/sanitizers.gni") | 7 import("//build/config/sanitizers/sanitizers.gni") |
8 import("//build/config/v8_target_cpu.gni") | 8 import("//build/config/v8_target_cpu.gni") |
9 import("//build/toolchain/cc_wrapper.gni") | 9 import("//build/toolchain/cc_wrapper.gni") |
10 import("//build/toolchain/clang_static_analyzer.gni") | 10 import("//build/toolchain/clang_static_analyzer.gni") |
(...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
380 assert(defined(readelf), "to solink you must have a readelf") | 380 assert(defined(readelf), "to solink you must have a readelf") |
381 assert(defined(nm), "to solink you must have an nm") | 381 assert(defined(nm), "to solink you must have an nm") |
382 strip_switch = "" | 382 strip_switch = "" |
383 if (defined(invoker.strip)) { | 383 if (defined(invoker.strip)) { |
384 strip_switch = "--strip=${invoker.strip} " | 384 strip_switch = "--strip=${invoker.strip} " |
385 } | 385 } |
386 | 386 |
387 # This needs a Python script to avoid using a complex shell command | 387 # This needs a Python script to avoid using a complex shell command |
388 # requiring sh control structures, pipelines, and POSIX utilities. | 388 # requiring sh control structures, pipelines, and POSIX utilities. |
389 # The host might not have a POSIX shell and utilities (e.g. Windows). | 389 # The host might not have a POSIX shell and utilities (e.g. Windows). |
390 solink_wrapper = rebase_path("//build/toolchain/gcc_solink_wrapper.py") | 390 solink_wrapper = |
| 391 rebase_path("//build/toolchain/gcc_solink_wrapper.py", root_build_dir) |
391 command = "$python_path \"$solink_wrapper\" --readelf=\"$readelf\" --nm=\"
$nm\" $strip_switch--sofile=\"$unstripped_sofile\" --tocfile=\"$tocfile\"$map_sw
itch --output=\"$sofile\"$whitelist_flag -- $link_command" | 392 command = "$python_path \"$solink_wrapper\" --readelf=\"$readelf\" --nm=\"
$nm\" $strip_switch--sofile=\"$unstripped_sofile\" --tocfile=\"$tocfile\"$map_sw
itch --output=\"$sofile\"$whitelist_flag -- $link_command" |
392 | 393 |
393 rspfile_content = "-Wl,--whole-archive {{inputs}} {{solibs}} -Wl,--no-whol
e-archive $solink_libs_section_prefix {{libs}} $solink_libs_section_postfix" | 394 rspfile_content = "-Wl,--whole-archive {{inputs}} {{solibs}} -Wl,--no-whol
e-archive $solink_libs_section_prefix {{libs}} $solink_libs_section_postfix" |
394 | 395 |
395 description = "SOLINK $sofile" | 396 description = "SOLINK $sofile" |
396 | 397 |
397 # Use this for {{output_extension}} expansions unless a target manually | 398 # Use this for {{output_extension}} expansions unless a target manually |
398 # overrides it (in which case {{output_extension}} will be what the target | 399 # overrides it (in which case {{output_extension}} will be what the target |
399 # specifies). | 400 # specifies). |
400 default_output_extension = default_shlib_extension | 401 default_output_extension = default_shlib_extension |
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
584 ]) | 585 ]) |
585 | 586 |
586 toolchain_args = { | 587 toolchain_args = { |
587 if (defined(invoker.toolchain_args)) { | 588 if (defined(invoker.toolchain_args)) { |
588 forward_variables_from(invoker.toolchain_args, "*") | 589 forward_variables_from(invoker.toolchain_args, "*") |
589 } | 590 } |
590 is_clang = true | 591 is_clang = true |
591 } | 592 } |
592 } | 593 } |
593 } | 594 } |
OLD | NEW |