mirror of
https://github.com/espressif/esp-idf.git
synced 2026-04-27 11:03:11 +00:00
feat(tools): Added cmake and ninja arm binaries
Closes https://github.com/espressif/esp-idf/issues/18272
This commit is contained in:
+7
-1
@@ -209,6 +209,7 @@ PYTHON_PLATFORM = f'{platform.system()}-{platform.machine()}'
|
||||
# Identifiers used in tools.json for different platforms.
|
||||
PLATFORM_WIN32 = 'win32'
|
||||
PLATFORM_WIN64 = 'win64'
|
||||
PLATFORM_WIN_ARM64 = 'win-arm64'
|
||||
PLATFORM_MACOS = 'macos'
|
||||
PLATFORM_MACOS_ARM64 = 'macos-arm64'
|
||||
PLATFORM_LINUX32 = 'linux-i686'
|
||||
@@ -239,7 +240,8 @@ class Platforms:
|
||||
'Windows-x86_64': PLATFORM_WIN64,
|
||||
'Windows-AMD64': PLATFORM_WIN64,
|
||||
'x86_64-w64-mingw32': PLATFORM_WIN64,
|
||||
'Windows-ARM64': PLATFORM_WIN64,
|
||||
PLATFORM_WIN_ARM64: PLATFORM_WIN_ARM64,
|
||||
'Windows-ARM64': PLATFORM_WIN_ARM64,
|
||||
# macOS
|
||||
PLATFORM_MACOS: PLATFORM_MACOS,
|
||||
'osx': PLATFORM_MACOS,
|
||||
@@ -780,11 +782,15 @@ class IDFToolVersion:
|
||||
def get_download_for_platform(self, platform_name: str | None) -> IDFToolDownload | None:
|
||||
"""
|
||||
Get download for given platform if usable download already exists.
|
||||
On win-arm64, falls back to win64 when no native build is available.
|
||||
"""
|
||||
try:
|
||||
platform_name = Platforms.get(platform_name)
|
||||
if platform_name in self.downloads.keys():
|
||||
return self.downloads[platform_name]
|
||||
# On Windows ARM64, use win64 (x86_64) build when no native win-arm64 exists
|
||||
if platform_name == PLATFORM_WIN_ARM64 and PLATFORM_WIN64 in self.downloads:
|
||||
return self.downloads[PLATFORM_WIN64]
|
||||
# exception can be omitted, as not detected platform is handled without err message
|
||||
except ValueError:
|
||||
pass
|
||||
|
||||
+21
-2
@@ -542,7 +542,8 @@
|
||||
"install": "always",
|
||||
"platforms": [
|
||||
"win32",
|
||||
"win64"
|
||||
"win64",
|
||||
"win-arm64"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -602,6 +603,11 @@
|
||||
},
|
||||
"name": "4.0.3",
|
||||
"status": "recommended",
|
||||
"win-arm64": {
|
||||
"sha256": "86ccd6485bbd4bb41a1a858db397be5bca5e0de96858bf8dbba7a64407bd6c00",
|
||||
"size": 46495761,
|
||||
"url": "https://github.com/Kitware/CMake/releases/download/v4.0.3/cmake-4.0.3-windows-arm64.zip"
|
||||
},
|
||||
"win32": {
|
||||
"sha256": "b59a31dfbfa376a4aaea9ff560ff2b29f78ee5f9fb15447fc71ae7bf9fea9379",
|
||||
"size": 47717299,
|
||||
@@ -739,7 +745,8 @@
|
||||
"install": "always",
|
||||
"platforms": [
|
||||
"win32",
|
||||
"win64"
|
||||
"win64",
|
||||
"win-arm64"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -759,6 +766,12 @@
|
||||
"size": 123084,
|
||||
"url": "https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-linux.zip"
|
||||
},
|
||||
"linux-arm64": {
|
||||
"rename_dist": "ninja-linux-arm64-v1.12.1.zip",
|
||||
"sha256": "5c25c6570b0155e95fce5918cb95f1ad9870df5768653afe128db822301a05a1",
|
||||
"size": 121787,
|
||||
"url": "https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-linux-aarch64.zip"
|
||||
},
|
||||
"macos": {
|
||||
"rename_dist": "ninja-mac-v1.12.1.zip",
|
||||
"sha256": "89a287444b5b3e98f88a945afa50ce937b8ffd1dcc59c555ad9b1baf855298c9",
|
||||
@@ -773,6 +786,12 @@
|
||||
},
|
||||
"name": "1.12.1",
|
||||
"status": "recommended",
|
||||
"win-arm64": {
|
||||
"rename_dist": "ninja-win-arm64-v1.12.1.zip",
|
||||
"sha256": "79c96a50e0deafec212cfa85aa57c6b74003f52d9d1673ddcd1eab1c958c5900",
|
||||
"size": 254317,
|
||||
"url": "https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-winarm64.zip"
|
||||
},
|
||||
"win64": {
|
||||
"rename_dist": "ninja-win-v1.12.1.zip",
|
||||
"sha256": "f550fec705b6d6ff58f2db3c374c2277a37691678d6aba463adcbb129108467a",
|
||||
|
||||
@@ -174,6 +174,9 @@
|
||||
"win64": {
|
||||
"$ref": "#/definitions/platformDownloadInfo"
|
||||
},
|
||||
"win-arm64": {
|
||||
"$ref": "#/definitions/platformDownloadInfo"
|
||||
},
|
||||
"any": {
|
||||
"$ref": "#/definitions/platformDownloadInfo"
|
||||
}
|
||||
@@ -222,7 +225,7 @@
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"enum": ["linux-i686", "linux-amd64", "linux-armel", "linux-armhf", "linux-arm64", "macos", "macos-arm64", "win32", "win64"]
|
||||
"enum": ["linux-i686", "linux-amd64", "linux-armel", "linux-armhf", "linux-arm64", "macos", "macos-arm64", "win32", "win64", "win-arm64"]
|
||||
}
|
||||
},
|
||||
"export_paths": {
|
||||
|
||||
Reference in New Issue
Block a user