[FFmpeg-devel] [PATCH] configure: Fix Microsoft tools detection

Martin Storsjö martin at martin.st
Thu Feb 3 14:47:50 EET 2022


On Thu, 3 Feb 2022, Marvin Scholz wrote:

> On 3 Feb 2022, at 13:33, Martin Storsjö wrote:
>
>> On Thu, 3 Feb 2022, Marvin Scholz wrote:
>>
>>>
>>>
>>> On 3 Feb 2022, at 12:55, Hendrik Leppkes wrote:
>>>
>>>> On Thu, Feb 3, 2022 at 12:34 PM Martin Storsjö <martin at martin.st> 
>>>> wrote:
>>>>>
>>>>> I remember that there has been some variance throughout the 
>>>>> versions for
>>>>> exactly what MSVC prints as the identification thoughout the 
>>>>> versions, but
>>>>> I think 'Microsoft.*Optimizing.*Compiler' should be safe.
>>>>>
>>>>
>>>> I was wondering if non-english locale would translate that string, 
>>>> but
>>>> I can't easily test that, I don't think.
>>>>
>>>
>>> Sorry, need to correct myself. It is indeed localized I was just 
>>> lacking
>>> the language pack…
>>>
>>> For example in german it is:
>>>
>>> Microsoft (R) C/C++-Optimierungscompiler Version 19.30.30709 für x64
>>> Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.
>>
>> Oh, thanks for that!
>>
>> I presume that this also could break the other existing check for 
>> armasm too? If you run e.g. "vsdevcmd -host_arch=x64 -arch=arm64" and 
>> then "armasm64", what does that print?
>>
>
> Interestingly that one does not seem localized:
>
> C:\Program Files\Microsoft Visual Studio\2022\Community>armasm64
> Microsoft (R) ARM Macro Assembler Version 14.30.30709.0 for 64 bits
> Copyright (C) Microsoft Corporation.  All rights reserved.

That's interesting!

I tried to have a look at what e.g. meson does for detection. It doesn't 
look that much at the output, but first detects clang-cl specifically, 
then plain clang, then moves on to MSVC itself (matching only 
'Microsoft'). Meson does, however, check a longer regex for identifying 
and disambiguating the 'rc' tool from windres. Is 'rc' localized?

// Martin


More information about the ffmpeg-devel mailing list