| # Copyright 2019 The Fuchsia Authors |
| # |
| # Use of this source code is governed by a MIT-style |
| # license that can be found in the LICENSE file or at |
| # https://opensource.org/licenses/MIT |
| |
| declare_args() { |
| # Version string embedded in the kernel for `zx_system_get_version_string`. |
| # If set to the default "", a string is generated based on the fuchsia.git |
| # revision of the checkout. |
| kernel_version_string = "" |
| } |
| |
| # The version string depends solely on the source and doesn't vary across |
| # machines or toolchains, so generate it only once. |
| gen_dir = get_label_info(".($default_toolchain)", "target_gen_dir") |
| if (current_toolchain == default_toolchain) { |
| assert(gen_dir == target_gen_dir) |
| version_string_file = "$gen_dir/version-string.inc" |
| if (kernel_version_string != "") { |
| generated_file("version-string") { |
| visibility = [ ":*" ] |
| outputs = [ version_string_file ] |
| contents = [ |
| "// Generated by $zx/kernel/lib/version/BUILD.gn. DO NOT EDIT!", |
| "constexpr char kVersionString[] = ", |
| " \"${kernel_version_string}\";", |
| ] |
| } |
| } else { |
| action("version-string") { |
| visibility = [ ":*" ] |
| script = "git-version-string.sh" |
| outputs = [ version_string_file ] |
| depfile = "$target_gen_dir/git-version-string.d" |
| args = rebase_path([ |
| version_string_file, |
| depfile, |
| "$zx/../.git", |
| ], |
| root_build_dir) |
| } |
| } |
| } else { |
| zx_library("version") { |
| kernel = true |
| sources = [ "version.cc" ] |
| defines = [ "ARCH=\"$current_cpu\"" ] |
| include_dirs = [ gen_dir ] |
| deps = [ |
| ":version-string($default_toolchain)", |
| "$zx/kernel/lib/console", |
| ] |
| } |
| } |