[FFmpeg-devel] [PATCH 1/1] Enable building with WSL and MSVC

Carl Eugen Hoyos ceffmpeg at gmail.com
Sun Oct 9 02:30:16 EEST 2022


Am Sa., 8. Okt. 2022 um 10:39 Uhr schrieb Julio C. Rocha <dev at rocha.red>:
>
> On Sun, Oct 2, 2022 at 4:48 PM Julio C. Rocha <dev at rocha.red> wrote:
>
> > ---
> >  configure | 7 ++++++-
> >  1 file changed, 6 insertions(+), 1 deletion(-)
> >
> > diff --git a/configure b/configure
> > index 6712d045d9..f5f5eb29dd 100755
> > --- a/configure
> > +++ b/configure
> > @@ -4847,7 +4847,12 @@ probe_cc(){
> >          else
> >              _ident=$($_cc --version 2>/dev/null | head -n1 | tr -d '\r')
> >          fi
> > -        _DEPCMD='$(DEP$(1)) $(DEP$(1)FLAGS) $($(1)DEP_FLAGS) $< 2>&1 |
> > awk '\''/including/ { sub(/^.*file: */, ""); gsub(/\\/, "/"); if
> > (!match($$0, / /)) print "$@:", $$0 }'\'' > $(@:.o=.d)'
> > +        if [ "$(grep -i Microsoft /proc/version)" ]; then
> > +            # Windows Subsystem for Linux
> > +            _DEPCMD='$(DEP$(1)) $(DEP$(1)FLAGS) $($(1)DEP_FLAGS) $< 2>&1
> > | awk '\''/including/ { sub(/^.*file: */, ""); gsub(/\\/, "/"); if
> > (!match($$0, / /)) { cmd="/usr/bin/wslpath \x27" $$0 "\x27"; cmd |& getline
> > pth; print "$@:", pth } }'\'' > $(@:.o=.d)'
> > +        else
> > +            _DEPCMD='$(DEP$(1)) $(DEP$(1)FLAGS) $($(1)DEP_FLAGS) $< 2>&1
> > | awk '\''/including/ { sub(/^.*file: */, ""); gsub(/\\/, "/"); if
> > (!match($$0, / /)) print "$@:", $$0 }'\'' > $(@:.o=.d)'
> > +        fi
> >          _DEPFLAGS='$(CPPFLAGS) $(CFLAGS) -showIncludes -Zs'
> >          _cflags_speed="-O2"
> >          _cflags_size="-O1"
> > --
> > 2.37.0 (Apple Git-136)
> >
> >
> Hi! I'd like to re-request feedback for this patch.
>
> To clarify, it allows building FFmpeg using MSVC over WSL, without any
> dependency on MinGW or MSYS.

You write in your own explanations "Succeeds" - this and what the patch
is meant to fix are missing from your commit message.

Your patch would not work here - sadly, cl.exe does not print "including"
for all installations.

I build FFmpeg regularly with wsl and msvc and others do as well.
Dependency files are simply empty here (because cl.exe prints
"Einlesen der Datei" here).

Dependency generation works for me with --dep-cc=clang-cl.exe but
I normally just build without it.

Carl Eugen


More information about the ffmpeg-devel mailing list