diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 788d93c1..41d5cb6d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1467,8 +1467,7 @@ jobs: fi # Stage GNU toolchains - mkdir ${ARCHIVE_DIR}/gnu - pushd ${ARCHIVE_DIR}/gnu + pushd ${ARCHIVE_DIR} ## Generate target list from the workflow matrix TARGETS=$(echo '${{ needs.setup.outputs.targets }}' | jq -cr '.[]') @@ -1497,8 +1496,10 @@ jobs: 7z a -t7z -l ${ARCHIVE_NAME}_gnu.${EXT} ${ARCHIVE_DIR} fi - # Unstage GNU toolchain directory - rm -rf ${ARCHIVE_DIR}/gnu + # Unstage GNU toolchain directories + for TARGET in ${TARGETS}; do + rm -rf ${ARCHIVE_DIR}/${TARGET} + done # Stage LLVM toolchains pushd ${ARCHIVE_DIR} diff --git a/cmake/zephyr/gnu/generic.cmake b/cmake/zephyr/generic.cmake similarity index 95% rename from cmake/zephyr/gnu/generic.cmake rename to cmake/zephyr/generic.cmake index 21f423fb..4b889cce 100644 --- a/cmake/zephyr/gnu/generic.cmake +++ b/cmake/zephyr/generic.cmake @@ -1,6 +1,6 @@ # SPDX-License-Identifier: Apache-2.0 -set(TOOLCHAIN_HOME ${ZEPHYR_SDK_INSTALL_DIR}/gnu) +set(TOOLCHAIN_HOME ${ZEPHYR_SDK_INSTALL_DIR}) set(COMPILER gcc) set(LINKER ld) diff --git a/cmake/zephyr/gnu/target.cmake b/cmake/zephyr/target.cmake similarity index 88% rename from cmake/zephyr/gnu/target.cmake rename to cmake/zephyr/target.cmake index 205958c3..0808e670 100644 --- a/cmake/zephyr/gnu/target.cmake +++ b/cmake/zephyr/target.cmake @@ -27,8 +27,8 @@ set(CROSS_COMPILE_TARGET_sparc sparc-zephyr-elf) set(CROSS_COMPILE_TARGET ${CROSS_COMPILE_TARGET_${ARCH}}) set(SYSROOT_TARGET ${CROSS_COMPILE_TARGET}) -set(SYSROOT_DIR ${ZEPHYR_SDK_INSTALL_DIR}/gnu/${SYSROOT_TARGET}/${SYSROOT_TARGET}) -set(CROSS_COMPILE ${ZEPHYR_SDK_INSTALL_DIR}/gnu/${CROSS_COMPILE_TARGET}/bin/${CROSS_COMPILE_TARGET}-) +set(SYSROOT_DIR ${ZEPHYR_SDK_INSTALL_DIR}/${SYSROOT_TARGET}/${SYSROOT_TARGET}) +set(CROSS_COMPILE ${ZEPHYR_SDK_INSTALL_DIR}/${CROSS_COMPILE_TARGET}/bin/${CROSS_COMPILE_TARGET}-) if("${ARCH}" STREQUAL "x86") if(CONFIG_X86_64) diff --git a/scripts/template_setup_posix b/scripts/template_setup_posix index 2a9f9a63..722af8b1 100644 --- a/scripts/template_setup_posix +++ b/scripts/template_setup_posix @@ -52,7 +52,7 @@ check_command() check_full_gnu_sdk() { for toolchain in ${gnu_toolchains[@]}; do - if [ ! -d "gnu/${toolchain}" ]; then + if [ ! -d "${toolchain}" ]; then return 1 fi done @@ -101,7 +101,7 @@ user_prompt() inst_gnu_toolchains=(${gnu_toolchains[*]}) else for toolchain in ${gnu_toolchains[@]}; do - if [ ! -d "gnu/${toolchain}" ]; then + if [ ! -d "${toolchain}" ]; then ask_yn "Install '${toolchain}' GNU toolchain" && inst_gnu_toolchains+=("${toolchain}") fi done @@ -118,8 +118,6 @@ user_prompt() # Environment Configurations ask_yn "Register Zephyr SDK CMake package" && do_cmake_pkg="y" - ask_yn "Create symbolic links for old Zephyr bisectability" && do_old_zephyr="y" - echo } @@ -211,6 +209,13 @@ dl_llvm_toolchain_filename='toolchain_llvm_${host}.tar.xz' echo "Zephyr SDK ${version} Setup" echo +# Move anything left in gnu/ to here. This won't be +# needed once the CI script is updated +if [ -d gnu ]; then + mv gnu/* . + rmdir gnu +fi + # Check dependencies check_command cmake 90 [[ "${host}" =~ ^linux-.* ]] && check_command wget 91 @@ -235,8 +240,6 @@ fi # Install GNU toolchains if [ "${do_gnu_toolchain}" = "y" ]; then - mkdir -p gnu - pushd gnu for toolchain in ${inst_gnu_toolchains[@]}; do eval toolchain_filename="${dl_gnu_toolchain_filename}" @@ -266,7 +269,6 @@ if [ "${do_gnu_toolchain}" = "y" ]; then echo done - popd fi # Install LLVM toolchain @@ -299,10 +301,8 @@ if [ "${do_hosttools}" = "y" ]; then echo "Installing host tools ..." case ${host} in linux-*) - pushd hosttools - ./zephyr-sdk-${HOSTTYPE}-hosttools-standalone-0.10.sh -y -d . &> /dev/null + ./hosttools/zephyr-sdk-${HOSTTYPE}-hosttools-standalone-0.10.sh -y -d . &> /dev/null assert_rc "ERROR: Host tools installation failed" 30 - popd ;; macos-*) echo "SKIPPED: macOS host tools are not available yet." @@ -319,15 +319,6 @@ if [ "${do_cmake_pkg}" = "y" ]; then echo fi -# Create links for old Zephyr versions -if [ "${do_old_zephyr}" = "y" ]; then - echo "Creating links for old Zephyr bisectability ..." - ln -sr gnu/* . || assert_rc "ERROR: Creating toolchain links" 50 - ln -sr cmake/zephyr/gnu/* cmake/zephyr || assert_rc "ERROR: Creating cmake links" 50 - ln -sr hosttools/* . || assert_rc "ERROR: Creating hosttools links" 50 - echo -fi - echo "All done." if [ "${interactive}" = "y" ]; then read -n 1 -s -r -p "Press any key to exit ..." diff --git a/scripts/template_setup_win b/scripts/template_setup_win index ef9a890b..046ab7cc 100644 --- a/scripts/template_setup_win +++ b/scripts/template_setup_win @@ -109,7 +109,7 @@ echo. REM # Check installation type for %%t in (%GNU_TOOLCHAINS%) do ( - if not exist gnu\%%t\ ( + if not exist %%t\ ( set IS_PARTIAL_GNU_SDK=y ) ) @@ -124,7 +124,7 @@ if [!ERRORLEVEL!] equ [1] ( set INST_GNU_TOOLCHAINS=%GNU_TOOLCHAINS% ) else ( for %%t in (%GNU_TOOLCHAINS%) do ( - if not exist gnu\%%t\ ( + if not exist %%t\ ( choice /c:yn /m:"Install '%%t' GNU toolchain" if [!ERRORLEVEL!] equ [1] ( set INST_GNU_TOOLCHAINS=!INST_GNU_TOOLCHAINS! %%t @@ -149,8 +149,6 @@ echo. :process REM # Install GNU toolchains if [%DO_GNU_TOOLCHAIN%] neq [] ( - if not exist gnu\ mkdir gnu - pushd gnu for %%t in (%INST_GNU_TOOLCHAINS%) do ( set TOOLCHAIN_FILENAME=%DL_GNU_TOOLCHAIN_FILENAME% @@ -180,7 +178,6 @@ if [%DO_GNU_TOOLCHAIN%] neq [] ( del /q !TOOLCHAIN_FILENAME! ) ) - popd ) REM # Install LLVM toolchain