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

Side by Side Diff: utils/generate_patch_sdk.gni

Issue 2937503003: Reapply "[fuchsia] Prepare for setting the Dart target architecture appropriately in the host binar… (Closed)
Patch Set: Created 3 years, 6 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 unified diff | Download patch
« runtime/bin/BUILD.gn ('K') | « utils/dartanalyzer/BUILD.gn ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file 1 # Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
2 # for details. All rights reserved. Use of this source code is governed by a 2 # for details. All rights reserved. Use of this source code is governed by a
3 # BSD-style license that can be found in the LICENSE file. 3 # BSD-style license that can be found in the LICENSE file.
4 4
5 import("../build/prebuilt_dart_sdk.gni") 5 import("../build/prebuilt_dart_sdk.gni")
6 6
7 _dart_root = get_path_info("..", "abspath") 7 _dart_root = get_path_info("..", "abspath")
8 8
9 # Template to generate a patched_sdk folder. This invokes the tools/patch_sdk.py 9 # Template to generate a patched_sdk folder. This invokes the tools/patch_sdk.py
10 # script and sets up the right dependencies. 10 # script and sets up the right dependencies.
11 # 11 #
12 # This template expects four arguments: 12 # This template expects four arguments:
13 # - mode: vm or dart2js (whether to build an sdk for the vm or for dart2js) 13 # - mode: vm or dart2js (whether to build an sdk for the vm or for dart2js)
14 # - input_patches_dir: directory containing the input library files. 14 # - input_patches_dir: directory containing the input library files.
15 # - patched_sdk_dir: the output location 15 # - patched_sdk_dir: the output location
16 # - deps: extra dependencies that must be built ahead of time. 16 # - deps: extra dependencies that must be built ahead of time.
17 template("generate_patched_sdk") { 17 template("generate_patched_sdk") {
18 assert(defined(invoker.input_patches_dir), 18 assert(defined(invoker.input_patches_dir),
19 "Need input_patches_dir in $target_name") 19 "Need input_patches_dir in $target_name")
20 assert(defined(invoker.patched_sdk_dir), 20 assert(defined(invoker.patched_sdk_dir),
21 "Need patched_sdk_dir in $target_name") 21 "Need patched_sdk_dir in $target_name")
22 assert(defined(invoker.mode), "Need mode in $target_name") 22 assert(defined(invoker.mode), "Need mode in $target_name")
23 action(target_name) { 23 action(target_name) {
24
25 if (defined(invoker.deps)) { 24 if (defined(invoker.deps)) {
26 deps = invoker.deps 25 deps = invoker.deps
27 } else { 26 } else {
28 deps = [] 27 deps = []
29 } 28 }
30 29
31 if (!prebuilt_dart_exe_works) { 30 if (!prebuilt_dart_exe_works) {
32 deps += ["$_dart_root/runtime/bin:dart_bootstrap($host_toolchain)"] 31 deps += [ "$_dart_root/runtime/bin:dart_bootstrap_host_arch($host_toolchai n)" ]
33 } 32 }
34 33
35 script = "$_dart_root/tools/patch_sdk.py" 34 script = "$_dart_root/tools/patch_sdk.py"
36 35
37 # We list the `patch_sdk.dart` tool here because the [script] (which is 36 # We list the `patch_sdk.dart` tool here because the [script] (which is
38 # implicitly an input) will call it. 37 # implicitly an input) will call it.
39 inputs = [ 38 inputs = [
40 "$_dart_root/tools/patch_sdk.dart", 39 "$_dart_root/tools/patch_sdk.dart",
41 ] 40 ]
42 41
43 depfile = "$root_out_dir/${target_name}.d" 42 depfile = "$root_out_dir/${target_name}.d"
44 43
45 outputs = [ 44 outputs = [
46 # Instead of listing all outputs we list a single well-known one. 45 # Instead of listing all outputs we list a single well-known one.
47 "$root_out_dir/${invoker.patched_sdk_dir}/platform.dill", 46 "$root_out_dir/${invoker.patched_sdk_dir}/platform.dill",
48 ] 47 ]
49 48
50 args = [ "--quiet" ] 49 args = [ "--quiet" ]
51 if (!prebuilt_dart_exe_works) { 50 if (!prebuilt_dart_exe_works) {
52 dart_out_dir = get_label_info( 51 dart_out_dir = get_label_info(
53 "$_dart_root/runtime/bin:dart_bootstrap($host_toolchain)", 52 "$_dart_root/runtime/bin:dart_bootstrap_host_arch($host_toolchain) ",
54 "root_out_dir") 53 "root_out_dir")
55 dart_bootstrap = 54 dart_bootstrap = rebase_path(
56 rebase_path("$dart_out_dir/dart_bootstrap$executable_suffix") 55 "$dart_out_dir/dart_bootstrap_host_arch$executable_suffix")
57 args += [ 56 args += [
58 "--dart-executable", 57 "--dart-executable",
59 dart_bootstrap, 58 dart_bootstrap,
60 ] 59 ]
61 } 60 }
62 args += [ 61 args += [
63 invoker.mode, 62 invoker.mode,
64 rebase_path("$_dart_root/sdk"), 63 rebase_path("$_dart_root/sdk"),
65 rebase_path(invoker.input_patches_dir), 64 rebase_path(invoker.input_patches_dir),
66 rebase_path("$root_out_dir/${invoker.patched_sdk_dir}", root_build_dir), 65 rebase_path("$root_out_dir/${invoker.patched_sdk_dir}", root_build_dir),
67 rebase_path("$_dart_root/.packages"), 66 rebase_path("$_dart_root/.packages"),
68 ] 67 ]
69 } 68 }
70 } 69 }
71
OLDNEW
« runtime/bin/BUILD.gn ('K') | « utils/dartanalyzer/BUILD.gn ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698