| # 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 is used in rules that need to refer to `.git/logs/HEAD` to include |
| # a hash in the version string. By default the folder is `.git`, but we define |
| # it as an argument so it can be overridden by users of `git-worktree` (See |
| # Issue #33619). |
| # |
| # When using git-worktree, you can add |
| # |
| # default_git_folder = "/path/to/main/git/repo/.git/worktrees/name/" |
| # |
| # to out/ReleaseX64/args.gn. The path above can be extracted from the `.git` |
| # file under the git worktree folder. |
| # The script run here should take care of everything automatically though. |
| 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 |
| } |
| |
| 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" |
| } |