mirror of
https://github.com/dart-lang/sdk
synced 2024-10-06 16:19:07 +00:00
[GN] Add interpreter config. Refactor configs.
Change-Id: Ic7f7c437464fe8c27850e1dc5c958d699143b87c Reviewed-on: https://dart-review.googlesource.com/54712 Commit-Queue: Zach Anderson <zra@google.com> Reviewed-by: Ryan Macnak <rmacnak@google.com>
This commit is contained in:
parent
43147be3d5
commit
70cf29cc59
199
runtime/BUILD.gn
199
runtime/BUILD.gn
|
@ -3,6 +3,7 @@
|
|||
# BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
import("../build/dart/dart_host_sdk_toolchain.gni")
|
||||
import("configs.gni")
|
||||
import("runtime_args.gni")
|
||||
|
||||
config("dart_public_config") {
|
||||
|
@ -48,7 +49,7 @@ config("dart_precompiler_config") {
|
|||
defines += [ "DART_PRECOMPILER" ]
|
||||
}
|
||||
|
||||
config("dart_no_snapshot_config") {
|
||||
config("dart_nosnapshot_config") {
|
||||
defines = []
|
||||
defines += [ "DART_NO_SNAPSHOT" ]
|
||||
}
|
||||
|
@ -120,6 +121,17 @@ config("dart_arch_config") {
|
|||
}
|
||||
}
|
||||
|
||||
config("dart_interpreter_config") {
|
||||
defines = [ "DART_USE_INTERPRETER" ]
|
||||
}
|
||||
|
||||
config("dart_maybe_interpreter_config") {
|
||||
defines = []
|
||||
if (dart_use_interpreter) {
|
||||
defines += [ "DART_USE_INTERPRETER" ]
|
||||
}
|
||||
}
|
||||
|
||||
config("dart_config") {
|
||||
defines = []
|
||||
|
||||
|
@ -143,10 +155,6 @@ config("dart_config") {
|
|||
]
|
||||
}
|
||||
|
||||
if (dart_use_interpreter) {
|
||||
defines += [ "DART_USE_INTERPRETER" ]
|
||||
}
|
||||
|
||||
if (!is_win) {
|
||||
cflags = [
|
||||
"-Werror",
|
||||
|
@ -191,172 +199,29 @@ source_set("dart_api") {
|
|||
]
|
||||
}
|
||||
|
||||
template("libdart_library") {
|
||||
extra_configs = []
|
||||
if (defined(invoker.extra_configs)) {
|
||||
extra_configs += invoker.extra_configs
|
||||
}
|
||||
extra_deps = []
|
||||
if (defined(invoker.extra_deps)) {
|
||||
extra_deps += invoker.extra_deps
|
||||
}
|
||||
target(dart_component_kind, target_name) {
|
||||
configs += [
|
||||
":dart_arch_config",
|
||||
":dart_config",
|
||||
] + extra_configs
|
||||
if (is_fuchsia) {
|
||||
configs -= [ "//build/config:symbol_visibility_hidden" ]
|
||||
}
|
||||
deps = [
|
||||
"third_party/double-conversion/src:libdouble_conversion",
|
||||
":generate_version_cc_file",
|
||||
] + extra_deps
|
||||
include_dirs = [ "." ]
|
||||
public_configs = [ ":dart_public_config" ]
|
||||
sources = [
|
||||
"$target_gen_dir/version.cc",
|
||||
"include/dart_api.h",
|
||||
"include/dart_native_api.h",
|
||||
"include/dart_tools_api.h",
|
||||
"vm/dart_api_impl.cc",
|
||||
"vm/native_api_impl.cc",
|
||||
"vm/version.h",
|
||||
]
|
||||
defines = [ "DART_SHARED_LIB" ]
|
||||
}
|
||||
}
|
||||
|
||||
libdart_library("libdart_jit") {
|
||||
extra_configs = [
|
||||
":dart_maybe_product_config",
|
||||
":dart_os_config",
|
||||
]
|
||||
library_for_all_configs("libdart") {
|
||||
target_type = dart_component_kind
|
||||
extra_deps = [
|
||||
"third_party/double-conversion/src:libdouble_conversion",
|
||||
":generate_version_cc_file",
|
||||
]
|
||||
configurable_deps = [
|
||||
"platform:libdart_platform",
|
||||
"vm:libdart_lib_jit",
|
||||
"vm:libdart_vm_jit",
|
||||
"vm:libdart_lib",
|
||||
"vm:libdart_vm",
|
||||
]
|
||||
}
|
||||
|
||||
libdart_library("libdart_jit_product") {
|
||||
extra_configs = [
|
||||
":dart_product_config",
|
||||
":dart_os_config",
|
||||
]
|
||||
extra_deps = [
|
||||
"platform:libdart_platform_product",
|
||||
"vm:libdart_lib_jit_product",
|
||||
"vm:libdart_vm_jit_product",
|
||||
]
|
||||
}
|
||||
|
||||
libdart_library("libdart_precompiled_runtime") {
|
||||
extra_configs = [
|
||||
":dart_maybe_product_config",
|
||||
":dart_precompiled_runtime_config",
|
||||
":dart_os_config",
|
||||
]
|
||||
extra_deps = [
|
||||
"platform:libdart_platform",
|
||||
"vm:libdart_lib_precompiled_runtime",
|
||||
"vm:libdart_vm_precompiled_runtime",
|
||||
]
|
||||
}
|
||||
|
||||
libdart_library("libdart_precompiled_runtime_product") {
|
||||
extra_configs = [
|
||||
":dart_product_config",
|
||||
":dart_precompiled_runtime_config",
|
||||
":dart_os_config",
|
||||
]
|
||||
extra_deps = [
|
||||
"platform:libdart_platform_product",
|
||||
"vm:libdart_lib_precompiled_runtime_product",
|
||||
"vm:libdart_vm_precompiled_runtime_product",
|
||||
]
|
||||
}
|
||||
|
||||
libdart_library("libdart_nosnapshot_with_precompiler") {
|
||||
extra_configs = [
|
||||
":dart_maybe_product_config",
|
||||
":dart_no_snapshot_config",
|
||||
":dart_precompiler_config",
|
||||
":dart_os_config",
|
||||
]
|
||||
extra_deps = [
|
||||
"platform:libdart_platform",
|
||||
"vm:libdart_lib_nosnapshot_with_precompiler",
|
||||
"vm:libdart_vm_nosnapshot_with_precompiler",
|
||||
]
|
||||
}
|
||||
|
||||
libdart_library("libdart_nosnapshot_with_precompiler_product") {
|
||||
extra_configs = [
|
||||
":dart_product_config",
|
||||
":dart_no_snapshot_config",
|
||||
":dart_precompiler_config",
|
||||
":dart_os_config",
|
||||
]
|
||||
extra_deps = [
|
||||
"platform:libdart_platform_product",
|
||||
"vm:libdart_lib_nosnapshot_with_precompiler_product",
|
||||
"vm:libdart_vm_nosnapshot_with_precompiler_product",
|
||||
]
|
||||
}
|
||||
|
||||
libdart_library("libdart_nosnapshot_with_precompiler_fuchsia") {
|
||||
extra_configs = [
|
||||
":dart_maybe_product_config",
|
||||
":dart_no_snapshot_config",
|
||||
":dart_precompiler_config",
|
||||
":dart_os_fuchsia_config",
|
||||
]
|
||||
extra_deps = [
|
||||
"platform:libdart_platform_fuchsia",
|
||||
"vm:libdart_lib_nosnapshot_with_precompiler_fuchsia",
|
||||
"vm:libdart_vm_nosnapshot_with_precompiler_fuchsia",
|
||||
]
|
||||
}
|
||||
|
||||
libdart_library("libdart_nosnapshot_with_precompiler_product_fuchsia") {
|
||||
extra_configs = [
|
||||
":dart_product_config",
|
||||
":dart_no_snapshot_config",
|
||||
":dart_precompiler_config",
|
||||
":dart_os_fuchsia_config",
|
||||
]
|
||||
extra_deps = [
|
||||
"platform:libdart_platform_product_fuchsia",
|
||||
"vm:libdart_lib_nosnapshot_with_precompiler_product_fuchsia",
|
||||
"vm:libdart_vm_nosnapshot_with_precompiler_product_fuchsia",
|
||||
]
|
||||
}
|
||||
|
||||
libdart_library("libdart_with_precompiler") {
|
||||
extra_configs = [
|
||||
":dart_maybe_product_config",
|
||||
":dart_precompiler_config",
|
||||
":dart_os_config",
|
||||
]
|
||||
extra_deps = [
|
||||
"platform:libdart_platform",
|
||||
"vm:libdart_lib_with_precompiler",
|
||||
"vm:libdart_vm_with_precompiler",
|
||||
]
|
||||
}
|
||||
|
||||
libdart_library("libdart_with_precompiler_product") {
|
||||
extra_configs = [
|
||||
":dart_product_config",
|
||||
":dart_precompiler_config",
|
||||
":dart_os_config",
|
||||
]
|
||||
extra_deps = [
|
||||
"platform:libdart_platform_product",
|
||||
"vm:libdart_lib_with_precompiler_product",
|
||||
"vm:libdart_vm_with_precompiler_product",
|
||||
include_dirs = [ "." ]
|
||||
public_configs = [ ":dart_public_config" ]
|
||||
sources = [
|
||||
"$target_gen_dir/version.cc",
|
||||
"include/dart_api.h",
|
||||
"include/dart_native_api.h",
|
||||
"include/dart_tools_api.h",
|
||||
"vm/dart_api_impl.cc",
|
||||
"vm/native_api_impl.cc",
|
||||
"vm/version.h",
|
||||
]
|
||||
defines = [ "DART_SHARED_LIB" ]
|
||||
}
|
||||
|
||||
action("generate_version_cc_file") {
|
||||
|
|
|
@ -246,6 +246,7 @@ template("build_libdart_builtin") {
|
|||
static_library(target_name) {
|
||||
configs += [
|
||||
"..:dart_arch_config",
|
||||
"..:dart_maybe_interpreter_config",
|
||||
"..:dart_config",
|
||||
] + extra_configs
|
||||
if (is_fuchsia) {
|
||||
|
@ -332,6 +333,7 @@ template("build_gen_snapshot") {
|
|||
configs += [
|
||||
"..:dart_arch_config",
|
||||
"..:dart_config",
|
||||
"..:dart_maybe_interpreter_config",
|
||||
"..:dart_precompiler_config",
|
||||
] + extra_configs
|
||||
if (is_fuchsia) {
|
||||
|
@ -467,6 +469,7 @@ template("build_gen_snapshot_dart_io") {
|
|||
configs += [
|
||||
"..:dart_arch_config",
|
||||
"..:dart_config",
|
||||
"..:dart_maybe_interpreter_config",
|
||||
"..:dart_precompiler_config",
|
||||
] + extra_configs
|
||||
deps = []
|
||||
|
@ -554,6 +557,7 @@ template("dart_io") {
|
|||
configs += [
|
||||
"..:dart_arch_config",
|
||||
"..:dart_config",
|
||||
"..:dart_maybe_interpreter_config",
|
||||
"..:dart_os_config",
|
||||
] + extra_configs
|
||||
if (is_fuchsia) {
|
||||
|
@ -868,6 +872,7 @@ template("dart_executable") {
|
|||
"..:dart_arch_config",
|
||||
"..:dart_config",
|
||||
"..:dart_os_config",
|
||||
"..:dart_maybe_interpreter_config",
|
||||
"..:dart_maybe_product_config",
|
||||
] + extra_configs
|
||||
if (is_fuchsia) {
|
||||
|
@ -1011,7 +1016,7 @@ dart_executable("dart_precompiled_runtime_for_linking") {
|
|||
dart_executable("dart_bootstrap") {
|
||||
extra_configs = [
|
||||
"..:dart_precompiler_config",
|
||||
"..:dart_no_snapshot_config",
|
||||
"..:dart_nosnapshot_config",
|
||||
]
|
||||
extra_deps = [
|
||||
":gen_resources_cc",
|
||||
|
@ -1113,6 +1118,7 @@ executable("run_vm_tests") {
|
|||
"..:dart_arch_config",
|
||||
"..:dart_config",
|
||||
"..:dart_os_config",
|
||||
"..:dart_maybe_interpreter_config",
|
||||
"..:dart_maybe_product_config",
|
||||
]
|
||||
if (is_fuchsia) {
|
||||
|
|
241
runtime/configs.gni
Normal file
241
runtime/configs.gni
Normal file
|
@ -0,0 +1,241 @@
|
|||
# Copyright (c) 2018, 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_runtime = get_path_info("../runtime", "abspath")
|
||||
|
||||
_base_config = [
|
||||
"$_dart_runtime:dart_arch_config",
|
||||
"$_dart_runtime:dart_config",
|
||||
"$_dart_runtime:dart_os_config",
|
||||
]
|
||||
|
||||
_base_fuchsia_config = [
|
||||
"$_dart_runtime:dart_arch_config",
|
||||
"$_dart_runtime:dart_config",
|
||||
"$_dart_runtime:dart_os_fuchsia_config",
|
||||
]
|
||||
|
||||
_jit_config = _base_config + [
|
||||
"$_dart_runtime:dart_maybe_interpreter_config",
|
||||
"$_dart_runtime:dart_maybe_product_config",
|
||||
]
|
||||
|
||||
_jit_product_config = _base_config + [
|
||||
"$_dart_runtime:dart_maybe_interpreter_config",
|
||||
"$_dart_runtime:dart_product_config",
|
||||
]
|
||||
|
||||
_jit_interpreter_config = _base_config + [
|
||||
"$_dart_runtime:dart_interpreter_config",
|
||||
"$_dart_runtime:dart_maybe_product_config",
|
||||
]
|
||||
|
||||
_jit_product_interpreter_config = _base_config + [
|
||||
"$_dart_runtime:dart_interpreter_config",
|
||||
"$_dart_runtime:dart_product_config",
|
||||
]
|
||||
|
||||
_precompiled_runtime_config =
|
||||
_base_config + [
|
||||
"$_dart_runtime:dart_maybe_product_config",
|
||||
"$_dart_runtime:dart_precompiled_runtime_config",
|
||||
]
|
||||
|
||||
_precompiled_runtime_product_config =
|
||||
_base_config + [
|
||||
"$_dart_runtime:dart_precompiled_runtime_config",
|
||||
"$_dart_runtime:dart_product_config",
|
||||
]
|
||||
|
||||
_precompiler_config = _base_config + [
|
||||
"$_dart_runtime:dart_maybe_product_config",
|
||||
"$_dart_runtime:dart_precompiler_config",
|
||||
]
|
||||
|
||||
_precompiler_product_config = _base_config + [
|
||||
"$_dart_runtime:dart_product_config",
|
||||
"$_dart_runtime:dart_precompiler_config",
|
||||
]
|
||||
|
||||
_nosnapshot_with_precompiler_config =
|
||||
_base_config + [
|
||||
"$_dart_runtime:dart_maybe_product_config",
|
||||
"$_dart_runtime:dart_nosnapshot_config",
|
||||
"$_dart_runtime:dart_precompiler_config",
|
||||
]
|
||||
|
||||
_nosnapshot_with_precompiler_product_config =
|
||||
_base_config + [
|
||||
"$_dart_runtime:dart_product_config",
|
||||
"$_dart_runtime:dart_nosnapshot_config",
|
||||
"$_dart_runtime:dart_precompiler_config",
|
||||
]
|
||||
|
||||
_nosnapshot_with_precompiler_fuchsia_config =
|
||||
_base_fuchsia_config + [
|
||||
"$_dart_runtime:dart_maybe_product_config",
|
||||
"$_dart_runtime:dart_nosnapshot_config",
|
||||
"$_dart_runtime:dart_precompiler_config",
|
||||
]
|
||||
|
||||
_nosnapshot_with_precompiler_product_fuchsia_config =
|
||||
_base_fuchsia_config + [
|
||||
"$_dart_runtime:dart_product_config",
|
||||
"$_dart_runtime:dart_nosnapshot_config",
|
||||
"$_dart_runtime:dart_precompiler_config",
|
||||
]
|
||||
|
||||
_all_configs = [
|
||||
{
|
||||
suffix = "_jit"
|
||||
configs = _jit_config
|
||||
snapshot = true
|
||||
},
|
||||
{
|
||||
suffix = "_jit_product"
|
||||
configs = _jit_product_config
|
||||
snapshot = true
|
||||
},
|
||||
{
|
||||
suffix = "_jit_interpreter"
|
||||
configs = _jit_interpreter_config
|
||||
snapshot = true
|
||||
},
|
||||
{
|
||||
suffix = "_jit_product_interpreter"
|
||||
configs = _jit_product_interpreter_config
|
||||
snapshot = true
|
||||
},
|
||||
{
|
||||
suffix = "_precompiled_runtime"
|
||||
configs = _precompiled_runtime_config
|
||||
snapshot = true
|
||||
},
|
||||
{
|
||||
suffix = "_precompiled_runtime_product"
|
||||
configs = _precompiled_runtime_product_config
|
||||
snapshot = true
|
||||
},
|
||||
{
|
||||
suffix = "_with_precompiler"
|
||||
configs = _precompiler_config
|
||||
snapshot = true
|
||||
},
|
||||
{
|
||||
suffix = "_with_precompiler_product"
|
||||
configs = _precompiler_product_config
|
||||
snapshot = true
|
||||
},
|
||||
{
|
||||
suffix = "_nosnapshot_with_precompiler"
|
||||
configs = _nosnapshot_with_precompiler_config
|
||||
snapshot = false
|
||||
},
|
||||
{
|
||||
suffix = "_nosnapshot_with_precompiler_product"
|
||||
configs = _nosnapshot_with_precompiler_product_config
|
||||
snapshot = false
|
||||
},
|
||||
{
|
||||
suffix = "_nosnapshot_with_precompiler_fuchsia"
|
||||
configs = _nosnapshot_with_precompiler_fuchsia_config
|
||||
snapshot = false
|
||||
},
|
||||
{
|
||||
suffix = "_nosnapshot_with_precompiler_product_fuchsia"
|
||||
configs = _nosnapshot_with_precompiler_product_fuchsia_config
|
||||
snapshot = false
|
||||
},
|
||||
]
|
||||
|
||||
# This template creates a target for each of the configurations listed above.
|
||||
# For example:
|
||||
#
|
||||
# library_for_all_configs("libfoo") {
|
||||
# target_type = "source_set"
|
||||
# sources = [ "foo.c" ]
|
||||
# configurable_deps [ ":libbar" ]
|
||||
# }
|
||||
#
|
||||
# will make a source_set target for libfoo_jit, libfoo_jit_product, etc. that
|
||||
# depends on libbar_jit, libbar_jit_product etc. respectively.
|
||||
#
|
||||
# Parameters
|
||||
#
|
||||
# target_type (required):
|
||||
# The target declaration or template to repeat for each configuration.
|
||||
#
|
||||
# configurable_deps (optional):
|
||||
# Dependencies of this target, which are themselves generated by
|
||||
# library_for_all_configs(). The listed dependencies will be suffixed with
|
||||
# a string that matches the configuration.
|
||||
#
|
||||
# extra_deps (optional):
|
||||
# Regular additional deps that don't receive special treatment.
|
||||
#
|
||||
# extra_configs (optional):
|
||||
# Any configs needed in addition to the ones above.
|
||||
#
|
||||
# snapshot_sources (optional):
|
||||
# Additional sources to include when the configuration has a snapshot.
|
||||
#
|
||||
# nosnapshot_sources (optional):
|
||||
# Additional sources to include when the configuration does not have a
|
||||
# snapshot (that is, one of the "nosnapshot" configurations above).
|
||||
#
|
||||
# nosnapshot_deps (optional):
|
||||
# Similar to nosnapshot_sources, but for deps.
|
||||
template("library_for_all_configs") {
|
||||
assert(defined(invoker.target_type))
|
||||
extra_configs = []
|
||||
if (defined(invoker.extra_configs)) {
|
||||
extra_configs += invoker.extra_configs
|
||||
}
|
||||
configurable_deps = []
|
||||
if (defined(invoker.configurable_deps)) {
|
||||
configurable_deps += invoker.configurable_deps
|
||||
}
|
||||
extra_deps = []
|
||||
if (defined(invoker.extra_deps)) {
|
||||
extra_deps += invoker.extra_deps
|
||||
}
|
||||
not_needed(invoker,
|
||||
[
|
||||
"snapshot_sources",
|
||||
"nosnapshot_sources",
|
||||
"nosnapshot_deps",
|
||||
])
|
||||
foreach(conf, _all_configs) {
|
||||
target(invoker.target_type, "${target_name}${conf.suffix}") {
|
||||
forward_variables_from(invoker,
|
||||
"*",
|
||||
[
|
||||
"extra_configs",
|
||||
"extra_deps",
|
||||
"configurable_deps",
|
||||
])
|
||||
if (is_fuchsia) {
|
||||
configs -= [ "//build/config:symbol_visibility_hidden" ]
|
||||
}
|
||||
configs += conf.configs + extra_configs
|
||||
configured_deps = []
|
||||
foreach(dep, configurable_deps) {
|
||||
configured_deps += [ "${dep}${conf.suffix}" ]
|
||||
}
|
||||
deps = configured_deps + extra_deps
|
||||
if (conf.snapshot) {
|
||||
if (defined(invoker.snapshot_sources)) {
|
||||
sources += snapshot_sources
|
||||
}
|
||||
} else {
|
||||
if (defined(invoker.nosnapshot_sources)) {
|
||||
sources += nosnapshot_sources
|
||||
}
|
||||
if (defined(nosnapshot_deps)) {
|
||||
deps += nosnapshot_deps
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -2,53 +2,12 @@
|
|||
# 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.
|
||||
|
||||
import("../configs.gni")
|
||||
import("platform_sources.gni")
|
||||
|
||||
template("build_libdart_platform") {
|
||||
extra_configs = []
|
||||
if (defined(invoker.extra_configs)) {
|
||||
extra_configs += invoker.extra_configs
|
||||
}
|
||||
static_library(target_name) {
|
||||
configs += [
|
||||
"..:dart_arch_config",
|
||||
"..:dart_config",
|
||||
] + extra_configs
|
||||
if (is_fuchsia) {
|
||||
configs -= [ "//build/config:symbol_visibility_hidden" ]
|
||||
}
|
||||
public_configs = [ "../vm:libdart_vm_config" ]
|
||||
|
||||
sources = platform_sources
|
||||
|
||||
include_dirs = [ ".." ]
|
||||
}
|
||||
}
|
||||
|
||||
build_libdart_platform("libdart_platform") {
|
||||
extra_configs = [
|
||||
"..:dart_maybe_product_config",
|
||||
"..:dart_os_config",
|
||||
]
|
||||
}
|
||||
|
||||
build_libdart_platform("libdart_platform_product") {
|
||||
extra_configs = [
|
||||
"..:dart_product_config",
|
||||
"..:dart_os_config",
|
||||
]
|
||||
}
|
||||
|
||||
build_libdart_platform("libdart_platform_fuchsia") {
|
||||
extra_configs = [
|
||||
"..:dart_maybe_product_config",
|
||||
"..:dart_os_fuchsia_config",
|
||||
]
|
||||
}
|
||||
|
||||
build_libdart_platform("libdart_platform_product_fuchsia") {
|
||||
extra_configs = [
|
||||
"..:dart_product_config",
|
||||
"..:dart_os_fuchsia_config",
|
||||
]
|
||||
library_for_all_configs("libdart_platform") {
|
||||
target_type = "static_library"
|
||||
public_configs = [ "../vm:libdart_vm_config" ]
|
||||
sources = platform_sources
|
||||
include_dirs = [ ".." ]
|
||||
}
|
||||
|
|
|
@ -30,6 +30,7 @@ import("../lib/mirrors_sources.gni")
|
|||
import("../lib/profiler_sources.gni")
|
||||
import("../lib/typed_data_sources.gni")
|
||||
import("../lib/vmservice_sources.gni")
|
||||
import("../configs.gni")
|
||||
import("../runtime_args.gni")
|
||||
import("compiler/compiler_sources.gni")
|
||||
import("vm_sources.gni")
|
||||
|
@ -54,128 +55,28 @@ config("libdart_vm_config") {
|
|||
}
|
||||
}
|
||||
|
||||
template("build_libdart_vm") {
|
||||
extra_configs = []
|
||||
if (defined(invoker.extra_configs)) {
|
||||
extra_configs += invoker.extra_configs
|
||||
library_for_all_configs("libdart_vm") {
|
||||
target_type = "source_set"
|
||||
if (is_fuchsia) {
|
||||
extra_deps = [
|
||||
# TODO(US-399): Remove time_service specific code when it is no longer
|
||||
# necessary.
|
||||
"//garnet/public/lib/app/cpp",
|
||||
"//garnet/public/lib/time_zone/fidl",
|
||||
|
||||
# TODO(zra): When the platform-specific timeline code is moved out to
|
||||
# the embedder, this can go away.
|
||||
"//zircon/public/lib/fbl",
|
||||
"//zircon/public/lib/trace-engine",
|
||||
]
|
||||
}
|
||||
source_set(target_name) {
|
||||
configs += [
|
||||
"..:dart_arch_config",
|
||||
"..:dart_config",
|
||||
] + extra_configs
|
||||
if (is_fuchsia) {
|
||||
configs -= [ "//build/config:symbol_visibility_hidden" ]
|
||||
deps = [
|
||||
# TODO(US-399): Remove time_service specific code when it is no longer
|
||||
# necessary.
|
||||
"//garnet/public/lib/app/cpp",
|
||||
"//garnet/public/lib/time_zone/fidl",
|
||||
|
||||
# TODO(zra): When the platform-specific timeline code is moved out to
|
||||
# the embedder, this can go away.
|
||||
"//zircon/public/lib/fbl",
|
||||
"//zircon/public/lib/trace-engine",
|
||||
]
|
||||
}
|
||||
public_configs = [ ":libdart_vm_config" ]
|
||||
set_sources_assignment_filter([
|
||||
"*_test.cc",
|
||||
"*_test.h",
|
||||
])
|
||||
sources = vm_sources + rebase_path(compiler_sources, ".", "./compiler/")
|
||||
include_dirs = [ ".." ]
|
||||
}
|
||||
}
|
||||
|
||||
build_libdart_vm("libdart_vm_jit") {
|
||||
extra_configs = [
|
||||
"..:dart_maybe_product_config",
|
||||
"..:dart_os_config",
|
||||
]
|
||||
}
|
||||
|
||||
build_libdart_vm("libdart_vm_jit_product") {
|
||||
extra_configs = [
|
||||
"..:dart_product_config",
|
||||
"..:dart_os_config",
|
||||
]
|
||||
}
|
||||
|
||||
build_libdart_vm("libdart_vm_precompiled_runtime") {
|
||||
extra_configs = [
|
||||
"..:dart_maybe_product_config",
|
||||
"..:dart_precompiled_runtime_config",
|
||||
"..:dart_os_config",
|
||||
]
|
||||
}
|
||||
|
||||
build_libdart_vm("libdart_vm_precompiled_runtime_product") {
|
||||
extra_configs = [
|
||||
"..:dart_product_config",
|
||||
"..:dart_precompiled_runtime_config",
|
||||
"..:dart_os_config",
|
||||
]
|
||||
}
|
||||
|
||||
build_libdart_vm("libdart_vm_nosnapshot") {
|
||||
extra_configs = [
|
||||
"..:dart_maybe_product_config",
|
||||
"..:dart_no_snapshot_config",
|
||||
"..:dart_os_config",
|
||||
]
|
||||
}
|
||||
|
||||
build_libdart_vm("libdart_vm_nosnapshot_with_precompiler") {
|
||||
extra_configs = [
|
||||
"..:dart_maybe_product_config",
|
||||
"..:dart_precompiler_config",
|
||||
"..:dart_no_snapshot_config",
|
||||
"..:dart_os_config",
|
||||
]
|
||||
}
|
||||
|
||||
build_libdart_vm("libdart_vm_nosnapshot_with_precompiler_product") {
|
||||
extra_configs = [
|
||||
"..:dart_product_config",
|
||||
"..:dart_precompiler_config",
|
||||
"..:dart_no_snapshot_config",
|
||||
"..:dart_os_config",
|
||||
]
|
||||
}
|
||||
|
||||
build_libdart_vm("libdart_vm_nosnapshot_with_precompiler_fuchsia") {
|
||||
extra_configs = [
|
||||
"..:dart_maybe_product_config",
|
||||
"..:dart_precompiler_config",
|
||||
"..:dart_no_snapshot_config",
|
||||
"..:dart_os_fuchsia_config",
|
||||
]
|
||||
}
|
||||
|
||||
build_libdart_vm("libdart_vm_nosnapshot_with_precompiler_product_fuchsia") {
|
||||
extra_configs = [
|
||||
"..:dart_product_config",
|
||||
"..:dart_precompiler_config",
|
||||
"..:dart_no_snapshot_config",
|
||||
"..:dart_os_fuchsia_config",
|
||||
]
|
||||
}
|
||||
|
||||
build_libdart_vm("libdart_vm_with_precompiler") {
|
||||
extra_configs = [
|
||||
"..:dart_maybe_product_config",
|
||||
"..:dart_precompiler_config",
|
||||
"..:dart_os_config",
|
||||
]
|
||||
}
|
||||
|
||||
build_libdart_vm("libdart_vm_with_precompiler_product") {
|
||||
extra_configs = [
|
||||
"..:dart_product_config",
|
||||
"..:dart_precompiler_config",
|
||||
"..:dart_os_config",
|
||||
]
|
||||
public_configs = [ ":libdart_vm_config" ]
|
||||
set_sources_assignment_filter([
|
||||
"*_test.cc",
|
||||
"*_test.h",
|
||||
])
|
||||
sources = vm_sources + rebase_path(compiler_sources, ".", "./compiler/")
|
||||
include_dirs = [ ".." ]
|
||||
}
|
||||
|
||||
template("process_library_source") {
|
||||
|
@ -224,33 +125,6 @@ template("generate_library_source") {
|
|||
}
|
||||
}
|
||||
|
||||
template("build_libdart_lib") {
|
||||
extra_configs = []
|
||||
if (defined(invoker.extra_configs)) {
|
||||
extra_configs += invoker.extra_configs
|
||||
}
|
||||
extra_deps = []
|
||||
if (defined(invoker.extra_deps)) {
|
||||
extra_deps += invoker.extra_deps
|
||||
}
|
||||
extra_sources = []
|
||||
if (defined(invoker.extra_sources)) {
|
||||
extra_sources += invoker.extra_sources
|
||||
}
|
||||
source_set(target_name) {
|
||||
configs += [
|
||||
"..:dart_arch_config",
|
||||
"..:dart_config",
|
||||
] + extra_configs
|
||||
if (is_fuchsia) {
|
||||
configs -= [ "//build/config:symbol_visibility_hidden" ]
|
||||
}
|
||||
deps = extra_deps
|
||||
sources = extra_sources
|
||||
include_dirs = [ ".." ]
|
||||
}
|
||||
}
|
||||
|
||||
# This templates expects invoker.sources to be a list of lists.
|
||||
# The lists contain the following information about each library:
|
||||
# library name (string)
|
||||
|
@ -300,98 +174,13 @@ template("generate_core_libraries") {
|
|||
|
||||
all_libsources = rebase_path(invoker.allsources, ".", "../lib")
|
||||
|
||||
build_libdart_lib("libdart_lib_nosnapshot_with_precompiler") {
|
||||
extra_configs = [
|
||||
"..:dart_maybe_product_config",
|
||||
"..:dart_precompiler_config",
|
||||
"..:dart_os_config",
|
||||
]
|
||||
extra_deps = libdeps
|
||||
extra_sources = all_libsources + [ "bootstrap.cc" ] + liboutputs
|
||||
}
|
||||
|
||||
build_libdart_lib("libdart_lib_nosnapshot_with_precompiler_product") {
|
||||
extra_configs = [
|
||||
"..:dart_product_config",
|
||||
"..:dart_precompiler_config",
|
||||
"..:dart_os_config",
|
||||
]
|
||||
extra_deps = libdeps
|
||||
extra_sources = all_libsources + [ "bootstrap.cc" ] + liboutputs
|
||||
}
|
||||
|
||||
build_libdart_lib("libdart_lib_nosnapshot_with_precompiler_fuchsia") {
|
||||
extra_configs = [
|
||||
"..:dart_maybe_product_config",
|
||||
"..:dart_precompiler_config",
|
||||
"..:dart_os_fuchsia_config",
|
||||
]
|
||||
extra_deps = libdeps
|
||||
extra_sources = all_libsources + [ "bootstrap.cc" ] + liboutputs
|
||||
}
|
||||
|
||||
build_libdart_lib("libdart_lib_nosnapshot_with_precompiler_product_fuchsia") {
|
||||
extra_configs = [
|
||||
"..:dart_product_config",
|
||||
"..:dart_precompiler_config",
|
||||
"..:dart_os_fuchsia_config",
|
||||
]
|
||||
extra_deps = libdeps
|
||||
extra_sources = all_libsources + [ "bootstrap.cc" ] + liboutputs
|
||||
}
|
||||
|
||||
build_libdart_lib("libdart_lib_with_precompiler") {
|
||||
extra_configs = [
|
||||
"..:dart_maybe_product_config",
|
||||
"..:dart_precompiler_config",
|
||||
"..:dart_os_config",
|
||||
]
|
||||
extra_deps = libdeps
|
||||
extra_sources = all_libsources + [ "bootstrap_nocore.cc" ]
|
||||
}
|
||||
|
||||
build_libdart_lib("libdart_lib_with_precompiler_product") {
|
||||
extra_configs = [
|
||||
"..:dart_product_config",
|
||||
"..:dart_precompiler_config",
|
||||
"..:dart_os_config",
|
||||
]
|
||||
extra_deps = libdeps
|
||||
extra_sources = all_libsources + [ "bootstrap_nocore.cc" ]
|
||||
}
|
||||
|
||||
build_libdart_lib("libdart_lib_jit") {
|
||||
extra_configs = [
|
||||
"..:dart_maybe_product_config",
|
||||
"..:dart_os_config",
|
||||
]
|
||||
extra_sources = all_libsources + [ "bootstrap_nocore.cc" ]
|
||||
}
|
||||
|
||||
build_libdart_lib("libdart_lib_jit_product") {
|
||||
extra_configs = [
|
||||
"..:dart_product_config",
|
||||
"..:dart_os_config",
|
||||
]
|
||||
extra_sources = all_libsources + [ "bootstrap_nocore.cc" ]
|
||||
}
|
||||
|
||||
build_libdart_lib("libdart_lib_precompiled_runtime") {
|
||||
extra_configs = [
|
||||
"..:dart_maybe_product_config",
|
||||
"..:dart_precompiled_runtime_config",
|
||||
"..:dart_os_config",
|
||||
]
|
||||
extra_sources = all_libsources + [ "bootstrap_nocore.cc" ]
|
||||
}
|
||||
|
||||
build_libdart_lib("libdart_lib_precompiled_runtime_product") {
|
||||
extra_configs = [
|
||||
"..:dart_product_config",
|
||||
"..:dart_precompiled_runtime_config",
|
||||
"..:dart_os_config",
|
||||
]
|
||||
extra_sources = all_libsources + [ "bootstrap_nocore.cc" ]
|
||||
library_for_all_configs("libdart_lib") {
|
||||
target_type = "source_set"
|
||||
include_dirs = [ ".." ]
|
||||
sources = all_libsources
|
||||
snapshot_sources = [ "bootstrap_nocore.cc" ]
|
||||
nosnapshot_sources = [ "bootstrap.cc" ] + liboutputs
|
||||
nosnapshot_deps = libdeps
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue