mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-09-02 05:13:23 +00:00
Print the name of the discovered toolchain as well as the variable used to initialize it. This is nice to know when doing remote support, since users will sometimes misconfigure their toolchain and not know what that means. Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
41 lines
1.5 KiB
CMake
41 lines
1.5 KiB
CMake
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
set_ifndef(XTOOLS_TOOLCHAIN_PATH "$ENV{XTOOLS_TOOLCHAIN_PATH}")
|
|
set( XTOOLS_TOOLCHAIN_PATH ${XTOOLS_TOOLCHAIN_PATH} CACHE PATH "")
|
|
assert( XTOOLS_TOOLCHAIN_PATH "XTOOLS_TOOLCHAIN_PATH is not set")
|
|
|
|
set(TOOLCHAIN_HOME ${XTOOLS_TOOLCHAIN_PATH})
|
|
|
|
set(COMPILER gcc)
|
|
set(LINKER ld)
|
|
set(BINTOOLS gnu)
|
|
|
|
# Choose one of the toolchains in 'TOOLCHAIN_HOME' at random to use as
|
|
# a 'generic' toolchain until we know for sure which toolchain we
|
|
# should use. Note that we can't use ARCH to distinguish between
|
|
# toolchains because choosing between iamcu and non-iamcu is dependent
|
|
# on Kconfig, not ARCH.
|
|
if("${ARCH}" STREQUAL "xtensa")
|
|
file(GLOB toolchain_paths ${TOOLCHAIN_HOME}/xtensa/*/*)
|
|
else()
|
|
file(GLOB toolchain_paths ${TOOLCHAIN_HOME}/*)
|
|
endif()
|
|
list(REMOVE_ITEM toolchain_paths ${TOOLCHAIN_HOME}/sources)
|
|
list(GET toolchain_paths 0 some_toolchain_path)
|
|
|
|
get_filename_component(some_toolchain_root "${some_toolchain_path}" DIRECTORY)
|
|
get_filename_component(some_toolchain "${some_toolchain_path}" NAME)
|
|
|
|
set(CROSS_COMPILE_TARGET ${some_toolchain})
|
|
|
|
set(SYSROOT_TARGET ${CROSS_COMPILE_TARGET})
|
|
|
|
set(CROSS_COMPILE ${some_toolchain_root}/${CROSS_COMPILE_TARGET}/bin/${CROSS_COMPILE_TARGET}-)
|
|
set(SYSROOT_DIR ${some_toolchain_root}/${SYSROOT_TARGET}/${SYSROOT_TARGET})
|
|
set(TOOLCHAIN_HAS_NEWLIB ON CACHE BOOL "True if toolchain supports newlib")
|
|
|
|
unset(some_toolchain_root)
|
|
unset(some_toolchain)
|
|
|
|
message(STATUS "Found toolchain: xtools (${XTOOLS_TOOLCHAIN_PATH})")
|