From a3e6b81305ea1e7bf78aec6a83b64fd6071a9440 Mon Sep 17 00:00:00 2001 From: Akemi Date: Sat, 24 Nov 2018 12:49:55 +0100 Subject: build: use StrictVersion for swift version comparison --- waftools/checks/custom.py | 6 +++--- waftools/detections/compiler_swift.py | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/waftools/checks/custom.py b/waftools/checks/custom.py index 8cc701f7f7..678232cf2b 100644 --- a/waftools/checks/custom.py +++ b/waftools/checks/custom.py @@ -1,6 +1,7 @@ from waftools import inflector from waftools.checks.generic import * from waflib import Utils +from distutils.version import StrictVersion import os __all__ = ["check_pthreads", "check_iconv", "check_lua", @@ -114,9 +115,8 @@ def check_cocoa(ctx, dependency_identifier): def check_swift(ctx, dependency_identifier): if ctx.env.SWIFT_VERSION: - major = int(ctx.env.SWIFT_VERSION.split('.')[0]) ctx.add_optional_message(dependency_identifier, - 'version found: ' + ctx.env.SWIFT_VERSION) - if major >= 3: + 'version found: ' + str(ctx.env.SWIFT_VERSION)) + if StrictVersion(ctx.env.SWIFT_VERSION) >= StrictVersion("3.0"): return True return False diff --git a/waftools/detections/compiler_swift.py b/waftools/detections/compiler_swift.py index f88bf83a65..59f1385ba9 100644 --- a/waftools/detections/compiler_swift.py +++ b/waftools/detections/compiler_swift.py @@ -1,5 +1,6 @@ import re from waflib import Utils +from distutils.version import StrictVersion def __run(cmd): try: @@ -15,12 +16,11 @@ def __add_swift_flags(ctx): "-target", "x86_64-apple-macosx10.10" ] - ver = re.compile("(?i)version\s?([\d.]+)") - ctx.env.SWIFT_VERSION = ver.search(__run([ctx.env.SWIFT, '-version'])).group(1) - major, minor = [int(n) for n in ctx.env.SWIFT_VERSION.split('.')[:2]] + verRe = re.compile("(?i)version\s?([\d.]+)") + ctx.env.SWIFT_VERSION = verRe.search(__run([ctx.env.SWIFT, '-version'])).group(1) # the -swift-version parameter is only supported on swift 3.1 and newer - if major >= 3 and minor >= 1 or major >= 4: + if StrictVersion(ctx.env.SWIFT_VERSION) >= StrictVersion("3.1"): ctx.env.SWIFT_FLAGS.extend([ "-swift-version", "3" ]) if ctx.is_debug_build(): -- cgit v1.2.3