From 5ae6f04d6bb3647419b02e0e0f4d8198b9e44bb2 Mon Sep 17 00:00:00 2001 From: der richter Date: Wed, 18 Nov 2020 23:31:59 +0100 Subject: build: fix macOS arm builds remove the hardcoded swift target version and move the version restriction to configure. this was a bad idea anyway and could lead to mismatched object files between obj-c and swift. fix travis 10.12 legacy build. also update the SDK version parser to handle the new macOS 11 scheme. Fixes #8281 --- waftools/detections/compiler_swift.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'waftools/detections') diff --git a/waftools/detections/compiler_swift.py b/waftools/detections/compiler_swift.py index ff11818702..be66df0fbe 100644 --- a/waftools/detections/compiler_swift.py +++ b/waftools/detections/compiler_swift.py @@ -17,7 +17,6 @@ def __add_swift_flags(ctx): ctx.env.SWIFT_FLAGS = [ "-frontend", "-c", "-sdk", ctx.env.MACOS_SDK, "-enable-objc-interop", "-emit-objc-header", "-parse-as-library", - "-target", "x86_64-apple-macosx10.10" ] verRe = re.compile("(?i)version\s?([\d.]+)") @@ -150,7 +149,7 @@ def __find_macos_sdk(ctx): # convert build version to a version string # first 2 two digits are the major version, starting with 15 which is 10.11 (offset of 4) # 1 char is the minor version, A => 0, B => 1 and ongoing - # las digits are bugfix version, which are nor relevant for us + # last digits are bugfix version, which are not relevant for us # eg 16E185 => 10.12.4, 17A360 => 10.13, 18B71 => 10.14.1 if sdk_build_version and isinstance(sdk_build_version, str): verRe = re.compile("(\d+)(\D+)(\d+)") @@ -158,6 +157,9 @@ def __find_macos_sdk(ctx): major = int(version_parts.group(1)) - 4 minor = string.ascii_lowercase.index(version_parts.group(2).lower()) build_version = '10.' + str(major) + '.' + str(minor) + # from 20 onwards macOS 11.0 starts + if int(version_parts.group(1)) >= 20: + build_version = '11.' + str(minor) if not isinstance(sdk_version, str): sdk_version = '10.10.0' -- cgit v1.2.3