blob: 189d109f1fde04b76349e07d6d8cd5078adc79d5 [file] [log] [blame]
# Copyright 2015 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# This exposes the Chrome version as GN variables for use in build files.
#
# PREFER NOT TO USE THESE. The GYP build uses this kind of thing extensively.
# However, it is far better to write an action (or use the process_version
# wrapper in build/util/version.gni) to generate a file at build-time with the
# information you need. This allows better dependency checking and GN will
# run faster.
#
# These values should only be used if you REALLY need to depend on them at
# build-time, for example, in the computation of output file names.
# Give version.py a pattern that will expand to a GN scope consisting of
# all values we need at once.
_version_dictionary_template =
"full = \"@MAJOR@.@MINOR@.@BUILD@.@PATCH@\" " +
"major = \"@MAJOR@\" minor = \"@MINOR@\" " +
"build = \"@BUILD@\" patch = \"@PATCH@\" " + "version_id = @VERSION_ID@ " +
"patch_hi = @PATCH_HI@ " + "patch_lo = @PATCH_LO@ "
# The file containing the Chrome version number.
chrome_version_file = "//chrome/VERSION"
_result = exec_script("version.py",
[
"-f",
rebase_path(chrome_version_file, root_build_dir),
"-t",
_version_dictionary_template,
"-e",
"VERSION_ID='%s%03d00' % (BUILD, int(PATCH))",
"-e",
"PATCH_HI=int(PATCH)/256",
"-e",
"PATCH_LO=int(PATCH)%256",
],
"scope",
[ chrome_version_file ])
# Full version. For example "45.0.12321.0"
chrome_version_full = _result.full
# The consituent parts of the full version.
chrome_version_major = _result.major
chrome_version_minor = _result.minor
chrome_version_build = _result.build
chrome_version_patch = _result.patch
chrome_version_id = _result.version_id
chrome_version_patch_hi = _result.patch_hi
chrome_version_patch_lo = _result.patch_lo
if (is_mac) {
chrome_dylib_version = "$chrome_version_build.$chrome_version_patch_hi" +
".$chrome_version_patch_lo"
}