Experiment with different SDKs in the universal OSX binary.
authorCarl Hetherington <cth@carlh.net>
Tue, 5 Jan 2021 10:23:45 +0000 (11:23 +0100)
committerCarl Hetherington <cth@carlh.net>
Thu, 14 Jan 2021 02:31:03 +0000 (03:31 +0100)
cdist

diff --git a/cdist b/cdist
index a36f42b744e2672a3777ccdf9fbbad4091af2ebf..8e0d52736e4cdee59d163ad50f7ba434423df842 100755 (executable)
--- a/cdist
+++ b/cdist
@@ -111,7 +111,8 @@ class Config:
                          Option('git_reference'),
                          Option('osx_environment_prefix'),
                          Option('osx_sdk_prefix'),
-                         Option('osx_sdk'),
+                         Option('osx_intel_sdk'),
+                         Option('osx_arm_sdk'),
                          Option('osx_keychain_file'),
                          Option('osx_keychain_password'),
                          Option('apple_id'),
@@ -784,7 +785,7 @@ class OSXTarget(Target):
 
     def _cscript_package_and_notarize(self, tree, options, notarize):
         """
-        Call package() in the cscript and notarize the .dmgs that are returned, if notarize = True
+        Call package() in the cscript and notarize the .dmgs that are returned, if notarize == True
         """
         p = self._cscript_package(tree, options)
         for x in p:
@@ -834,17 +835,12 @@ class OSXSingleTarget(OSXTarget):
 
 
 class OSXUniversalTarget(OSXTarget):
-    def __init__(self, archs, directory=None):
+    def __init__(self, directory=None):
         super(OSXUniversalTarget, self).__init__(directory)
-        self.archs = archs
-        self.sdk = config.get('osx_sdk')
-        for a in self.archs:
-            if a.find('arm') != -1:
-                self.sdk = '11.0'
 
     def package(self, project, checkout, output_dir, options, notarize):
-        for a in self.archs:
-            target = OSXSingleTarget(a, self.sdk, os.path.join(self.directory, a))
+        for arch, sdk in (('x86_64', config.get('osx_intel_sdk')), ('arm64', config.get('osx_arm_sdk'))):
+            target = OSXSingleTarget(arch, sdk, os.path.join(self.directory, arch))
             target.ccache = self.ccache
             tree = globals.trees.get(project, checkout, target)
             tree.build_dependencies(options)
@@ -883,7 +879,7 @@ class SourceTarget(Target):
 #    or centos-version-{32,64}
 #    or fedora-version-{32,64}
 #    or mageia-version-{32,64}
-#    or osx-{intel,arm-intel,arm64}
+#    or osx
 #    or source
 #    or flatpak
 #    or appimage
@@ -914,14 +910,8 @@ def target_factory(args):
         target = LinuxTarget(p[0], None, int(p[1]), args.work)
     elif s == 'raspbian':
         target = LinuxTarget(s, None, None, args.work)
-    elif s == 'osx-intel':
-        # Intel 64-bit built for config's os_sdk
-        target = OSXSingleTarget('x86_64', config.get('osx_sdk'), args.work)
-    elif s == 'osx-arm-intel':
-        # Universal arm64 and Intel 64-bit built for SDK 11.0
-        target = OSXUniversalTarget(('arm64', 'x86_64'), args.work)
-    elif s == 'osx-arm64':
-        target = OSXSingleTarget('arm64', '11.0', args.work)
+    elif s == 'osx':
+        target = OSXUniversalTarget(args.work)
     elif s == 'source':
         target = SourceTarget()
     elif s == 'flatpak':