Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(339)

Unified Diff: utils/invoke_dart.gni

Issue 2379803002: Linux create_sdk GN build for host (Closed)
Patch Set: Move create_timestamp.gni Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « utils/dartfmt/BUILD.gn ('k') | utils/pub/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: utils/invoke_dart.gni
diff --git a/utils/invoke_dart.gni b/utils/invoke_dart.gni
new file mode 100644
index 0000000000000000000000000000000000000000..287d94c633f31d1cf871aa3850cb8f520ab058eb
--- /dev/null
+++ b/utils/invoke_dart.gni
@@ -0,0 +1,88 @@
+# Copyright (c) 2016, 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.
+
+_dart_root = rebase_path("..")
+
+template("invoke_dart") {
+ assert(defined(invoker.outputs), "invoke_dart must specify outputs")
+ extra_deps = []
+ if (defined(invoker.deps)) {
+ extra_deps += invoker.deps
+ }
+
+ extra_inputs = []
+ if (defined(invoker.inputs)) {
+ extra_inputs += invoker.inputs
+ }
+
+ extra_args = []
+ if (defined(invoker.args)) {
+ extra_args += invoker.args
+ }
+
+ action(target_name) {
+ relative_dart_root = rebase_path(_dart_root, ".")
+ deps = extra_deps + [
+ "$relative_dart_root/runtime/bin:dart($host_toolchain)",
+ ]
+
+ dart_out_dir = get_label_info(
+ "$relative_dart_root/runtime/bin:dart($host_toolchain)", "root_out_dir")
+ # TODO(zra): Add platform specific executable suffix (e.g. .exe on win)
+ dart = rebase_path("$dart_out_dir/dart")
+
+ inputs = [
+ dart,
+ ] + extra_inputs
+
+ outputs = invoker.outputs
+
+ script = "$_dart_root/tools/dart_for_gn.py"
+ args = [
+ dart,
+ ] + extra_args
+ }
+}
+
+template("application_snapshot") {
+ assert(defined(invoker.main_dart), "Must specify 'main_dart'")
+ main_dart = invoker.main_dart
+ name = target_name
+ if (defined(invoker.name)) {
+ name = invoker.name
+ }
+ extra_deps = []
+ if (defined(invoker.deps)) {
+ extra_deps += invoker.deps
+ }
+ extra_inputs = []
+ if (defined(invoker.inputs)) {
+ extra_inputs += invoker.inputs
+ }
+ invoke_dart(target_name) {
+ deps = extra_deps + [
+ "$_dart_root/pkg:pkg_files_stamp"
+ ]
+
+ inputs = extra_inputs + [
+ "$_dart_root/sdk/lib/_internal/sdk_library_metadata/lib/libraries.dart",
+ "$root_gen_dir/pkg_files.stamp",
+ ]
+
+ output = "$root_gen_dir/$name.dart.snapshot"
+ outputs = [
+ output,
+ ]
+
+ dot_packages = rebase_path("$_dart_root/.packages")
+ abs_output = rebase_path(output)
+ main_file = rebase_path(main_dart)
+
+ args = [
+ "--packages=$dot_packages",
+ "--snapshot=$abs_output",
+ main_file
+ ]
+ }
+}
« no previous file with comments | « utils/dartfmt/BUILD.gn ('k') | utils/pub/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698