|  | # 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 = exec_script("$_dart_root/tools/get_dot_git_folder.py", | 
|  | [ | 
|  | rebase_path("$_dart_root/.git"), | 
|  | "$_dart_root/.git", | 
|  | ], | 
|  | "trim string") | 
|  |  | 
|  | # 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 | 
|  |  | 
|  | # The location in the build output directory of the built Dart SDK. | 
|  | dart_sdk_output = "dart-sdk" | 
|  | } | 
|  |  | 
|  | # 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 = 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" | 
|  | } |