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 = [] |
} |