077e1be29c
Turns out that dart compile exe --depfile produces depfile which does not work with ninja because it uses absolute path to the output file instead of using relative path. So we can't use it directly and need to fix depfile. TEST=manually Change-Id: I1aadfd5079cc38d392933f9afe333f63407bb295 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/435680 Reviewed-by: Martin Kustermann <kustermann@google.com> Commit-Queue: Slava Egorov <vegorov@google.com>
60 lines
1.8 KiB
Plaintext
60 lines
1.8 KiB
Plaintext
# Copyright (c) 2024, 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_action.gni")
|
|
import("../sdk_args.gni")
|
|
|
|
_dart_root = get_path_info("..", "abspath")
|
|
|
|
template("aot_compile_using_prebuilt_sdk") {
|
|
action(target_name) {
|
|
forward_variables_from(invoker,
|
|
[
|
|
"deps",
|
|
"pool",
|
|
"testonly",
|
|
"visibility",
|
|
])
|
|
|
|
script = "$_dart_root/build/gn_dart_compile_exe.py"
|
|
|
|
inputs = [
|
|
invoker.entry_point,
|
|
invoker.package_config,
|
|
]
|
|
|
|
outputs = [ invoker.output ]
|
|
|
|
depfile = invoker.output + ".d"
|
|
|
|
# TODO(vegorov): support RBE by using rewrapper script.
|
|
args = [
|
|
"--dart-sdk",
|
|
rebase_path("$_dart_root/tools/sdks/dart-sdk", root_build_dir),
|
|
"--sdk-hash",
|
|
"$sdk_hash",
|
|
"--entry-point",
|
|
rebase_path(invoker.entry_point, root_build_dir),
|
|
"--output",
|
|
rebase_path(invoker.output, root_build_dir),
|
|
"--packages",
|
|
rebase_path(invoker.package_config, root_build_dir),
|
|
"--depfile",
|
|
rebase_path(depfile, root_build_dir),
|
|
]
|
|
}
|
|
}
|
|
|
|
aot_compile_using_prebuilt_sdk("compile_platform.exe") {
|
|
entry_point = "$_dart_root/pkg/front_end/tool/compile_platform.dart"
|
|
output = "$root_out_dir/compile_platform.exe"
|
|
package_config = "$_dart_root/.dart_tool/package_config.json"
|
|
}
|
|
|
|
aot_compile_using_prebuilt_sdk("gen_kernel.exe") {
|
|
entry_point = "$_dart_root/pkg/vm/bin/gen_kernel.dart"
|
|
output = "$root_out_dir/gen_kernel.exe"
|
|
package_config = "$_dart_root/.dart_tool/package_config.json"
|
|
}
|