Looking at cygwin glib source package, i see a lot of downstream patches applied to glib over the years (there are no dates, but the versions range from 2.34.3 to 2.50 - that might be as early as 2012 and as late as 2017) to make it work correctly on cygwin.
Why are these not upstream (considering the fact that glib does have some cygwin-specific code - clearly it's not because glib doesn't *want* cygwin compatibility)? Alternatively, since some of these patches *remove* cygwin-specific code from glib (as, apparently, it was aimed at old versions of cygwin), why not ask glib maintainers to remove cygwin support completely (which might simplify the porting process, since cygwin glib maintainers won't have to guess which parts of cygwin-specific code in glib are in working order, and which are not)? Also, since cygwin masquerades as a linux-flavoured POSIX platform, a more correct approach for glib might be to perform appropriate configure-time checks and then use their results to decide which code to compile, instead of blindly trusting that a particular piece of code will work on bsd/linux/cygwin/whatever. That would remove the need for some of those patches.
signature.asc
Description: OpenPGP digital signature