diff options
Diffstat (limited to 'chromium/build/config/fuchsia/rules.gni')
-rw-r--r-- | chromium/build/config/fuchsia/rules.gni | 162 |
1 files changed, 2 insertions, 160 deletions
diff --git a/chromium/build/config/fuchsia/rules.gni b/chromium/build/config/fuchsia/rules.gni index f7edfdcba3a..689e130b651 100644 --- a/chromium/build/config/fuchsia/rules.gni +++ b/chromium/build/config/fuchsia/rules.gni @@ -1,163 +1,5 @@ -# Copyright 2018 The Chromium Authors. All rights reserved. +# Copyright 2019 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -assert(is_fuchsia) - -import("//build/config/chromecast_build.gni") -import("//build/config/fuchsia/config.gni") -import("//build/config/fuchsia/package.gni") -import("//build/config/sysroot.gni") -import("//build/util/generate_wrapper.gni") - -# Generates a script which deploys and executes a package on a device. -# -# Parameters: -# package: The package() target which will be run. -# package_name_override: Specifies the name of the generated package, if its -# name is different than the |package| target name. This value must match -# package_name_override in the |package| target. -# package_deps: An array of [package, package_name_override] array pairs -# which specify additional dependency packages to be installed -# prior to execution. -# runner_script: The runner script implementation to use, relative to -# "build/fuchsia". Defaults to "exe_runner.py". -# install_only: If true, executing the script will only install the package -# on the device, but not run it. -template("fuchsia_package_runner") { - forward_variables_from(invoker, [ "runner_script" ]) - - if (defined(invoker.package_name_override)) { - _pkg_shortname = invoker.package_name_override - } else { - _pkg_shortname = get_label_info(invoker.package, "name") - } - - _pkg_dir = "$root_out_dir/gen/" + get_label_info(invoker.package, "dir") + - "/" + _pkg_shortname - _manifest_path = "$_pkg_dir/${_pkg_shortname}.archive_manifest" - _package_path = "$_pkg_dir/${_pkg_shortname}.far" - - if (!defined(runner_script)) { - runner_script = "//build/fuchsia/exe_runner.py" - } - - generated_run_pkg_script_path = "$root_build_dir/bin/run_${_pkg_shortname}" - generated_install_pkg_script_path = - "$root_build_dir/bin/install_$_pkg_shortname" - - _generate_runner_target = "${target_name}__generate_runner" - _generate_installer_target = "${target_name}__generate_installer" - _generate_template = "${target_name}__generate_template" - - # Generates a script to install and optionally run a package. - # - # Parameters: - # |install_only|: If true, builds a script that only installs a package. - # |script_path|: The path of the script to generate. - template(_generate_template) { - generate_wrapper(target_name) { - forward_variables_from(invoker, - [ - "install_only", - "script_path", - "target", - "testonly", - ]) - - executable = runner_script - wrapper_script = script_path - - deps = [ - invoker.package, - ] - - if (defined(invoker.deps)) { - deps += invoker.deps - } - - # Declares the files that are needed for test execution on the - # swarming test client. - data = [ - _manifest_path, - "//build/fuchsia/", - "//build/util/lib/", - "//third_party/llvm-build/Release+Asserts/bin/llvm-symbolizer", - "${qemu_root}/", - "${fuchsia_sdk}/tools/fvm", - "${fuchsia_sdk}/tools/pm", - "${fuchsia_sdk}/tools/symbolize", - "${fuchsia_sdk}/tools/zbi", - "${fuchsia_sdk}/.build-id/", - "${boot_image_root}/qemu/qemu-kernel.kernel", - "${boot_image_root}/qemu/storage-full.blk", - "${boot_image_root}/qemu/zircon-a.zbi", - ] - - data_deps = [ - invoker.package, - ] - - executable_args = [] - - if (defined(invoker.package_deps)) { - foreach(cur_package, invoker.package_deps) { - deps += [ cur_package[0] ] - dep_package_path = - get_label_info(cur_package[0], "target_gen_dir") + "/" + - cur_package[1] + "/" + cur_package[1] + ".far" - _rebased_dep_package_path = - rebase_path(dep_package_path, root_build_dir) - executable_args += [ - "--package-dep", - "@WrappedPath(${_rebased_dep_package_path})", - ] - } - } - - _rebased_package_path = rebase_path(_package_path, root_build_dir) - executable_args += [ - "--output-directory", - "@WrappedPath(.)", - "--target-cpu", - target_cpu, - "--package", - "@WrappedPath(${_rebased_package_path})", - "--package-name", - _pkg_shortname, - ] - - if (defined(invoker.use_test_server) && invoker.use_test_server) { - executable_args += [ "--enable-test-server" ] - } - - if (defined(install_only) && install_only) { - executable_args += [ "--install-only" ] - } - } - } - - target(_generate_template, _generate_runner_target) { - forward_variables_from(invoker, "*") - script_path = generated_run_pkg_script_path - } - - target(_generate_template, _generate_installer_target) { - forward_variables_from(invoker, "*") - script_path = generated_install_pkg_script_path - install_only = true - } - - # Build the installer script, and the runner for non-|install_only| targets. - group(target_name) { - forward_variables_from(invoker, [ "testonly" ]) - deps = [ - ":${_generate_installer_target}", - ] - - # Generate a runner script if the target is not install-only. - if (!defined(invoker.install_only)) { - deps += [ ":${_generate_runner_target}" ] - } - } -} +import("//build/config/fuchsia/generate_runner_scripts.gni") |