[FFmpeg-devel] [PATCH] configure: fix Microsoft tools detection
Martin Storsjö
martin at martin.st
Tue Jun 17 12:16:33 EEST 2025
On Mon, 16 Jun 2025, Kacper Michajlow wrote:
> On Mon, 16 Jun 2025 at 09:40, Martin Storsjö <martin at martin.st> wrote:
>>
>> On Sat, 14 Jun 2025, Kacper Michajlow wrote:
>>
>> > On Sat, 14 Jun 2025 at 03:03, Kacper Michajłow <kasper93 at gmail.com> wrote:
>> >>
>> >> LLVM tools print installation path upon execution. If one uses LLVM
>> >> tools bundled with Microsoft Visual Studio installation, they would be
>> >> incorrectly detected as Microsoft's ones.
>> >>
>> >> Microsoft tools can have localized names, so a more specific string
>> >> check is not feasible, but luckily we can test if "Microsoft" is at the
>> >> beginning of the line, as it is always the case.
>> >>
>> >> Signed-off-by: Kacper Michajłow <kasper93 at gmail.com>
>> >> ---
>> >> configure | 6 +++---
>> >> 1 file changed, 3 insertions(+), 3 deletions(-)
>> >>
>> >> diff --git a/configure b/configure
>> >> index 534b443f7d..5b2a04ae6a 100755
>> >> --- a/configure
>> >> +++ b/configure
>> >> @@ -5124,9 +5124,9 @@ probe_cc(){
>> >> _flags_filter=msvc_flags
>> >> _ld_lib='lib%.a'
>> >> _ld_path='-libpath:'
>> >> - elif $_cc -nologo- 2>&1 | grep -q Microsoft || { $_cc -v 2>&1 | grep -q clang && $_cc -? > /dev/null 2>&1; }; then
>> >> + elif $_cc -nologo- 2>&1 | grep -q ^Microsoft || { $_cc -v 2>&1 | grep -q clang && $_cc -? > /dev/null 2>&1; }; then
>> >> _type=msvc
>> >> - if $_cc -nologo- 2>&1 | grep -q Microsoft; then
>> >> + if $_cc -nologo- 2>&1 | grep -q ^Microsoft; then
>> >> _ident=$($_cc 2>&1 | head -n1 | tr -d '\r')
>> >> else
>> >> _ident=$($_cc --version 2>/dev/null | head -n1 | tr -d '\r')
>> >> @@ -5236,7 +5236,7 @@ if [ -z "$CC_DEPFLAGS" ] && [ "$dep_cc" != "$cc" ]; then
>> >> DEPCCFLAGS=$_flags
>> >> fi
>> >>
>> >> -if $ar 2>&1 | grep -q Microsoft; then
>> >> +if $ar 2>&1 | grep -q ^Microsoft; then
>> >> arflags="-nologo"
>> >> ar_o='-out:$@'
>> >> elif $ar 2>&1 | grep -q "\[D\] "; then
>> >> --
>> >> 2.45.1
>> >>
>> >
>> > Should be v2 to the previous patch, but forgot to tag it as such.
>>
>> Hmm, not sure where that previous patch was - I don't see it recently at
>> least.
>
> Yep, it was a very old one. See
> https://patchwork.ffmpeg.org/project/ffmpeg/patch/20220122201321.8368-1-kasper93@gmail.com/
> The conclusion was that we cannot do it like that, because names are
> localized. Hence now the new patch, which should work nicely for all
> cases, even if a little bit of basic change.
Oh, I see! Thanks for the context.
Yeah, this one looks good in that aspect; tested it a little, and pushed
now.
// Martin
More information about the ffmpeg-devel
mailing list