@@ -325,6 +325,7 @@ class Target:
325325 triple = None
326326 sdk = None
327327 arch = None
328+ environ = None
328329 executable_suffix = ""
329330 dynamic_library_prefix = "lib"
330331 dynamic_library_suffix = ".dylib"
@@ -342,6 +343,10 @@ def __init__(self, triple):
342343 self .sdk = OSType .Win32
343344 self .dynamic_library_suffix = ".dll"
344345 self .executable_suffix = ".exe"
346+ if "cygnus" in triple :
347+ self .environ = EnvironmentType .Cygnus
348+ else :
349+ self .environ = EnvironmentType .UnknownEnvironment
345350 elif "darwin" in triple :
346351 self .sdk = OSType .MacOSX
347352 else :
@@ -366,6 +371,8 @@ def default():
366371 elif platform .system () == "FreeBSD" :
367372 # Make this work on 10 as well.
368373 triple += "-freebsd11.0"
374+ elif platform .system () == "CYGWIN_NT-10.0" :
375+ triple += "-windows-cygnus"
369376 else :
370377 # TODO: This should be a bit more exhaustive
371378 print ("unknown host os" )
@@ -388,6 +395,8 @@ def swift_triple(self):
388395 triple += "-unknown-linux"
389396 elif self .sdk == OSType .FreeBSD :
390397 triple += "-unknown-freebsd"
398+ elif self .sdk == OSType .Win32 and self .environ == EnvironmentType .Cygnus :
399+ triple += "-unknown-windows-cygnus"
391400 else :
392401 print ("unknown sdk for swift" )
393402 return None
@@ -402,6 +411,8 @@ def swift_sdk_name(self):
402411 return "linux"
403412 elif self .sdk == OSType .FreeBSD :
404413 return "freebsd"
414+ elif self .sdk == OSType .Win32 :
415+ return "cygwin"
405416 else :
406417 print ("unknown sdk for swift" )
407418 return None
0 commit comments