summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--waftools/checks/custom.py6
-rw-r--r--waftools/detections/compiler_swift.py8
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():