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

Unified Diff: runtime/BUILD.gn

Issue 2350583002: Starting work on full GN build (Closed)
Patch Set: Fixes for Fuchsia and Flutter. Cleanup. Created 4 years, 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « build/toolchain/linux/BUILD.gn ('k') | runtime/bin/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/BUILD.gn
diff --git a/runtime/BUILD.gn b/runtime/BUILD.gn
index df10d3a7228afd3bc29a861ee2b6ae8df9f71834..afc963ab00ada5311caa09305bca19d63be179a7 100644
--- a/runtime/BUILD.gn
+++ b/runtime/BUILD.gn
@@ -2,10 +2,6 @@
# 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.
-# TODO(zra): These build arguments should likely be moved to a gni file that is
-# included in BUILD.gn files that care about the values of the flags. For now,
-# since the GN build only happens as part of a Mojo build there is no need for
-# the indirection.
declare_args() {
# Instead of using is_debug, we introduce a different flag for specifying a
# Debug build of Dart so that clients can still use a Release build of Dart
@@ -20,6 +16,10 @@ declare_args() {
# CPU profiling features enabled.
# 'release' - The VM is built to run with AOT compiled code with no developer
# features enabled.
+ #
+ # These settings are only used for Flutter, at the moment. A standalone build
+ # of the Dart VM should leave this set to "develop", and should set
+ # 'is_debug', 'is_release', or 'is_product'.
dart_runtime_mode = "develop"
# Explicitly set the target architecture in case of precompilation. Leaving
@@ -36,8 +36,8 @@ config("dart_public_config") {
]
}
-# Controls PRODUCT #define.
-config("dart_product_config") {
+# Adds PRODUCT define if Flutter has specified "release" for dart_runtime_mode
+config("dart_maybe_product_config") {
defines = []
if ((dart_runtime_mode != "develop") &&
@@ -56,8 +56,9 @@ config("dart_product_config") {
}
}
-# Controls DART_PRECOMPILED_RUNTIME #define.
-config("dart_precompiled_runtime_config") {
+# Adds the DART_PRECOMPILED_RUNTIME define if Flutter has specified "profile" or
+# "release" for dart_runtime_mode.
+config("dart_maybe_precompiled_runtime_config") {
defines = []
if ((dart_runtime_mode != "develop") &&
@@ -83,12 +84,22 @@ config("dart_precompiled_runtime_config") {
}
}
+config("dart_precompiled_runtime_config") {
+ defines = []
+ defines += ["DART_PRECOMPILED_RUNTIME"]
+}
+
# Controls DART_PRECOMPILER #define.
config("dart_precompiler_config") {
defines = []
defines += ["DART_PRECOMPILER"]
}
+config("dart_no_snapshot_config") {
+ defines = []
+ defines += ["DART_NO_SNAPSHOT"]
+}
+
config("dart_config") {
defines = []
@@ -97,23 +108,39 @@ config("dart_config") {
}
if (dart_target_arch != "") {
- if (dart_target_arch == "arm") {
+ if ((dart_target_arch == "arm") ||
+ (dart_target_arch == "simarm")) {
defines += [ "TARGET_ARCH_ARM" ]
if (target_os == "mac" || target_os == "ios") {
defines += [ "TARGET_ABI_IOS" ]
} else {
defines += [ "TARGET_ABI_EABI" ]
}
- } else if (dart_target_arch == "arm64") {
+ } else if ((dart_target_arch == "armv6") ||
+ (dart_target_arch == "simarmv6")) {
+ defines += [ "TARGET_ARCH_ARM" ]
+ defines += [ "TARGET_ARCH_ARM_6" ]
+ defines += [ "TARGET_ABI_EABI" ]
+ } else if ((dart_target_arch == "armv5te") ||
+ (dart_target_arch == "simarmv5te")) {
+ defines += [ "TARGET_ARCH_ARM" ]
+ defines += [ "TARGET_ARCH_ARM_5TE" ]
+ defines += [ "TARGET_ABI_EABI" ]
+ } else if ((dart_target_arch == "arm64") ||
+ (dart_target_arch == "simarm64")) {
defines += [ "TARGET_ARCH_ARM64" ]
- } else if (dart_target_arch == "mips") {
+ } else if ((dart_target_arch == "mips") ||
+ (dart_target_arch == "simmips")) {
defines += [ "TARGET_ARCH_MIPS" ]
} else if (dart_target_arch == "x64") {
defines += [ "TARGET_ARCH_X64" ]
} else if (dart_target_arch == "ia32") {
defines += [ "TARGET_ARCH_IA32" ]
- } else if (dart_target_arch == "dbc") {
+ } else if ((dart_target_arch == "dbc") ||
+ (dart_target_arch == "simdbc") ||
+ (dart_target_arch == "simdbc64")) {
defines += [ "TARGET_ARCH_DBC" ]
+ defines += [ "USING_SIMULATOR" ]
} else {
print("Invalid |dart_target_arch|")
assert(false)
@@ -159,31 +186,97 @@ config("dart_config") {
}
}
-static_library("libdart") {
- configs += [":dart_config",
- ":dart_product_config",
- ":dart_precompiled_runtime_config"]
- deps = [
+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
+ }
+ static_library(target_name) {
+ configs += [
+ ":dart_config",
+ ":dart_maybe_product_config"
+ ] + extra_configs
+ deps = [
+ "vm:libdart_platform",
+ "third_party/double-conversion/src:libdouble_conversion",
+ ":generate_version_cc_file",
+ ] + extra_deps
+ include_dirs = [
+ ".",
+ ]
+ public_configs = [":dart_public_config"]
+ sources = [
+ "include/dart_api.h",
+ "include/dart_mirrors_api.h",
+ "include/dart_native_api.h",
+ "include/dart_tools_api.h",
+ "vm/dart_api_impl.cc",
+ "vm/debugger_api_impl.cc",
+ "vm/mirrors_api_impl.cc",
+ "vm/native_api_impl.cc",
+ "vm/version.h",
+ "$target_gen_dir/version.cc",
+ ]
+ defines = [
+ "DART_SHARED_LIB",
+ ]
+ }
+}
+
+libdart_library("libdart") {
+ extra_configs = [
+ ":dart_maybe_precompiled_runtime_config"
+ ]
+ extra_deps = [
"vm:libdart_lib",
"vm:libdart_vm",
- "third_party/double-conversion/src:libdouble_conversion",
- ":generate_version_cc_file",
]
- include_dirs = [
- ".",
+}
+
+libdart_library("libdart_precompiled_runtime") {
+ extra_configs = [
+ ":dart_precompiled_runtime_config"
]
- public_configs = [":dart_public_config"]
- sources = [
- "include/dart_api.h",
- "include/dart_mirrors_api.h",
- "include/dart_native_api.h",
- "include/dart_tools_api.h",
- "vm/dart_api_impl.cc",
- "vm/debugger_api_impl.cc",
- "vm/mirrors_api_impl.cc",
- "vm/native_api_impl.cc",
- "vm/version.h",
- "$target_gen_dir/version.cc",
+ extra_deps = [
+ "vm:libdart_lib_precompiled_runtime",
+ "vm:libdart_vm_precompiled_runtime",
+ ]
+}
+
+libdart_library("libdart_nosnapshot") {
+ extra_configs = [
+ ":dart_no_snapshot_config",
+ ":dart_maybe_precompiled_runtime_config"
+ ]
+ extra_deps = [
+ "vm:libdart_lib_nosnapshot",
+ "vm:libdart_vm_nosnapshot",
+ ]
+}
+
+libdart_library("libdart_nosnapshot_precompiled_runtime") {
+ extra_configs = [
+ ":dart_no_snapshot_config",
+ ":dart_precompiled_runtime_config"
+ ]
+ extra_deps = [
+ "vm:libdart_lib_nosnapshot_precompiled_runtime",
+ "vm:libdart_vm_nosnapshot_precompiled_runtime",
+ ]
+}
+
+libdart_library("libdart_nosnapshot_with_precompiler") {
+ extra_configs = [
+ ":dart_no_snapshot_config",
+ ":dart_precompiler_config",
+ ]
+ extra_deps = [
+ "vm:libdart_lib_nosnapshot_with_precompiler",
+ "vm:libdart_vm_nosnapshot_with_precompiler",
]
}
@@ -211,8 +304,7 @@ action("generate_version_cc_file") {
executable("libdart_dependency_helper") {
configs += [":dart_config",
- ":dart_product_config",
- ":dart_precompiled_runtime_config"]
+ ":dart_maybe_product_config"]
deps = [
"vm:libdart_lib_nosnapshot",
"vm:libdart_lib",
« no previous file with comments | « build/toolchain/linux/BUILD.gn ('k') | runtime/bin/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698