blob: 6542341d2ee2651bfdbdd8808eb1e1b480161a27 [file] [log] [blame]
Ben Murdoch097c5b22016-05-18 11:27:45 +01001# Copyright 2015 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5# This exposes the Chrome version as GN variables for use in build files.
6#
7# PREFER NOT TO USE THESE. The GYP build uses this kind of thing extensively.
8# However, it is far better to write an action (or use the process_version
9# wrapper in chrome/version.gni) to generate a file at build-time with the
10# information you need. This allows better dependency checking and GN will
11# run faster.
12#
13# These values should only be used if you REALLY need to depend on them at
14# build-time, for example, in the computation of output file names.
15
16# Give version.py a pattern that will expand to a GN scope consisting of
17# all values we need at once.
18_version_dictionary_template = "full = \"@MAJOR@.@MINOR@.@BUILD@.@PATCH@\" " +
19 "major = \"@MAJOR@\" minor = \"@MINOR@\" " +
20 "build = \"@BUILD@\" patch = \"@PATCH@\" " +
21 "remoting = \"@REMOTING_PATCH\" "
22
23# The file containing the Chrome version number.
24chrome_version_file = "//chrome/VERSION"
25
26# The file containing the Chromoting version number.
27remoting_version_file = "//remoting/VERSION"
28
29_result = exec_script("version.py",
30 [
31 "-f",
32 rebase_path(chrome_version_file, root_build_dir),
33 "-t",
34 _version_dictionary_template,
35 ],
36 "scope",
37 [ chrome_version_file ])
38
39# Full version. For example "45.0.12321.0"
40chrome_version_full = _result.full
41
42# The consituent parts of the full version.
43chrome_version_major = _result.major
44chrome_version_minor = _result.minor
45chrome_version_build = _result.build
46chrome_version_patch = _result.patch
47remoting_version_patch = _result.remoting
48
49if (is_mac) {
50 _result = exec_script("version.py",
51 [
52 "-f",
53 rebase_path(chrome_version_file, root_build_dir),
54 "-t",
55 "@BUILD@.@PATCH_HI@.@PATCH_LO@",
56 "-e",
57 "PATCH_HI=int(PATCH)/256",
58 "-e",
59 "PATCH_LO=int(PATCH)%256",
60 ],
61 "trim string",
62 [ chrome_version_file ])
63 chrome_dylib_version = _result
64}