| # 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_aotruntime. 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 | 
 |  | 
 |   # Force use of the simulator even when the Dart target arch matches the current cpu. | 
 |   dart_force_simulator = false | 
 |  | 
 |   # 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 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, e.g. watchOS. | 
 |   # | 
 |   # is_watchos may be undefined when Dart SDK is built from the Flutter | 
 |   # engine tree. | 
 |   dart_support_perfetto = !defined(is_watchos) || !is_watchos | 
 |  | 
 |   # Whether to support dynamic loading and interpretation of Dart bytecode. | 
 |   dart_dynamic_modules = false | 
 | } | 
 |  | 
 | 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") | 
 | } |