diff options
Diffstat (limited to 'src/bootstrap/bootstrap.py')
| -rw-r--r-- | src/bootstrap/bootstrap.py | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/bootstrap/bootstrap.py b/src/bootstrap/bootstrap.py index 7b0a5d6b6df..33de8fd0107 100644 --- a/src/bootstrap/bootstrap.py +++ b/src/bootstrap/bootstrap.py @@ -10,6 +10,7 @@ import argparse import contextlib +import datetime import hashlib import os import shutil @@ -18,6 +19,8 @@ import sys import tarfile import tempfile +from time import time + def get(url, path, verbose=False): sha_url = url + ".sha256" @@ -118,6 +121,9 @@ def stage0_data(rust_root): data[a] = b return data +def format_build_time(duration): + return str(datetime.timedelta(seconds=int(duration))) + class RustBuild: def download_stage0(self): cache_dst = os.path.join(self.build_dir, "cache") @@ -265,7 +271,7 @@ class RustBuild: try: ostype = subprocess.check_output(['uname', '-s']).strip() cputype = subprocess.check_output(['uname', '-m']).strip() - except subprocess.CalledProcessError: + except (subprocess.CalledProcessError, WindowsError): if sys.platform == 'win32': return 'x86_64-pc-windows-msvc' err = "uname not found" @@ -372,6 +378,8 @@ def main(): rb._rustc_channel, rb._rustc_date = data['rustc'].split('-', 1) rb._cargo_channel, rb._cargo_date = data['cargo'].split('-', 1) + start_time = time() + # Fetch/build the bootstrap rb.build = rb.build_triple() rb.download_stage0() @@ -390,5 +398,9 @@ def main(): env["BOOTSTRAP_PARENT_ID"] = str(os.getpid()) rb.run(args, env) + end_time = time() + + print("Build completed in %s" % format_build_time(end_time - start_time)) + if __name__ == '__main__': main() |
