Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit edd986f

Browse files
authored
Rollup merge of rust-lang#125579 - Noratrieb:print-host, r=davidtwco
Add `--print host-tuple` to print host target tuple People often parse `-vV` output to get to the host tuple, which is annoying to do. It's easier to just get it directly. I called it "host-tuple" instead of "host" because it's clearer that it's just the target name. I'm open to different names, but I think this one is fine. a quick GitHub search for `'^host` reveals many instances of people doing the parsing, for example: https://github.com/japaric/xargo/blob/68e0ca57cd90837fe02f262f074182f9cfeb6227/README.md?plain=1#L369 https://github.com/taiki-e/setup-cross-toolchain-action/blob/0e38473b0c562d6db19a98d3ec20a80f7ac189ae/main.sh#L96 https://github.com/taiki-e/cargo-llvm-cov/blob/8a3553b86551eabf9c30c060b1f72a5bbccb98c6/README.md?plain=1#L625 https://github.com/SiliconLabs/cpc-nvm3/blob/43f3ec39709b30700ef7f39d91fa647974323bf1/do.sh#L35 needs a compiler FCP. I could also do an MCP but I think just an FCP here makes the most sense.
2 parents 7c7bb7d + 0b79d60 commit edd986f

File tree

40 files changed

+183
-167
lines changed

40 files changed

+183
-167
lines changed

