| # Copyright (c) 2016, 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("build/dart/dart_host_sdk_toolchain.gni") |
| |
| targetting_fuchsia = target_os == "fuchsia" |
| |
| # This target will be built if no target is specified when invoking ninja. |
| group("default") { |
| if (targetting_fuchsia) { |
| # Fuchsia has run_vm_tests marked testonly. |
| testonly = true |
| } |
| deps = [ |
| ":runtime", |
| ] |
| } |
| |
| group("most") { |
| if (targetting_fuchsia) { |
| # Fuchsia has run_vm_tests marked testonly. |
| testonly = true |
| } |
| deps = [ |
| ":analysis_server", |
| ":create_sdk", |
| ":dart2js", |
| ":dartanalyzer", |
| ":dartdevc", |
| ":runtime", |
| ":samples", |
| ] |
| } |
| |
| group("runtime") { |
| import("runtime/runtime_args.gni") |
| |
| target_supports_aot = dart_target_arch == "arm" || |
| dart_target_arch == "arm64" || dart_target_arch == "x64" |
| |
| if (targetting_fuchsia) { |
| # Fuchsia has run_vm_tests marked testonly. |
| testonly = true |
| } |
| deps = [ |
| "runtime/bin:dart", |
| "runtime/bin:dart_bootstrap($host_toolchain)", |
| "runtime/bin:process_test", |
| "runtime/bin:run_vm_tests", |
| "runtime/bin:sample_extension", |
| "runtime/bin:test_extension", |
| "runtime/vm:kernel_platform_files($host_toolchain)", |
| |
| # TODO(rmacnak): Link this into 'dart'. |
| "utils/kernel-service:copy_kernel_service_snapshot", |
| "utils/kernel-service:kernel-service", |
| ] |
| |
| if (target_supports_aot) { |
| deps += [ "runtime/bin:precompiler_entry_points_json" ] |
| } |
| } |
| |
| group("runtime_kernel") { |
| deps = [ |
| ":runtime", |
| ] |
| } |
| |
| group("runtime_precompiled") { |
| deps = [ |
| "runtime/bin:dart_bootstrap($host_toolchain)", |
| "runtime/bin:dart_precompiled_runtime", |
| "runtime/bin:process_test", |
| ] |
| } |
| |
| group("create_sdk") { |
| public_deps = [ |
| "sdk:create_sdk", |
| ] |
| } |
| |
| if (defined(dart_host_sdk_toolchain) && |
| dart_host_sdk_toolchain != host_toolchain) { |
| group("create_host_sdk") { |
| deps = [ |
| "sdk:create_sdk($dart_host_sdk_toolchain)", |
| ] |
| } |
| } |
| |
| group("dart2js") { |
| deps = [ |
| "utils/compiler:dart2js", |
| ] |
| } |
| |
| group("dartanalyzer") { |
| deps = [ |
| "utils/dartanalyzer", |
| ] |
| } |
| |
| group("dartdevc") { |
| deps = [ |
| "utils/dartdevc", |
| ] |
| } |
| |
| group("dartfmt") { |
| deps = [ |
| "utils/dartfmt", |
| ] |
| } |
| |
| group("analysis_server") { |
| deps = [ |
| "utils/analysis_server", |
| ] |
| } |
| |
| # This is the target that is built on the dart2js build bots. |
| # It must depend on anything that is required by the dart2js |
| # test suites. |
| group("dart2js_bot") { |
| deps = [ |
| ":create_sdk", |
| ] |
| } |
| |
| group("samples") { |
| deps = [ |
| "runtime/bin:sample_extension", |
| ] |
| } |
| |
| # This rule and the compressed_observatory_archive rule are for the Fuchsia |
| # bots that pre-build the Observatory. They copy the observatory tar files to |
| # the root build output directory for convenient access by the Fuchsia buildbot |
| # scripts. |
| group("observatory_archive") { |
| deps = [ |
| "runtime/observatory:copy_observatory_archive", |
| ] |
| } |
| |
| group("compressed_observatory_archive") { |
| deps = [ |
| "runtime/observatory:copy_compressed_observatory_archive", |
| ] |
| } |
| |
| # The rules below build a Fuchsia OS image that includes the Dart tree |
| # under /system/test/dart. To get this into the `user.bootfs` generated |
| # by the Fuchsia build, add the GN build argument: |
| # extra_bootdata = [ "//third_party/dart:dart_test_bootfs" ] |
| if (is_fuchsia) { |
| import("//build/config/fuchsia/bootdata.gni") |
| |
| action("generate_dart_test_manifest") { |
| testonly = true |
| |
| output_prefix = "$target_gen_dir/dart_test_tree" |
| outputs = [ |
| "$output_prefix.manifest", |
| ] |
| |
| mode = "release" |
| if (is_debug) { |
| mode = "debug" |
| } |
| |
| script = "tools/gen_fuchsia_test_manifest.py" |
| args = [ |
| "-m", |
| mode, |
| "-o", |
| rebase_path(output_prefix), |
| ] |
| } |
| |
| bootdata("dart_test_bootfs") { |
| testonly = true |
| deps = [ |
| ":generate_dart_test_manifest", |
| "runtime/bin:dart", |
| "runtime/bin:process_test", |
| "runtime/bin:run_vm_tests", |
| ] |
| inputs = [ |
| "$target_gen_dir/dart_test_tree.manifest", |
| ] |
| } |
| } |