diff options
| author | John Kelly <johnharrykelly@gmail.com> | 2023-04-27 17:39:58 +0100 |
|---|---|---|
| committer | John Kelly <johnharrykelly@gmail.com> | 2023-04-27 17:39:58 +0100 |
| commit | 1b390f44cfefa3a83af6056f136964e24c22af66 (patch) | |
| tree | db9081f76ce63ccbdfa56451eaba7048e1f98a2d | |
| parent | 6ce22733b973355573efd1e6294e585460e90e17 (diff) | |
| download | rust-1b390f44cfefa3a83af6056f136964e24c22af66.tar.gz rust-1b390f44cfefa3a83af6056f136964e24c22af66.zip | |
Skip rustc version detection on macOS
| -rw-r--r-- | src/bootstrap/bootstrap.py | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/src/bootstrap/bootstrap.py b/src/bootstrap/bootstrap.py index 680a8da6adf..98e62f00110 100644 --- a/src/bootstrap/bootstrap.py +++ b/src/bootstrap/bootstrap.py @@ -209,19 +209,24 @@ def default_build_triple(verbose): # install, use their preference. This fixes most issues with Windows builds # being detected as GNU instead of MSVC. default_encoding = sys.getdefaultencoding() - try: - version = subprocess.check_output(["rustc", "--version", "--verbose"], - stderr=subprocess.DEVNULL) - version = version.decode(default_encoding) - host = next(x for x in version.split('\n') if x.startswith("host: ")) - triple = host.split("host: ")[1] - if verbose: - print("detected default triple {} from pre-installed rustc".format(triple)) - return triple - except Exception as e: - if verbose: - print("pre-installed rustc not detected: {}".format(e)) - print("falling back to auto-detect") + + if sys.platform == 'darwin': + print("not using rustc detection as it is unreliable on macOS") + print("falling back to auto-detect") + else: + try: + version = subprocess.check_output(["rustc", "--version", "--verbose"], + stderr=subprocess.DEVNULL) + version = version.decode(default_encoding) + host = next(x for x in version.split('\n') if x.startswith("host: ")) + triple = host.split("host: ")[1] + if verbose: + print("detected default triple {} from pre-installed rustc".format(triple)) + return triple + except Exception as e: + if verbose: + print("pre-installed rustc not detected: {}".format(e)) + print("falling back to auto-detect") required = sys.platform != 'win32' ostype = require(["uname", "-s"], exit=required) |
