dart-sdk/runtime/runtime_args.gni
Zijie He 476ed37a25 Reland "[Fuchsia] Remove the legacy gn build rules for fuchsia"
This change may require a codereview from flutter side before moving
forward. See https://github.com/flutter/engine/pull/51072.

This reverts commit 283051acba.

Reason for revert: Redo the change with the similar one in flutter.

After this change, the next dart -> flutter roll needs extra cares
in https://github.com/flutter/engine/pull/51072. It also contains
more details about the reason why it could not be two-way
compatible.

Original change's description:
> Revert "[Fuchsia] Remove the legacy gn build rules for fuchsia"
>
> This reverts commit 094202bb91.
>
> Reason for revert: Break flutter, this change should happen after
> flutter being migrated to the same gn-sdk.
>
> Original change's description:
> > [Fuchsia] Remove the legacy gn build rules for fuchsia
> >
> > The updated test-scripts contains https://crrev.com/c/5341620 which
> > allows to generate fidl apis with an env var controlled location
> > rather than a hard-coded one. So the existing fuchsia gn build rules
> > in dart/sdk become obsolete and can be fully removed in favor of the
> > one in //third_party/fuchsia/gn-sdk/.
> >
> > Meanwhile the gn-sdk has been updated with
> > https://crrev.com/c/5325282 to use api-level version'ed idk but not
> > the ones in arch/.
> >
> > Cq-Include-Trybots: luci.dart.try:vm-fuchsia-release-arm64-try,vm-fuchsia-release-x64-try
> > Tested: ^^^^^
> > Bug: 40935282
> > Change-Id: I2ce958e6db1ff8221beef7b7ff953c32bb4525ba
> > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/355283
> > Reviewed-by: Ryan Macnak <rmacnak@google.com>
> > Reviewed-by: Alexander Thomas <athom@google.com>
> > Commit-Queue: Zijie He <zijiehe@google.com>
>
> Bug: 40935282
> Change-Id: I7c455d1d362210523671c97d99ef018ede1743f4
> Cq-Include-Trybots: luci.dart.try:vm-fuchsia-release-arm64-try,vm-fuchsia-release-x64-try
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/356307
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Auto-Submit: Zijie He <zijiehe@google.com>
> Reviewed-by: Derek Xu <derekx@google.com>
> Commit-Queue: Zijie He <zijiehe@google.com>

Bug: 40935282
Change-Id: Id5a9a98013350359037b19f8506f24158c9a3120
Cq-Include-Trybots: luci.dart.try:vm-fuchsia-release-arm64-try,vm-fuchsia-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/356924
Commit-Queue: Zijie He <zijiehe@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2024-03-14 20:22:12 +00:00

99 lines
3.7 KiB
Plaintext

# Copyright (c) 2017, 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.
declare_args() {
# Instead of using is_debug, we introduce a different flag for specifying a
# Debug build of Dart so that clients can still use a Release build of Dart
# while themselves doing a Debug build.
dart_debug = false
# Set the runtime mode. This affects how the runtime is built and what
# features it has. Valid values are:
# 'develop' (the default) - VM is built to run as a JIT with all development
# features enabled.
# 'profile' - The VM is built to run with AOT compiled code with only the
# CPU profiling features enabled.
# 'release' - The VM is built to run with AOT compiled code with no developer
# features enabled.
#
# These settings are only used for Flutter, at the moment. A standalone build
# of the Dart VM should leave this set to "develop", and should set
# 'is_debug', 'is_release', or 'is_product'.
#
# TODO(rmacnak): dart_runtime_mode no longer selects whether libdart is build
# for JIT or AOT, since libdart waw split into libdart_jit and
# libdart_precompiled_runtime. We should remove this flag and just set
# dart_debug/dart_product.
dart_runtime_mode = "develop"
# Explicitly set the target architecture to use a simulator.
# Available options are: arm, arm64, x64, ia32, riscv32, riscv64.
dart_target_arch = target_cpu
# The optimization level to use for debug builds. Defaults to 0 for builds with
# code coverage enabled.
dart_debug_optimization_level = "2"
# The optimization level to use for non-debug builds.
dart_default_optimization_level = "2"
# Whether to enable code coverage for the standalone VM.
dart_vm_code_coverage = false
# 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
# Whether to link Crashpad library for crash handling. Only supported on
# Windows for now.
dart_use_crashpad = false
# Whether the Dart binary version string should include the git hash and
# git commit time.
dart_version_git_info = true
# Controls whether the VM is built as a static library or a shared library.
dart_component_kind = "static_library"
# Whether the VM includes the kernel service in all modes (debug, release,
# product).
exclude_kernel_service = false
# Whether libdart should export the symbols of the Dart API.
dart_lib_export_symbols = true
# Whether to use compressed pointers.
dart_use_compressed_pointers = false
# Whether the sampling heap profiler should be included in product mode.
dart_include_sampling_heap_profiler = false
# Whether features that depend on Perfetto should be built. We temporarily
# need to define this to allow excluding code that depends on Perfetto from
# being built on platforms which have a problem linking in the Perfetto
# library.
dart_support_perfetto = true
}
declare_args() {
# The analyze_snapshot tool is only supported on 64 bit AOT builds that use
# ELF.
build_analyze_snapshot =
(target_os == "linux" || target_os == "android" ||
target_os == "fuchsia") &&
(dart_target_arch == "x64" || dart_target_arch == "arm64" ||
dart_target_arch == "riscv64")
}
if (is_fuchsia) {
declare_args() {
# In case some repo uses build rules in dart/sdk, but put fuchsia-gn-sdk in
# a different folder, this gn arg can specify the location of fuchsia-gn-sdk.
if (!defined(fuchsia_gn_sdk)) {
fuchsia_gn_sdk = "//third_party/fuchsia/gn-sdk"
}
}
import(fuchsia_gn_sdk + "/src/gn_configs.gni")
}