mm2 / Little-CMS

A free, open source, CMM engine. It provides fast transforms between ICC profiles.
https://www.littlecms.com
MIT License
571 stars 176 forks source link

Fix building on case sensitive mingw platforms #363

Closed kleisauke closed 1 year ago

kleisauke commented 1 year ago

Mingw headers are all lowercase, and can be used for cross compilation from case sensitive file systems.

The official Windows SDK headers aren't self-consistent wrt upper/lower case, so those headers can't be used on case sensitive systems without a layer providing case insensitivity anyway.

This matches other includes of windows.h throughout the codebase.

mm2 commented 1 year ago

Look good. Thank you!

kleisauke commented 1 year ago

but what filesystems are case-sensitive on Windows?

AFAIK, all file systems (FAT, NTFS, etc.) on Windows are case insensitive. So, this was only a issue when cross compiling from a case sensitive file system (and when using Meson, I wrongly assumed that these files were also used in Autotools).

mm2 commented 1 year ago

what filesystems are case-sensitive on Windows? Cygwin and MSYS2 mixes tools and FS. Not very used anymore because WSL supersedes them, but some people are still tied to that because legacy systems, etc. Alas, this is only on MESON builds, using configure works fine on 2.15