1 # 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. 24 chrome_version_file = "//chrome/VERSION" 25 26 # The file containing the Chromoting version number. 27 remoting_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" 40 chrome_version_full = _result.full 41 42 # The consituent parts of the full version. 43 chrome_version_major = _result.major 44 chrome_version_minor = _result.minor 45 chrome_version_build = _result.build 46 chrome_version_patch = _result.patch 47 remoting_version_patch = _result.remoting 48 49 if (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 } 65