mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-08-15 08:55:21 +00:00
The LINKER variable is introduced to follow the same logic and flow as the existing COMPILER variable: That is, each TOOLCHAIN is responsible for choosing COMPILER and LINKER. Currently, Zephyr's build system is hardcoded for GNU ld. Reflect this in LINKER by letting all existing toolchains use GNU ld. No functional change expected. This is motivated by the wish to abstract Zephyr's usage of toolchains, permitting non-intrusive porting to other (commercial) toolchains. Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
29 lines
916 B
CMake
29 lines
916 B
CMake
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
# CROSS_COMPILE is a KBuild mechanism for specifying an external
|
|
# toolchain with a single environment variable.
|
|
#
|
|
# It is a legacy mechanism that will in Zephyr translate to
|
|
# specififying ZEPHYR_TOOLCHAIN_VARIANT to 'cross-compile' with the location
|
|
# 'CROSS_COMPILE'.
|
|
#
|
|
# New users should set the env var 'ZEPHYR_TOOLCHAIN_VARIANT' to
|
|
# 'cross-compile' and the 'CROSS_COMPILE' env var to the toolchain
|
|
# prefix. This interface is consisent with the other non-"Zephyr SDK"
|
|
# toolchains.
|
|
#
|
|
# It can be set from either the environment or from a CMake variable
|
|
# of the same name.
|
|
#
|
|
# The env var has the lowest precedence.
|
|
|
|
if((NOT (DEFINED CROSS_COMPILE)) AND (DEFINED ENV{CROSS_COMPILE}))
|
|
set(CROSS_COMPILE $ENV{CROSS_COMPILE})
|
|
endif()
|
|
|
|
set( CROSS_COMPILE ${CROSS_COMPILE} CACHE PATH "")
|
|
assert(CROSS_COMPILE "CROSS_COMPILE is not set")
|
|
|
|
set(COMPILER gcc)
|
|
set(LINKER ld)
|