|
24 | 24 | from os import makedirs, write, remove |
25 | 25 | from tempfile import mkstemp |
26 | 26 | from shutil import rmtree |
27 | | -from distutils.version import LooseVersion |
| 27 | +from sys import version_info |
28 | 28 |
|
29 | 29 | from tools.toolchains.mbed_toolchain import ( |
30 | 30 | mbedToolchain, TOOLCHAIN_PATHS, should_replace_small_c_lib |
31 | 31 | ) |
32 | 32 | from tools.utils import mkdir, NotSupportedException, run_cmd |
33 | 33 | from tools.resources import FileRef |
34 | 34 |
|
| 35 | +if version_info >= (3,10): |
| 36 | + from packaging.version import Version |
| 37 | +else: |
| 38 | + from distutils.version import LooseVersion as Version |
| 39 | + |
35 | 40 | ARMC5_MIGRATION_WARNING = ( |
36 | 41 | "Warning: Arm Compiler 5 is no longer supported as of Mbed 6. " |
37 | 42 | "Please upgrade your environment to Arm Compiler 6 " |
@@ -59,7 +64,7 @@ class ARM(mbedToolchain): |
59 | 64 | "Cortex-M0", "Cortex-M0+", "Cortex-M3", "Cortex-M4", "Cortex-M4F", |
60 | 65 | "Cortex-M7", "Cortex-M7F", "Cortex-M7FD", "Cortex-A5", "Cortex-A9" |
61 | 66 | ] |
62 | | - ARMCC_RANGE = (LooseVersion("5.06"), LooseVersion("5.07")) |
| 67 | + ARMCC_RANGE = (Version("5.06"), Version("5.07")) |
63 | 68 | ARMCC_PRODUCT_RE = re.compile(b"Product: (.*)") |
64 | 69 | ARMCC_VERSION_RE = re.compile(b"Component: ARM Compiler (\d+\.\d+)") |
65 | 70 |
|
@@ -142,7 +147,7 @@ def version_check(self): |
142 | 147 | output = stdout.encode("utf-8") |
143 | 148 | match = self.ARMCC_VERSION_RE.search(output) |
144 | 149 | if match: |
145 | | - found_version = LooseVersion(match.group(1).decode("utf-8")) |
| 150 | + found_version = Version(match.group(1).decode("utf-8")) |
146 | 151 | else: |
147 | 152 | found_version = None |
148 | 153 | min_ver, max_ver = self.ARMCC_RANGE |
@@ -546,7 +551,7 @@ class ARMC6(ARM_STD): |
546 | 551 | "Cortex-M33-NS", "Cortex-M33F-NS", "Cortex-M33FE-NS", "Cortex-M33FE", |
547 | 552 | "Cortex-A5", "Cortex-A9" |
548 | 553 | ] |
549 | | - ARMCC_RANGE = (LooseVersion("6.10"), LooseVersion("7.0")) |
| 554 | + ARMCC_RANGE = (Version("6.10"), Version("7.0")) |
550 | 555 | LD_DIAGNOSTIC_PATTERN = re.compile( |
551 | 556 | '(?P<severity>Warning|Error): (?P<message>.+)' |
552 | 557 | ) |
|
0 commit comments