mirror of
https://github.com/dart-lang/sdk
synced 2024-11-02 08:20:31 +00:00
f4e949609c
- Introduces a new output subdirectory `gen/utils/ddc` where the new build targets output files. This is intended to make the migration to the new assets easier since landing this change shouldn't immediately break any dependencies. - Enables building the canary and stable assets at the same time. - Changes more names in our workflow from "dartdevc" to "ddc". - Updates the ddc-canary-linux-chrome and ddc-canary-linux-chrome-unsound configurations to use the new assets. The new outputs appear in directories that are more consistently named, (no more sound vs kernel confusion). They are named in preparation for the eventual deletion of the unsound targets without any lingering cruft to be cleaned up in the sound directories. The new structure is: ``` gen/utils/ddc/ |- canary | |- pkg | |- sdk |- canary_unsound | |- pkg | |- sdk |- stable | |- pkg | |- sdk |- stable-unsound |- pkg |- sdk ``` The 'pkg' and 'sdk' directories all contain outputs with the same files names, each compiled in the respective build modes (sound/unsound and stable/canary). Change-Id: I66822ebf03bba487b6d359a8e0aa818b9e7b6bef Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/313081 Reviewed-by: Sigmund Cherem <sigmund@google.com> Commit-Queue: Nicholas Shahan <nshahan@google.com>
289 lines
7.3 KiB
Text
289 lines
7.3 KiB
Text
# 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/config/gclient_args.gni")
|
|
import("sdk_args.gni")
|
|
|
|
targeting_fuchsia = target_os == "fuchsia"
|
|
|
|
# This target will be built if no target is specified when invoking ninja.
|
|
group("default") {
|
|
if (targeting_fuchsia) {
|
|
# Fuchsia has run_vm_tests marked testonly.
|
|
testonly = true
|
|
}
|
|
deps = [ ":runtime" ]
|
|
}
|
|
|
|
group("most") {
|
|
import("runtime/runtime_args.gni")
|
|
if (targeting_fuchsia) {
|
|
# Fuchsia has run_vm_tests marked testonly.
|
|
testonly = true
|
|
}
|
|
deps = [
|
|
":analysis_server",
|
|
":create_sdk",
|
|
":dart2js",
|
|
":dartanalyzer",
|
|
":dartdevc",
|
|
":runtime",
|
|
]
|
|
}
|
|
|
|
group("runtime") {
|
|
import("runtime/runtime_args.gni")
|
|
|
|
if (targeting_fuchsia) {
|
|
# Fuchsia has run_vm_tests marked testonly.
|
|
testonly = true
|
|
}
|
|
|
|
deps = [
|
|
"runtime/bin:dart",
|
|
"runtime/bin:entrypoints_verification_test",
|
|
"runtime/bin:ffi_test_dynamic_library",
|
|
"runtime/bin:ffi_test_functions",
|
|
"runtime/bin:process_test",
|
|
"runtime/bin:run_vm_tests",
|
|
"runtime/vm:kernel_platform_files($host_toolchain)",
|
|
"utils/kernel-service:kernel-service",
|
|
]
|
|
|
|
# TODO(bkonyi): this dep causes a segfault on Android XARM_X64 builds.
|
|
# See issue #41776.
|
|
if (dart_target_arch != "arm") {
|
|
deps += [
|
|
"utils/dartdev:dartdev",
|
|
"utils/dds:dds",
|
|
]
|
|
}
|
|
|
|
# This flag is set in runtime/runtime_args.gni
|
|
# The analyze_snapshot tool is only supported on 64 bit AOT builds running
|
|
# under linux and android platforms
|
|
if (build_analyze_snapshot) {
|
|
deps += [
|
|
# The `analyze_snapshot` tests require the `analyze_snapshot` as well as
|
|
# `gen_snapshot` binaries.
|
|
"runtime/bin:analyze_snapshot",
|
|
"runtime/bin:analyze_snapshot($host_toolchain)",
|
|
"runtime/bin:gen_snapshot",
|
|
"runtime/bin:gen_snapshot($host_toolchain)",
|
|
]
|
|
}
|
|
|
|
if (is_linux || is_android) {
|
|
deps += [ "runtime/bin:abstract_socket_test" ]
|
|
}
|
|
}
|
|
|
|
# A separate target and not included in group("runtime"). This way the target\
|
|
# "runtime" does not get many executables extra as build output.
|
|
group("run_ffi_unit_tests") {
|
|
deps = [ "runtime/bin/ffi_unit_test:run_ffi_unit_tests" ]
|
|
}
|
|
|
|
group("runtime_precompiled") {
|
|
deps = [
|
|
"runtime/bin:dart_precompiled_runtime",
|
|
"runtime/bin:process_test",
|
|
]
|
|
if (is_linux || is_android) {
|
|
deps += [ "runtime/bin:abstract_socket_test" ]
|
|
}
|
|
}
|
|
|
|
group("create_sdk") {
|
|
public_deps = [ "sdk:create_sdk" ]
|
|
}
|
|
|
|
group("create_platform_sdk") {
|
|
public_deps = [ "sdk:create_platform_sdk" ]
|
|
}
|
|
|
|
group("dart2js") {
|
|
deps = [ "utils/compiler:dart2js" ]
|
|
}
|
|
|
|
group("dart2wasm_platform") {
|
|
deps = [
|
|
":runtime_precompiled",
|
|
"utils/dart2wasm:compile_dart2wasm_js_compatibility_platform",
|
|
"utils/dart2wasm:compile_dart2wasm_platform",
|
|
"utils/dart2wasm:compile_dart2wasm_stringref_platform",
|
|
"utils/dart2wasm:dart2wasm_snapshot",
|
|
]
|
|
if (defined(is_product)) {
|
|
if (is_product) {
|
|
deps += [ "utils/dart2wasm:dart2wasm_product_snapshot" ]
|
|
} else {
|
|
deps += [ "utils/dart2wasm:dart2wasm_asserts_snapshot" ]
|
|
}
|
|
}
|
|
}
|
|
|
|
group("dart2wasm") {
|
|
deps = [
|
|
":dart2wasm_platform",
|
|
"utils/dart2wasm:test_wasm_modules",
|
|
]
|
|
}
|
|
|
|
group("dart2wasm_benchmark") {
|
|
deps = [
|
|
":dart2wasm_platform",
|
|
"third_party/binaryen:wasm-opt",
|
|
]
|
|
}
|
|
|
|
group("dartanalyzer") {
|
|
deps = [ "utils/dartanalyzer" ]
|
|
}
|
|
|
|
group("dartdevc") {
|
|
deps = [ "utils/dartdevc" ]
|
|
}
|
|
|
|
group("ddc") {
|
|
# TODO(nshahan): Update to the dartdevc snapshot target when it gets moved.
|
|
deps = [ "utils/ddc:ddc_stable_test" ]
|
|
}
|
|
|
|
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" ]
|
|
}
|
|
|
|
# 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" ]
|
|
}
|
|
|
|
if (is_fuchsia) {
|
|
import("third_party/fuchsia/sdk/${host_os}/build/component.gni")
|
|
import("third_party/fuchsia/sdk/${host_os}/build/package.gni")
|
|
|
|
template("dart_fuchsia_test_package") {
|
|
fuchsia_package(target_name) {
|
|
package_name = invoker.package_name
|
|
if (is_debug) {
|
|
package_name += "_debug"
|
|
} else if (is_release) {
|
|
package_name += "_release"
|
|
} else if (is_product) {
|
|
package_name += "_product"
|
|
}
|
|
testonly = true
|
|
deps = invoker.deps
|
|
}
|
|
}
|
|
|
|
template("dart_fuchsia_test_component") {
|
|
fuchsia_component(target_name) {
|
|
testonly = true
|
|
data_deps = [ "runtime/bin:dart" ]
|
|
if (defined(invoker.data_deps)) {
|
|
data_deps += invoker.data_deps
|
|
}
|
|
manifest = invoker.manifest
|
|
|
|
library_files = []
|
|
if (defined(invoker.library_files)) {
|
|
library_files += invoker.library_files
|
|
}
|
|
resource_files = [
|
|
".dart_tool/package_config.json",
|
|
"pkg/testing/test/hello_test.dart",
|
|
"tools/addlatexhash.dart",
|
|
]
|
|
resource_dirs = invoker.resource_dirs
|
|
|
|
resources = []
|
|
foreach(file, library_files) {
|
|
resources += [
|
|
{
|
|
path = root_out_dir + "/" + file
|
|
dest = "lib/" + file
|
|
},
|
|
]
|
|
}
|
|
foreach(file, resource_files) {
|
|
resources += [
|
|
{
|
|
path = file
|
|
dest = "data/" + file
|
|
},
|
|
]
|
|
}
|
|
resources +=
|
|
exec_script("tools/fuchsia/find_resources.py", resource_dirs, "json")
|
|
}
|
|
}
|
|
|
|
dart_fuchsia_test_component("fuchsia_test_component") {
|
|
manifest = "build/fuchsia/fuchsia_test_component.cmx"
|
|
resource_dirs = [
|
|
"tests/standalone_2",
|
|
"pkg/async_helper",
|
|
"pkg/expect",
|
|
"pkg/meta",
|
|
"pkg/native_stack_traces",
|
|
"pkg/smith",
|
|
"third_party/pkg/args",
|
|
"third_party/pkg/async",
|
|
"third_party/pkg/collection",
|
|
"third_party/pkg/convert",
|
|
"third_party/pkg/crypto",
|
|
"third_party/pkg/http",
|
|
"third_party/pkg/http_parser",
|
|
"third_party/pkg/path",
|
|
"third_party/pkg/pool",
|
|
"third_party/pkg/stack_trace",
|
|
"third_party/pkg/string_scanner",
|
|
"third_party/pkg/typed_data",
|
|
]
|
|
}
|
|
|
|
dart_fuchsia_test_package("fuchsia_test_package") {
|
|
package_name = "dart_test"
|
|
deps = [ ":fuchsia_test_component" ]
|
|
}
|
|
|
|
dart_fuchsia_test_component("fuchsia_ffi_test_component") {
|
|
manifest = "build/fuchsia/fuchsia_ffi_test_component.cmx"
|
|
data_deps = [
|
|
"runtime/bin:ffi_test_dynamic_library",
|
|
"runtime/bin:ffi_test_functions",
|
|
]
|
|
library_files = [
|
|
"libffi_test_dynamic_library.so",
|
|
"libffi_test_functions.so",
|
|
]
|
|
resource_dirs = [
|
|
"pkg/expect",
|
|
"pkg/meta",
|
|
"tests/ffi",
|
|
"third_party/pkg/ffi",
|
|
]
|
|
}
|
|
|
|
dart_fuchsia_test_package("fuchsia_ffi_test_package") {
|
|
package_name = "dart_ffi_test"
|
|
deps = [ ":fuchsia_ffi_test_component" ]
|
|
}
|
|
}
|