| 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 config("dart_public_config") { | 7 config("dart_public_config") { |
| 8 include_dirs = [ "." ] | 8 include_dirs = [ "." ] |
| 9 } | 9 } |
| 10 | 10 |
| 11 # Adds PRODUCT define if Flutter has specified "release" for dart_runtime_mode | 11 # Adds PRODUCT define if Flutter has specified "release" for dart_runtime_mode |
| 12 config("dart_maybe_product_config") { | 12 config("dart_maybe_product_config") { |
| 13 defines = [] | 13 defines = [] |
| 14 | 14 |
| 15 if (dart_runtime_mode != "develop" && dart_runtime_mode != "profile" && | 15 if (dart_runtime_mode != "develop" && dart_runtime_mode != "profile" && |
| 16 dart_runtime_mode != "release") { | 16 dart_runtime_mode != "release") { |
| 17 print("Invalid |dart_runtime_mode|") | 17 print("Invalid |dart_runtime_mode|") |
| 18 assert(false) | 18 assert(false) |
| 19 } | 19 } |
| 20 | 20 |
| 21 if (dart_runtime_mode == "release") { | 21 if (dart_runtime_mode == "release") { |
| 22 if (dart_debug) { | 22 if (dart_debug) { |
| 23 print("Debug and release mode are mutually exclusive.") | 23 print("Debug and release mode are mutually exclusive.") |
| 24 } | 24 } |
| 25 assert(!dart_debug) | 25 assert(!dart_debug) |
| 26 defines += [ "PRODUCT" ] | 26 defines += [ "PRODUCT" ] |
| 27 } | 27 } |
| 28 } | 28 } |
| 29 | 29 |
| 30 # This is a config to use to build PRODUCT mode artifacts in a RELEASE build. |
| 31 # If a DEBUG build has been specified it will be ignored. |
| 32 config("dart_product_config") { |
| 33 defines = [] |
| 34 if (!dart_debug) { |
| 35 defines += [ "PRODUCT" ] |
| 36 } |
| 37 } |
| 38 |
| 30 config("dart_precompiled_runtime_config") { | 39 config("dart_precompiled_runtime_config") { |
| 31 defines = [] | 40 defines = [] |
| 32 defines += [ "DART_PRECOMPILED_RUNTIME" ] | 41 defines += [ "DART_PRECOMPILED_RUNTIME" ] |
| 33 } | 42 } |
| 34 | 43 |
| 35 # Controls DART_PRECOMPILER #define. | 44 # Controls DART_PRECOMPILER #define. |
| 36 config("dart_precompiler_config") { | 45 config("dart_precompiler_config") { |
| 37 defines = [] | 46 defines = [] |
| 38 defines += [ "DART_PRECOMPILER" ] | 47 defines += [ "DART_PRECOMPILER" ] |
| 39 } | 48 } |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 154 template("libdart_library") { | 163 template("libdart_library") { |
| 155 extra_configs = [] | 164 extra_configs = [] |
| 156 if (defined(invoker.extra_configs)) { | 165 if (defined(invoker.extra_configs)) { |
| 157 extra_configs += invoker.extra_configs | 166 extra_configs += invoker.extra_configs |
| 158 } | 167 } |
| 159 extra_deps = [] | 168 extra_deps = [] |
| 160 if (defined(invoker.extra_deps)) { | 169 if (defined(invoker.extra_deps)) { |
| 161 extra_deps += invoker.extra_deps | 170 extra_deps += invoker.extra_deps |
| 162 } | 171 } |
| 163 static_library(target_name) { | 172 static_library(target_name) { |
| 164 configs += [ | 173 configs += [ ":dart_config" ] + extra_configs |
| 165 ":dart_config", | |
| 166 ":dart_maybe_product_config", | |
| 167 ] + extra_configs | |
| 168 if (is_fuchsia) { | 174 if (is_fuchsia) { |
| 169 configs -= [ "//build/config:symbol_visibility_hidden" ] | 175 configs -= [ "//build/config:symbol_visibility_hidden" ] |
| 170 } | 176 } |
| 171 deps = [ | 177 deps = [ |
| 172 "vm:libdart_platform", | |
| 173 "third_party/double-conversion/src:libdouble_conversion", | 178 "third_party/double-conversion/src:libdouble_conversion", |
| 174 ":generate_version_cc_file", | 179 ":generate_version_cc_file", |
| 175 ] + extra_deps | 180 ] + extra_deps |
| 176 include_dirs = [ "." ] | 181 include_dirs = [ "." ] |
| 177 public_configs = [ ":dart_public_config" ] | 182 public_configs = [ ":dart_public_config" ] |
| 178 sources = [ | 183 sources = [ |
| 179 "$target_gen_dir/version.cc", | 184 "$target_gen_dir/version.cc", |
| 180 "include/dart_api.h", | 185 "include/dart_api.h", |
| 181 "include/dart_mirrors_api.h", | 186 "include/dart_mirrors_api.h", |
| 182 "include/dart_native_api.h", | 187 "include/dart_native_api.h", |
| 183 "include/dart_tools_api.h", | 188 "include/dart_tools_api.h", |
| 184 "vm/dart_api_impl.cc", | 189 "vm/dart_api_impl.cc", |
| 185 "vm/debugger_api_impl.cc", | 190 "vm/debugger_api_impl.cc", |
| 186 "vm/mirrors_api_impl.cc", | 191 "vm/mirrors_api_impl.cc", |
| 187 "vm/native_api_impl.cc", | 192 "vm/native_api_impl.cc", |
| 188 "vm/version.h", | 193 "vm/version.h", |
| 189 ] | 194 ] |
| 190 defines = [ "DART_SHARED_LIB" ] | 195 defines = [ "DART_SHARED_LIB" ] |
| 191 } | 196 } |
| 192 } | 197 } |
| 193 | 198 |
| 194 libdart_library("libdart_jit") { | 199 libdart_library("libdart_jit") { |
| 195 extra_deps = [ | 200 extra_deps = [ |
| 201 "vm:libdart_platform", |
| 196 "vm:libdart_lib_jit", | 202 "vm:libdart_lib_jit", |
| 197 "vm:libdart_vm_jit", | 203 "vm:libdart_vm_jit", |
| 198 ] | 204 ] |
| 199 } | 205 } |
| 200 | 206 |
| 207 libdart_library("libdart_jit_product") { |
| 208 extra_configs = [ ":dart_product_config" ] |
| 209 extra_deps = [ |
| 210 "vm:libdart_platform_product", |
| 211 "vm:libdart_lib_jit_product", |
| 212 "vm:libdart_vm_jit_product", |
| 213 ] |
| 214 } |
| 215 |
| 201 libdart_library("libdart_precompiled_runtime") { | 216 libdart_library("libdart_precompiled_runtime") { |
| 202 extra_configs = [ ":dart_precompiled_runtime_config" ] | 217 extra_configs = [ |
| 218 ":dart_maybe_product_config", |
| 219 ":dart_precompiled_runtime_config", |
| 220 ] |
| 203 extra_deps = [ | 221 extra_deps = [ |
| 222 "vm:libdart_platform", |
| 204 "vm:libdart_lib_precompiled_runtime", | 223 "vm:libdart_lib_precompiled_runtime", |
| 205 "vm:libdart_vm_precompiled_runtime", | 224 "vm:libdart_vm_precompiled_runtime", |
| 206 ] | 225 ] |
| 207 } | 226 } |
| 208 | 227 |
| 228 libdart_library("libdart_precompiled_runtime_product") { |
| 229 extra_configs = [ |
| 230 ":dart_product_config", |
| 231 ":dart_precompiled_runtime_config", |
| 232 ] |
| 233 extra_deps = [ |
| 234 "vm:libdart_platform_product", |
| 235 "vm:libdart_lib_precompiled_runtime_product", |
| 236 "vm:libdart_vm_precompiled_runtime_product", |
| 237 ] |
| 238 } |
| 239 |
| 209 libdart_library("libdart_nosnapshot_with_precompiler") { | 240 libdart_library("libdart_nosnapshot_with_precompiler") { |
| 210 extra_configs = [ | 241 extra_configs = [ |
| 242 ":dart_maybe_product_config", |
| 211 ":dart_no_snapshot_config", | 243 ":dart_no_snapshot_config", |
| 212 ":dart_precompiler_config", | 244 ":dart_precompiler_config", |
| 213 ] | 245 ] |
| 214 extra_deps = [ | 246 extra_deps = [ |
| 247 "vm:libdart_platform", |
| 215 "vm:libdart_lib_nosnapshot_with_precompiler", | 248 "vm:libdart_lib_nosnapshot_with_precompiler", |
| 216 "vm:libdart_vm_nosnapshot_with_precompiler", | 249 "vm:libdart_vm_nosnapshot_with_precompiler", |
| 217 ] | 250 ] |
| 218 } | 251 } |
| 219 | 252 |
| 253 libdart_library("libdart_nosnapshot_with_precompiler_product") { |
| 254 extra_configs = [ |
| 255 ":dart_product_config", |
| 256 ":dart_no_snapshot_config", |
| 257 ":dart_precompiler_config", |
| 258 ] |
| 259 extra_deps = [ |
| 260 "vm:libdart_platform_product", |
| 261 "vm:libdart_lib_nosnapshot_with_precompiler_product", |
| 262 "vm:libdart_vm_nosnapshot_with_precompiler_product", |
| 263 ] |
| 264 } |
| 265 |
| 220 libdart_library("libdart_with_precompiler") { | 266 libdart_library("libdart_with_precompiler") { |
| 221 extra_configs = [ ":dart_precompiler_config" ] | 267 extra_configs = [ |
| 268 ":dart_maybe_product_config", |
| 269 ":dart_precompiler_config", |
| 270 ] |
| 222 extra_deps = [ | 271 extra_deps = [ |
| 272 "vm:libdart_platform", |
| 223 "vm:libdart_lib_with_precompiler", | 273 "vm:libdart_lib_with_precompiler", |
| 224 "vm:libdart_vm_with_precompiler", | 274 "vm:libdart_vm_with_precompiler", |
| 225 ] | 275 ] |
| 226 } | 276 } |
| 227 | 277 |
| 278 libdart_library("libdart_with_precompiler_product") { |
| 279 extra_configs = [ |
| 280 ":dart_product_config", |
| 281 ":dart_precompiler_config", |
| 282 ] |
| 283 extra_deps = [ |
| 284 "vm:libdart_platform_product", |
| 285 "vm:libdart_lib_with_precompiler_product", |
| 286 "vm:libdart_vm_with_precompiler_product", |
| 287 ] |
| 288 } |
| 289 |
| 228 action("generate_version_cc_file") { | 290 action("generate_version_cc_file") { |
| 229 deps = [ | 291 deps = [ |
| 230 "third_party/double-conversion/src:libdouble_conversion", | 292 "third_party/double-conversion/src:libdouble_conversion", |
| 231 "vm:libdart_lib_jit", | 293 "vm:libdart_lib_jit", |
| 232 "vm:libdart_lib_nosnapshot_with_precompiler", | 294 "vm:libdart_lib_nosnapshot_with_precompiler", |
| 233 "vm:libdart_vm_jit", | 295 "vm:libdart_vm_jit", |
| 234 "vm:libdart_vm_nosnapshot_with_precompiler", | 296 "vm:libdart_vm_nosnapshot_with_precompiler", |
| 235 ] | 297 ] |
| 236 inputs = [ | 298 inputs = [ |
| 237 "../tools/utils.py", | 299 "../tools/utils.py", |
| 238 "../tools/print_version.py", | 300 "../tools/print_version.py", |
| 239 "../tools/VERSION", | 301 "../tools/VERSION", |
| 240 "vm/version_in.cc", | 302 "vm/version_in.cc", |
| 241 ] | 303 ] |
| 242 output = "$target_gen_dir/version.cc" | 304 output = "$target_gen_dir/version.cc" |
| 243 outputs = [ | 305 outputs = [ |
| 244 output, | 306 output, |
| 245 ] | 307 ] |
| 246 | 308 |
| 247 script = "../tools/make_version.py" | 309 script = "../tools/make_version.py" |
| 248 args = [ | 310 args = [ |
| 249 "--quiet", | 311 "--quiet", |
| 250 "--output", | 312 "--output", |
| 251 rebase_path(output, root_build_dir), | 313 rebase_path(output, root_build_dir), |
| 252 "--input", | 314 "--input", |
| 253 rebase_path("vm/version_in.cc", root_build_dir), | 315 rebase_path("vm/version_in.cc", root_build_dir), |
| 254 ] | 316 ] |
| 255 } | 317 } |
| OLD | NEW |