| Index: runtime/bin/BUILD.gn
|
| diff --git a/runtime/bin/BUILD.gn b/runtime/bin/BUILD.gn
|
| index 2e58fddbc4fab1775c77630ddf5fb66b4ccc62ed..545b802ab545c411bdccdd7a6cbf5fe782df2fbd 100644
|
| --- a/runtime/bin/BUILD.gn
|
| +++ b/runtime/bin/BUILD.gn
|
| @@ -232,172 +232,223 @@ config("libdart_builtin_config") {
|
| }
|
| }
|
|
|
| -static_library("libdart_builtin") {
|
| - configs += [
|
| - "..:dart_config",
|
| - "..:dart_maybe_product_config",
|
| - ]
|
| - if (is_fuchsia) {
|
| - configs -= [ "//build/config:symbol_visibility_hidden" ]
|
| +template("build_libdart_builtin") {
|
| + extra_configs = []
|
| + if (defined(invoker.extra_configs)) {
|
| + extra_configs += invoker.extra_configs
|
| + }
|
| + static_library(target_name) {
|
| + configs += [ "..:dart_config" ] + extra_configs
|
| + if (is_fuchsia) {
|
| + configs -= [ "//build/config:symbol_visibility_hidden" ]
|
| + }
|
| + public_configs = [ ":libdart_builtin_config" ]
|
| + deps = [
|
| + ":generate_blink_cc_file",
|
| + ":generate_builtin_cc_file",
|
| + ":generate_cached_patches_cc_file",
|
| + ":generate_html_cc_file",
|
| + ":generate_html_common_cc_file",
|
| + ":generate_indexed_db_cc_file",
|
| + ":generate_io_cc_file",
|
| + ":generate_io_patch_cc_file",
|
| + ":generate_js_cc_file",
|
| + ":generate_js_util_cc_file",
|
| + ":generate_metadata_cc_file",
|
| + ":generate_svg_cc_file",
|
| + ":generate_web_audio_cc_file",
|
| + ":generate_web_gl_cc_file",
|
| + ":generate_web_sql_cc_file",
|
| + ]
|
| + include_dirs = [ ".." ]
|
| + set_sources_assignment_filter([
|
| + "*_test.cc",
|
| + "*_test.h",
|
| + ])
|
| + sources = [
|
| + "log_android.cc",
|
| + "log_fuchsia.cc",
|
| + "log_linux.cc",
|
| + "log_macos.cc",
|
| + "log_win.cc",
|
| + ] + builtin_impl_sources_gypi
|
| }
|
| - public_configs = [ ":libdart_builtin_config" ]
|
| - deps = [
|
| - ":generate_blink_cc_file",
|
| - ":generate_builtin_cc_file",
|
| - ":generate_cached_patches_cc_file",
|
| - ":generate_html_cc_file",
|
| - ":generate_html_common_cc_file",
|
| - ":generate_indexed_db_cc_file",
|
| - ":generate_io_cc_file",
|
| - ":generate_io_patch_cc_file",
|
| - ":generate_js_cc_file",
|
| - ":generate_js_util_cc_file",
|
| - ":generate_metadata_cc_file",
|
| - ":generate_svg_cc_file",
|
| - ":generate_web_audio_cc_file",
|
| - ":generate_web_gl_cc_file",
|
| - ":generate_web_sql_cc_file",
|
| - ]
|
| - include_dirs = [ ".." ]
|
| - set_sources_assignment_filter([
|
| - "*_test.cc",
|
| - "*_test.h",
|
| - ])
|
| - sources = [
|
| - "log_android.cc",
|
| - "log_fuchsia.cc",
|
| - "log_linux.cc",
|
| - "log_macos.cc",
|
| - "log_win.cc",
|
| - ] + builtin_impl_sources_gypi
|
| }
|
|
|
| -executable("gen_snapshot") {
|
| - configs += [
|
| - "..:dart_config",
|
| - "..:dart_maybe_product_config",
|
| - "..:dart_precompiler_config",
|
| - ]
|
| - if (is_fuchsia) {
|
| - configs -= [ "//build/config:symbol_visibility_hidden" ]
|
| +build_libdart_builtin("libdart_builtin") {
|
| + extra_configs = [ "..:dart_maybe_product_config" ]
|
| +}
|
| +
|
| +build_libdart_builtin("libdart_builtin_product") {
|
| + extra_configs = [ "..:dart_product_config" ]
|
| +}
|
| +
|
| +template("build_gen_snapshot") {
|
| + extra_configs = []
|
| + if (defined(invoker.extra_configs)) {
|
| + extra_configs += invoker.extra_configs
|
| }
|
| - deps = [
|
| - ":gen_resources_cc",
|
| + extra_deps = []
|
| + if (defined(invoker.extra_deps)) {
|
| + extra_deps += invoker.extra_deps
|
| + }
|
| + executable(target_name) {
|
| + configs += [
|
| + "..:dart_config",
|
| + "..:dart_precompiler_config",
|
| + ] + extra_configs
|
| + if (is_fuchsia) {
|
| + configs -= [ "//build/config:symbol_visibility_hidden" ]
|
| + }
|
| + deps = [
|
| + ":gen_resources_cc",
|
| + ":generate_builtin_cc_file",
|
| + ":generate_io_cc_file",
|
| + ":generate_io_patch_cc_file",
|
| + ] + extra_deps
|
| +
|
| + sources = [
|
| + # Include generated source files.
|
| + "$target_gen_dir/builtin_gen.cc",
|
| + "$target_gen_dir/io_gen.cc",
|
| + "$target_gen_dir/io_patch_gen.cc",
|
| + "$target_gen_dir/resources_gen.cc",
|
| + "address_sanitizer.cc",
|
| + "builtin.cc",
|
| + "builtin.h",
|
| + "loader.cc",
|
| + "loader.h",
|
| +
|
| + # Very limited native resolver provided.
|
| + "builtin_common.cc",
|
| + "builtin_gen_snapshot.cc",
|
| + "dfe.cc",
|
| + "dfe.h",
|
| + "gen_snapshot.cc",
|
| + "vmservice_impl.cc",
|
| + "vmservice_impl.h",
|
| + ]
|
| +
|
| + include_dirs = [ ".." ]
|
| +
|
| + if (dart_use_tcmalloc) {
|
| + deps += [ "//third_party/tcmalloc" ]
|
| + }
|
| +
|
| + if (is_mac) {
|
| + libs = [
|
| + "CoreFoundation.framework",
|
| + "CoreServices.framework",
|
| + ]
|
| + }
|
| +
|
| + if (is_win) {
|
| + libs = [
|
| + "iphlpapi.lib",
|
| + "psapi.lib",
|
| + "ws2_32.lib",
|
| + "Rpcrt4.lib",
|
| + "winmm.lib",
|
| + ]
|
| + }
|
| +
|
| + if (is_fuchsia) {
|
| + libs = [ "launchpad" ]
|
| + }
|
| + }
|
| +}
|
| +
|
| +build_gen_snapshot("gen_snapshot") {
|
| + extra_configs = [ "..:dart_maybe_product_config" ]
|
| + extra_deps = [
|
| ":gen_snapshot_dart_io",
|
| - ":generate_builtin_cc_file",
|
| - ":generate_io_cc_file",
|
| - ":generate_io_patch_cc_file",
|
| ":libdart_builtin",
|
| "..:libdart_nosnapshot_with_precompiler",
|
| ]
|
| +}
|
|
|
| - sources = [
|
| - # Include generated source files.
|
| - "$target_gen_dir/builtin_gen.cc",
|
| - "$target_gen_dir/io_gen.cc",
|
| - "$target_gen_dir/io_patch_gen.cc",
|
| - "$target_gen_dir/resources_gen.cc",
|
| - "address_sanitizer.cc",
|
| - "builtin.cc",
|
| - "builtin.h",
|
| - "loader.cc",
|
| - "loader.h",
|
|
|
| - # Very limited native resolver provided.
|
| - "builtin_common.cc",
|
| - "builtin_gen_snapshot.cc",
|
| - "dfe.cc",
|
| - "dfe.h",
|
| - "gen_snapshot.cc",
|
| - "vmservice_impl.cc",
|
| - "vmservice_impl.h",
|
| +build_gen_snapshot("gen_snapshot_product") {
|
| + extra_configs = [ "..:dart_product_config" ]
|
| + extra_deps = [
|
| + ":gen_snapshot_dart_io_product",
|
| + ":libdart_builtin_product",
|
| + "..:libdart_nosnapshot_with_precompiler_product",
|
| ]
|
| +}
|
|
|
| - include_dirs = [ ".." ]
|
|
|
| - if (dart_use_tcmalloc) {
|
| - deps += [ "//third_party/tcmalloc" ]
|
| +# A source set for the implementation of 'dart:io' library
|
| +# (without secure sockets) suitable for linking with gen_snapshot.
|
| +template("build_gen_snapshot_dart_io") {
|
| + extra_configs = []
|
| + if (defined(invoker.extra_configs)) {
|
| + extra_configs += invoker.extra_configs
|
| }
|
| + source_set(target_name) {
|
| + configs += [
|
| + "..:dart_config",
|
| + "..:dart_precompiler_config",
|
| + ] + extra_configs
|
| + if (is_fuchsia) {
|
| + configs -= [ "//build/config:symbol_visibility_hidden" ]
|
| + }
|
|
|
| - if (is_mac) {
|
| - libs = [
|
| - "CoreFoundation.framework",
|
| - "CoreServices.framework",
|
| + deps = [
|
| + "$dart_zlib_path",
|
| ]
|
| - }
|
|
|
| - if (is_win) {
|
| - libs = [
|
| - "iphlpapi.lib",
|
| - "psapi.lib",
|
| - "ws2_32.lib",
|
| - "Rpcrt4.lib",
|
| - "winmm.lib",
|
| + custom_sources_filter = [
|
| + "*_test.cc",
|
| + "*_test.h",
|
| + "builtin.cc",
|
| + "builtin_common.cc",
|
| + "builtin_gen_snapshot.cc",
|
| ]
|
| - }
|
| -
|
| - if (is_fuchsia) {
|
| - libs = [ "launchpad" ]
|
| - }
|
| -}
|
| + if (!is_mac && !is_ios) {
|
| + # Dart tree uses *_macos.* instead of *_mac.*
|
| + custom_sources_filter += [
|
| + "*_macos.h",
|
| + "*_macos.cc",
|
| + ]
|
| + }
|
| + set_sources_assignment_filter(custom_sources_filter)
|
|
|
| -# A source set for the implementation of 'dart:io' library
|
| -# (without secure sockets) suitable for linking with gen_snapshot.
|
| -source_set("gen_snapshot_dart_io") {
|
| - configs += [
|
| - "..:dart_config",
|
| - "..:dart_maybe_product_config",
|
| - "..:dart_precompiler_config",
|
| - ]
|
| - if (is_fuchsia) {
|
| - configs -= [ "//build/config:symbol_visibility_hidden" ]
|
| - }
|
| + defines = [ "DART_IO_SECURE_SOCKET_DISABLED" ]
|
|
|
| - deps = [
|
| - "$dart_zlib_path",
|
| - ]
|
| + sources = io_impl_sources_gypi + builtin_impl_sources_gypi
|
| + sources += [
|
| + "io_natives.cc",
|
| + "io_natives.h",
|
| + ]
|
|
|
| - custom_sources_filter = [
|
| - "*_test.cc",
|
| - "*_test.h",
|
| - "builtin.cc",
|
| - "builtin_common.cc",
|
| - "builtin_gen_snapshot.cc",
|
| - ]
|
| - if (!is_mac && !is_ios) {
|
| - # Dart tree uses *_macos.* instead of *_mac.*
|
| - custom_sources_filter += [
|
| - "*_macos.h",
|
| - "*_macos.cc",
|
| + include_dirs = [
|
| + "..",
|
| + "//third_party",
|
| ]
|
| }
|
| - set_sources_assignment_filter(custom_sources_filter)
|
| -
|
| - defines = [ "DART_IO_SECURE_SOCKET_DISABLED" ]
|
| +}
|
|
|
| - sources = io_impl_sources_gypi + builtin_impl_sources_gypi
|
| - sources += [
|
| - "io_natives.cc",
|
| - "io_natives.h",
|
| - ]
|
| +build_gen_snapshot_dart_io("gen_snapshot_dart_io") {
|
| + extra_configs = [ "..:dart_maybe_product_config" ]
|
| +}
|
|
|
| - include_dirs = [
|
| - "..",
|
| - "//third_party",
|
| - ]
|
| +build_gen_snapshot_dart_io("gen_snapshot_dart_io_product") {
|
| + extra_configs = [ "..:dart_product_config" ]
|
| }
|
|
|
| # A source set for the implementation of 'dart:io' library.
|
| template("dart_io") {
|
| + extra_configs = []
|
| + if (defined(invoker.extra_configs)) {
|
| + extra_configs += invoker.extra_configs
|
| + }
|
| extra_sources = []
|
| if (defined(invoker.extra_sources)) {
|
| extra_sources += invoker.extra_sources
|
| }
|
| source_set(target_name) {
|
| - configs += [
|
| - "..:dart_config",
|
| - "..:dart_maybe_product_config",
|
| - ]
|
| + configs += [ "..:dart_config" ] + extra_configs
|
| if (is_fuchsia) {
|
| configs -= [ "//build/config:symbol_visibility_hidden" ]
|
| }
|
| @@ -465,6 +516,16 @@ template("dart_io") {
|
| }
|
|
|
| dart_io("embedded_dart_io") {
|
| + extra_configs = [ "..:dart_maybe_product_config" ]
|
| + extra_sources = [
|
| + "builtin_nolib.cc",
|
| + "embedded_dart_io.cc",
|
| + "embedded_dart_io.h",
|
| + ]
|
| +}
|
| +
|
| +dart_io("embedded_dart_io_product") {
|
| + extra_configs = [ "..:dart_product_config" ]
|
| extra_sources = [
|
| "builtin_nolib.cc",
|
| "embedded_dart_io.cc",
|
| @@ -473,6 +534,7 @@ dart_io("embedded_dart_io") {
|
| }
|
|
|
| dart_io("standalone_dart_io") {
|
| + extra_configs = [ "..:dart_maybe_product_config" ]
|
| extra_sources = []
|
| }
|
|
|
|
|