--- wxPython-4.1.1/wscript.ORIG	2021-06-12 13:34:52.919243800 -0700
+++ wxPython-4.1.1/wscript	2021-06-12 13:41:18.778905500 -0700
@@ -26,6 +26,7 @@
 VERSION = cfg.VERSION
 
 isWindows = sys.platform.startswith('win')
+isWindowsLike = isWindows or sys.platform == 'cygwin'
 isDarwin = sys.platform == "darwin"
 
 top = '.'
@@ -302,7 +303,7 @@
         # above) and not darwin then we must be using the GTK2 or GTK3 port of
         # wxWidgets.  If we ever support other ports then this code will need
         # to be adjusted.
-        if not isDarwin:
+        if not isDarwin and not isWindowsLike:
             if conf.options.gtk2:
                 conf.options.gtk3 = False
             if conf.options.gtk2:
@@ -621,7 +622,7 @@
     # Modules that are platform-specific
     if isDarwin:
         makeETGRule(bld, 'etg/_webkit.py', '_webkit',    'WXWEBKIT')
-    if isWindows:
+    if isWindowsLike:
         makeETGRule(bld, 'etg/_msw.py',    '_msw',       'WX')
 
     # ** Add code for new modules here
