|  | 
| 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