@@ -325,6 +325,7 @@ class Target:
325
325
triple = None
326
326
sdk = None
327
327
arch = None
328
+ environ = None
328
329
executable_suffix = ""
329
330
dynamic_library_prefix = "lib"
330
331
dynamic_library_suffix = ".dylib"
@@ -342,6 +343,10 @@ def __init__(self, triple):
342
343
self .sdk = OSType .Win32
343
344
self .dynamic_library_suffix = ".dll"
344
345
self .executable_suffix = ".exe"
346
+ if "cygnus" in triple :
347
+ self .environ = EnvironmentType .Cygnus
348
+ else :
349
+ self .environ = EnvironmentType .UnknownEnvironment
345
350
elif "darwin" in triple :
346
351
self .sdk = OSType .MacOSX
347
352
else :
@@ -366,6 +371,8 @@ def default():
366
371
elif platform .system () == "FreeBSD" :
367
372
# Make this work on 10 as well.
368
373
triple += "-freebsd11.0"
374
+ elif platform .system () == "CYGWIN_NT-10.0" :
375
+ triple += "-windows-cygnus"
369
376
else :
370
377
# TODO: This should be a bit more exhaustive
371
378
print ("unknown host os" )
@@ -388,6 +395,8 @@ def swift_triple(self):
388
395
triple += "-unknown-linux"
389
396
elif self .sdk == OSType .FreeBSD :
390
397
triple += "-unknown-freebsd"
398
+ elif self .sdk == OSType .Win32 and self .environ == EnvironmentType .Cygnus :
399
+ triple += "-unknown-windows-cygnus"
391
400
else :
392
401
print ("unknown sdk for swift" )
393
402
return None
@@ -402,6 +411,8 @@ def swift_sdk_name(self):
402
411
return "linux"
403
412
elif self .sdk == OSType .FreeBSD :
404
413
return "freebsd"
414
+ elif self .sdk == OSType .Win32 :
415
+ return "cygwin"
405
416
else :
406
417
print ("unknown sdk for swift" )
407
418
return None
0 commit comments