# 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/dart_host_sdk_toolchain.gni") import("../build/dart/prebuilt_dart_sdk.gni") _is_fuchsia = defined(is_fuchsia_tree) && is_fuchsia_tree if (_is_fuchsia) { import("//build/dart/dart.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 (_is_fuchsia) { args += [ "--dart-executable", rebase_path(prebuilt_dart), ] } else 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) } }