From: "Kacper Michajłow" <kasper93@gmail.com> To: ffmpeg-devel@ffmpeg.org Cc: "Kacper Michajłow" <kasper93@gmail.com> Subject: [FFmpeg-devel] [PATCH] configure: treat unrecognized flags as errors on MSVC Date: Sun, 20 Jul 2025 15:47:52 +0200 Message-ID: <20250720134752.352772-1-kasper93@gmail.com> (raw) This is important for feature checking to work correctly. It can happen that a unrecognized flag is passing compile test with a warning only, while failing in preprocessor only mode with an error. This makes all test_cpp calls fail and silently produces arguably broken MSVC builds. Also all check_* doesn't work as expected, because they think check passed, while there was an warning. Additionally this make it in-line with GCC/Clang based builds. To test for unrecognized and bail out early, instead of silently doing whole build only producing warnings in log. The /options:strict option is available starting in Visual Studio 2022 version 17.0. Because of that we cannot use check_cflags alone, it would just also add this flag for older MSVC and produce warnings. So we need to manually version check. Kind of chicken and egg problem. Do the check before adding extra flags from the user, to ensure that we don't fail silently preprocessor check, with invalid flags on older MSVC. Note that it behaves differently depending if we are compiling or preprocessing only. Use check_cflags even after version check, for non-MSVC compilers that might impersonate MSVC, but not have support for this flag. Clang-CL sets _MSC_FULL_VER as one example. Signed-off-by: Kacper Michajłow <kasper93@gmail.com> --- configure | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/configure b/configure index ed6430ea32..20276a3c4f 100755 --- a/configure +++ b/configure @@ -5276,6 +5276,12 @@ else ar_o='$@' fi +# Treat unrecognized flags as errors on MSVC +test_cpp_condition windows.h "_MSC_FULL_VER >= 193030705" && + check_cflags -options:strict +test_host_cpp_condition windows.h "_MSC_FULL_VER >= 193030705" && + check_host_cflags -options:strict + add_cflags $extra_cflags add_cxxflags $extra_cxxflags add_objcflags $extra_objcflags -- 2.50.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
reply other threads:[~2025-07-20 13:48 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20250720134752.352772-1-kasper93@gmail.com \ --to=kasper93@gmail.com \ --cc=ffmpeg-devel@ffmpeg.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel This inbox may be cloned and mirrored by anyone: git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \ ffmpegdev@gitmailbox.com public-inbox-index ffmpegdev Example config snippet for mirrors. AGPL code for this site: git clone https://public-inbox.org/public-inbox.git