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

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to