Add rustc-check-cfg for ff_api_{...} features

This commit is contained in:
FreezyLemon 2024-07-22 12:31:38 +02:00 committed by Josh Holmer
parent 3239649dbb
commit 03db7c304b

View File

@ -790,19 +790,20 @@ fn check_features(include_paths: &[PathBuf]) {
} }
for (var, (var_defined, var_enabled)) in features_defined_enabled { for (var, (var_defined, var_enabled)) in features_defined_enabled {
// Every possible feature needs an unconditional check-cfg to prevent warnings
println!(r#"cargo:rustc-check-cfg=cfg(feature, values("{}"))"#, var);
println!(r#"cargo:check_{}=true"#, var);
if var_enabled { if var_enabled {
println!(r#"cargo:rustc-cfg=feature="{}""#, var.to_lowercase()); println!(r#"cargo:rustc-cfg=feature="{}""#, var);
println!(r#"cargo:{}=true"#, var.to_lowercase()); println!(r#"cargo:{}=true"#, var);
} }
// Also find out if defined or not (useful for cases where only the definition of a macro // Also find out if defined or not (useful for cases where only the definition of a macro
// can be used as distinction) // can be used as distinction)
if var_defined { if var_defined {
println!( println!(r#"cargo:rustc-cfg=feature="{}_is_defined""#, var);
r#"cargo:rustc-cfg=feature="{}_is_defined""#, println!(r#"cargo:{}_is_defined=true"#, var);
var.to_lowercase()
);
println!(r#"cargo:{}_is_defined=true"#, var.to_lowercase());
} }
} }
@ -852,7 +853,10 @@ fn check_features(include_paths: &[PathBuf]) {
for &(ffmpeg_version_flag, lavc_version_major, lavc_version_minor) in &ffmpeg_lavc_versions { for &(ffmpeg_version_flag, lavc_version_major, lavc_version_minor) in &ffmpeg_lavc_versions {
// Every possible feature needs an unconditional check-cfg to prevent warnings // Every possible feature needs an unconditional check-cfg to prevent warnings
println!(r#"cargo:rustc-check-cfg=cfg(feature, values("{}"))"#, ffmpeg_version_flag); println!(
r#"cargo:rustc-check-cfg=cfg(feature, values("{}"))"#,
ffmpeg_version_flag
);
println!(r#"cargo:check_{}=true"#, ffmpeg_version_flag); println!(r#"cargo:check_{}=true"#, ffmpeg_version_flag);
if lavc_version >= (lavc_version_major, lavc_version_minor) { if lavc_version >= (lavc_version_major, lavc_version_minor) {