This is an automated email from the ASF dual-hosted git repository.

acassis pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git


The following commit(s) were added to refs/heads/master by this push:
     new 1dcada4917 [ci] macOS platforms: added LLVM toolchain for Arm
1dcada4917 is described below

commit 1dcada491772d70624fa759398f5b996a2a7f4f6
Author: simbit18 <[email protected]>
AuthorDate: Wed Dec 11 14:38:09 2024 +0100

    [ci] macOS platforms: added LLVM toolchain for Arm
    
    added LLVM toolchain for Arm on Apple Intel
    release-17.0.1
    
    added LLVM toolchain for Arm on Apple Silicon
    release-19.1.1
    
    ì
---
 tools/ci/platforms/darwin.sh       | 20 +++++++++++++++++++-
 tools/ci/platforms/darwin_arm64.sh | 20 +++++++++++++++++++-
 2 files changed, 38 insertions(+), 2 deletions(-)

diff --git a/tools/ci/platforms/darwin.sh b/tools/ci/platforms/darwin.sh
index 9ffe87035c..26b5650fbb 100755
--- a/tools/ci/platforms/darwin.sh
+++ b/tools/ci/platforms/darwin.sh
@@ -37,6 +37,24 @@ add_path() {
   PATH=$1:${PATH}
 }
 
+arm_clang_toolchain() {
+  add_path "${NUTTXTOOLS}"/clang-arm-none-eabi/bin
+
+  if [ ! -f "${NUTTXTOOLS}/clang-arm-none-eabi/bin/clang" ]; then
+    local basefile
+    basefile=LLVMEmbeddedToolchainForArm-17.0.1-Darwin
+    cd "${NUTTXTOOLS}"
+    # Download the latest ARM clang toolchain prebuilt by ARM
+    curl -O -L -s 
https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/releases/download/release-17.0.1/${basefile}.dmg
+    sudo hdiutil attach ${basefile}.dmg
+    sudo cp -R /Volumes/${basefile}/${basefile} "${NUTTXTOOLS}"/${basefile}
+    sudo mv ${basefile} clang-arm-none-eabi
+    rm ${basefile}.dmg
+  fi
+
+  command clang --version
+}
+
 arm_gcc_toolchain() {
   add_path "${NUTTXTOOLS}"/gcc-arm-none-eabi/bin
 
@@ -414,7 +432,7 @@ install_build_tools() {
   mkdir -p "${NUTTXTOOLS}"
   echo "#!/usr/bin/env sh" > "${NUTTXTOOLS}"/env.sh
 
-  install="ninja_brew autoconf_brew arm_gcc_toolchain arm64_gcc_toolchain 
avr_gcc_toolchain binutils bloaty elf_toolchain gen_romfs gperf 
kconfig_frontends mips_gcc_toolchain python_tools riscv_gcc_toolchain rust 
dlang zig xtensa_esp32_gcc_toolchain xtensa_esp32s2_gcc_toolchain 
xtensa_esp32s3_gcc_toolchain u_boot_tools util_linux wasi_sdk c_cache"
+  install="ninja_brew autoconf_brew arm_clang_toolchain arm_gcc_toolchain 
arm64_gcc_toolchain avr_gcc_toolchain binutils bloaty elf_toolchain gen_romfs 
gperf kconfig_frontends mips_gcc_toolchain python_tools riscv_gcc_toolchain 
rust dlang zig xtensa_esp32_gcc_toolchain xtensa_esp32s2_gcc_toolchain 
xtensa_esp32s3_gcc_toolchain u_boot_tools util_linux wasi_sdk c_cache"
 
   mkdir -p "${NUTTXTOOLS}"/homebrew
   export HOMEBREW_CACHE=${NUTTXTOOLS}/homebrew
diff --git a/tools/ci/platforms/darwin_arm64.sh 
b/tools/ci/platforms/darwin_arm64.sh
index 3f4cbe005e..f50caf96a3 100755
--- a/tools/ci/platforms/darwin_arm64.sh
+++ b/tools/ci/platforms/darwin_arm64.sh
@@ -37,6 +37,24 @@ add_path() {
   PATH=$1:${PATH}
 }
 
+arm_clang_toolchain() {
+  add_path "${NUTTXTOOLS}"/clang-arm-none-eabi/bin
+
+  if [ ! -f "${NUTTXTOOLS}/clang-arm-none-eabi/bin/clang" ]; then
+    local basefile
+    basefile=LLVM-ET-Arm-19.1.1-Darwin-universal
+    cd "${NUTTXTOOLS}"
+    # Download the latest ARM clang toolchain prebuilt by ARM
+    curl -O -L -s 
https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/releases/download/release-19.1.1/${basefile}.dmg
+    sudo hdiutil attach ${basefile}.dmg
+    sudo cp -R /Volumes/${basefile}/${basefile} "${NUTTXTOOLS}"/${basefile}
+    sudo mv ${basefile} clang-arm-none-eabi
+    rm ${basefile}.dmg
+  fi
+
+  command clang --version
+}
+
 arm_gcc_toolchain() {
   add_path "${NUTTXTOOLS}"/gcc-arm-none-eabi/bin
 
@@ -414,7 +432,7 @@ install_build_tools() {
   mkdir -p "${NUTTXTOOLS}"
   echo "#!/usr/bin/env sh" > "${NUTTXTOOLS}"/env.sh
 
-  install="ninja_brew autoconf_brew arm_gcc_toolchain arm64_gcc_toolchain 
avr_gcc_toolchain binutils bloaty elf_toolchain gen_romfs gperf 
kconfig_frontends mips_gcc_toolchain python_tools riscv_gcc_toolchain rust 
dlang zig xtensa_esp32_gcc_toolchain xtensa_esp32s2_gcc_toolchain 
xtensa_esp32s3_gcc_toolchain u_boot_tools util_linux wasi_sdk c_cache"
+  install="ninja_brew autoconf_brew arm_clang_toolchain arm_gcc_toolchain 
arm64_gcc_toolchain avr_gcc_toolchain binutils bloaty elf_toolchain gen_romfs 
gperf kconfig_frontends mips_gcc_toolchain python_tools riscv_gcc_toolchain 
rust dlang zig xtensa_esp32_gcc_toolchain xtensa_esp32s2_gcc_toolchain 
xtensa_esp32s3_gcc_toolchain u_boot_tools util_linux wasi_sdk c_cache"
 
   mkdir -p "${NUTTXTOOLS}"/homebrew
   export HOMEBREW_CACHE=${NUTTXTOOLS}/homebrew

Reply via email to