Use the Windows functions to get TCL functions on Cygwin.

This is related to linking semantics, so Cygwin should follow the Windows codepath.
This commit is contained in:
DWesl 2021-11-03 13:03:55 -04:00
parent f671ec82fa
commit c8391aaa4b
3 changed files with 10 additions and 3 deletions

View File

@ -887,7 +887,7 @@ class pil_build_ext(build_ext):
else:
self._remove_extension("PIL._webp")
tk_libs = ["psapi"] if sys.platform == "win32" else []
tk_libs = ["psapi"] if (sys.platform == "win32" or sys.platform == "cygwin") else []
self._update_extension("PIL._imagingtk", tk_libs)
build_ext.build_extensions(self)

View File

@ -219,7 +219,7 @@ TkImaging_Init(Tcl_Interp *interp) {
#define TKINTER_FINDER "PIL._tkinter_finder"
#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__CYGWIN__)
/*
* On Windows, we can't load the tkinter module to get the Tcl or Tk symbols,

View File

@ -31,11 +31,18 @@
#endif
#endif
#ifdef _WIN32
#if defined(_WIN32) || defined(__CYGWIN__)
#define WIN32_LEAN_AND_MEAN
#include <Windows.h>
#ifdef __CYGWIN__
#undef _WIN64
#undef _WIN32
#undef __WIN32__
#undef WIN32
#endif
#else
/* For System that are not Windows, we'll need to define these. */