dart-sdk/runtime/runtime_args.gni
Alexander Markov 43046b7f7c [vm/bytecode] Enable building of kernel service snapshot
Kernel service snapshot is built in default (non-bytecode) mode and
it is not compatible with VM running in bytecode mode.

Previously, this incompatibility was causing crashes and building of
kernel service snapshot was disabled if SDK is built with --bytecode.

With the change https://dart-review.googlesource.com/c/sdk/+/98723
that workaround is no longer needed, and we can build kernel service
snapshot once again.

Change-Id: Ia5660b637894a5ffc2723e12dc2bf9630cc2f8c7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98604
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-04-05 22:31:58 +00:00

104 lines
4 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, and dbc.
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"
# 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 the standalone VM against tcmalloc. The standalone build of
# the VM enables this only for Linux builds.
dart_use_tcmalloc = false
# Whether to link Crashpad library for crash handling. Only supported on
# Windows for now.
dart_use_crashpad = false
# Controls the kind of core snapshot linked into the standalone VM. Using a
# core-jit snapshot breaks the ability to change various flags that affect
# code generation.
dart_core_snapshot_kind = "core"
# Whether the Dart binary version string should include the git hash and
# git commit time.
dart_version_git_info = true
# When this argument is a non-empty string, the version repoted by the
# Dart VM will be one that is compatible with pub's interpretation of
# semantic version strings. The version string will also include the values
# of the argument. In particular the version string will read:
#
# "M.m.p-dev.x.x-$(dart_custom_version_for_pub)-$(short_git_hash)"
#
# Where 'M', 'm', and 'p' are the major, minor and patch version numbers,
# and 'dev.x.x' is the dev version tag most recently preceeding the current
# revision. The short git hash can be omitted by setting
# dart_version_git_info=false
dart_custom_version_for_pub = ""
# Controls whether the VM is built as a static library or a shared library.
if (is_fuchsia) {
# Allow for deduping the VM between standalone, flutter_runner and dart_runner.
dart_component_kind = "shared_library"
} else {
dart_component_kind = "static_library"
}
# Whether the VM's platform dill file contains bytecode.
dart_platform_bytecode = false
# 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
}
declare_args() {
# We create a kernel service app-jit snapshot only for when the target
# architecture is x64 for other cases we will use the '.dill' file
# which is already linked in the VM.
if (dart_target_arch == "x64") {
create_kernel_service_snapshot = true
} else {
create_kernel_service_snapshot = false
}
}