diff --git a/makepanda/makepanda.py b/makepanda/makepanda.py index d2e8c9f598..1ba12340c6 100755 --- a/makepanda/makepanda.py +++ b/makepanda/makepanda.py @@ -291,12 +291,17 @@ def parseopts(args): elif (optimize==""): optimize = "3" if OSXTARGET: + parts = OSXTARGET.strip().split('.') try: - maj, min = OSXTARGET.strip().split('.') - OSXTARGET = int(maj), int(min) - assert OSXTARGET[0] >= 10 + assert len(parts) <= 2 + maj = int(parts[0]) + min = 0 + if len(parts) > 1: + min = int(parts[1]) + OSXTARGET = maj, min + assert OSXTARGET >= (10, 4) except: - usage("Invalid setting for OSXTARGET") + usage("Invalid setting for --osxtarget") else: OSXTARGET = None @@ -313,14 +318,17 @@ def parseopts(args): maj, min = platform.mac_ver()[0].split('.')[:2] osxver = int(maj), int(min) - if osxver[0] == 10 and osxver[1] < 15: + if osxver < (10, 15): OSX_ARCHS.append("i386") - if osxver[0] == 10 and osxver[1] < 6: + if osxver < (10, 6): OSX_ARCHS.append("ppc") else: OSX_ARCHS.append("x86_64") + if osxver >= (11, 0): + OSX_ARCHS.append("arm64") + elif HasTargetArch(): OSX_ARCHS.append(GetTargetArch())