[FFmpeg-devel] [PATCH] mswindres: Use '-' instead of '/' for rc.exe options

Martin Storsjö martin at martin.st
Mon Feb 13 00:25:36 EET 2023


On Sat, 11 Feb 2023, Ziemowit Laski wrote:

> Thanks for the detailed explanation.  Now my head hurts.
>
> I guess by "native" you mean those apps that do not depend on MSYS/Cygwin
> DLL functionality?  All of the apps are native.

Yeah, more or less. They use the regular win32 api just like MSVC based 
apps do.

> So I can definitely understand the appeal of MinGW.  But what about
> MSYS?  Is it some sort of copyright/GPL avoidance scheme?

Not at all - it's entirely a technical thing. MSYS, which is a fork of 
cygwin, is an environment to provide a full POSIX (i.e. unix) environment 
on top of Windows, which involves a lot of trickery to make system calls 
like fork() work on top of a OS that doesn't provide that.

MSYS apps generally don't use/see the win32 API at all (when building 
MSYS/Cygwin code, the '_WIN32' define isn't set), they believe they're 
running on top of any regular unix, more or less.

GCC can run on plain win32 thanks to mingw, it doesn't use any fancy POSIX 
APIs, but e.g. bash doesn't run on mingw/win32 since it uses so many unix 
specific concepts that don't exist on win32. That is - it's "easier" (or 
more wisely spent effort) to just try to emulate unix concepts in a full 
emulation layer, than to port bash (and other similar tools) to work 
directly on win32.

// Martin



More information about the ffmpeg-devel mailing list