diff options
Diffstat (limited to 'waftools')
-rw-r--r-- | waftools/checks/custom.py | 9 | ||||
-rw-r--r-- | waftools/detections/compiler_swift.py | 4 |
2 files changed, 10 insertions, 3 deletions
diff --git a/waftools/checks/custom.py b/waftools/checks/custom.py index 06a7c70769..1cb133f27c 100644 --- a/waftools/checks/custom.py +++ b/waftools/checks/custom.py @@ -4,7 +4,7 @@ from waflib import Utils import os __all__ = ["check_pthreads", "check_iconv", "check_lua", - "check_cocoa", "check_wl_protocols"] + "check_cocoa", "check_wl_protocols", "check_swift"] pthreads_program = load_fragment('pthreads.c') @@ -111,3 +111,10 @@ def check_cocoa(ctx, dependency_identifier): ]) return res + +def check_swift(ctx, dependency_identifier): + if ctx.env.SWIFT_VERSION: + major = int(ctx.env.SWIFT_VERSION.split('.')[0]) + if major >= 3: + return True + return False diff --git a/waftools/detections/compiler_swift.py b/waftools/detections/compiler_swift.py index 9b0e06ed8a..cf55149291 100644 --- a/waftools/detections/compiler_swift.py +++ b/waftools/detections/compiler_swift.py @@ -11,8 +11,8 @@ def __add_swift_flags(ctx): ctx.env.SWIFT_FLAGS = ('-frontend -c -sdk %s -enable-objc-interop' ' -emit-objc-header -parse-as-library' ' -target x86_64-apple-macosx10.10') % (ctx.env.MACOS_SDK) - swift_version = __run([ctx.env.SWIFT, '-version']).split(' ')[3].split('.')[:2] - major, minor = [int(n) for n in swift_version] + ctx.env.SWIFT_VERSION = __run([ctx.env.SWIFT, '-version']).split(' ')[3] + major, minor = [int(n) for n in ctx.env.SWIFT_VERSION.split('.')[:2]] # the -swift-version parameter is only supported on swift 3.1 and newer if major >= 3 and minor >= 1 or major >= 4: |