mirror of
https://github.com/dart-lang/sdk
synced 2024-11-02 10:10:22 +00:00
0fdeaee8f6
We use binaryen from googlesource mirror with commits that have already been rolled into g3. Since binaryen doesn't come with GN files (it uses cmake), we add our own in third_party/binaryen/BUILD.gn. TEST=ci Change-Id: Iee5c37c9d391ee41dc57250d7a33177cbe9ed2aa Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270640 Reviewed-by: Slava Egorov <vegorov@google.com> Commit-Queue: Martin Kustermann <kustermann@google.com> Reviewed-by: Aske Simon Christensen <askesc@google.com>
276 lines
6.8 KiB
Text
276 lines
6.8 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")
|
|
|
|
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") {
|
|
import("runtime/runtime_args.gni")
|
|
if (targetting_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 (targetting_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",
|
|
]
|
|
}
|
|
|
|
# We do not support AOT on ia32 and should therefore not provide native
|
|
# snapshot tooling.
|
|
if (dart_target_arch != "ia32" && dart_target_arch != "x86") {
|
|
if (dart_runtime_mode == "release") {
|
|
deps += [ "runtime/bin:analyze_snapshot_product" ]
|
|
} else {
|
|
deps += [ "runtime/bin:analyze_snapshot" ]
|
|
}
|
|
}
|
|
|
|
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_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("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 = "build/fuchsia/dart.cmx"
|
|
|
|
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") {
|
|
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") {
|
|
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" ]
|
|
}
|
|
}
|