Blob Blame History Raw
diff -rupN --no-dereference Pillow-11.0.0/setup.py Pillow-11.0.0-new/setup.py
--- Pillow-11.0.0/setup.py	2024-10-15 07:55:00.000000000 +0200
+++ Pillow-11.0.0-new/setup.py	2024-10-15 08:59:42.716831470 +0200
@@ -142,7 +142,7 @@ class RequiredDependencyException(Except
     pass
 
 
-PLATFORM_MINGW = os.name == "nt" and "GCC" in sys.version
+PLATFORM_MINGW = "mingw32" in os.getenv("CC", "")
 
 
 def _dbg(s: str, tp: Any = None) -> None:
@@ -550,7 +550,7 @@ class pil_build_ext(build_ext):
         #
         # add platform directories
 
-        if self.disable_platform_guessing:
+        if self.disable_platform_guessing or PLATFORM_MINGW:
             pass
 
         elif sys.platform == "cygwin":
@@ -644,7 +644,7 @@ class pil_build_ext(build_ext):
         # FIXME: check /opt/stuff directories here?
 
         # standard locations
-        if not self.disable_platform_guessing:
+        if not self.disable_platform_guessing and not PLATFORM_MINGW:
             _add_directory(library_dirs, "/usr/local/lib")
             _add_directory(include_dirs, "/usr/local/include")
 
@@ -877,7 +877,7 @@ class pil_build_ext(build_ext):
         if feature.get("xcb"):
             libs.append(feature.get("xcb"))
             defs.append(("HAVE_XCB", None))
-        if sys.platform == "win32":
+        if sys.platform == "win32" or PLATFORM_MINGW:
             libs.extend(["kernel32", "user32", "gdi32"])
         if struct.unpack("h", b"\0\1")[0] == 1:
             defs.append(("WORDS_BIGENDIAN", None))
@@ -892,6 +892,8 @@ class pil_build_ext(build_ext):
         if feature.get("freetype"):
             srcs = []
             libs = ["freetype"]
+            if sys.platform == "win32" or PLATFORM_MINGW:
+                libs.extend(["dl"])
             defs = []
             if feature.get("raqm"):
                 if not feature.want_vendor("raqm"):  # using system Raqm
@@ -914,7 +916,7 @@ class pil_build_ext(build_ext):
 
         if feature.get("lcms"):
             libs = [feature.get("lcms")]
-            if sys.platform == "win32":
+            if sys.platform == "win32" or PLATFORM_MINGW:
                 libs.extend(["user32", "gdi32"])
             self._update_extension("PIL._imagingcms", libs)
         else:
@@ -927,7 +929,7 @@ class pil_build_ext(build_ext):
         else:
             self._remove_extension("PIL._webp")
 
-        tk_libs = ["psapi"] if sys.platform in ("win32", "cygwin") else []
+        tk_libs = ["psapi"] if sys.platform in ("win32", "cygwin") or PLATFORM_MINGW else []
         self._update_extension("PIL._imagingtk", tk_libs)
 
         build_ext.build_extensions(self)
diff -rupN --no-dereference Pillow-11.0.0/src/libImaging/ImPlatform.h Pillow-11.0.0-new/src/libImaging/ImPlatform.h
--- Pillow-11.0.0/src/libImaging/ImPlatform.h	2024-10-15 07:55:00.000000000 +0200
+++ Pillow-11.0.0-new/src/libImaging/ImPlatform.h	2024-10-15 08:59:42.716831470 +0200
@@ -29,7 +29,7 @@
 #if defined(_WIN32) || defined(__CYGWIN__) /* WIN */
 
 #define WIN32_LEAN_AND_MEAN
-#include <Windows.h>
+#include <windows.h>
 
 #ifdef __CYGWIN__
 #undef _WIN64