add the build.reuse config option to choose the reuse binary

This commit is contained in:
Pietro Albini 2022-11-08 12:27:49 +01:00
parent 101e1822c3
commit 17ee25d775
No known key found for this signature in database
GPG key ID: CD76B35F7734769E
3 changed files with 17 additions and 0 deletions

View file

@ -255,6 +255,13 @@ changelog-seen = 2
# Defaults to the Python interpreter used to execute x.py
#python = "python"
# The path to the REUSE executable to use. REUSE will be used to gather
# the licensing information of the codebase.
#
# If this is omitted, the cached licensing information present in the source
# tarball will have to be present.
#reuse = "reuse"
# Force Cargo to check that Cargo.lock describes the precise dependency
# set that all the Cargo.toml files create, instead of updating it.
#locked-deps = false

View file

@ -212,6 +212,7 @@ pub struct Config {
pub npm: Option<PathBuf>,
pub gdb: Option<PathBuf>,
pub python: Option<PathBuf>,
pub reuse: Option<PathBuf>,
pub cargo_native_static: bool,
pub configure_args: Vec<String>,
@ -610,6 +611,7 @@ define_config! {
nodejs: Option<String> = "nodejs",
npm: Option<String> = "npm",
python: Option<String> = "python",
reuse: Option<String> = "reuse",
locked_deps: Option<bool> = "locked-deps",
vendor: Option<bool> = "vendor",
full_bootstrap: Option<bool> = "full-bootstrap",
@ -1003,6 +1005,7 @@ impl Config {
config.npm = build.npm.map(PathBuf::from);
config.gdb = build.gdb.map(PathBuf::from);
config.python = build.python.map(PathBuf::from);
config.reuse = build.reuse.map(PathBuf::from);
config.submodules = build.submodules;
set(&mut config.low_priority, build.low_priority);
set(&mut config.compiler_docs, build.compiler_docs);

View file

@ -140,6 +140,13 @@ than building it.
.map(|p| cmd_finder.must_have(p))
.or_else(|| cmd_finder.maybe_have("gdb"));
build.config.reuse = build
.config
.reuse
.take()
.map(|p| cmd_finder.must_have(p))
.or_else(|| cmd_finder.maybe_have("reuse"));
// We're gonna build some custom C code here and there, host triples
// also build some C++ shims for LLVM so we need a C++ compiler.
for target in &build.targets {