From 03db7c304ba3d90cf00f0f5d36b6ae12966a4aad Mon Sep 17 00:00:00 2001 From: FreezyLemon Date: Mon, 22 Jul 2024 12:31:38 +0200 Subject: [PATCH] Add rustc-check-cfg for ff_api_{...} features --- ffmpeg-sys-the-third/build.rs | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/ffmpeg-sys-the-third/build.rs b/ffmpeg-sys-the-third/build.rs index bb0ab1a..7c8e35c 100644 --- a/ffmpeg-sys-the-third/build.rs +++ b/ffmpeg-sys-the-third/build.rs @@ -790,19 +790,20 @@ fn check_features(include_paths: &[PathBuf]) { } 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 { - println!(r#"cargo:rustc-cfg=feature="{}""#, var.to_lowercase()); - println!(r#"cargo:{}=true"#, var.to_lowercase()); + println!(r#"cargo:rustc-cfg=feature="{}""#, var); + println!(r#"cargo:{}=true"#, var); } // Also find out if defined or not (useful for cases where only the definition of a macro // can be used as distinction) if var_defined { - println!( - r#"cargo:rustc-cfg=feature="{}_is_defined""#, - var.to_lowercase() - ); - println!(r#"cargo:{}_is_defined=true"#, var.to_lowercase()); + println!(r#"cargo:rustc-cfg=feature="{}_is_defined""#, var); + println!(r#"cargo:{}_is_defined=true"#, var); } } @@ -852,7 +853,10 @@ fn check_features(include_paths: &[PathBuf]) { 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 - 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); if lavc_version >= (lavc_version_major, lavc_version_minor) {