| # SPDX-License-Identifier: Apache-2.0 |
| |
| set_ifndef(XTENSA_TOOLCHAIN_PATH "$ENV{XTENSA_TOOLCHAIN_PATH}") |
| set( XTENSA_TOOLCHAIN_PATH ${XTENSA_TOOLCHAIN_PATH} CACHE PATH "xtensa tools install directory") |
| assert( XTENSA_TOOLCHAIN_PATH "XTENSA_TOOLCHAIN_PATH is not set") |
| |
| if(NOT EXISTS ${XTENSA_TOOLCHAIN_PATH}) |
| message(FATAL_ERROR "Nothing found at XTENSA_TOOLCHAIN_PATH: '${XTENSA_TOOLCHAIN_PATH}'") |
| endif() |
| |
| set(TOOLCHAIN_HOME ${XTENSA_TOOLCHAIN_PATH}/$ENV{TOOLCHAIN_VER}/XtensaTools) |
| |
| set(COMPILER xcc) |
| set(LINKER ld) |
| set(BINTOOLS gnu) |
| |
| set(CROSS_COMPILE_TARGET xt) |
| set(SYSROOT_TARGET xtensa-elf) |
| |
| set(CROSS_COMPILE ${TOOLCHAIN_HOME}/bin/${CROSS_COMPILE_TARGET}-) |
| set(SYSROOT_DIR ${TOOLCHAIN_HOME}/${SYSROOT_TARGET}) |
| |
| # xt-xcc does not support -Og, so make it -O0 |
| set(OPTIMIZE_FOR_DEBUG_FLAG "-O0") |
| |
| if($ENV{XCC_USE_CLANG}) |
| set(CC clang) |
| set(C++ clang++) |
| else() |
| set(CC xcc) |
| set(C++ xc++) |
| |
| list(APPEND TOOLCHAIN_C_FLAGS |
| -imacros${ZEPHYR_BASE}/include/toolchain/xcc_missing_defs.h |
| ) |
| endif() |
| |
| set(NOSYSDEF_CFLAG "") |
| |
| list(APPEND TOOLCHAIN_C_FLAGS -fms-extensions) |
| |
| set(TOOLCHAIN_HAS_NEWLIB OFF CACHE BOOL "True if toolchain supports newlib") |
| |
| message(STATUS "Found toolchain: xcc (${XTENSA_TOOLCHAIN_PATH})") |