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

Unified Diff: runtime/BUILD.gn

Issue 1903583002: GN Build fixes for Flutter + gen_snapshot fix (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 8 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 | « no previous file | 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 d4cd0bccf55b79682ae4836a590c4ef91ff591a9..bd091d9ae67f4d8a9e75022ed480d0d5961f509c 100644
--- a/runtime/BUILD.gn
+++ b/runtime/BUILD.gn
@@ -12,9 +12,15 @@ declare_args() {
# while themselves doing a Debug build.
dart_debug = false
- # Product mode drops many features (e.g. debugger, profiler, etc) in order to
- # shrink download size and decrease memory and cpu usage.
- dart_product = false
+ # Set the runtime mode. This affects how the runtime is built and what
+ # features it has. Valid values are:
+ # 'develop' (the default) - VM is built to run as a JIT with all development
+ # features enabled.
+ # 'profile' - The VM is built to run with AOT compiled code with only the
+ # CPU profiling features enabled.
+ # 'release' - The VM is built to run with AOT compiled code with no developer
+ # features enabled.
+ dart_runtime_mode = "develop"
# Explicitly set the target architecture in case of precompilation. Leaving
# this unspecified results in automatic target architecture detection.
@@ -28,79 +34,59 @@ config("dart_public_config") {
]
}
-config("dart_config") {
+# Controls PRODUCT #define.
+config("dart_product_config") {
defines = []
- if (dart_target_arch != "") {
- if (dart_target_arch == "arm") {
- defines += [ "TARGET_ARCH_ARM" ]
- } else if (dart_target_arch == "arm64") {
- defines += [ "TARGET_ARCH_ARM64" ]
- } else if (dart_target_arch == "mips") {
- 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") {
- defines += [ "TARGET_ARCH_DBC" ]
- } else {
- print("Invalid |dart_target_arch|")
- assert(false)
- }
- }
-
- if (dart_debug) {
- defines += ["DEBUG"]
- } else {
- defines += ["NDEBUG"]
+ if ((dart_runtime_mode != "develop") &&
+ (dart_runtime_mode != "profile") &&
+ (dart_runtime_mode != "release")) {
+ print("Invalid |dart_runtime_mode|")
+ assert(false)
}
- if (dart_product) {
+ if (dart_runtime_mode == "release") {
if (dart_debug) {
- print("Debug and product mode are mutually exclusive.")
+ print("Debug and release mode are mutually exclusive.")
}
assert(!dart_debug)
defines += ["PRODUCT"]
}
+}
- # Ideally this would only be enabled for gen_snapshot
- defines += ["DART_PRECOMPILER"]
-
- cflags = [
- "-Werror",
- "-Wall",
- "-Wextra", # Also known as -W.
- "-Wno-unused-parameter",
- "-Wnon-virtual-dtor",
- "-Wvla",
- "-Wno-conversion-null",
- "-Woverloaded-virtual",
- "-g3",
- "-ggdb3",
- "-fno-rtti",
- "-fno-exceptions",
- ]
+# Controls DART_PRECOMPILED_RUNTIME #define.
+config("dart_precompiled_runtime_config") {
+ defines = []
- if (dart_debug) {
- cflags += [
- "-O1",
- ]
- } else {
- cflags += [
- "-O3",
- ]
+ if ((dart_runtime_mode != "develop") &&
+ (dart_runtime_mode != "profile") &&
+ (dart_runtime_mode != "release")) {
+ print("Invalid |dart_runtime_mode|")
+ assert(false)
}
- if (is_asan) {
- ldflags = [
- "-Wl,-u_sanitizer_options_link_helper",
- "-fsanitize=address",
- ]
+ if (dart_runtime_mode == "release") {
+ if (dart_debug) {
+ print("Debug and release mode are mutually exclusive.")
+ }
+ assert(!dart_debug)
+ defines += ["DART_PRECOMPILED_RUNTIME"]
+ } else if (dart_runtime_mode == "profile") {
+ if (dart_debug) {
+ print("Debug and profile mode are mutually exclusive.")
+ }
+ assert(!dart_debug)
+ defines += ["DART_PRECOMPILED_RUNTIME"]
}
}
-config("dart_config_no_precompiler") {
+# Controls DART_PRECOMPILER #define.
+config("dart_precompiler_config") {
+ defines = []
+ defines += ["DART_PRECOMPILER"]
+}
+
+config("dart_config") {
defines = []
if (dart_target_arch != "") {
@@ -128,14 +114,6 @@ config("dart_config_no_precompiler") {
defines += ["NDEBUG"]
}
- if (dart_product) {
- if (dart_debug) {
- print("Debug and product mode are mutually exclusive.")
- }
- assert(!dart_debug)
- defines += ["PRODUCT"]
- }
-
cflags = [
"-Werror",
"-Wall",
@@ -169,9 +147,10 @@ config("dart_config_no_precompiler") {
}
}
-
static_library("libdart") {
- configs += [":dart_config"]
+ configs += [":dart_config",
+ ":dart_product_config",
+ ":dart_precompiled_runtime_config"]
deps = [
"vm:libdart_lib",
"vm:libdart_vm",
@@ -196,37 +175,6 @@ static_library("libdart") {
]
}
-
-static_library("libdart_precompiled_runtime") {
- configs += [":dart_config_no_precompiler"]
- deps = [
- "vm:libdart_lib_precompiled_runtime",
- "vm:libdart_vm_precompiled_runtime",
- "third_party/double-conversion/src:libdouble_conversion",
- ":generate_version_cc_file",
- ]
- 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_PRECOMPILED_RUNTIME",
- ]
-}
-
-
action("generate_version_cc_file") {
deps = [
":libdart_dependency_helper",
@@ -251,7 +199,9 @@ action("generate_version_cc_file") {
executable("libdart_dependency_helper") {
- configs += [":dart_config"]
+ configs += [":dart_config",
+ ":dart_product_config",
+ ":dart_precompiled_runtime_config"]
deps = [
"vm:libdart_lib_nosnapshot",
"vm:libdart_lib",
« no previous file with comments | « no previous file | runtime/bin/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698