[FFmpeg-devel] [PATCH] configure: fix Microsoft tools detection
Kacper Michajlow
kasper93 at gmail.com
Mon Jun 16 16:24:27 EEST 2025
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.
- Kacper
More information about the ffmpeg-devel
mailing list