]> git.lizzy.rs Git - rust.git/blob - x.py
Auto merge of #107843 - bjorn3:sync_cg_clif-2023-02-09, r=bjorn3
[rust.git] / x.py
1 #!/usr/bin/env python3
2 # Some systems don't have `python3` in their PATH. This isn't supported by x.py directly;
3 # they should use `x` or `x.ps1` instead.
4
5 # This file is only a "symlink" to bootstrap.py, all logic should go there.
6
7 import os
8 import sys
9
10 # If this is python2, check if python3 is available and re-execute with that
11 # interpreter. Only python3 allows downloading CI LLVM.
12 #
13 # This matters if someone's system `python` is python2.
14 if sys.version_info.major < 3:
15     try:
16         os.execvp("py", ["py", "-3"] + sys.argv)
17     except OSError:
18         try:
19             os.execvp("python3", ["python3"] + sys.argv)
20         except OSError:
21             # Python 3 isn't available, fall back to python 2
22             pass
23
24 rust_dir = os.path.dirname(os.path.abspath(__file__))
25 # For the import below, have Python search in src/bootstrap first.
26 sys.path.insert(0, os.path.join(rust_dir, "src", "bootstrap"))
27
28 import bootstrap
29 bootstrap.main()