# 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. dart_debug_optimization_level = "2" # 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 # The BUILD.gn file that we pull from chromium as part of zlib has a # dependence on //base, which we don't pull in. In a standalone build of the # VM, we set this to //runtime/bin/zlib where we have a BUILD.gn file without # a dependence on //base. dart_zlib_path = "//third_party/zlib" # Whether to link the standalone VM against tcmalloc. The standalone build of # the VM enables this only for Linux builds. dart_use_tcmalloc = 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 } 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" && !dart_platform_bytecode) { create_kernel_service_snapshot = true } else { create_kernel_service_snapshot = false } }