mirror of
https://github.com/fish-shell/fish-shell.git
synced 2026-06-09 12:11:20 -03:00
build.rs: pick up version file for tarballs from source, not build, directory (#10400)
This commit is contained in:
13
build.rs
13
build.rs
@@ -3,7 +3,7 @@
|
|||||||
use rsconf::{LinkType, Target};
|
use rsconf::{LinkType, Target};
|
||||||
use std::env;
|
use std::env;
|
||||||
use std::error::Error;
|
use std::error::Error;
|
||||||
use std::path::PathBuf;
|
use std::path::{Path, PathBuf};
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
setup_paths();
|
setup_paths();
|
||||||
@@ -24,7 +24,12 @@ fn main() {
|
|||||||
.unwrap(),
|
.unwrap(),
|
||||||
);
|
);
|
||||||
|
|
||||||
rsconf::set_env_value("FISH_BUILD_VERSION", &get_version(build_dir));
|
// Per https://doc.rust-lang.org/cargo/reference/build-scripts.html#inputs-to-the-build-script,
|
||||||
|
// the source directory is the current working directory of the build script
|
||||||
|
rsconf::set_env_value(
|
||||||
|
"FISH_BUILD_VERSION",
|
||||||
|
&get_version(&env::current_dir().unwrap()),
|
||||||
|
);
|
||||||
|
|
||||||
rsconf::rebuild_if_path_changed("src/libc.c");
|
rsconf::rebuild_if_path_changed("src/libc.c");
|
||||||
cc::Build::new()
|
cc::Build::new()
|
||||||
@@ -196,7 +201,7 @@ fn get_path(name: &str, default: &str, onvar: PathBuf) -> PathBuf {
|
|||||||
rsconf::rebuild_if_env_changed("DOCDIR");
|
rsconf::rebuild_if_env_changed("DOCDIR");
|
||||||
}
|
}
|
||||||
|
|
||||||
fn get_version(build_dir: &str) -> String {
|
fn get_version(src_dir: &Path) -> String {
|
||||||
use std::fs::read_to_string;
|
use std::fs::read_to_string;
|
||||||
use std::process::Command;
|
use std::process::Command;
|
||||||
|
|
||||||
@@ -204,7 +209,7 @@ fn get_version(build_dir: &str) -> String {
|
|||||||
return var;
|
return var;
|
||||||
}
|
}
|
||||||
|
|
||||||
let path = PathBuf::from(build_dir).join("version");
|
let path = PathBuf::from(src_dir).join("version");
|
||||||
if let Ok(strver) = read_to_string(path) {
|
if let Ok(strver) = read_to_string(path) {
|
||||||
return strver.to_string();
|
return strver.to_string();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user