Alex Crichton | a270b80 | 2016-10-21 20:18:09 | [diff] [blame] | 1 | #!/usr/bin/env python |
Alex Crichton | a270b80 | 2016-10-21 20:18:09 | [diff] [blame] | 2 | |
Titus Barik | 04e4d42 | 2017-04-30 20:10:31 | [diff] [blame] | 3 | # This file is only a "symlink" to bootstrap.py, all logic should go there. |
Vadim Petrochenkov | 11adac3 | 2017-03-03 02:27:07 | [diff] [blame] | 4 | |
Alex Crichton | a270b80 | 2016-10-21 20:18:09 | [diff] [blame] | 5 | import os |
Vadim Petrochenkov | 11adac3 | 2017-03-03 02:27:07 | [diff] [blame] | 6 | import sys |
Joshua Nelson | c8cac2a | 2021-01-01 16:52:31 | [diff] [blame] | 7 | |
| 8 | # If this is python2, check if python3 is available and re-execute with that |
| 9 | # interpreter. |
| 10 | if sys.version_info.major < 3: |
| 11 | try: |
| 12 | # On Windows, `py -3` sometimes works. |
| 13 | # Try this first, because 'python3' sometimes tries to launch the app |
| 14 | # store on Windows |
| 15 | os.execvp("py", ["py", "-3"] + sys.argv) |
| 16 | except OSError: |
| 17 | try: |
| 18 | os.execvp("python3", ["python3"] + sys.argv) |
| 19 | except OSError: |
| 20 | # Python 3 isn't available, fall back to python 2 |
| 21 | pass |
| 22 | |
Vadim Petrochenkov | 11adac3 | 2017-03-03 02:27:07 | [diff] [blame] | 23 | rust_dir = os.path.dirname(os.path.abspath(__file__)) |
| 24 | sys.path.append(os.path.join(rust_dir, "src", "bootstrap")) |
Alex Crichton | a270b80 | 2016-10-21 20:18:09 | [diff] [blame] | 25 | |
| 26 | import bootstrap |
Vadim Petrochenkov | 11adac3 | 2017-03-03 02:27:07 | [diff] [blame] | 27 | bootstrap.main() |