xref: /aosp_15_r20/external/clang/clang-version-inc.py (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li#!/usr/bin/env python3
2*67e74705SXin Li
3*67e74705SXin Liimport os
4*67e74705SXin Liimport sys
5*67e74705SXin Li
6*67e74705SXin Liimport version
7*67e74705SXin Li
8*67e74705SXin Liversion_string = '%s.%s.%s' % (version.major, version.minor, version.patch)
9*67e74705SXin Li
10*67e74705SXin Liif len(sys.argv) < 2:
11*67e74705SXin Li    print(f"Usage: {sys.argv[0]} <Version.inc.in>", file=sys.stderr)
12*67e74705SXin Li    sys.exit(1)
13*67e74705SXin Li
14*67e74705SXin Liwith open(sys.argv[1], 'r') as f:
15*67e74705SXin Li    replacements = {
16*67e74705SXin Li        '@CLANG_VERSION@': version_string,
17*67e74705SXin Li        '@CLANG_VERSION_MAJOR@': version.major,
18*67e74705SXin Li        '@CLANG_VERSION_MINOR@': version.minor,
19*67e74705SXin Li        '@CLANG_VERSION_PATCHLEVEL@': version.patch,
20*67e74705SXin Li        '@CLANG_HAS_VERSION_PATCHLEVEL@': '1',
21*67e74705SXin Li    }
22*67e74705SXin Li
23*67e74705SXin Li    for line in f:
24*67e74705SXin Li        line = line.strip()
25*67e74705SXin Li        for replace, to in replacements.items():
26*67e74705SXin Li            line = line.replace(replace, to)
27*67e74705SXin Li        print(line)
28