diff options
| author | Joshua Nelson <jyn514@gmail.com> | 2021-10-10 21:16:01 -0500 |
|---|---|---|
| committer | Joshua Nelson <jyn514@gmail.com> | 2021-10-10 21:18:57 -0500 |
| commit | 7f974d0aae1a6bf7c8211b6cbd80a4f21606280e (patch) | |
| tree | 474f1a744f36ea11979e3f5728ef2ab90b7b91de | |
| parent | f8751436ffce35cd1b7291b03b394166b77ff0da (diff) | |
| download | rust-7f974d0aae1a6bf7c8211b6cbd80a4f21606280e.tar.gz rust-7f974d0aae1a6bf7c8211b6cbd80a4f21606280e.zip | |
Greatly reduce amount of debuginfo compiled for bootstrap itself
Rather than compiling rustbuild and all its dependencies with `debuginfo=2`, this compiles dependencies without debuginfo and rustbuild with `debuginfo=1`. On my laptop, this brings compile times down from ~1:20 to ~1:05.
| -rw-r--r-- | Cargo.toml | 9 | ||||
| -rw-r--r-- | src/bootstrap/bootstrap.py | 3 |
2 files changed, 10 insertions, 2 deletions
diff --git a/Cargo.toml b/Cargo.toml index 42dd5d7ef43..8d6afd2b448 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -89,6 +89,15 @@ gimli.debug = 0 miniz_oxide.debug = 0 object.debug = 0 +# The only package that ever uses debug builds is bootstrap. +# We care a lot about bootstrap's compile times, so don't include debug info for +# dependencies, only bootstrap itself. +[profile.dev] +debug = 0 +[profile.dev.package] +# Only use debuginfo=1 to further reduce compile times. +bootstrap.debug = 1 + # We want the RLS to use the version of Cargo that we've got vendored in this # repository to ensure that the same exact version of Cargo is used by both the # RLS and the Cargo binary itself. The RLS depends on Cargo as a git repository diff --git a/src/bootstrap/bootstrap.py b/src/bootstrap/bootstrap.py index 05d7b0f611f..c51fdfe7aa4 100644 --- a/src/bootstrap/bootstrap.py +++ b/src/bootstrap/bootstrap.py @@ -921,10 +921,9 @@ class RustBuild(object): env["LIBRARY_PATH"] = os.path.join(self.bin_root(True), "lib") + \ (os.pathsep + env["LIBRARY_PATH"]) \ if "LIBRARY_PATH" in env else "" + # preserve existing RUSTFLAGS env.setdefault("RUSTFLAGS", "") - env["RUSTFLAGS"] += " -Cdebuginfo=2" - build_section = "target.{}".format(self.build) target_features = [] if self.get_toml("crt-static", build_section) == "true": |
