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

Unified Diff: runtime/bin/BUILD.gn

Issue 2350583002: Starting work on full GN build (Closed)
Patch Set: 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
Index: runtime/bin/BUILD.gn
diff --git a/runtime/bin/BUILD.gn b/runtime/bin/BUILD.gn
index d03757b35b211149706862d64f97c68e8a3a5536..71f330cd68c14d8a5c3ba29ac967aaac81c50e91 100644
--- a/runtime/bin/BUILD.gn
+++ b/runtime/bin/BUILD.gn
@@ -2,6 +2,15 @@
# 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.
+declare_args() {
+ dart_io_include_root_certs = false
+
+ dart_zlib_path = "//third_party/zlib"
+
+ dart_include_observatory = false
+}
+
+
resources_sources_gypi =
exec_script("../../tools/gypi_to_gn.py",
[rebase_path("vmservice/vmservice_sources.gypi")],
@@ -45,12 +54,16 @@ template("gen_library_src_path") {
outputs = [ invoker.output, ]
name = invoker.name
kind = invoker.kind
+ library_name = "dart:${name}"
+ if (defined(invoker.library_name)) {
+ library_name = invoker.library_name
+ }
args = [
"--output", rebase_path(invoker.output, root_build_dir),
"--input_cc", rebase_path("builtin_in.cc", root_build_dir),
"--include", "bin/builtin.h",
"--var_name", "dart::bin::Builtin::${name}_${kind}_paths_",
- "--library_name", "dart:${name}",] +
+ "--library_name", library_name,] +
rebase_path(invoker.sources, root_build_dir)
}
}
@@ -99,10 +112,103 @@ gen_library_src_path("generate_io_patch_cc_file") {
}
+gen_library_src_path("generate_html_cc_file") {
+ name = "html"
+ kind = "source"
+ sources = ["../../sdk/lib/html/dartium/html_dartium.dart"]
+ output = "$target_gen_dir/html_gen.cc"
+}
+
+gen_library_src_path("generate_html_common_cc_file") {
+ name = "html_common"
+ kind = "source"
+ sources = [
+ "../../sdk/lib/html/html_common/html_common.dart",
+ "../../sdk/lib/html/html_common/css_class_set.dart",
+ "../../sdk/lib/html/html_common/device.dart",
+ "../../sdk/lib/html/html_common/filtered_element_list.dart",
+ "../../sdk/lib/html/html_common/lists.dart",
+ "../../sdk/lib/html/html_common/conversions.dart",
+ "../../sdk/lib/html/html_common/conversions_dartium.dart",
+ ]
+ output = "$target_gen_dir/html_common_gen.cc"
+}
+
+gen_library_src_path("generate_js_cc_file") {
+ name = "js"
+ kind = "source"
+ sources = ["../../sdk/lib/js/dartium/js_dartium.dart"]
+ output = "$target_gen_dir/js_gen.cc"
+}
+
+gen_library_src_path("generate_blink_cc_file") {
+ name = "_blink"
+ kind = "source"
+ sources = ["../../sdk/lib/_blink/dartium/_blink_dartium.dart"]
+ output = "$target_gen_dir/blink_gen.cc"
+}
+
+gen_library_src_path("generate_indexed_db_cc_file") {
+ name = "indexed_db"
+ kind = "source"
+ sources = ["../../sdk/lib/indexed_db/dartium/indexed_db_dartium.dart"]
+ output = "$target_gen_dir/indexed_db_gen.cc"
+}
+
+gen_library_src_path("generate_cached_patches_cc_file") {
+ name = "cached_patches"
+ library_name = "cached_patches.dart"
+ kind = "sources"
+ sources = ["../../sdk/lib/js/dartium/cached_patches.dart"]
+ output = "$target_gen_dir/cached_patches_gen.cc"
+}
+
+gen_library_src_path("generate_web_gl_cc_file") {
+ name = "web_gl"
+ kind = "source"
+ sources = ["../../sdk/lib/web_gl/dartium/web_gl_dartium.dart"]
+ output = "$target_gen_dir/web_gl_gen.cc"
+}
+
+gen_library_src_path("generate_metadata_cc_file") {
+ name = "metadata"
+ library_name = "metadata.dart"
+ kind = "source"
+ sources = ["../../sdk/lib/html/html_common/metadata.dart"]
+ output = "$target_gen_dir/metadata_gen.cc"
+}
+
+gen_library_src_path("generate_web_sql_cc_file") {
+ name = "web_sql"
+ kind = "source"
+ sources = ["../../sdk/lib/web_sql/dartium/web_sql_dartium.dart"]
+ output = "$target_gen_dir/web_sql_gen.cc"
+}
+
+gen_library_src_path("generate_svg_cc_file") {
+ name = "svg"
+ kind = "source"
+ sources = ["../../sdk/lib/svg/dartium/svg_dartium.dart"]
+ output = "$target_gen_dir/svg_gen.cc"
+}
+
+gen_library_src_path("generate_web_audio_cc_file") {
+ name = "web_audio"
+ kind = "source"
+ sources = ["../../sdk/lib/web_audio/dartium/web_audio_dartium.dart"]
+ output = "$target_gen_dir/web_audio_gen.cc"
+}
+
config("libdart_builtin_config") {
libs = [
"dl",
]
+ if (is_android) {
+ libs += [
+ "android",
+ "log",
+ ]
+ }
}
@@ -119,6 +225,17 @@ static_library("libdart_builtin") {
":generate_builtin_cc_file",
":generate_io_cc_file",
":generate_io_patch_cc_file",
+ ":generate_html_cc_file",
+ ":generate_html_common_cc_file",
+ ":generate_js_cc_file",
+ ":generate_blink_cc_file",
+ ":generate_indexed_db_cc_file",
+ ":generate_cached_patches_cc_file",
+ ":generate_web_gl_cc_file",
+ ":generate_metadata_cc_file",
+ ":generate_web_sql_cc_file",
+ ":generate_svg_cc_file",
+ ":generate_web_audio_cc_file",
]
include_dirs = [
"..",
@@ -136,11 +253,44 @@ static_library("libdart_builtin") {
static_library("libdart_nosnapshot") {
Cutch 2016/09/21 23:26:27 same comment here about a template to avoid the du
zra 2016/09/22 06:08:17 Done.
configs += ["..:dart_config",
+ "..:dart_product_config"]
+ deps = [
+ "../vm:libdart_lib_nosnapshot",
+ "../vm:libdart_vm_nosnapshot",
+ "../vm:libdart_platform",
+ "../third_party/double-conversion/src:libdouble_conversion",
+ "..:generate_version_cc_file",
+ ]
+
+ 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",
+ "$target_gen_dir/../version.cc",
+ ]
+
+ include_dirs = [
+ "..",
+ ]
+
+ defines = [
+ "DART_SHARED_LIB",
+ ]
+}
+
+
+static_library("libdart_nosnapshot_precompiled_runtime") {
+ configs += ["..:dart_config",
"..:dart_product_config",
"..:dart_precompiled_runtime_config"]
deps = [
"../vm:libdart_lib_nosnapshot",
- "../vm:libdart_vm_nosnapshot",
+ "../vm:libdart_vm_nosnapshot_precompiled_runtime",
"../vm:libdart_platform",
"../third_party/double-conversion/src:libdouble_conversion",
"..:generate_version_cc_file",
@@ -258,7 +408,7 @@ source_set("gen_snapshot_dart_io") {
"..:dart_precompiler_config"]
deps = [
- "//third_party/zlib",
+ "$dart_zlib_path",
]
custom_sources_filter = [
@@ -293,22 +443,20 @@ source_set("gen_snapshot_dart_io") {
source_set("libdart_embedder_noio") {
configs += ["..:dart_config",
- "..:dart_product_config",
- "..:dart_precompiled_runtime_config"]
+ "..:dart_product_config"]
deps = [
"..:libdart",
"../vm:libdart_platform",
]
}
+# add argument set to false for including root_certificates.cc
-# A source set for the implementation of 'dart:io' library
-# (without secure sockets).
+
+# A source set for the implementation of 'dart:io' library.
source_set("embedded_dart_io") {
configs += ["..:dart_config",
- "..:dart_product_config",
- "..:dart_precompiled_runtime_config"]
-
+ "..:dart_product_config"]
custom_sources_filter = [
"*_test.cc",
"*_test.h",
@@ -324,6 +472,7 @@ source_set("embedded_dart_io") {
}
set_sources_assignment_filter(custom_sources_filter)
+ defines = []
if (is_mac || is_ios) {
libs = [
"Security.framework",
@@ -352,8 +501,15 @@ source_set("embedded_dart_io") {
"log_win.cc",
"log.h",
]
+
if (is_linux) {
- sources += [ "../../third_party/root_certificates/root_certificates.cc"]
+ if (dart_io_include_root_certs) {
+ sources += [ "../../third_party/root_certificates/root_certificates.cc"]
+ } else {
+ defines += [
+ "DART_IO_ROOT_CERTS_DISABLED",
+ ]
+ }
}
include_dirs = [
@@ -437,6 +593,242 @@ source_set("dart_snapshot_cc") {
]
}
+
+executable("dart") {
+ configs += ["..:dart_config",
+ "..:dart_product_config"]
+ deps = [
+ ":gen_resources_cc",
+ ":embedded_dart_io",
+ ":libdart_builtin",
+ "../vm:libdart_platform",
+ "..:libdart",
+ ":dart_snapshot_cc",
+ "$dart_zlib_path",
+ ]
+
+ sources = [
+ "main.cc",
+ "vmservice_impl.cc",
+ "vmservice_impl.h",
+ "$target_gen_dir/resources_gen.cc",
+ ]
+
+ if (!dart_include_observatory) {
+ defines = [
+ "NO_OBSERVATORY",
+ ]
+ sources += [
+ "observatory_assets_empty.cc",
+ ]
+ } else {
+ deps += [
+ "../observatory:standalone_observatory_archive",
+ ]
+ }
+
+ include_dirs = [
+ "..",
+ "//third_party",
+ ]
+
+ ldflags = [
+ "-rdynamic",
+ ]
+}
+
+executable("dart_precompiled_runtime") {
Cutch 2016/09/21 23:26:27 This is identical to the executable "dart' above.
zra 2016/09/22 06:08:17 Done.
+ configs += ["..:dart_config",
+ "..:dart_product_config"]
+ deps = [
+ ":gen_resources_cc",
+ ":embedded_dart_io",
+ ":libdart_builtin",
+ "../vm:libdart_platform",
+ "..:libdart",
+ ":dart_snapshot_cc",
+ "$dart_zlib_path",
+ ]
+
+ sources = [
+ "main.cc",
+ "vmservice_impl.cc",
+ "vmservice_impl.h",
+ "$target_gen_dir/resources_gen.cc",
+ ]
+
+ if (!dart_include_observatory) {
+ defines = [
+ "NO_OBSERVATORY",
+ ]
+ sources += [
+ "observatory_assets_empty.cc",
+ ]
+ } else {
+ deps += [
+ "../observatory:standalone_observatory_archive",
+ ]
+ }
+
+ include_dirs = [
+ "..",
+ "//third_party",
+ ]
+
+ ldflags = [
+ "-rdynamic",
+ ]
+}
+
+executable("dart_bootstrap") {
+ configs += ["..:dart_config",
+ "..:dart_product_config",
+ "..:dart_precompiler_config",
+ "..:dart_no_snapshot_config",]
+ deps = [
+ ":gen_resources_cc",
+ ":embedded_dart_io",
+ ":libdart_builtin",
+ "../vm:libdart_platform",
+ "..:libdart",
+ "$dart_zlib_path",
+ ]
+
+ sources = [
+ "main.cc",
+ "vmservice_impl.cc",
+ "vmservice_impl.h",
+ "observatory_assets_empty.cc",
+ "snapshot_empty.cc",
+ "$target_gen_dir/resources_gen.cc",
+ ]
+
+ include_dirs = [
+ "..",
+ "//third_party",
+ ]
+
+ ldflags = [
+ "-rdynamic",
+ ]
+}
+
+executable("process_test") {
+ sources = [
+ "process_test.cc",
+ ]
+}
+
+action("generate_snapshot_test_dat_file") {
+ snapshot_test_dat_file = "$root_gen_dir/snapshot_test.dat"
+ snapshot_test_in_dat_file = "../vm/snapshot_test_in.dat"
+ snapshot_test_dart_file = "../vm/snapshot_test.dart"
+ inputs = [
+ "../tools/create_string_literal.py",
+ snapshot_test_in_dat_file,
+ snapshot_test_dart_file,
+ ]
+
+ outputs = [
+ snapshot_test_dat_file,
+ ]
+
+ script = "../tools/create_string_literal.py"
+ args = [
+ "--output",
+ rebase_path(snapshot_test_dat_file),
+ "--input_cc",
+ rebase_path(snapshot_test_in_dat_file),
+ "--include",
+ "INTENTIONALLY_LEFT_BLANK",
+ "--var_name",
+ "INTENTIONALLY_LEFT_BLANK_TOO",
+ rebase_path(snapshot_test_dart_file),
+ ]
+}
+
+executable("run_vm_tests") {
+ configs += ["..:dart_config",
+ "..:dart_product_config"]
+ deps = [
+ "..:libdart",
+ ":libdart_builtin",
+ ":embedded_dart_io",
+ ":dart_snapshot_cc",
+ ":generate_snapshot_test_dat_file",
+ "../vm:libdart_platform",
+ "$dart_zlib_path",
+ ]
+ include_dirs = [
+ "..",
+ "$target_gen_dir",
+ ]
+ defines = [
+ "TESTING",
+ ]
+
+ vm_tests_list = exec_script("../../tools/gypi_to_gn.py",
+ [rebase_path("../vm/vm_sources.gypi"),
+ "--keep_only=_test.cc",
+ "--keep_only=_test.h",],
+ "scope",
+ ["../vm/vm_sources.gypi"])
+ vm_tests = rebase_path(vm_tests_list.sources, ".", "../vm")
+
+ builtin_impl_tests_list =
+ exec_script("../../tools/gypi_to_gn.py",
+ [rebase_path("builtin_impl_sources.gypi"),
+ "--keep_only=_test.cc",
+ "--keep_only=_test.h",],
+ "scope",
+ ["builtin_impl_sources.gypi"])
+
+ sources = [
+ "run_vm_tests.cc",
+ ] + builtin_impl_tests_list.sources + vm_tests
+
+ ldflags = [
+ "-rdynamic",
+ ]
+}
+
+
+shared_library("test_extension") {
+ deps = [
+ ":dart",
+ ]
+ sources = [
+ "test_extension.c",
+ "test_extension_dllmain_win.cc",
+ ]
+ include_dirs = [
+ "..",
+ ]
+ defines = [
+ # The only effect of DART_SHARED_LIB is to export the Dart API.
+ "DART_SHARED_LIB",
+ ]
+}
+
+
+shared_library("sample_extension") {
+ deps = [
+ ":dart",
+ ]
+ sources = [
+ "../../samples/sample_extension/sample_extension.cc",
+ "../../samples/sample_extension/sample_extension_dllmain_win.cc",
+ ]
+ include_dirs = [
+ "..",
+ ]
+ defines = [
+ # The only effect of DART_SHARED_LIB is to export the Dart API.
+ "DART_SHARED_LIB",
+ ]
+}
+
+
if (defined(is_fuchsia) && is_fuchsia) {
copy("hello_fuchsia") {
sources = [ "../tests/vm/dart/hello_fuchsia_test.dart" ]
@@ -445,8 +837,7 @@ if (defined(is_fuchsia) && is_fuchsia) {
executable("dart_no_observatory") {
configs += ["..:dart_config",
- "..:dart_product_config",
- "..:dart_precompiled_runtime_config",]
+ "..:dart_product_config"]
deps = [
":hello_fuchsia",
":gen_resources_cc",
@@ -455,7 +846,7 @@ if (defined(is_fuchsia) && is_fuchsia) {
"../vm:libdart_platform",
"..:libdart",
":dart_snapshot_cc",
- "//third_party/zlib",
+ "$dart_zlib_path",
]
defines = [
@@ -476,77 +867,6 @@ if (defined(is_fuchsia) && is_fuchsia) {
]
}
- action("generate_snapshot_test_dat_file") {
- snapshot_test_dat_file = "$root_gen_dir/snapshot_test.dat"
- snapshot_test_in_dat_file = "../vm/snapshot_test_in.dat"
- snapshot_test_dart_file = "../vm/snapshot_test.dart"
- inputs = [
- "../tools/create_string_literal.py",
- snapshot_test_in_dat_file,
- snapshot_test_dart_file,
- ]
-
- outputs = [
- snapshot_test_dat_file,
- ]
-
- script = "../tools/create_string_literal.py"
- args = [
- "--output",
- rebase_path(snapshot_test_dat_file),
- "--input_cc",
- rebase_path(snapshot_test_in_dat_file),
- "--include",
- "INTENTIONALLY_LEFT_BLANK",
- "--var_name",
- "INTENTIONALLY_LEFT_BLANK_TOO",
- rebase_path(snapshot_test_dart_file),
- ]
- }
-
- executable("run_vm_tests") {
- testonly = true
- configs += ["..:dart_config",
- "..:dart_product_config",
- "..:dart_precompiled_runtime_config",]
- deps = [
- "..:libdart",
- ":libdart_builtin",
- ":embedded_dart_io",
- ":dart_snapshot_cc",
- ":generate_snapshot_test_dat_file",
- "../vm:libdart_platform",
- "//third_party/zlib",
- ]
- include_dirs = [
- "..",
- "$target_gen_dir",
- ]
- defines = [
- "TESTING",
- ]
-
- vm_tests_list = exec_script("../../tools/gypi_to_gn.py",
- [rebase_path("../vm/vm_sources.gypi"),
- "--keep_only=_test.cc",
- "--keep_only=_test.h",],
- "scope",
- ["../vm/vm_sources.gypi"])
- vm_tests = rebase_path(vm_tests_list.sources, ".", "../vm")
-
- builtin_impl_tests_list =
- exec_script("../../tools/gypi_to_gn.py",
- [rebase_path("builtin_impl_sources.gypi"),
- "--keep_only=_test.cc",
- "--keep_only=_test.h",],
- "scope",
- ["builtin_impl_sources.gypi"])
-
- sources = [
- "run_vm_tests.cc",
- ] + builtin_impl_tests_list.sources + vm_tests
- }
-
executable("run_vm_tests_fuchsia") {
testonly = true
configs += ["..:dart_config"]

Powered by Google App Engine
This is Rietveld 408576698