diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:02:58 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:02:58 +0000 |
commit | 698f8c2f01ea549d77d7dc3338a12e04c11057b9 (patch) | |
tree | 173a775858bd501c378080a10dca74132f05bc50 /src/tools/rust-analyzer/crates/proc-macro-srv/build.rs | |
parent | Initial commit. (diff) | |
download | rustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.tar.xz rustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.zip |
Adding upstream version 1.64.0+dfsg1.upstream/1.64.0+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/tools/rust-analyzer/crates/proc-macro-srv/build.rs')
-rw-r--r-- | src/tools/rust-analyzer/crates/proc-macro-srv/build.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/tools/rust-analyzer/crates/proc-macro-srv/build.rs b/src/tools/rust-analyzer/crates/proc-macro-srv/build.rs new file mode 100644 index 000000000..a8c732f31 --- /dev/null +++ b/src/tools/rust-analyzer/crates/proc-macro-srv/build.rs @@ -0,0 +1,25 @@ +//! Determine rustc version `proc-macro-srv` (and thus the sysroot ABI) is +//! build with and make it accessible at runtime for ABI selection. + +use std::{env, fs::File, io::Write, path::PathBuf, process::Command}; + +fn main() { + let mut path = PathBuf::from(env::var_os("OUT_DIR").unwrap()); + path.push("rustc_version.rs"); + let mut f = File::create(&path).unwrap(); + + let rustc = env::var("RUSTC").expect("proc-macro-srv's build script expects RUSTC to be set"); + let output = Command::new(rustc).arg("--version").output().expect("rustc --version must run"); + let version_string = std::str::from_utf8(&output.stdout[..]) + .expect("rustc --version output must be UTF-8") + .trim(); + + write!( + f, + " + #[allow(dead_code)] + pub(crate) const RUSTC_VERSION_STRING: &str = {version_string:?}; + " + ) + .unwrap(); +} |