compiler/rustc_codegen_cranelift/src/global_asm.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,8 @@ impl GlobalAsmConfig {
118118
GlobalAsmConfig {
119119
assembler: crate::toolchain::get_toolchain_binary(tcx.sess, "as"),
120120
target: match &tcx.sess.opts.target_triple {
121-
rustc_target::spec::TargetTriple::TargetTriple(triple) => triple.clone(),
122-
rustc_target::spec::TargetTriple::TargetJson { path_for_rustdoc, .. } => {
121+
rustc_target::spec::TargetTuple::TargetTuple(triple) => triple.clone(),
122+
rustc_target::spec::TargetTuple::TargetJson { path_for_rustdoc, .. } => {
123123
path_for_rustdoc.to_str().unwrap().to_owned()
124124
}
125125
},

compiler/rustc_codegen_gcc/src/consts.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ impl<'gcc, 'tcx> StaticCodegenMethods for CodegenCx<'gcc, 'tcx> {
146146

147147
// Wasm statics with custom link sections get special treatment as they
148148
// go into custom sections of the wasm executable.
149-
if self.tcx.sess.opts.target_triple.triple().starts_with("wasm32") {
149+
if self.tcx.sess.opts.target_triple.tuple().starts_with("wasm32") {
150150
if let Some(_section) = attrs.link_section {
151151
unimplemented!();
152152
}

compiler/rustc_codegen_llvm/src/back/write.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -945,7 +945,7 @@ fn create_section_with_flags_asm(section_name: &str, section_flags: &str, data:
945945
}
946946

947947
fn target_is_apple(cgcx: &CodegenContext<LlvmCodegenBackend>) -> bool {
948-
let triple = cgcx.opts.target_triple.triple();
948+
let triple = cgcx.opts.target_triple.tuple();
949949
triple.contains("-ios")
950950
|| triple.contains("-darwin")
951951
|| triple.contains("-tvos")
@@ -954,7 +954,7 @@ fn target_is_apple(cgcx: &CodegenContext<LlvmCodegenBackend>) -> bool {
954954
}
955955

956956
fn target_is_aix(cgcx: &CodegenContext<LlvmCodegenBackend>) -> bool {
957-
cgcx.opts.target_triple.triple().contains("-aix")
957+
cgcx.opts.target_triple.tuple().contains("-aix")
958958
}
959959

960960
pub(crate) fn bitcode_section_name(cgcx: &CodegenContext<LlvmCodegenBackend>) -> &'static CStr {
@@ -1030,7 +1030,7 @@ unsafe fn embed_bitcode(
10301030
let is_aix = target_is_aix(cgcx);
10311031
let is_apple = target_is_apple(cgcx);
10321032
unsafe {
1033-
if is_apple || is_aix || cgcx.opts.target_triple.triple().starts_with("wasm") {
1033+
if is_apple || is_aix || cgcx.opts.target_triple.tuple().starts_with("wasm") {
10341034
// We don't need custom section flags, create LLVM globals.
10351035
let llconst = common::bytes_in_context(llcx, bitcode);
10361036
let llglobal = llvm::LLVMAddGlobal(

compiler/rustc_codegen_ssa/src/back/link.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -996,7 +996,7 @@ fn link_natively(
996996
{
997997
let is_vs_installed = windows_registry::find_vs_version().is_ok();
998998
let has_linker = windows_registry::find_tool(
999-
sess.opts.target_triple.triple(),
999+
sess.opts.target_triple.tuple(),
10001000
"link.exe",
10011001
)
10021002
.is_some();
@@ -1322,10 +1322,8 @@ fn link_sanitizer_runtime(
13221322
} else {
13231323
let default_sysroot =
13241324
filesearch::get_or_default_sysroot().expect("Failed finding sysroot");
1325-
let default_tlib = filesearch::make_target_lib_path(
1326-
&default_sysroot,
1327-
sess.opts.target_triple.triple(),
1328-
);
1325+
let default_tlib =
1326+
filesearch::make_target_lib_path(&default_sysroot, sess.opts.target_triple.tuple());
13291327
default_tlib
13301328
}
13311329
}

compiler/rustc_codegen_ssa/src/back/linker.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ pub(crate) fn get_linker<'a>(
4747
self_contained: bool,
4848
target_cpu: &'a str,
4949
) -> Box<dyn Linker + 'a> {
50-
let msvc_tool = windows_registry::find_tool(sess.opts.target_triple.triple(), "link.exe");
50+
let msvc_tool = windows_registry::find_tool(sess.opts.target_triple.tuple(), "link.exe");
5151

5252
// If our linker looks like a batch script on Windows then to execute this
5353
// we'll need to spawn `cmd` explicitly. This is primarily done to handle

compiler/rustc_driver_impl/src/lib.rs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ use rustc_session::{EarlyDiagCtxt, Session, config, filesearch};
6161
use rustc_span::FileName;
6262
use rustc_span::source_map::FileLoader;
6363
use rustc_target::json::ToJson;
64-
use rustc_target::spec::{Target, TargetTriple};
64+
use rustc_target::spec::{Target, TargetTuple};
6565
use time::OffsetDateTime;
6666
use tracing::trace;
6767

@@ -730,6 +730,7 @@ fn print_crate_info(
730730
targets.sort_unstable();
731731
println_info!("{}", targets.join("\n"));
732732
}
733+
HostTuple => println_info!("{}", rustc_session::config::host_tuple()),
733734
Sysroot => println_info!("{}", sess.sysroot.display()),
734735
TargetLibdir => println_info!("{}", sess.target_tlib_path.dir.display()),
735736
TargetSpec => {
@@ -738,7 +739,7 @@ fn print_crate_info(
738739
AllTargetSpecs => {
739740
let mut targets = BTreeMap::new();
740741
for name in rustc_target::spec::TARGETS {
741-
let triple = TargetTriple::from_triple(name);
742+
let triple = TargetTuple::from_tuple(name);
742743
let target = Target::expect_builtin(&triple);
743744
targets.insert(name, target.to_json());
744745
}
@@ -918,7 +919,7 @@ pub fn version_at_macro_invocation(
918919
safe_println!("binary: {binary}");
919920
safe_println!("commit-hash: {commit_hash}");
920921
safe_println!("commit-date: {commit_date}");
921-
safe_println!("host: {}", config::host_triple());
922+
safe_println!("host: {}", config::host_tuple());
922923
safe_println!("release: {release}");
923924

924925
let debug_flags = matches.opt_strs("Z");
@@ -1495,7 +1496,7 @@ fn report_ice(
14951496
}
14961497

14971498
let version = util::version_str!().unwrap_or("unknown_version");
1498-
let triple = config::host_triple();
1499+
let tuple = config::host_tuple();
14991500

15001501
static FIRST_PANIC: AtomicBool = AtomicBool::new(true);
15011502

@@ -1505,7 +1506,7 @@ fn report_ice(
15051506
Ok(mut file) => {
15061507
dcx.emit_note(session_diagnostics::IcePath { path: path.clone() });
15071508
if FIRST_PANIC.swap(false, Ordering::SeqCst) {
1508-
let _ = write!(file, "\n\nrustc version: {version}\nplatform: {triple}");
1509+
let _ = write!(file, "\n\nrustc version: {version}\nplatform: {tuple}");
15091510
}
15101511
Some(file)
15111512
}
@@ -1518,12 +1519,12 @@ fn report_ice(
15181519
.map(PathBuf::from)
15191520
.map(|env_var| session_diagnostics::IcePathErrorEnv { env_var }),
15201521
});
1521-
dcx.emit_note(session_diagnostics::IceVersion { version, triple });
1522+
dcx.emit_note(session_diagnostics::IceVersion { version, triple: tuple });
15221523
None
15231524
}
15241525
}
15251526
} else {
1526-
dcx.emit_note(session_diagnostics::IceVersion { version, triple });
1527+
dcx.emit_note(session_diagnostics::IceVersion { version, triple: tuple });
15271528
None
15281529
};
15291530

compiler/rustc_errors/src/diagnostic_impls.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use rustc_macros::Subdiagnostic;
1111
use rustc_span::Span;
1212
use rustc_span::edition::Edition;
1313
use rustc_span::symbol::{Ident, MacroRulesNormalizedIdent, Symbol};
14-
use rustc_target::spec::{PanicStrategy, SplitDebuginfo, StackProtector, TargetTriple};
14+
use rustc_target::spec::{PanicStrategy, SplitDebuginfo, StackProtector, TargetTuple};
1515
use rustc_type_ir::{ClosureKind, FloatTy};
1616
use {rustc_ast as ast, rustc_hir as hir};
1717

@@ -89,7 +89,7 @@ into_diag_arg_using_display!(
8989
MacroRulesNormalizedIdent,
9090
ParseIntError,
9191
StackProtector,
92-
&TargetTriple,
92+
&TargetTuple,
9393
SplitDebuginfo,
9494
ExitStatus,
9595
ErrCode,

compiler/rustc_hir_typeck/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -493,7 +493,7 @@ fn fatally_break_rust(tcx: TyCtxt<'_>, span: Span) -> ! {
493493
"we would appreciate a joke overview: \
494494
https://github.com/rust-lang/rust/issues/43162#issuecomment-320764675",
495495
);
496-
diag.note(format!("rustc {} running on {}", tcx.sess.cfg_version, config::host_triple(),));
496+
diag.note(format!("rustc {} running on {}", tcx.sess.cfg_version, config::host_tuple(),));
497497
if let Some((flags, excluded_cargo_defaults)) = rustc_session::utils::extra_compiler_flags() {
498498
diag.note(format!("compiler flags: {}", flags.join(" ")));
499499
if excluded_cargo_defaults {

compiler/rustc_interface/src/util.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use rustc_data_structures::sync;
1111
use rustc_metadata::{DylibError, load_symbol_from_dylib};
1212
use rustc_middle::ty::CurrentGcx;
1313
use rustc_parse::validate_attr;
14-
use rustc_session::config::{Cfg, OutFileName, OutputFilenames, OutputTypes, host_triple};
14+
use rustc_session::config::{Cfg, OutFileName, OutputFilenames, OutputTypes, host_tuple};
1515
use rustc_session::filesearch::sysroot_candidates;
1616
use rustc_session::lint::{self, BuiltinLintDiag, LintBuffer};
1717
use rustc_session::output::{CRATE_TYPES, categorize_crate_type};
@@ -310,7 +310,7 @@ fn get_codegen_sysroot(
310310
"cannot load the default codegen backend twice"
311311
);
312312

313-
let target = host_triple();
313+
let target = host_tuple();
314314
let sysroot_candidates = sysroot_candidates();
315315

316316
let sysroot = iter::once(sysroot)

compiler/rustc_metadata/src/creader.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ use rustc_session::search_paths::PathKind;
3030
use rustc_span::edition::Edition;
3131
use rustc_span::symbol::{Ident, Symbol, sym};
3232
use rustc_span::{DUMMY_SP, Span};
33-
use rustc_target::spec::{PanicStrategy, Target, TargetTriple};
33+
use rustc_target::spec::{PanicStrategy, Target, TargetTuple};
3434
use tracing::{debug, info, trace};
3535

3636
use crate::errors;
@@ -506,7 +506,7 @@ impl<'a, 'tcx> CrateLoader<'a, 'tcx> {
506506
locator.reset();
507507
locator.is_proc_macro = true;
508508
locator.target = &self.sess.host;
509-
locator.triple = TargetTriple::from_triple(config::host_triple());
509+
locator.tuple = TargetTuple::from_tuple(config::host_tuple());
510510
locator.filesearch = self.sess.host_filesearch(path_kind);
511511

512512
let Some(host_result) = self.load(locator)? else {
@@ -635,7 +635,7 @@ impl<'a, 'tcx> CrateLoader<'a, 'tcx> {
635635
// FIXME: why is this condition necessary? It was adding in #33625 but I
636636
// don't know why and the original author doesn't remember ...
637637
let can_reuse_cratenum =
638-
locator.triple == self.sess.opts.target_triple || locator.is_proc_macro;
638+
locator.tuple == self.sess.opts.target_triple || locator.is_proc_macro;
639639
Ok(Some(if can_reuse_cratenum {
640640
let mut result = LoadResult::Loaded(library);
641641
for (cnum, data) in self.cstore.iter_crate_data() {

0 commit comments

Comments
 (0)