| # Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| # 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. |
| |
| import("gypi_contents.gni") |
| |
| declare_args() { |
| # Whether to fall back to built-in root certificates when they cannot be |
| # verified at the operating system level. |
| dart_use_fallback_root_certificates = false |
| |
| # The BUILD.gn file that we pull from chromium as part of zlib has a |
| # dependence on //base, which we don't pull in. In a standalone build of the |
| # VM, we set this to //runtime/bin/zlib where we have a BUILD.gn file without |
| # a dependence on //base. |
| dart_zlib_path = "//third_party/zlib" |
| |
| # Whether to link the standalone VM against tcmalloc. The standalone build of |
| # the VM enables this only for Linux builds. |
| dart_use_tcmalloc = false |
| } |
| |
| # TODO(zra): Remove this when Fuchsia has a root cert cache on the filesystem. |
| if (defined(is_fuchsia) && is_fuchsia) { |
| dart_use_fallback_root_certificates = true |
| } |
| |
| # Generate a resources.cc file for the service isolate without Observatory. |
| action("gen_resources_cc") { |
| visibility = [ ":*" ] # Only targets in this file can see this. |
| script = "../tools/create_resources.py" |
| inputs = [ |
| "../tools/create_resources.py", |
| ] |
| |
| # The path below is hard coded for the Mojo and Flutter trees. When moving |
| # the Dart runtime to gn, this path might need to be updated. |
| sources = rebase_path(resources_sources_gypi, "", "../bin/vmservice/") |
| outputs = [ |
| "$target_gen_dir/resources_gen.cc", |
| ] |
| args = [ |
| "--output", |
| rebase_path("$target_gen_dir/resources_gen.cc", root_build_dir), |
| "--outer_namespace", |
| "dart", |
| "--inner_namespace", |
| "bin", |
| "--table_name", |
| "service_bin", |
| "--root_prefix", |
| rebase_path(".", root_build_dir) + "/", |
| ] + rebase_path(sources, root_build_dir) |
| } |
| |
| template("gen_library_src_path") { |
| assert(defined(invoker.sources), "Need sources in $target_name") |
| assert(defined(invoker.output), "Need output in $target_name") |
| action(target_name) { |
| visibility = [ ":*" ] # Only targets in this file can see this. |
| script = "../tools/gen_library_src_paths.py" |
| inputs = [ |
| "../tools/gen_library_src_paths.py", |
| "builtin_in.cc", |
| ] + invoker.sources |
| 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", |
| library_name, |
| ] + rebase_path(invoker.sources, root_build_dir) |
| } |
| } |
| |
| gen_library_src_path("generate_builtin_cc_file") { |
| name = "_builtin" |
| kind = "source" |
| sources = builtin_sources_gypi |
| output = "$target_gen_dir/builtin_gen.cc" |
| } |
| |
| sdk_io_sources_gypi = |
| exec_script("../../tools/gypi_to_gn.py", |
| [ rebase_path("../../sdk/lib/io/io_sources.gypi") ], |
| "scope", |
| [ "../../sdk/lib/io/io_sources.gypi" ]) |
| sdk_io_sources = |
| rebase_path(sdk_io_sources_gypi.sources, ".", "../../sdk/lib/io") |
| |
| gen_library_src_path("generate_io_cc_file") { |
| name = "io" |
| kind = "source" |
| sources = [ "../../sdk/lib/io/io.dart" ] + sdk_io_sources |
| output = "$target_gen_dir/io_gen.cc" |
| } |
| |
| gen_library_src_path("generate_io_patch_cc_file") { |
| name = "io" |
| kind = "patch" |
| sources = io_sources_gypi |
| output = "$target_gen_dir/io_patch_gen.cc" |
| } |
| |
| 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/conversions.dart", |
| "../../sdk/lib/html/html_common/conversions_dartium.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/html_common.dart", |
| "../../sdk/lib/html/html_common/lists.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_js_util_cc_file") { |
| name = "js_util" |
| kind = "source" |
| sources = [ |
| "../../sdk/lib/js_util/dartium/js_util_dartium.dart", |
| ] |
| output = "$target_gen_dir/js_util_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 = "source" |
| 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") { |
| if (!is_win) { |
| libs = [ "dl" ] |
| } |
| if (is_android) { |
| libs += [ |
| "android", |
| "log", |
| ] |
| } |
| } |
| |
| static_library("libdart_builtin") { |
| configs += [ |
| "..:dart_config", |
| "..:dart_maybe_product_config", |
| ] |
| 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", |
| ] |
| deps = [ |
| ":gen_resources_cc", |
| ":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", |
| |
| # Very limited native resolver provided. |
| "builtin_common.cc", |
| "builtin_gen_snapshot.cc", |
| "gen_snapshot.cc", |
| "vmservice_impl.cc", |
| "vmservice_impl.h", |
| ] |
| |
| include_dirs = [ ".." ] |
| |
| if (is_mac) { |
| libs = [ |
| "CoreFoundation.framework", |
| "CoreServices.framework", |
| ] |
| } |
| |
| if (is_win) { |
| libs = [ |
| "iphlpapi.lib", |
| "psapi.lib", |
| "ws2_32.lib", |
| "Rpcrt4.lib", |
| "winmm.lib", |
| ] |
| } |
| } |
| |
| # 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", |
| ] |
| |
| deps = [ |
| "$dart_zlib_path", |
| ] |
| |
| 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", |
| ] |
| } |
| 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", |
| ] |
| |
| include_dirs = [ |
| "..", |
| "//third_party", |
| ] |
| } |
| |
| source_set("libdart_embedder_noio") { |
| configs += [ |
| "..:dart_config", |
| "..:dart_maybe_product_config", |
| ] |
| deps = [ |
| "..:libdart", |
| ] |
| } |
| |
| # A source set for the implementation of 'dart:io' library. |
| template("dart_io") { |
| extra_sources = [] |
| if (defined(invoker.extra_sources)) { |
| extra_sources += invoker.extra_sources |
| } |
| source_set(target_name) { |
| configs += [ |
| "..:dart_config", |
| "..:dart_maybe_product_config", |
| ] |
| custom_sources_filter = [ |
| "*_test.cc", |
| "*_test.h", |
| "builtin.cc", |
| "builtin_gen_snapshot.cc", |
| ] |
| 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) |
| |
| defines = [] |
| if (is_mac || is_ios) { |
| libs = [ |
| "CoreFoundation.framework", |
| "Security.framework", |
| ] |
| |
| if (is_mac) { |
| libs += [ "CoreServices.framework" ] |
| } |
| } else { |
| deps = [ |
| "//third_party/boringssl", |
| ] |
| } |
| |
| sources = io_impl_sources_gypi + builtin_impl_sources_gypi |
| sources += [ |
| "builtin_natives.cc", |
| "io_natives.cc", |
| "io_natives.h", |
| "log_android.cc", |
| "log_linux.cc", |
| "log_macos.cc", |
| "log_win.cc", |
| "log.h", |
| ] + extra_sources |
| |
| if (is_linux || is_win || (defined(is_fuchsia) && is_fuchsia)) { |
| if (dart_use_fallback_root_certificates) { |
| sources += [ "//third_party/root_certificates/root_certificates.cc" ] |
| } else { |
| defines += [ "DART_IO_ROOT_CERTS_DISABLED" ] |
| } |
| } |
| |
| include_dirs = [ |
| "..", |
| "//third_party", |
| ] |
| } |
| } |
| |
| dart_io("embedded_dart_io") { |
| extra_sources = [ |
| "builtin_nolib.cc", |
| "embedded_dart_io.cc", |
| "embedded_dart_io.h", |
| ] |
| } |
| |
| dart_io("standalone_dart_io") { |
| extra_sources = [] |
| } |
| |
| action("generate_snapshot_bin") { |
| deps = [ |
| "../bin:gen_snapshot($host_toolchain)", |
| ] |
| |
| vm_isolate_snapshot = "$target_gen_dir/vm_isolate_snapshot.bin" |
| isolate_snapshot = "$target_gen_dir/isolate_snapshot.bin" |
| gen_snapshot_stamp_file = "$target_gen_dir/gen_snapshot.stamp" |
| outputs = [ |
| vm_isolate_snapshot, |
| isolate_snapshot, |
| gen_snapshot_stamp_file, |
| ] |
| |
| gen_snapshot_dir = |
| get_label_info("../bin:gen_snapshot($host_toolchain)", "root_out_dir") |
| |
| script = rebase_path("../tools/create_snapshot_bin.py") |
| args = [ |
| "--executable", |
| rebase_path("$gen_snapshot_dir/gen_snapshot"), |
| "--vm_output_bin", |
| rebase_path(vm_isolate_snapshot, root_build_dir), |
| "--output_bin", |
| rebase_path(isolate_snapshot, root_build_dir), |
| "--target_os", |
| current_os, |
| "--timestamp_file", |
| rebase_path(gen_snapshot_stamp_file, root_build_dir), |
| ] |
| } |
| |
| action("generate_snapshot_file") { |
| deps = [ |
| ":generate_snapshot_bin", |
| ] |
| |
| snapshot_in_cc_file = "snapshot_in.cc" |
| inputs = [ |
| "../tools/create_snapshot_file.py", |
| snapshot_in_cc_file, |
| "$target_gen_dir/vm_isolate_snapshot.bin", |
| "$target_gen_dir/isolate_snapshot.bin", |
| ] |
| output = "$root_gen_dir/dart_snapshot.cc" |
| outputs = [ |
| output, |
| ] |
| |
| script = "../tools/create_snapshot_file.py" |
| args = [ |
| "--vm_input_bin", |
| rebase_path("$target_gen_dir/vm_isolate_snapshot.bin"), |
| "--input_bin", |
| rebase_path("$target_gen_dir/isolate_snapshot.bin"), |
| "--input_cc", |
| rebase_path(snapshot_in_cc_file), |
| "--output", |
| rebase_path(output), |
| ] |
| } |
| |
| source_set("dart_snapshot_cc") { |
| sources = [ |
| "$root_gen_dir/dart_snapshot.cc", |
| ] |
| |
| deps = [ |
| ":generate_snapshot_file", |
| ] |
| } |
| |
| template("dart_executable") { |
| extra_configs = [] |
| if (defined(invoker.extra_configs)) { |
| extra_configs += invoker.extra_configs |
| } |
| extra_deps = [] |
| if (defined(invoker.extra_deps)) { |
| extra_deps += invoker.extra_deps |
| } |
| extra_defines = [] |
| if (defined(invoker.extra_defines)) { |
| extra_defines = invoker.extra_defines |
| } |
| extra_sources = [] |
| if (defined(invoker.extra_sources)) { |
| extra_sources += invoker.extra_sources |
| } |
| executable(target_name) { |
| configs += [ |
| "..:dart_config", |
| "..:dart_maybe_product_config", |
| ] + extra_configs |
| |
| deps = [ |
| ":gen_resources_cc", |
| ":standalone_dart_io", |
| ":libdart_builtin", |
| "$dart_zlib_path", |
| ] + extra_deps |
| |
| if (dart_use_tcmalloc) { |
| deps += [ "//third_party/tcmalloc" ] |
| } |
| |
| defines = extra_defines |
| |
| sources = [ |
| "main.cc", |
| "vmservice_impl.cc", |
| "vmservice_impl.h", |
| "$target_gen_dir/resources_gen.cc", |
| ] + extra_sources |
| |
| include_dirs = [ |
| "..", |
| "//third_party", |
| ] |
| |
| if (is_win) { |
| ldflags = [ "/EXPORT:Dart_True" ] |
| } else { |
| ldflags = [ "-rdynamic" ] |
| } |
| |
| if (is_win) { |
| libs = [ |
| "iphlpapi.lib", |
| "psapi.lib", |
| "ws2_32.lib", |
| "Rpcrt4.lib", |
| "winmm.lib", |
| ] |
| } |
| } |
| } |
| |
| if (!defined(is_fuchsia) || !is_fuchsia) { |
| dart_executable("dart") { |
| extra_deps = [ |
| "..:libdart", |
| ":dart_snapshot_cc", |
| "../observatory:standalone_observatory_archive", |
| ] |
| extra_sources = [ "builtin_nolib.cc" ] |
| } |
| |
| dart_executable("dart_noopt") { |
| extra_configs = [ "..:dart_precompiler_config" ] |
| extra_deps = [ |
| "..:libdart_noopt", |
| ":dart_snapshot_cc", |
| "../observatory:standalone_observatory_archive", |
| ] |
| extra_sources = [ "builtin_nolib.cc" ] |
| } |
| |
| dart_executable("dart_precompiled_runtime") { |
| extra_configs = [ "..:dart_precompiled_runtime_config" ] |
| extra_deps = [ |
| "..:libdart_precompiled_runtime", |
| "../observatory:standalone_observatory_archive", |
| ] |
| extra_sources = [ |
| "builtin_nolib.cc", |
| "snapshot_empty.cc", |
| ] |
| } |
| } |
| |
| dart_executable("dart_bootstrap") { |
| extra_configs = [ |
| "..:dart_precompiler_config", |
| "..:dart_no_snapshot_config", |
| ] |
| extra_deps = [ |
| ":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_js_util_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", |
| "..:libdart_nosnapshot_with_precompiler", |
| ] |
| extra_defines = [ "NO_OBSERVATORY" ] |
| extra_sources = [ |
| "builtin.cc", |
| "builtin.h", |
| "observatory_assets_empty.cc", |
| "snapshot_empty.cc", |
| |
| # 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/html_gen.cc", |
| "$target_gen_dir/html_common_gen.cc", |
| "$target_gen_dir/js_gen.cc", |
| "$target_gen_dir/js_util_gen.cc", |
| "$target_gen_dir/blink_gen.cc", |
| "$target_gen_dir/indexed_db_gen.cc", |
| "$target_gen_dir/cached_patches_gen.cc", |
| "$target_gen_dir/web_gl_gen.cc", |
| "$target_gen_dir/metadata_gen.cc", |
| "$target_gen_dir/web_sql_gen.cc", |
| "$target_gen_dir/svg_gen.cc", |
| "$target_gen_dir/web_audio_gen.cc", |
| ] |
| } |
| |
| if (defined(is_fuchsia) && is_fuchsia) { |
| copy("hello_fuchsia") { |
| sources = [ |
| "../tests/vm/dart/hello_fuchsia_test.dart", |
| ] |
| outputs = [ |
| "$root_out_dir/hello_fuchsia.dart", |
| ] |
| } |
| |
| executable("run_vm_tests_fuchsia") { |
| testonly = true |
| configs += [ "..:dart_config" ] |
| sources = [ |
| "run_vm_tests_fuchsia.cc", |
| ] |
| libs = [ |
| "launchpad", |
| "magenta", |
| ] |
| } |
| } |
| |
| # This is only needed for the Fuchsia target build until the Observatory is |
| # supported. |
| dart_executable("dart_no_observatory") { |
| extra_deps = [ |
| "..:libdart", |
| ":dart_snapshot_cc", |
| ] |
| if (defined(is_fuchsia) && is_fuchsia) { |
| extra_deps += [ ":hello_fuchsia" ] |
| } |
| extra_defines = [ "NO_OBSERVATORY" ] |
| extra_sources = [ |
| "builtin_nolib.cc", |
| "observatory_assets_empty.cc", |
| ] |
| } |
| |
| 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_maybe_product_config", |
| ] |
| deps = [ |
| ":dart_snapshot_cc", |
| ":generate_snapshot_test_dat_file", |
| ":libdart_builtin", |
| ":standalone_dart_io", |
| "$dart_zlib_path", |
| "..:libdart", |
| ] |
| include_dirs = [ |
| "..", |
| "$target_gen_dir", |
| ] |
| defines = [ "TESTING" ] |
| |
| if (dart_use_tcmalloc) { |
| deps += [ "//third_party/tcmalloc" ] |
| } |
| |
| # The VM sources are already included in libdart, so we just want to add in |
| # the tests here. |
| vm_tests = rebase_path(vm_tests_list, ".", "../vm") |
| |
| sources = [ |
| "builtin_nolib.cc", |
| "run_vm_tests.cc", |
| ] + builtin_impl_tests_list + vm_tests |
| |
| if (!is_win) { |
| ldflags = [ "-rdynamic" ] |
| } |
| |
| if (is_win) { |
| libs = [ |
| "iphlpapi.lib", |
| "psapi.lib", |
| "ws2_32.lib", |
| "Rpcrt4.lib", |
| "winmm.lib", |
| ] |
| } |
| } |
| |
| if (!defined(is_fuchsia) || !is_fuchsia) { |
| 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", |
| ] |
| if (is_win) { |
| libs = [ "dart.lib" ] |
| abs_root_out_dir = rebase_path(root_out_dir) |
| ldflags = [ "/LIBPATH:$abs_root_out_dir" ] |
| } |
| } |
| |
| 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 (is_win) { |
| libs = [ "dart.lib" ] |
| abs_root_out_dir = rebase_path(root_out_dir) |
| ldflags = [ "/LIBPATH:$abs_root_out_dir" ] |
| } |
| } |
| } |