| # Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file |
| # for details. All rights reserved. Use of this source code is governed by a |
| # BSD-style license that can be found in the LICENSE file. |
| |
| import("../build/dart_host_sdk_toolchain.gni") |
| import("../build/prebuilt_dart_sdk.gni") |
| |
| _dart_root = get_path_info("..", "abspath") |
| |
| template("compile_platform") { |
| assert(defined(invoker.sources), "Need 'sources' in $target_name") |
| assert(defined(invoker.outputs), "Need 'outputs' in $target_name") |
| assert(defined(invoker.args), "Need 'args' in $target_name") |
| assert(!defined(invoker.script), "Remove 'script' from $target_name") |
| assert(!defined(invoker.depfile), "Remove 'depfile' from $target_name") |
| |
| action(target_name) { |
| script = "$_dart_root/tools/compile_platform.py" |
| |
| sources = invoker.sources |
| |
| outputs = invoker.outputs |
| |
| inputs = [] |
| deps = [] |
| args = [] |
| |
| if (defined(invoker.deps)) { |
| deps += invoker.deps |
| } |
| |
| if (defined(invoker.inputs)) { |
| inputs += invoker.inputs |
| } |
| |
| depfile = outputs[0] + ".d" |
| |
| if (!prebuilt_dart_exe_works) { |
| deps += [ "$_dart_root/runtime/bin:dart_bootstrap($dart_host_toolchain)" ] |
| dart_out_dir = get_label_info( |
| "$_dart_root/runtime/bin:dart_bootstrap($dart_host_toolchain)", |
| "root_out_dir") |
| args += [ |
| "--dart-executable", |
| rebase_path("$dart_out_dir/dart_bootstrap$executable_suffix"), |
| ] |
| } |
| |
| args += invoker.args |
| args += rebase_path(sources, root_build_dir) |
| args += rebase_path(outputs, root_build_dir) |
| } |
| } |