OLD | NEW |
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("runtime_args.gni") | 5 import("runtime_args.gni") |
6 | 6 |
7 declare_args() { | 7 declare_args() { |
8 # Instead of using is_debug, we introduce a different flag for specifying a | 8 # Instead of using is_debug, we introduce a different flag for specifying a |
9 # Debug build of Dart so that clients can still use a Release build of Dart | 9 # Debug build of Dart so that clients can still use a Release build of Dart |
10 # while themselves doing a Debug build. | 10 # while themselves doing a Debug build. |
(...skipping 11 matching lines...) Expand all Loading... |
22 # These settings are only used for Flutter, at the moment. A standalone build | 22 # These settings are only used for Flutter, at the moment. A standalone build |
23 # of the Dart VM should leave this set to "develop", and should set | 23 # of the Dart VM should leave this set to "develop", and should set |
24 # 'is_debug', 'is_release', or 'is_product'. | 24 # 'is_debug', 'is_release', or 'is_product'. |
25 dart_runtime_mode = "develop" | 25 dart_runtime_mode = "develop" |
26 | 26 |
27 # Explicitly set the target architecture in case of precompilation. Leaving | 27 # Explicitly set the target architecture in case of precompilation. Leaving |
28 # this unspecified results in automatic target architecture detection. | 28 # this unspecified results in automatic target architecture detection. |
29 # Available options are: arm, arm64, mips, x64 and ia32 | 29 # Available options are: arm, arm64, mips, x64 and ia32 |
30 dart_target_arch = "" | 30 dart_target_arch = "" |
31 | 31 |
32 dart_experimental_interpreter = false | |
33 | |
34 # The optimization level to use for debug builds. | 32 # The optimization level to use for debug builds. |
35 dart_debug_optimization_level = "2" | 33 dart_debug_optimization_level = "2" |
36 } | 34 } |
37 | 35 |
38 config("dart_public_config") { | 36 config("dart_public_config") { |
39 include_dirs = [ "." ] | 37 include_dirs = [ "." ] |
40 } | 38 } |
41 | 39 |
42 # Adds PRODUCT define if Flutter has specified "release" for dart_runtime_mode | 40 # Adds PRODUCT define if Flutter has specified "release" for dart_runtime_mode |
43 config("dart_maybe_product_config") { | 41 config("dart_maybe_product_config") { |
44 defines = [] | 42 defines = [] |
45 | 43 |
46 if (dart_runtime_mode != "develop" && dart_runtime_mode != "profile" && | 44 if (dart_runtime_mode != "develop" && dart_runtime_mode != "profile" && |
47 dart_runtime_mode != "release") { | 45 dart_runtime_mode != "release") { |
48 print("Invalid |dart_runtime_mode|") | 46 print("Invalid |dart_runtime_mode|") |
49 assert(false) | 47 assert(false) |
50 } | 48 } |
51 | 49 |
52 if (dart_runtime_mode == "release") { | 50 if (dart_runtime_mode == "release") { |
53 if (dart_debug) { | 51 if (dart_debug) { |
54 print("Debug and release mode are mutually exclusive.") | 52 print("Debug and release mode are mutually exclusive.") |
55 } | 53 } |
56 assert(!dart_debug) | 54 assert(!dart_debug) |
57 defines += [ "PRODUCT" ] | 55 defines += [ "PRODUCT" ] |
58 } | 56 } |
59 } | 57 } |
60 | 58 |
61 # Adds the DART_PRECOMPILED_RUNTIME define if Flutter has specified "profile" or | |
62 # "release" for dart_runtime_mode. | |
63 config("dart_maybe_precompiled_runtime_config") { | |
64 defines = [] | |
65 | |
66 if (dart_runtime_mode != "develop" && dart_runtime_mode != "profile" && | |
67 dart_runtime_mode != "release") { | |
68 print("Invalid |dart_runtime_mode|") | |
69 assert(false) | |
70 } | |
71 | |
72 if (dart_runtime_mode == "release") { | |
73 if (dart_debug) { | |
74 print("Debug and release mode are mutually exclusive.") | |
75 } | |
76 assert(!dart_debug) | |
77 | |
78 if (!dart_experimental_interpreter) { | |
79 defines += [ "DART_PRECOMPILED_RUNTIME" ] | |
80 } | |
81 } else if (dart_runtime_mode == "profile") { | |
82 if (!dart_experimental_interpreter) { | |
83 defines += [ "DART_PRECOMPILED_RUNTIME" ] | |
84 } | |
85 } | |
86 } | |
87 | |
88 config("dart_precompiled_runtime_config") { | 59 config("dart_precompiled_runtime_config") { |
89 defines = [] | 60 defines = [] |
90 defines += [ "DART_PRECOMPILED_RUNTIME" ] | 61 defines += [ "DART_PRECOMPILED_RUNTIME" ] |
91 } | 62 } |
92 | 63 |
93 # Controls DART_PRECOMPILER #define. | 64 # Controls DART_PRECOMPILER #define. |
94 config("dart_precompiler_config") { | 65 config("dart_precompiler_config") { |
95 defines = [] | 66 defines = [] |
96 defines += [ "DART_PRECOMPILER" ] | 67 defines += [ "DART_PRECOMPILER" ] |
97 } | 68 } |
98 | 69 |
99 config("dart_no_snapshot_config") { | 70 config("dart_no_snapshot_config") { |
100 defines = [] | 71 defines = [] |
101 defines += [ "DART_NO_SNAPSHOT" ] | 72 defines += [ "DART_NO_SNAPSHOT" ] |
102 } | 73 } |
103 | 74 |
104 config("dart_config") { | 75 config("dart_config") { |
105 defines = [] | 76 defines = [] |
106 | 77 |
107 if (dart_experimental_interpreter) { | |
108 dart_target_arch = "dbc" | |
109 } | |
110 | |
111 if (target_os == "android") { | 78 if (target_os == "android") { |
112 defines += [ "TARGET_OS_ANDROID" ] | 79 defines += [ "TARGET_OS_ANDROID" ] |
113 } else if (target_os == "fuchsia") { | 80 } else if (target_os == "fuchsia") { |
114 defines += [ "TARGET_OS_FUCHSIA" ] | 81 defines += [ "TARGET_OS_FUCHSIA" ] |
115 } else if (target_os == "ios") { | 82 } else if (target_os == "ios") { |
116 defines += [ "TARGET_OS_MACOS" ] | 83 defines += [ "TARGET_OS_MACOS" ] |
117 defines += [ "TARGET_OS_MACOS_IOS" ] | 84 defines += [ "TARGET_OS_MACOS_IOS" ] |
118 } else if (target_os == "linux") { | 85 } else if (target_os == "linux") { |
119 defines += [ "TARGET_OS_LINUX" ] | 86 defines += [ "TARGET_OS_LINUX" ] |
120 } else if (target_os == "mac") { | 87 } else if (target_os == "mac") { |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
243 "vm/dart_api_impl.cc", | 210 "vm/dart_api_impl.cc", |
244 "vm/debugger_api_impl.cc", | 211 "vm/debugger_api_impl.cc", |
245 "vm/mirrors_api_impl.cc", | 212 "vm/mirrors_api_impl.cc", |
246 "vm/native_api_impl.cc", | 213 "vm/native_api_impl.cc", |
247 "vm/version.h", | 214 "vm/version.h", |
248 ] | 215 ] |
249 defines = [ "DART_SHARED_LIB" ] | 216 defines = [ "DART_SHARED_LIB" ] |
250 } | 217 } |
251 } | 218 } |
252 | 219 |
253 # TODO(rmacnak): Remove after updating all clients to use libdart_jit | |
254 # or libdart_precompiled_runtime. | |
255 libdart_library("libdart") { | |
256 extra_configs = [ ":dart_maybe_precompiled_runtime_config" ] | |
257 extra_deps = [ | |
258 "vm:libdart_lib", | |
259 "vm:libdart_vm", | |
260 ] | |
261 } | |
262 | |
263 libdart_library("libdart_jit") { | 220 libdart_library("libdart_jit") { |
264 extra_deps = [ | 221 extra_deps = [ |
265 "vm:libdart_lib_jit", | 222 "vm:libdart_lib_jit", |
266 "vm:libdart_vm_jit", | 223 "vm:libdart_vm_jit", |
267 ] | 224 ] |
268 } | 225 } |
269 | 226 |
270 libdart_library("libdart_precompiled_runtime") { | 227 libdart_library("libdart_precompiled_runtime") { |
271 extra_configs = [ ":dart_precompiled_runtime_config" ] | 228 extra_configs = [ ":dart_precompiled_runtime_config" ] |
272 extra_deps = [ | 229 extra_deps = [ |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
328 "third_party/double-conversion/src:libdouble_conversion", | 285 "third_party/double-conversion/src:libdouble_conversion", |
329 "vm:libdart_lib_jit", | 286 "vm:libdart_lib_jit", |
330 "vm:libdart_lib_nosnapshot_with_precompiler", | 287 "vm:libdart_lib_nosnapshot_with_precompiler", |
331 "vm:libdart_vm_jit", | 288 "vm:libdart_vm_jit", |
332 "vm:libdart_vm_nosnapshot_with_precompiler", | 289 "vm:libdart_vm_nosnapshot_with_precompiler", |
333 ] | 290 ] |
334 sources = [ | 291 sources = [ |
335 "vm/libdart_dependency_helper.cc", | 292 "vm/libdart_dependency_helper.cc", |
336 ] | 293 ] |
337 } | 294 } |
OLD | NEW |