diff options
| author | klensy <klensy@users.noreply.github.com> | 2024-11-16 11:31:34 +0300 |
|---|---|---|
| committer | Giang Dao <dtrnggiang@gmail.com> | 2025-03-17 19:30:09 +0800 |
| commit | 43152ad47bb15e46c001820df854d4f65964e74a (patch) | |
| tree | 6e82acff4639c32b618a0ba44f0c28f0b401a8a3 | |
| parent | a0abd613d031407c5d17bb1e7debebddf748d468 (diff) | |
| download | rust-43152ad47bb15e46c001820df854d4f65964e74a.tar.gz rust-43152ad47bb15e46c001820df854d4f65964e74a.zip | |
wix: allow to skip more components
| -rw-r--r-- | src/bootstrap/src/core/build_steps/dist.rs | 32 | ||||
| -rw-r--r-- | src/etc/installer/msi/rust.wxs | 80 |
2 files changed, 78 insertions, 34 deletions
diff --git a/src/bootstrap/src/core/build_steps/dist.rs b/src/bootstrap/src/core/build_steps/dist.rs index b6c5a5add01..33155ab3795 100644 --- a/src/bootstrap/src/core/build_steps/dist.rs +++ b/src/bootstrap/src/core/build_steps/dist.rs @@ -1856,7 +1856,7 @@ impl Step for Extended { .arg("-out") .arg(&output) .arg(input); - add_env(builder, &mut cmd, target); + add_env(builder, &mut cmd, target, &built_tools); if built_tools.contains("clippy") { cmd.arg("-dClippyDir=clippy"); @@ -1960,7 +1960,14 @@ impl Step for Extended { } } -fn add_env(builder: &Builder<'_>, cmd: &mut BootstrapCommand, target: TargetSelection) { +fn add_env( + builder: &Builder<'_>, + cmd: &mut BootstrapCommand, + target: TargetSelection, + built_tools: &HashSet<&'static str>, +) { + // envs for wix should be always defined, even if not used + // FIXME: is they affect ccache? let mut parts = builder.version.split('.'); cmd.env("CFG_RELEASE_INFO", builder.rust_version()) .env("CFG_RELEASE_NUM", &builder.version) @@ -1981,6 +1988,27 @@ fn add_env(builder: &Builder<'_>, cmd: &mut BootstrapCommand, target: TargetSele } else { cmd.env("CFG_MINGW", "0").env("CFG_ABI", "MSVC"); } + + if built_tools.contains("rustfmt") { + cmd.env("CFG_RUSTFMT", "1"); + } else { + cmd.env("CFG_RUSTFMT", "0"); + } + if built_tools.contains("clippy") { + cmd.env("CFG_CLIPPY", "1"); + } else { + cmd.env("CFG_CLIPPY", "0"); + } + if built_tools.contains("miri") { + cmd.env("CFG_MIRI", "1"); + } else { + cmd.env("CFG_MIRI", "0"); + } + if built_tools.contains("rust-analyzer") { + cmd.env("CFG_RA", "1"); + } else { + cmd.env("CFG_RA", "0"); + } } fn install_llvm_file( diff --git a/src/etc/installer/msi/rust.wxs b/src/etc/installer/msi/rust.wxs index 2d155bf0b10..64cceccc975 100644 --- a/src/etc/installer/msi/rust.wxs +++ b/src/etc/installer/msi/rust.wxs @@ -172,11 +172,19 @@ <!-- tool-rust-docs-end --> <Directory Id="Cargo" Name="." /> <Directory Id="Std" Name="." /> - <Directory Id="RustFmt" Name="." /> - <Directory Id="RustAnalyzer" Name="." /> - <Directory Id="Miri" Name="." /> + <?if $(env.CFG_RUSTFMT)="1" ?> + <Directory Id="RustFmt" Name="." /> + <?endif?> + <?if $(env.CFG_RA)="1" ?> + <Directory Id="RustAnalyzer" Name="." /> + <?endif?> + <?if $(env.CFG_MIRI)="1" ?> + <Directory Id="Miri" Name="." /> + <?endif?> <Directory Id="Analysis" Name="." /> - <Directory Id="Clippy" Name="." /> + <?if $(env.CFG_CLIPPY)="1" ?> + <Directory Id="Clippy" Name="." /> + <?endif?> </Directory> </Directory> @@ -284,34 +292,42 @@ <ComponentRef Id="PathEnvPerMachine" /> <ComponentRef Id="PathEnvPerUser" /> </Feature> - <Feature Id="RustFmt" - Title="Formatter for rust" - Display="7" - Level="1" - AllowAdvertise="no"> - <ComponentGroupRef Id="RustFmtGroup" /> - </Feature> - <Feature Id="Clippy" - Title="Formatter and checker for rust" - Display="8" - Level="1" - AllowAdvertise="no"> - <ComponentGroupRef Id="ClippyGroup" /> - </Feature> - <Feature Id="Miri" - Title="Soundness checker for rust" - Display="9" - Level="1" - AllowAdvertise="no"> - <ComponentGroupRef Id="MiriGroup" /> - </Feature> - <Feature Id="RustAnalyzer" - Title="Analyzer for rust" - Display="10" - Level="1" - AllowAdvertise="no"> - <ComponentGroupRef Id="RustAnalyzerGroup" /> - </Feature> + <?if $(env.CFG_RUSTFMT)="1" ?> + <Feature Id="RustFmt" + Title="Formatter for rust" + Display="7" + Level="1" + AllowAdvertise="no"> + <ComponentGroupRef Id="RustFmtGroup" /> + </Feature> + <?endif?> + <?if $(env.CFG_CLIPPY)="1" ?> + <Feature Id="Clippy" + Title="Formatter and checker for rust" + Display="8" + Level="1" + AllowAdvertise="no"> + <ComponentGroupRef Id="ClippyGroup" /> + </Feature> + <?endif?> + <?if $(env.CFG_MIRI)="1" ?> + <Feature Id="Miri" + Title="Soundness checker for rust" + Display="9" + Level="1" + AllowAdvertise="no"> + <ComponentGroupRef Id="MiriGroup" /> + </Feature> + <?endif?> + <?if $(env.CFG_RA)="1" ?> + <Feature Id="RustAnalyzer" + Title="Analyzer for rust" + Display="10" + Level="1" + AllowAdvertise="no"> + <ComponentGroupRef Id="RustAnalyzerGroup" /> + </Feature> + <?endif?> <Feature Id="Analysis" Title="Analysis for rust" Display="11" |
