| # Copyright (c) 2019, 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. |
| |
| _dart_root = get_path_info(".", "abspath") |
| |
| declare_args() { |
| # Absolute path to the .git folder. |
| # |
| # This variable is potentially no longer needed as an gn arg. It was first |
| # exposed to allow adjusting the location for `git-worktrees`, but now the |
| # `get_dot_git_folder.py` script below properly accounts for that. |
| default_git_folder = "" |
| |
| # Whether to enable the SDK hash check that will prevent loading a kernel |
| # into a VM which was built with a different SDK. |
| verify_sdk_hash = true |
| |
| # When verify_sdk_hash is true, this string is used as the verification hash |
| # instead of calculating one from the contents of the tree using the |
| # make_version.py script. |
| dart_sdk_verification_hash = "" |
| |
| # The location in the build output directory of the built Dart SDK. |
| dart_sdk_output = "dart-sdk" |
| |
| # When set to `true` will cause compile_platform action to use a precompiled |
| # compile_platform.dart script instead of running it from source. This |
| # can significantly improve iteration time when iteration on changes in |
| # core libraries. |
| precompile_tools = false |
| |
| # When set to `true`, the Dart Runtime Service based implementation of the |
| # VM service will be included in the build. By default, the legacy VM |
| # service implementation will be launched by the VM, unless the |
| # --include-experimental-vm-service VM flag is provided. |
| include_experimental_vm_service = false |
| } |
| |
| if (default_git_folder == "") { |
| default_git_folder = exec_script("$_dart_root/tools/get_dot_git_folder.py", |
| [ |
| rebase_path("$_dart_root/.git"), |
| "$_dart_root/.git", |
| ], |
| "trim string") |
| } |
| |
| # The SDK hash to build into VM and kernels. |
| # The value 0000000000 signifies no hash is set, which will disable the check. |
| if (verify_sdk_hash) { |
| sdk_hash = dart_sdk_verification_hash |
| if (sdk_hash == "") { |
| sdk_hash = exec_script("$_dart_root/tools/make_version.py", |
| [ "--format={{GIT_HASH}}" ], |
| "trim string", |
| [ |
| "$_dart_root/tools/VERSION", |
| "$_dart_root/tools/utils.py", |
| "$default_git_folder/logs/HEAD", |
| ]) |
| } |
| } else { |
| sdk_hash = "0000000000" |
| } |