Use AVLibrary for pkg-config probing
This commit is contained in:
parent
40b7016177
commit
021c111ffb
@ -49,6 +49,10 @@ impl Library {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn lib_name(&self) -> String {
|
||||||
|
format!("lib{}", self.name)
|
||||||
|
}
|
||||||
|
|
||||||
fn enabled(&self) -> bool {
|
fn enabled(&self) -> bool {
|
||||||
!self.optional || cargo_feature_enabled(self.name)
|
!self.optional || cargo_feature_enabled(self.name)
|
||||||
}
|
}
|
||||||
@ -984,37 +988,17 @@ fn main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
paths
|
paths
|
||||||
}
|
} else {
|
||||||
// Fallback to pkg-config
|
// Fallback to pkg-config
|
||||||
else {
|
|
||||||
add_pkg_config_path();
|
add_pkg_config_path();
|
||||||
pkg_config::Config::new()
|
let mut pkgconfig = pkg_config::Config::new();
|
||||||
.statik(statik)
|
pkgconfig.statik(statik);
|
||||||
.probe("libavutil")
|
|
||||||
.unwrap();
|
|
||||||
|
|
||||||
let mut libs = vec![
|
for lib in LIBRARIES.iter().filter(|lib| lib.enabled()) {
|
||||||
("libavformat", "AVFORMAT"),
|
let _ = pkgconfig.probe(&lib.lib_name()).unwrap();
|
||||||
("libavfilter", "AVFILTER"),
|
|
||||||
("libavdevice", "AVDEVICE"),
|
|
||||||
("libswscale", "SWSCALE"),
|
|
||||||
("libswresample", "SWRESAMPLE"),
|
|
||||||
];
|
|
||||||
if ffmpeg_major_version < 5 {
|
|
||||||
libs.push(("libavresample", "AVRESAMPLE"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for (lib_name, env_variable_name) in libs.iter() {
|
pkgconfig
|
||||||
if cargo_feature_enabled(env_variable_name) {
|
|
||||||
pkg_config::Config::new()
|
|
||||||
.statik(statik)
|
|
||||||
.probe(lib_name)
|
|
||||||
.unwrap();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_config::Config::new()
|
|
||||||
.statik(statik)
|
|
||||||
.probe("libavcodec")
|
.probe("libavcodec")
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.include_paths
|
.include_paths
|
||||||
|
Loading…
x
Reference in New Issue
Block a user