|  | # 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. | 
|  | 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 | 
|  |  | 
|  | # 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. | 
|  | # TODO(dartbug.com/42473): Use shared_library once elf_loader is untangled. | 
|  | dart_component_kind = "static_library" | 
|  | } else { | 
|  | 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 | 
|  | } | 
|  |  | 
|  | 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 | 
|  | } | 
|  | } |