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

Side by Side Diff: runtime/vm/BUILD.gn

Issue 2975343002: Add libdart PRODUCT targets for Fuchsia's dart_runner (Closed)
Patch Set: Created 3 years, 5 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
« no previous file with comments | « runtime/bin/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) 2014, the Dart project authors. Please see the AUTHORS file 1 # Copyright (c) 2014, 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/executable_suffix.gni") 5 import("../../build/executable_suffix.gni")
6 import("../../build/prebuilt_dart_sdk.gni") 6 import("../../build/prebuilt_dart_sdk.gni")
7 import("../../utils/generate_patch_sdk.gni") 7 import("../../utils/generate_patch_sdk.gni")
8 import("gypi_contents.gni") 8 import("gypi_contents.gni")
9 import("../runtime_args.gni") 9 import("../runtime_args.gni")
10 10
(...skipping 10 matching lines...) Expand all
21 libs = [ "dl" ] 21 libs = [ "dl" ]
22 if (!is_android) { 22 if (!is_android) {
23 libs += [ "pthread" ] 23 libs += [ "pthread" ]
24 } 24 }
25 if (is_linux) { 25 if (is_linux) {
26 libs += [ "rt" ] 26 libs += [ "rt" ]
27 } 27 }
28 } 28 }
29 } 29 }
30 30
31 static_library("libdart_platform") { 31 template("build_libdart_platform") {
32 configs += [ 32 extra_configs = []
33 "..:dart_config", 33 if (defined(invoker.extra_configs)) {
34 "..:dart_maybe_product_config", 34 extra_configs += invoker.extra_configs
35 ]
36 if (is_fuchsia) {
37 configs -= [ "//build/config:symbol_visibility_hidden" ]
38 deps = [
39 "//apps/tracing/lib/trace",
40 ]
41 } 35 }
42 public_configs = [ ":libdart_vm_config" ] 36 static_library(target_name) {
37 configs += [ "..:dart_config" ] + extra_configs
38 if (is_fuchsia) {
39 configs -= [ "//build/config:symbol_visibility_hidden" ]
40 deps = [
41 "//apps/tracing/lib/trace",
42 ]
43 }
44 public_configs = [ ":libdart_vm_config" ]
43 45
44 sources = rebase_path(processed_gypis.platform_sources, ".", "../platform") 46 sources = rebase_path(processed_gypis.platform_sources, ".", "../platform")
45 47
46 include_dirs = [ ".." ] 48 include_dirs = [ ".." ]
49 }
50 }
51
52 build_libdart_platform("libdart_platform") {
53 extra_configs = [ "..:dart_maybe_product_config" ]
54 }
55
56 build_libdart_platform("libdart_platform_product") {
57 extra_configs = [ "..:dart_product_config" ]
47 } 58 }
48 59
49 vm_sources_list = processed_gypis.vm_sources 60 vm_sources_list = processed_gypis.vm_sources
50 61
51 source_set("libdart_vm_jit") { 62 template("build_libdart_vm") {
52 configs += [ 63 extra_configs = []
53 "..:dart_config", 64 if (defined(invoker.extra_configs)) {
54 "..:dart_maybe_product_config", 65 extra_configs += invoker.extra_configs
55 ]
56 if (is_fuchsia) {
57 configs -= [ "//build/config:symbol_visibility_hidden" ]
58 deps = [
59 "//apps/tracing/lib/trace",
60 ]
61 } 66 }
62 public_configs = [ ":libdart_vm_config" ] 67 source_set(target_name) {
63 set_sources_assignment_filter([ 68 configs += [ "..:dart_config" ] + extra_configs
64 "*_test.cc", 69 if (is_fuchsia) {
65 "*_test.h", 70 configs -= [ "//build/config:symbol_visibility_hidden" ]
66 ]) 71 deps = [
67 sources = vm_sources_list 72 "//apps/tracing/lib/trace",
68 include_dirs = [ ".." ] 73 ]
74 }
75 public_configs = [ ":libdart_vm_config" ]
76 set_sources_assignment_filter([
77 "*_test.cc",
78 "*_test.h",
79 ])
80 sources = vm_sources_list
81 include_dirs = [ ".." ]
82 }
69 } 83 }
70 84
71 source_set("libdart_vm_precompiled_runtime") { 85 build_libdart_vm("libdart_vm_jit") {
72 configs += [ 86 extra_configs = [ "..:dart_maybe_product_config" ]
73 "..:dart_config", 87 }
88
89 build_libdart_vm("libdart_vm_jit_product") {
90 extra_configs = [ "..:dart_product_config" ]
91 }
92
93 build_libdart_vm("libdart_vm_precompiled_runtime") {
94 extra_configs = [
74 "..:dart_maybe_product_config", 95 "..:dart_maybe_product_config",
75 "..:dart_precompiled_runtime_config", 96 "..:dart_precompiled_runtime_config",
76 ] 97 ]
77 if (is_fuchsia) {
78 configs -= [ "//build/config:symbol_visibility_hidden" ]
79 deps = [
80 "//apps/tracing/lib/trace",
81 ]
82 }
83 public_configs = [ ":libdart_vm_config" ]
84 set_sources_assignment_filter([
85 "*_test.cc",
86 "*_test.h",
87 ])
88 sources = vm_sources_list
89 include_dirs = [ ".." ]
90 } 98 }
91 99
92 source_set("libdart_vm_nosnapshot") { 100 build_libdart_vm("libdart_vm_precompiled_runtime_product") {
93 configs += [ 101 extra_configs = [
94 "..:dart_config", 102 "..:dart_product_config",
103 "..:dart_precompiled_runtime_config",
104 ]
105 }
106
107 build_libdart_vm("libdart_vm_nosnapshot") {
108 extra_configs = [
95 "..:dart_maybe_product_config", 109 "..:dart_maybe_product_config",
96 "..:dart_no_snapshot_config", 110 "..:dart_no_snapshot_config",
97 ] 111 ]
98 if (is_fuchsia) {
99 configs -= [ "//build/config:symbol_visibility_hidden" ]
100 deps = [
101 "//apps/tracing/lib/trace",
102 ]
103 }
104 public_configs = [ ":libdart_vm_config" ]
105 set_sources_assignment_filter([
106 "*_test.cc",
107 "*_test.h",
108 ])
109 sources = vm_sources_list
110 include_dirs = [ ".." ]
111 } 112 }
112 113
113 source_set("libdart_vm_nosnapshot_with_precompiler") { 114 build_libdart_vm("libdart_vm_nosnapshot_with_precompiler") {
114 configs += [ 115 extra_configs = [
115 "..:dart_config",
116 "..:dart_maybe_product_config", 116 "..:dart_maybe_product_config",
117 "..:dart_precompiler_config", 117 "..:dart_precompiler_config",
118 "..:dart_no_snapshot_config", 118 "..:dart_no_snapshot_config",
119 ] 119 ]
120 if (is_fuchsia) {
121 configs -= [ "//build/config:symbol_visibility_hidden" ]
122 deps = [
123 "//apps/tracing/lib/trace",
124 ]
125 }
126 public_configs = [ ":libdart_vm_config" ]
127 set_sources_assignment_filter([
128 "*_test.cc",
129 "*_test.h",
130 ])
131 sources = vm_sources_list
132 include_dirs = [ ".." ]
133 } 120 }
134 121
135 source_set("libdart_vm_with_precompiler") { 122 build_libdart_vm("libdart_vm_nosnapshot_with_precompiler_product") {
136 configs += [ 123 extra_configs = [
137 "..:dart_config", 124 "..:dart_product_config",
125 "..:dart_precompiler_config",
126 "..:dart_no_snapshot_config",
127 ]
128 }
129
130 build_libdart_vm("libdart_vm_with_precompiler") {
131 extra_configs = [
138 "..:dart_maybe_product_config", 132 "..:dart_maybe_product_config",
139 "..:dart_precompiler_config", 133 "..:dart_precompiler_config",
140 ] 134 ]
141 if (is_fuchsia) { 135 }
142 configs -= [ "//build/config:symbol_visibility_hidden" ] 136
143 deps = [ 137 build_libdart_vm("libdart_vm_with_precompiler_product") {
144 "//apps/tracing/lib/trace", 138 extra_configs = [
145 ] 139 "..:dart_product_config",
146 } 140 "..:dart_precompiler_config",
147 public_configs = [ ":libdart_vm_config" ] 141 ]
148 set_sources_assignment_filter([
149 "*_test.cc",
150 "*_test.h",
151 ])
152 sources = vm_sources_list
153 include_dirs = [ ".." ]
154 } 142 }
155 143
156 template("process_library_source") { 144 template("process_library_source") {
157 assert(defined(invoker.libsources), "Need libsources in $target_name") 145 assert(defined(invoker.libsources), "Need libsources in $target_name")
158 assert(defined(invoker.output), "Need output in $target_name") 146 assert(defined(invoker.output), "Need output in $target_name")
159 action(target_name) { 147 action(target_name) {
160 visibility = [ ":*" ] # Only targets in this file can see this. 148 visibility = [ ":*" ] # Only targets in this file can see this.
161 libsources = invoker.libsources 149 libsources = invoker.libsources
162 150
163 script = invoker.script 151 script = invoker.script
(...skipping 28 matching lines...) Expand all
192 "--include", 180 "--include",
193 "vm/bootstrap.h", 181 "vm/bootstrap.h",
194 "--var_name", 182 "--var_name",
195 "dart::Bootstrap::${libname}_${kind}_paths_", 183 "dart::Bootstrap::${libname}_${kind}_paths_",
196 "--library_name", 184 "--library_name",
197 "dart:${libname}", 185 "dart:${libname}",
198 ] 186 ]
199 } 187 }
200 } 188 }
201 189
190 template("build_libdart_lib") {
191 extra_configs = []
192 if (defined(invoker.extra_configs)) {
193 extra_configs += invoker.extra_configs
194 }
195 extra_deps = []
196 if (defined(invoker.extra_deps)) {
197 extra_deps += invoker.extra_deps
198 }
199 extra_sources = []
200 if (defined(invoker.extra_sources)) {
201 extra_sources += invoker.extra_sources
202 }
203 source_set(target_name) {
204 configs += [ "..:dart_config" ] + extra_configs
205 if (is_fuchsia) {
206 configs -= [ "//build/config:symbol_visibility_hidden" ]
207 }
208 deps = extra_deps
209 sources = extra_sources
210 include_dirs = [ ".." ]
211 }
212 }
213
202 # This templates expects invoker.sources to be a list of lists. 214 # This templates expects invoker.sources to be a list of lists.
203 # The lists contain the following information about each library: 215 # The lists contain the following information about each library:
204 # library name (string) 216 # library name (string)
205 # library sources (list of strings) 217 # library sources (list of strings)
206 # library source base path (string) 218 # library source base path (string)
207 # filename (string) 219 # filename (string)
208 # do_patch (boolean) 220 # do_patch (boolean)
209 # 221 #
210 # If do_patch is true, the lists additionally contains 222 # If do_patch is true, the lists additionally contains
211 # patch sources (list of strings) 223 # patch sources (list of strings)
(...skipping 29 matching lines...) Expand all
241 liboutputs += [ "$target_gen_dir/${filename}_gen.cc" ] 253 liboutputs += [ "$target_gen_dir/${filename}_gen.cc" ]
242 libdeps += [ ":generate_${filename}_cc_file" ] 254 libdeps += [ ":generate_${filename}_cc_file" ]
243 if (do_patch) { 255 if (do_patch) {
244 liboutputs += [ "$target_gen_dir/${filename}_patch_gen.cc" ] 256 liboutputs += [ "$target_gen_dir/${filename}_patch_gen.cc" ]
245 libdeps += [ ":generate_${filename}_patch_cc_file" ] 257 libdeps += [ ":generate_${filename}_patch_cc_file" ]
246 } 258 }
247 } 259 }
248 260
249 all_libsources = rebase_path(invoker.allsources, ".", "../lib") 261 all_libsources = rebase_path(invoker.allsources, ".", "../lib")
250 262
251 source_set("libdart_lib_nosnapshot_with_precompiler") { 263 build_libdart_lib("libdart_lib_nosnapshot_with_precompiler") {
252 configs += [ 264 extra_configs = [
253 "..:dart_config",
254 "..:dart_maybe_product_config", 265 "..:dart_maybe_product_config",
255 "..:dart_precompiler_config", 266 "..:dart_precompiler_config",
256 ] 267 ]
257 if (is_fuchsia) { 268 extra_deps = libdeps
258 configs -= [ "//build/config:symbol_visibility_hidden" ] 269 extra_sources = all_libsources + [ "bootstrap.cc" ] + liboutputs
259 }
260 deps = libdeps
261 sources = all_libsources + [ "bootstrap.cc" ] + liboutputs
262 include_dirs = [ ".." ]
263 } 270 }
264 271
265 source_set("libdart_lib_with_precompiler") { 272 build_libdart_lib("libdart_lib_nosnapshot_with_precompiler_product") {
266 configs += [ 273 extra_configs = [
267 "..:dart_config", 274 "..:dart_product_config",
275 "..:dart_precompiler_config",
276 ]
277 extra_deps = libdeps
278 extra_sources = all_libsources + [ "bootstrap.cc" ] + liboutputs
279 }
280
281 build_libdart_lib("libdart_lib_with_precompiler") {
282 extra_configs = [
268 "..:dart_maybe_product_config", 283 "..:dart_maybe_product_config",
269 "..:dart_precompiler_config", 284 "..:dart_precompiler_config",
270 ] 285 ]
271 if (is_fuchsia) { 286 extra_deps = libdeps
272 configs -= [ "//build/config:symbol_visibility_hidden" ] 287 extra_sources = all_libsources + [ "bootstrap_nocore.cc" ]
273 }
274 deps = libdeps
275 sources = all_libsources + [ "bootstrap_nocore.cc" ]
276 include_dirs = [ ".." ]
277 } 288 }
278 289
279 source_set("libdart_lib_jit") { 290 build_libdart_lib("libdart_lib_with_precompiler_product") {
280 configs += [ 291 extra_configs = [
281 "..:dart_config", 292 "..:dart_product_config",
282 "..:dart_maybe_product_config", 293 "..:dart_precompiler_config",
283 ] 294 ]
284 if (is_fuchsia) { 295 extra_deps = libdeps
285 configs -= [ "//build/config:symbol_visibility_hidden" ] 296 extra_sources = all_libsources + [ "bootstrap_nocore.cc" ]
286 }
287 sources = all_libsources + [ "bootstrap_nocore.cc" ]
288 include_dirs = [ ".." ]
289 } 297 }
290 298
291 source_set("libdart_lib_precompiled_runtime") { 299 build_libdart_lib("libdart_lib_jit") {
292 configs += [ 300 extra_configs = [ "..:dart_maybe_product_config" ]
293 "..:dart_config", 301 extra_sources = all_libsources + [ "bootstrap_nocore.cc" ]
302 }
303
304 build_libdart_lib("libdart_lib_jit_product") {
305 extra_configs = [ "..:dart_product_config" ]
306 extra_sources = all_libsources + [ "bootstrap_nocore.cc" ]
307 }
308
309 build_libdart_lib("libdart_lib_precompiled_runtime") {
310 extra_configs = [
294 "..:dart_maybe_product_config", 311 "..:dart_maybe_product_config",
295 "..:dart_precompiled_runtime_config", 312 "..:dart_precompiled_runtime_config",
296 ] 313 ]
297 if (is_fuchsia) { 314 extra_sources = all_libsources + [ "bootstrap_nocore.cc" ]
298 configs -= [ "//build/config:symbol_visibility_hidden" ] 315 }
299 } 316
300 sources = all_libsources + [ "bootstrap_nocore.cc" ] 317 build_libdart_lib("libdart_lib_precompiled_runtime_product") {
301 include_dirs = [ ".." ] 318 extra_configs = [
319 "..:dart_product_config",
320 "..:dart_precompiled_runtime_config",
321 ]
322 extra_sources = all_libsources + [ "bootstrap_nocore.cc" ]
302 } 323 }
303 } 324 }
304 325
305 generate_core_libraries("core_libraries") { 326 generate_core_libraries("core_libraries") {
306 sources = [ 327 sources = [
307 [ 328 [
308 "async", 329 "async",
309 processed_gypis.async_sdk_sources, 330 processed_gypis.async_sdk_sources,
310 "../../sdk/lib/async", 331 "../../sdk/lib/async",
311 "async", 332 "async",
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
519 processed_gypis.vmservice_runtime_sources, 540 processed_gypis.vmservice_runtime_sources,
520 "../lib", 541 "../lib",
521 ], 542 ],
522 [ 543 [
523 "io", 544 "io",
524 processed_gypis.bin_io_sources, 545 processed_gypis.bin_io_sources,
525 "../bin", 546 "../bin",
526 ], 547 ],
527 ] 548 ]
528 } 549 }
OLDNEW
« no previous file with comments | « runtime/bin/BUILD.gn ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698